UDP服务端丢包-包丢在什么地方?(udp查看系统某个端口丢包数)

本文探讨了UDP服务端丢包的原因,包括网卡或驱动丢包、接收端丢包等,并提供了Linux系统下通过ethtool、tcpdump和/proc/net/udp等工具进行丢包分析和定位的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UDP服务端丢包-包丢在什么地方?

分析到UDP主要丢包原因

承接文章:UDP服务端丢包-发送频率过高导致丢包

我们分析到UDP主要丢包原因
发送方丢UDP包
网络过程中丢UDP包
接收方丢UDP包,发送频率过高导致丢包,主要会造成接收方自身丢包。

我们知道了,丢包问题从三个维度去看,但是具体的,我们如何判断是哪个维度丢的包呢?

linux 系统接收网络报文的过程

  1. 首先网络报文通过物理网线发送到网卡
  2. 网络驱动程序会把网络中的报文读出来放到 ring buffer 中,这个过程使用 DMA(Direct Memory Access),不需要 CPU 参与
  3. 内核从 ring buffer 中读取报文进行处理,执行 IP 和 TCP/UDP 层的逻辑,最后把报文放到应用程序的 socket buffer 中
  4. 应用程序从 socket buffer 中读取报文进行处理
    在这里插入图片描述

在接收 UDP 报文的过程中,图中任何一个过程都可能会主动或者被动地把报文丢弃,因此丢包可能发生在网卡和驱动,也可能发生在系统和应用。
在这里插入图片描述
对于 UDP 来说,如果有少量的丢包很可能是预期的行为,比如丢包率(丢包数量/接收报文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值