Комментарии 5
Круть. Как я понимаю. на практике независымых разработок с нуля реализаций сетевого стека очень мало. Все остальные так или иначе переиспользуют одну-две готовых реалиазций написанные давно бородатыми дядьками из дарпа.
А вообще задача разработки собственной реализации стека с нуля очень хорошая учебная задача, на которой можно проверять современные языки программирования и методологии на их эффективность.
Я я когда-то начал в виде веб-игрушки делать сетевой стек, с эзернетом и виртуальными свитчами и рабочими станциями.
Но потом в какой-то момент обнаружил себя, работающим с TAP драйвером, чтобы связать игровую сеть с реальной.
На этом моменте мне показалось что лучше заняться работой, но иногда возникает желание таки допилить с этим игру, но боюсь не так много народу оценит. А вот усилий много, и профиль не совсем мой рабочий чтобы они в портфолио окупились...
Оно вроде бы с одной стороны и да, но потом оказывается, что реализация стэка - это очень сложная задача, так что проверять-то будет?..
O! Разблокировано воспоминание.
Лет 25 назад существовали такие кнопочные телефоны siemens s35 и подобные. У меня был проект - надо было через этот телефон выйти в интернет с контроллера. Сами телефоны управлялись через COM порт и AT команды.
Тогда я был молод и горяч и море по колено и горы по плечу. Сказано сделано. Выход в интернет начинался с PPP протокола. В него упаковывался IP, в него TCP. Потом шёл ворох вспомогательных протоколов типа ICMP. В общем всё это я реализовал на С - было дико интересно.
А потом я наткнулся на недокументированные команды AT которые могли реализовывать стек протоколов TCP/IP - и своя разработка улетела в мусорку ). Весёлые времена были.
Тут какой-то пересказ туториалов по TCP, а где собственно "пишем", то есть код?
Пишем стек TCP/IP с нуля: поток данных TCP, Socket API, повторная передача