Ubuntu

為什麼我在 Ubuntu 伺服器上的 NIC 統計資訊中看到丟棄的數據包?

  • September 19, 2012

我看到在我的 eth0 介面上使用 ifconfig 丟棄的數據包:

eth0  Link encap:Ethernet  HWaddr 00:15:17:0d:03:ca
     inet addr:10.0.1.2  Bcast:10.0.1.255  Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
     RX packets:30268348 errors:0 dropped:70721 overruns:0 frame:0
     TX packets:133076885 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:8699434077 (8.6 GB)  TX bytes:194937313025 (194.9 GB)
     Interrupt:16 Memory:feae0000-feb00000

當我使用 ethtool -S 時,我沒有發現任何問題:

NIC statistics:
rx_packets: 30267138
tx_packets: 133074510
rx_bytes: 8699356158
tx_bytes: 194934147340
rx_broadcast: 35296
tx_broadcast: 5435
rx_multicast: 0
tx_multicast: 0
rx_errors: 0
tx_errors: 0
tx_dropped: 0
multicast: 0
collisions: 0
rx_length_errors: 0
rx_over_errors: 0
rx_crc_errors: 0
rx_frame_errors: 0
rx_no_buffer_count: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_fifo_errors: 0
tx_heartbeat_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
tx_restart_queue: 0
rx_long_length_errors: 0
rx_short_length_errors: 0
rx_align_errors: 0
tx_tcp_seg_good: 5757001
tx_tcp_seg_failed: 0
rx_flow_control_xon: 8649
rx_flow_control_xoff: 62072
tx_flow_control_xon: 0
tx_flow_control_xoff: 0
rx_long_byte_count: 8699356158
rx_csum_offload_good: 30212111
rx_csum_offload_errors: 0
rx_header_split: 10857552
alloc_rx_buff_failed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0
rx_dma_failed: 0
tx_dma_failed: 0

我正在執行核心為 3.2.0-30-generic #48-Ubuntu SMP 的 Ubuntu 12.04 我已經 ping 我內部網路上的每個設備大約 24 小時,沒有丟包。還檢查了我的路由器和我的 WAN 介面,那裡也沒有錯誤。

有沒有人有任何線索?

新核心使用的丟棄狀態與舊核心略有不同。這用於表示由於各種原因而被丟棄的數據包:

  • 線路上的非 IP 數據包
  • 帶有未知協議標誌的 IP 數據包
  • 錯誤的 VLAN 標記
  • softnet backlog 已滿(在 /proc/net/softnet_stat 中測量)

這在您的網路中很可能是正常的,並且不太可能是您正在測量它們的盒子的錯誤。

引用自:https://serverfault.com/questions/427720