А что для вас основы?
Компьютерные сети и протоколы можно очень, очень долго изучать, там же множество слоев, представьте - от электрических сигналов в кабеле до HTTPS, да это даже для опытного программиста несколько месяцев напряженной работы и деньги на покупку "железа" удобного для экспериментов, я не могу себе такое позволить, потому что мне за это не заплатят.
Необходимо определиться с требованиями для конкретных задач, тогда у вас будут только нужные знания, вы и время сэкономите, и энергию, и к практике будете ближе, чем после бесцельной "зубрежки" всего подряд.