- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于 MTU 、IP MTU 、TCP MSS 探讨与分析
1. 概述
本文主要分析了二层 MTU , IP MTU ,MSS 之间的关系和在不同网络场景中的应用,最后通过一个案例分
析来进一步认识 MTU 对实际 IP 数据包转发的影响。
2. MTU
最大传输单元( Maximum Transmission Unit ,MTU )是指一种通信协议在某一层上面所能通过的最大数据
报大小(以字节为单位),它通常与链路层协议有密切的关系。 EthernetII 帧结构如下:
DMAC SMAC Type Data CRC
由于以太网传输电气方面的限制,每个以太网帧都有最小的大小 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. IP MTU
对于网络层的上层协议而言(我们以 TCP/IP 协议族为例),网络层 IP 协议会检查每个从上层协议下
来的数据包的大小,并根据本机 MTU 的大小决定是否作“分片”处理。分片最大的坏处就是降低了传输
性能,本来一次可以搞定的事情,分成多次搞定,所以在网络层更高一层(就是传输层)的实现中往往会
对此加以注意!有些高层因为某些原因就会要求我这个面包不能切片,我要完整地面包,所以会在 IP 数据
包包头里面加上一个标签: DF (Donot Fragment )。这样当这个 IP 数据包在一大段网络(水管里面)传输
的时候,如果遇到 MTU 小于 IP 数据包的情况,转发设备就会根据要求丢弃这个数据包,然后返回一个错
误信息给发送者。这样往往会造成某些通讯上的问题,不过幸运的是大部分网络链路 MTU 都是等于 1500
或者大于 1500。
对于 UDP 协议而言,这个协议本身是无连接的协议,对数据包的到达顺序以及是否正确到达不甚关
心,所以一般 UDP 应用对分片没有特殊要求。对于 TCP 协议而言就不一样了,这个协议是面向连接的协
议,对于 TCP 协议而言它非常在意数据包的到达顺序以及是否传输中有错误发生。所以有些 TCP 应用对
分片有要求 不能分片( DF )。
4. MSS
MSS 是最大传输大小的缩写,它是 TCP 协议里面的一个概念。如下图 1-
原创力文档


文档评论(0)