TCP和UDP协议发送数据包的大小方面的知识介绍

所属分类: 网络 / 网络协议 阅读数: 1075
收藏 0 赞 0 分享
MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。
由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes这个值我们就把它称之为MTU。
PPPoE所谓PPPoE就是在以太网上面跑PPP协议,有人奇怪了,PPP协议和Ethernet不都是链路层协议吗?怎么一个链路层跑到另外一个链路层上面去了,难道升级成网络层协议了不成。其实这是个误区:就是某层协议只能承载更上一层协议。
为什么会产生这种奇怪的需求呢?这是因为随着宽带接入(这种宽带接入一般为Cable Modem或者xDSL或者以太网的接入),因为以太网缺乏认证计费机制而传统运营商是通过PPP协议来对拨号等接入服务进行认证计费的.
PPPoE带来了好处,也带来了一些坏处,比如:二次封装耗费资源,降低了传输效能等等,这些坏处俺也不多说了,最大的坏处就是PPPoE导致MTU变小了以太网的MTU是1500,再减去PPP的包头包尾的开销(8Bytes),就变成1492。
UDP 包的大小就应该是 1492 - IP头(20) - UDP头(8) = 1464(BYTES)
TCP 包的大小就应该是 1492 - IP头(20) - TCP头(20) = 1452(BYTES)
目前大多数的路由设备的MTU都为1500
我对上面的理解是:如果我们定义的TCP和UDP包小于1452,1464,那么我们的包在IP层就不用分包了,这样传输过程中就避免了在IP层组包发生的错误。如果使用UDP协议,如果IP层组包发生错误,那么包就会被丢弃,UDP不保证可靠传输。但是TCP发生组包错误时,该包会被重传,保证可靠传输。所以,我们在用Socket编程时,包的大小设定不一定非要小于1400,UDP协议要求包小于64K,TCP没有限定。   
总结:
我们设定包的大小对于UDP和TCP协议是不同的,关键是看系统性能和网络性能,网络是状态很好的局域网,那么UDP包分大点,提高系统的性能。不好,就分小于1464,这样可以减低丢包率。对于TCP来说,这个就要靠经验了,因为,TCP丢包可以自动重传,分大了,系统性能提高了,分包和错误重组可能会耗费时间,使传送时间延长,分小了,系统性能又降低了。
更多精彩内容其他人还在看

IOT通信协议有哪些?物联网七大通信协议对比介绍

物联网简称iot,本文中为大家的是物联网的7大协议以及对比,有需要的朋友可以阅读本文参考一下
收藏 0 赞 0 分享

Apache Flink的网络协议栈详细介绍

Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一,本文中介绍了Apache Flink网络协议栈,感兴趣的朋友可以阅读本文参考一下
收藏 0 赞 0 分享

ipv6如何内嵌ipv4?ipv4转换为ipv6的方法介绍

ipv6是最新的互联网络协议,已经在慢慢的应用起来,ipv4和ipv6是如何的相互转换的呢?本文中将会有简单的介绍,感兴趣的朋友可以餐参考一下
收藏 0 赞 0 分享

进制转换之二进制十进制和十六进制

这篇文章主要介绍了进制转换之二进制十进制和十六进制,需要的朋友可以参考下
收藏 0 赞 0 分享

DNS劫持是什么意思?DNS劫持是干什么用的?

这篇文章主要介绍了DNS劫持是什么意思?DNS劫持是干什么用的?本文讲解了DNS劫持原理以及应对措施,需要的朋友可以参考下
收藏 0 赞 0 分享

动态dns是什么意思?

这篇文章主要介绍了动态dns是什么意思?本文讲解了什么是动态dns,并用一个实例讲解了动态DNS的使用,需要的朋友可以参考下
收藏 0 赞 0 分享

SIM卡是什么意思?SIM卡有什么用?

这篇文章主要介绍了SIM卡是什么意思?SIM卡有什么用?,本文讲解了SIM卡的类型介绍、基本概念、SIM卡的密码、SIM卡的原理、SIM卡的功能等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

什么是端口映射?端口映射基础知识介绍

这篇文章主要介绍了什么是端口映射?端口映射基础知识介绍,本文讲解了端口映射的相关知识及其作用等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

影响无线WiFi信号的一些因素及解决办法介绍

这篇文章主要介绍了影响无线WiFi信号的一些因素及解决办法介绍,本文先是讲解了影响因素然后给出了解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

安卓手机、苹果手机查看本机MAC地址的方法图文教程

这篇文章主要介绍了安卓手机、苹果手机查看本机MAC地址的方法图文教程,本文分别用详细的图文教程讲解了安卓手机MAC地址查询方法、苹果手机MAC地址查询方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多