UDP传输中的数据包长度问题

网络技术 专栏收录该内容
6 篇文章 0 订阅

在链路层,数据帧的内容最大为1500,即MTU(Maximum Transmission Unit)为1500;
在网络层,因为IP包的首部要占用20字节,所以这的MTU为1500-20=1480;
在传输层,对于UDP包的首部要占用8字节,所以这的MTU为1480-8=1472;
在应用层,你的Data最大长度为1472。
(当我们的UDP包中的数据多于MTU(1472)时,发送方的IP层需要分片fragmentation进行传输,而在接收方IP层则需要进行数据报重组,由于UDP是不可靠的传输协议,如果分片丢失导致重组失败,将导致UDP数据包被丢弃)。

结论:
1. 在普通的局域网环境下,UDP的数据最大为1472字节最好(避免分片重组)。
2. 在网络编程中,Internet中的路由器可能有设置成不同的值(小于默认值),Internet上的标准MTU值为576,所以Internet的UDP编程时数据长度最好在576-20-8=548字节以内。
3. TCP是可靠的传输协议,分片后数据会重组,所以每次发送的最大数据没有建议值。

  • 1
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值