Путь входящего сетевого пакета: остановки в ядре Linux.

𝐑𝐗 𝐪𝐮𝐞𝐮𝐞. Первая остановка - очередь сетевой карты (см. ethtool -l eth0);

𝐐𝐃𝐢𝐬𝐜. Приоритизация, модификация и многое другое возможно с помощью дисциплины очередей. Calico, Cilium и подобные ребята перехватывает пакеты именно здесь; 𝐈𝐧𝐩𝐮𝐭 𝐏𝐚𝐜𝐤𝐞𝐭 𝐐𝐮𝐞𝐮𝐞. Очередь перед сетевым стеком TCP/IP Linux.

Если пакет инициирует новое соединение 𝐒𝐘𝐍 𝐪𝐮𝐞𝐮𝐞. Очередь, где SYN-пакеты ожидают финального ACK от клиента; 𝐀𝐜𝐜𝐞𝐩𝐭 𝐪𝐮𝐞𝐮𝐞. Приложение через 𝗮𝗰𝗰𝗲𝗽𝘁() подтверждает, что соединение установлено - зеленый свет для обмена данными.

Если пакет относится к существующему соединению 𝐎𝐮𝐭 𝐎𝐟 𝐎𝐫𝐝𝐞𝐫 𝐪𝐮𝐞𝐮𝐞. При нарушении очередности (sequence number больше ожидаемого), пакет помещается в нее, до восстановления правильного порядка; 𝐑𝐞𝐜𝐯 𝐪𝐮𝐞𝐮𝐞. TCP-буфер сокета, из него приложение читает данные системным вызовом 𝗿𝗲𝗮𝗱().

Путь входящего сетевого пакета: остановки в ядре Linux.  
𝐑𝐗 𝐪𝐮𝐞𝐮𝐞. Первая остановка - очередь сетевой карты (см. ethtool -l eth0);  
𝐐𝐃𝐢𝐬𝐜 | Сетка — новая социальная сеть от hh.ru
repost

108

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь