ifconfig 丢弃的 RX 数据包究竟是什么?

Pyt*_*Nut 18 linux networking wifi

RX dropped在输出中看到非常高的数据包ifconfig:每秒数千个数据包,比常规数据高一个数量级RX packets

wlan0     Link encap:Ethernet  HWaddr 74:da:38:3a:f4:bb  
          inet addr:192.168.99.147  Bcast:192.168.99.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31741 errors:0 dropped:646737 overruns:0 frame:0
          TX packets:18424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:90393262 (86.2 MiB)  TX bytes:2348219 (2.2 MiB)
Run Code Online (Sandbox Code Playgroud)

我正在测试 WiFi 加密狗。两者都有这个问题,而具有较高丢弃率的一种实际上在 ping flood 中表现更好。丢包率低的一个会受到极端 Ping RTT 的影响,而另一个从不跳过一个节拍。

  • Linux 认为丢弃的数据包是什么?
  • 为什么我看到这么多?
  • 为什么它似乎不影响性能?

有很多问题的答案都说丢弃的数据包可能是以下之一,但这对我没有多大帮助,因为在这种情况下这些可能性似乎没有意义。

Ven*_*atC 15

从中看到的数据包丢弃ifconfig可能是由于多种原因造成的,您应该深入研究 NIC 统计信息以找出真正的原因。以下是一些一般原因

  • NIC 环形缓冲区已满且无法应对传入的突发流量
  • CPU接收网卡中断很忙无法处理
  • 一些电缆/硬件/双工问题
  • 网卡驱动程序中的一些错误

看看输出

  • ethtool -S wlan0
  • iwconfig wlan0

以及/proc/net/wireless任何进一步信息的内容。

  • `iwconfig wlan0` 没有提到任何与丢弃数据包相关的内容,并且它的所有信息看起来都很正常,`ethtool -S wlan0` 说 `no stats available`,并且 `/proc/net/wireless` 不存在。 (2认同)