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

Отброшенные пакеты во всех Linux и Unix

У меня проблема. У меня материнская плата от Supermicro - X11SBA-LN4F. Есть 4 порта Ethernet. В первом порту подключаюсь к интернету. Через второй порт я подключаюсь к своей локальной сети.

Когда я пишу ifconfig или netstat -i, Я вижу на моем втором интерфейсе (в моей локальной сети) отброшенные пакеты. Этот счет увеличивается

em2       Link encap:Ethernet  HWaddr 0c:c4:7a:7b:91:3e
          inet addr:192.168.110.181  Bcast:192.168.110.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17441 errors:0 dropped:1380 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1226317 (1.2 MB)  TX bytes:0 (0.0 B)

После поиска в Google я нашел это: https://www.novell.com/support/kb/doc.php?id=7007165

Beginning with kernel 2.6.37, it has been changed the meaning of dropped packet count. Before, dropped packets was most likely due to an error. Now, the rx_dropped counter shows statistics for dropped frames because of:

Softnet backlog full  -- (Measured from /proc/net/softnet_stat)
Bad / Unintended VLAN tags
Unknown / Unregistered protocols
IPv6 frames when the server is not configured for IPv6

If any frames meet those conditions, they are dropped before the protocol stack and the rx_dropped counter is incremented.

Прежде всего, я написал эту команду:

tcpdump -vv -i em2

Пока эта команда выполняется, подсчет потерянных пакетов на моем втором интерфейсе прекращается. Но когда я прервусь tcpdump, количество отброшенных пакетов снова увеличивается.

Вся статистика по этому интерфейсу:

ethtool -S em2

NIC statistics:
     rx_packets: 29675
     tx_packets: 0
     rx_bytes: 2208735
     tx_bytes: 0
     rx_broadcast: 29636
     tx_broadcast: 0
     rx_multicast: 39
     tx_multicast: 0
     multicast: 39
     collisions: 0
     rx_crc_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 2208735
     tx_dma_out_of_sync: 0
     lro_aggregated: 0
     lro_flushed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0
     os2bmc_rx_by_bmc: 0
     os2bmc_tx_by_bmc: 0
     os2bmc_tx_by_host: 0
     os2bmc_rx_by_host: 0
     tx_hwtstamp_timeouts: 0
     rx_hwtstamp_cleared: 0
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_queue_0_packets: 0
     tx_queue_0_bytes: 0
     tx_queue_0_restart: 0
     rx_queue_0_packets: 29675
     rx_queue_0_bytes: 2090035
     rx_queue_0_drops: 0
     rx_queue_0_csum_err: 0
     rx_queue_0_alloc_failed: 0

Где моя проблема? Пожалуйста, помогите мне.

 ifconfig em2; ethtool -S em2


em2       Link encap:Ethernet  HWaddr 0c:c4:7a:7b:91:3e
          inet addr:192.168.110.181  Bcast:192.168.110.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15387 errors:0 dropped:1224 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1085031 (1.0 MB)  TX bytes:0 (0.0 B)

NIC statistics:
     rx_packets: 15387
     tx_packets: 0
     rx_bytes: 1146579
     tx_bytes: 0
     rx_broadcast: 15367
     tx_broadcast: 0
     rx_multicast: 20
     tx_multicast: 0
     multicast: 20
     collisions: 0
     rx_crc_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 1146579
     tx_dma_out_of_sync: 0
     lro_aggregated: 0
     lro_flushed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0
     os2bmc_rx_by_bmc: 0
     os2bmc_tx_by_bmc: 0
     os2bmc_tx_by_host: 0
     os2bmc_rx_by_host: 0
     tx_hwtstamp_timeouts: 0
     rx_hwtstamp_cleared: 0
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_queue_0_packets: 0
     tx_queue_0_bytes: 0
     tx_queue_0_restart: 0
     rx_queue_0_packets: 15387
     rx_queue_0_bytes: 1085031
     rx_queue_0_drops: 0
     rx_queue_0_csum_err: 0
     rx_queue_0_alloc_failed: 0

Вероятно, происходит то, что вы видите широковещательный трафик IPv6 в своей подсети, согласно тому, что вы опубликовали из вывода tcpdump здесь:

12:19:41.622297 IP6 (hlim 1, next-header UDP (17) payload length: 112) fe80::a4a0:460b:c99a:c992.dhcpv6-client > ff02::1:2.dhcpv6-server: [udp sum ok] dhcp6 solicit (xid=455863 (elapsed-time 700) (client-ID hwaddr/time type 1 time 495735714 e03f49b54e07) (IA_NA IAID:65027913 T1:0 T2:0) (Client-FQDN) (vendor-class) (option-request vendor-specific-info DNS-server DNS-search-list Client-FQDN))

И в соответствии с тем, что вы написали в своем вопросе здесь:

Начиная с ядра 2.6.37, значение счетчика отброшенных пакетов было изменено. Раньше отбрасывание пакетов, скорее всего, происходило из-за ошибки. Теперь счетчик rx_dropped показывает статистику пропущенных кадров из-за:

Заполнение журнала Softnet - (Измерено из / proc / net / softnet_stat)

Плохие / непреднамеренные теги VLAN

Неизвестные / незарегистрированные протоколы

Кадры IPv6, когда сервер не настроен для IPv6

Если какие-либо кадры соответствуют этим условиям, они отбрасываются до стека протоколов, а счетчик rx_dropped увеличивается.

Из вашего вывода и вашего вопроса может показаться, что у вас действительно отключен IPv6 на сервере.

Это приводит меня к выводу, что наблюдаемые вами отброшенные пакеты, скорее всего, связаны с широковещательным трафиком IPv6 от других хостов в сети.

Чтобы проверить это, вы можете повторно включить IPv6 и посмотреть, исчезнут ли отброшенные пакеты. Если они это сделают, это безвредно.