电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

关于MTU、IP-MTU、TCP-MSS探讨与分析VIP专享VIP免费

关于MTU、IP-MTU、TCP-MSS探讨与分析_第1页
关于MTU、IP-MTU、TCP-MSS探讨与分析_第2页
关于MTU、IP-MTU、TCP-MSS探讨与分析_第3页
关于MTU、IPMTU、TCPMSS探讨与分析1.概述本文主要分析了二层MTU,IPMTU,MSS之间的关系和在不同网络场景中的应用,最后通过一个案例分析来进一步认识MTU对实际IP数据包转发的影响。2.MTU最大传输单元(MaximumTransmissionUnit,MTU)是指一种通信协议在某一层上面所能通过的最大数据报大小(以字节为单位),它通常与链路层协议有密切的关系。EthernetII帧结构如下:DMACSMACTypeDataCRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes,最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧,我们都可以视之为错误的数据帧。一般的以太网转发设备会丢弃这些数据帧。(注:小于64Bytes的数据帧一般是由于以太网冲突产生的“碎片”或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生)。由于以太网EthernetII最大的数据帧是1518Bytes,除去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes(这个部份有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,这个值我们就把它称之为MTU。这个MTU就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片。就好比一个盒子没法装下一大块面包,我们需要把面包切成片,装在多个盒子里面一样的道理。当两台远程PC互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的MTU各不相同,就好比一长段的水管,由不同粗细的水管组成(MTU不同)通过这段水管最大水量就要由中间最细的水管决定。3.IPMTU对于网络层的上层协议而言(我们以TCP/IP协议族为例),网络层IP协议会检查每个从上层协议下来的数据包的大小,并根据本机MTU的大小决定是否作“分片”处理。分片最大的坏处就是降低了传输性能,本来一次可以搞定的事情,分成多次搞定,所以在网络层更高一层(就是传输层)的实现中往往会对此加以注意!有些高层因为某些原因就会要求我这个面包不能切片,我要完整地面包,所以会在IP数据包包头里面加上一个标签:DF(DonotFragment)。这样当这个IP数据包在一大段网络(水管里面)传输的时候,如果遇到MTU小于IP数据包的情况,转发设备就会根据要求丢弃这个数据包,然后返回一个错误信息给发送者。这样往往会造成某些通讯上的问题,不过幸运的是大部分网络链路MTU都是等于1500或者大于1500。对于UDP协议而言,这个协议本身是无连接的协议,对数据包的到达顺序以及是否正确到达不甚关心,所以一般UDP应用对分片没有特殊要求。对于TCP协议而言就不一样了,这个协议是面向连接的协议,对于TCP协议而言它非常在意数据包的到达顺序以及是否传输中有错误发生。所以有些TCP应用对分片有要求---不能分片(DF)。4.MSSMSS是最大传输大小的缩写,它是TCP协议里面的一个概念。如下图1-1所示:图1-1TCP头部注:URG等参数指的是ACKURGPSHSINFINRST等参数在TCP报文中MSS的位置就在选项的位置,根据RFC1323和RFC793规定,选项中内容有很多种,MSS是其中的一种,用kind=2表示;kind=1表示无操作,kind=4、5、6、7称为选择ACK及回显选项,但是由于回显选项已经被时间戳选项取代,同时,目前定义的选择ACK选项仍未定论,也没有包括在RFC1323中,所以具体代表什么含义还无定论。在实际网络数据传输,要求MSS+20TCP包头+20IP包头不大于MTU。MSS在TCP报文中是可选项,不是必选项,换句话说,MSS是可协商项,而且在协商过后,该选项内容可以改变,也可以没有;在协商MSS时,一般是建立TCP连结的两端发送Syn标志报文时互相通报,然后选取最小MSS作为双方的约定,如果双方都不通报或有一方不通报。MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能,TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes),所以往往MSS为1460...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部