Полный текст

Пишем стек TCP/IP с нуля: Ethernet, ARP, IPv4 и ICMPv4Написание собственного стека TCP/IP поначалу может показаться пугающей задачей. И в самом деле, за свой тридцатилетний срок жизни TCP впитал в себя множество спецификаций. Однако базовая спецификация остаётся относительно компактной — из важных частей в ней можно выделить парсинг заголовков TCP, машину состояний, отслеживание перегрузок и вычисление таймаута повторной передачи.Самые распространённые протоколы слоя 2 и слоя 3, Ethernet и IP, скромны по сравнению со сложностью TCP. В этой серии статей мы реализуем минимальный стек TCP/IP пользовательского пространства для Linux.