温馨提示×

centos dropped和丢包关系

小樊
45
2026-09-03 03:26:28
栏目: 智能运维

在 CentOS(或一般 Linux 网络排查)语境里,“dropped” 和“丢包”经常一起出现,但二者不完全等同,需要看是在哪一层、哪个工具里看到的。

下面分层说明它们的关系。


1. dropped 是什么

dropped 通常表示:

内核或网络设备接收/发送时,因为某种原因把包丢弃了

属于“丢包”的一种,但不是所有“丢包”都叫 dropped


2. 常见看到 dropped 的地方

(1)ifconfig / ip -s link

RX packets 100000  bytes 10000000
RX errors 0  dropped 123  overruns 0
  • dropped:接收到的包被内核丢弃
  • 常见原因:
    • 协议栈来不及处理(软中断繁忙)
    • 防火墙(iptables/nftables)DROP
    • 路由不可达
    • 内存不足

✅ 这里的 dropped = 接收侧丢包


(2)ethtool -S eth0

rx_dropped: 123
tx_dropped: 0
  • 网卡或驱动层丢包
  • 可能是:
    • 环形缓冲区(ring buffer)满
    • 网卡 DMA 失败

✅ 这是硬件/驱动层丢包


(3)netstat -s / nstat

TcpExt: ListenDrops
TcpExt: TCPBacklogDrop
  • ListenDrops:半连接队列/全连接队列满
  • TCPBacklogDrop:socket 接收队列满

✅ 这是TCP 协议栈丢包


(4)tc(流量控制)

tc -s qdisc show
  • dropped 由 qdisc(如 pfifo_fasthtb)产生
  • 原因:队列满、限速

✅ 这是发送侧主动丢包


3. “丢包”的范围更大

**丢包(packet loss)**包括:

类型 是否叫 dropped
网卡 dropped
内核协议栈 dropped
防火墙 DROP
TCP 重传 ❌(不算 dropped,但是“丢”了)
网络链路丢包 ❌(对主机不可见)
应用没读 socket ❌(可能 backlog drop)

4. 简单总结关系

dropped ⊆ 丢包

  • dropped:主机可见、可统计的丢包
  • 丢包:还可能发生在网络、对端、TCP 重传等不可见位置

5. 排查建议(CentOS)

  1. ip -s link
  2. ethtool -S eth0
  3. netstat -s | grep -i drop
  4. dmesg | grep -i eth
  5. iptables -L -v -n

如果你有具体命令输出,我可以帮你判断是哪一层的 dropped。

0