Вопрос, связанный с буферизацией TCP/IP в Linux

sed 's/= [^ ]*/& 192.12.0/'

Захватывает знак =, пробел и все символы перед следующим пробелом. То есть эта часть = 192.168.122.. Затем заменяет все совпадающие символы на себя -&(, то есть не меняет эту часть, просто возвращает ее обратно ), плюс добавляет нужный ip 192.12.0.

Вход

hosts allow = 192.168.122. 172.24.0

Выход

hosts allow = 192.168.122. 192.12.0 172.24.0
0
16.02.2020, 18:32
1 ответ

Обычно сетевые драйверы имеют свои собственные очереди, в случае с linux пакеты сохраняются, а очередь на sk _вы упомянули. Это самая важная структура с точки зрения обработки пакетов в ядре. Этот буфер, бафф sk _, содержит указатели на текущие заголовки TCP, IPv4/IPv6 и т. д.

Задержка TCP обрабатывается структурой sock для обработки состояний TCP и буферизации пакетов, которые будут собираться.

В целом скажу, что наиболее важными структурами являются sk _buf и sock. Взгляните на эти ссылки, которые также могут вам помочь, помимо исходного кода ядра.

https://ops.tips/blog/how-linux-tcp-introspection/

http://veithen.io/2014/01/01/how-tcp-backlog-works-in-linux.html

Надеюсь, это поможет

0
28.04.2021, 23:23

Теги

Похожие вопросы