Назад | Перейти на главную страницу

Анализ отбрасывания входящих TCP-пакетов в GNU / Linux

Я использую Ubntu 12.04 Server в качестве шлюза / маршрутизатора. Сервер имеет две карты NetXtreme BCM5721 Gigabit Ethernet PCI Express для интерфейсов LAN и WAN. Программное обеспечение для мониторинга Opennms показывает отбрасывание входящих пакетов на интерфейсе WAN (ISP). Интернет-провайдер обеспечивает прямое подключение к Ethernet через кольцо SDH / SONET. Однако я не вижу отбрасывания пакетов на интерфейсе LAN. Вот график интерфейса WAN:

Существуют ли какие-либо инструменты / команды, чтобы выяснить, что отвечает за такие отбрасывания пакетов. Можно ли узнать, не вызывает ли такая проблема некоторая неправильная конфигурация на стороне провайдера?

Вывод ifconfig:

eth1      Link encap:Ethernet  HWaddr **:**:**:**:63:5d  
          inet addr:***.***.4.130  Bcast:***.***.4.131  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:865089489 errors:0 dropped:596 overruns:0 frame:3
          TX packets:498072410 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1092458492329 (1.0 TB)  TX bytes:48179244881 (48.1 GB)
          Interrupt:17 

В ethtool Команда используется для запроса у драйвера статистики, которую сообщает сетевая карта. ethtool -S ethX покажет вам статистику для конкретной карты, и вы увидите, где выпадают.

Чаще всего вы будете терять пакеты в кольцевом буфере (сообщается как статистика типа «discard», «fifo» «bufs», она меняется от карты к карте), и вы решаете эту проблему, увеличивая кольцевой буфер с помощью ethtool -g. Видеть man ethtool для большего.

В netstat Команда используется для запроса сетевого стека ядра. netstat -s покажет вам статистику, и вы сможете увидеть, теряете ли вы трафик в журнале очереди (после NIC, но до буфера сокета) или в буферах сокетов (слишком маленькие буферы или медленное приложение) или где-то еще.