我在 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
我运行的是 Ubuntu 12.04,内核是 3.2.0-30-generic #48-Ubuntu SMP。我已经 ping 了内部网络上的所有设备约 24 小时,没有丢包。还检查了我的路由器和 WAN 接口,也没有出现错误。
有人知道吗?
答案1
新内核使用已丢弃的状态与旧的稍有不同。这用于表示由于各种原因而被丢弃的数据包:
- 线路上的非 IP 数据包
- 具有未知协议标志的 IP 数据包
- 错误的 VLAN 标签
- 软网络积压已满(以 /proc/net/softnet_stat 衡量)
这在您的网络中很可能是正常现象,而且不太可能是您测量它们的盒子的故障。