IPv4协议中的UDP分片问题

本文探讨了IPv4协议中的UDP分片问题,指出当UDP数据包长度超过MTU时会导致分片传输。分片可能导致数据包在接收端重组时出现错误,尤其是在16位标识字段重复时,可能会造成数据包丢失或无法正确重组。文章还讨论了分片可能引发的内存消耗和潜在的拒绝服务攻击风险,建议避免发送超过MTU的UDP数据包。
摘要由CSDN通过智能技术生成

目录

IPv4协议

分片可能引起的问题

参考文章


  • IPv4协议

先看一个流传得比较多的图,这里直入主题,只说与分片相关的字段。

IPv4数据报

 标识(identification):占16位。IP软件在存储器中维持一个计数器,每产生一个 数据报,计数器就加1,并将此值赋给标识字段。

  标志(flag):占3位,但目前只有两位有意义。最低位记为MF (More Fragment)。MF = 1即表示后面“还有分片” 的数据报。MF = 0表示这已是若千数据报片中的最后一个。标志字段中间的一位记为DF (Don’t Fragment),意思是“不能分片”。只有当DF = 0时才允许分片。

 片偏移 :占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对 位置。也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移 单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。

总长度:总长度指数据报的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为2^16 - 1 = 65535字节。然而实际上传送这样长的数据报在现实中 是极少遇到的。

  UDP单个数据包的长度由于总长度的原因,不会超过65535字节

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值