Подсчитывает ли / proc / net / udp все отбрасывания, происходящие между подключением Ethernet и моим приложением?

Из обеих предоставленных вами ссылок в основном говорится об инструментах, которые используются в Linux Box для сетевых целей. Большинство инструментов, подобных

  iptables -  Linux firewall 
  tcpdump  - Packet Capturing tool
  arp  -> Managing ARP cache
  route -> Managing routes in a Linux host  
  mtr  --> network diagnostic tool 
  traceroute  --> Checking Packet route 
  netstat  --> Display network information
  tc --> manipulate traffic control settings

, все еще действительны с RHEL 6 .

zebra , которая превращает Linux-сервер в программный маршрутизатор, теперь называется Quagga и все еще поддерживается. Последний релиз был 16 марта.

http://download.savannah.gnu.org/releases/quagga/

2
12.05.2017, 17:34
2 ответа

UDP по определению является протоколом без установления соединения. По определению на системном уровне отправитель заботится только об отправке, а не о подтверждении приема. Итак, что касается отправителя, если он был в состоянии отправить пакет UDP, это было успешным.

Нет никаких гарантий, что получатель получит все эти пакеты из-за возможных перегрузок / ошибок или из-за того, в каком порядке они были отправлены, из-за множества факторов, включая маршрутизацию по нескольким путям и различные степени перегрузки.

Буфер также имеет ограниченные размеры, и если пакеты переполняют буфер, они тоже будут потеряны.

Чтобы ответить на ваш ответ, имея дело с протоколом, который не ориентирован на соединение, глядя на контер отбрасывания пакетов, равный 0, на системном уровне, выполненный только на одной стороне соединения, либо отправитель, либо получатель. , или даже с обеих сторон, не дает полной картины.

Таким образом, хотя статистика отражает потерянные пакеты из буферов, она не учитывает все пакеты, потерянные при передаче.

Вы можете посмотреть количество отправленных и полученных пакетов в дополнение к этому, в обоих размерах.

Переходя на верхний уровень, а именно на уровень приложения, например, DNS или NTP, могут быть дополнительные элементы управления, чтобы получить более значимую статистику службы.

Из UDP - Википедия

UDP использует простую модель передачи без установления соединения с минимумом механизма протокола . Он не имеет диалоговых окон для установления связи и, таким образом, подвергает программе пользователя любую ненадежность протокола базовой сети . Нет никаких гарантий доставки, заказа или защиты от дублирования . UDP предоставляет контрольные суммы для целостности данных и номера портов для адресации различных функций в источнике и месте назначения дейтаграммы.

Связать поток при переполнении стека Как отслеживать доступное пространство в UDP-буфере Linux?

2
27.01.2020, 21:56

№.

Пакеты могут быть потеряны до того, как они будут демультиплексированы в пользовательские сокеты.

Это происходит, когда ядро ​​по какой-то причине не может достаточно быстро считывать пакеты с сетевой карты.

Сетевые карты не подсчитывают потерянные пакеты для каждого порта... по крайней мере, не обязательно, и я не думаю, что что-то подобное интегрировано в подсчет для каждого сокета в /proc/net/udp .

Есть документ 2015 года, в котором подробно рассказывается об отбрасывании пакетов. Не знаю, будет ли он вам интересен. https://access.redhat.com/sites/default/files/attachments/20150325_network_performance_tuning.pdf

3
27.01.2020, 21:56

Теги

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