分析GNU / Linux上传入的TCP数据包丢弃

我使用Ubntu 12.04服务器作为网关/路由器.该服务器有两个用于LAN和WAN接口的NetXtreme BCM5721千兆以太网PCI Express卡. Opennms监控软件显示WAN(ISP)接口上的传入数据包丢弃. ISP通过SDH / SONET环提供直接以太网连接.但是我没有在LAN接口上看到任何数据包丢弃.这是WAN接口图:

是否有任何工具/命令可以发现导致此类数据包丢弃的原因.是否有可能知道ISP方面的某些错误配置是否会导致此类问题.

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命令用于向驱动程序查询NIC报告的统计信息. ethtool -S ethX将显示特定卡的统计信息,您可以看到丢弃的位置.

最常见的是你会丢失环形缓冲区中的数据包(报告为像“discard”“fifo”“bufs”这样的数据,因卡而异)你可以通过使用ethtool -g增加环形缓冲区来解决这个问题.请参阅man ethtool了解更多信息.

netstat命令用于查询内核的网络堆栈. netstat -s将向您显示统计信息,您可以查看是否丢失了积压(在NIC之后但在套接字缓冲区之前)或套接字缓冲区(太小的缓冲区或缓慢的应用程序)或其他地方的流量.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...