UDP数据包的大小-创新互联

问题来源于日志信息,在这里总结一下,后续在补充新的内容。

创新互联公司-成都网站建设公司,专注成都网站建设、做网站、网站营销推广,国际域名空间,虚拟空间,网站改版维护有关企业网站制作方案、改版、费用等问题,请联系创新互联公司
  1. 在链路层,由以太网的物理特性决定了数据帧的长度为(46+18)---(1500+18),其中的18是链路层的首部和尾部18Bytes,也就是说数据帧的内容大为1500(不包括帧头和帧尾),事实上,这个1500就是网络层的IP数据报的长度限制,即MTU(Maximum Transmission Unit)为1500;  

  2. 在网络层,因为IP包的首部要占用20字节,所以这的MTU为1500-20=1480,这个1480就是用来存放TCP传来的TCP报文段或者UDP传来的UDP数据报的;

  3. 在传输层,对于UDP包的首部要占用8字节,所以这的MTU为1480-8=1472,也就是用户可以使用的部分;

    所以,在应用层,你的Data大长度为1472。 (当我们的UDP包中的数据多于MTU(1472)时,发送方的IP层需要分片fragmentation进行传输,而在接收方IP层则需要进行数据报重组,由于UDP是不可靠的传输协议,如果分片丢失导致重组失败,将导致UDP数据包被丢弃)。  

因此,在普通局域网络环境下,使用UDP传输的时候,建议将UDP的数据控制在1472以下比较好。

IP数据包的大长度为65535,因为在IP包头中用2个字节来描述报文长度,2个字节所能表示的大小就是65535;

就具体函数而言:

    用UDP协议发送时,用sendto函数大能发送数据的长度为:65535- IP头(20) - UDP头(8)=65507字节。用sendto函数发送数据时,如果发送数据长度大于该值,则函数会返回错误。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

标题名称:UDP数据包的大小-创新互联
链接分享:https://www.cdcxhl.com/article16/ehedg.html

成都网站建设公司_创新互联,为您提供网页设计公司网站设计公司搜索引擎优化外贸建站网站策划网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作