На физический уровень нет смысла сильно погружаться, там куча тонкостей для разных сред передачи.
Сетевая модель TCP/IP не соответствуюет OSI.
Основы ip адресации, маршрутизации и фильтрации необходимо знать любому программисту. Как минимум это полезно. Учитывая, что вы работает в вебе, то полезно иметь представление о механизмах передачи данных, которые используются у вас "под капотом". Так что было бы полезно познакомится и с сетевым программированием на более низком уровне - на сокетах. Изучать можно применительно к вашему рабочему ЯПу, наверняка найдутся библиотеки, работающие с сокетами. У меня был опыт работы с сокетами на python, в принципе, достаточно близко к работе с сокетами в Си/С++.
Хороший курс:
сети для самых маленьких. Не смотря на название он достаточно толковый.