ifconfig eth0 RX丢包

问题

ifconfig命令在RX部分显示越来越多的被丢弃的数据 。 所以,从互联网到我的服务器的一些数据包似乎有问题。

问题

  1. 什么样的数据包,这个下降计数器考虑到? 在到达iptables防火墙之前,还是在iptables接受数据包之后,是否需要所有数据包到达?

  2. 如何解决的情况,使IPCONFIG丢包计数器停止增加?

有用的疑难解答信息

由于我不知道我的问题是什么,如果您认为需要其他信息,请随时填写本节。

使用ifconfig

eth0 Link encap:Ethernet HWaddr 00:cc:cc:cc:cc:cc inet adr:90.0.0.2 Bcast:90.0.0.255 Masque:255.255.255.0 adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:113264620 errors:0 dropped:2523 overruns:0 frame:0 TX packets:168526529 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:59171827564 (55.1 GiB) TX bytes:223993117711 (208.6 GiB) 

请注意接收部分中的“ 丢弃:2523 ”。 这是最重要的。 这个数字不断增加。

ip-4路由显示

 default via 90.0.0.254 dev eth0 90.0.0.0/24 dev eth0 proto kernel scope link src 90.0.0.2 

ip-6路由显示

 2001:a100:1:bbbb::1/64 dev eth0 proto kernel metric 256 fe80::/64 dev eth0 proto kernel metric 256 default via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0 metric 1024 

munin图插件if_err_eth0_day

在这里输入图像描述

http://www.novell.com/support/kb/doc.php?id=7007165

从内核2.6.37开始,已经改变了丢包数的含义。 之前,丢包很可能是由于错误。 现在,rx_dropped计数器显示丢失的帧的统计信息,因为:

  • Softnet积压已满
  • 坏/无意的VLAN标签
  • 未知/未注册的协议
  • 服务器未configuration为IPv6时的IPv6帧

[…]

如果在tcpdump运行时rx_dropped计数器停止递增; 那么由于前面列出的原因,它很可能会显示下降。

我一直在试图追查这个问题也无济于事。 我也注意到,在我的Ubuntu 12盒子上,RX数据包以每秒1次的速度下降。 从我的search中,我发现在其他各种Linux平台上有类似问题的人,SUSE,Rpi和其他人。 似乎与Linux内核的东西。 我注意到一些更有趣的线索使问题暂时消失,但不完全是解释。

  1. 如果我在/ etc / network / interfaces中将我的configuration从static更改为DHCP,则RX数据包将停止播放。也许无法识别的数据包与DHCP有关,当它closures时,数据包不知道如何处理它们?

  2. 如果我运行一个tcpdump,数据包会在转储正在运行时停止,并在停止时返回。

也许这些线索将有助于达到这个底部?

总的来说,我的networkingperformance似乎很好,只是好奇,为什么这也发生了。