小议tcp的mss(最大分段)以及mtu

小议tcp的mss(最大分段)以及mtu

ID:20562741

大小:51.50 KB

页数:3页

时间:2018-10-13

小议tcp的mss(最大分段)以及mtu_第1页
小议tcp的mss(最大分段)以及mtu_第2页
小议tcp的mss(最大分段)以及mtu_第3页
资源描述:

《小议tcp的mss(最大分段)以及mtu》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、小议TCP的MSS(最大分段)以及MTU~教育资源库  [背景知识]  MTU:MaxitumTransmissionUnit最大传输单元  MSS:MaxitumSegmentSize最大分段大小(偶是直译,翻译的不好,不要打俺PP)  PPPoE:PPPOverEther(在以太网上承载PPP协议)  [分析过程]  先说说这MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,让我们先仔细回忆一下EtherII帧的结构DMAC+SMAC+Type+Data+CRC  由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64b

2、ytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。  (注:小于64Bytes的数据帧一般是由于以太网冲突产生的碎片或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生)  由于以太网EtherII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes

3、)14Bytes和帧尾CRC校验部分4Bytes(这个部门有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes这个值我们就把它称之为MTU。这个就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片。就好比一个盒子没法装下一大块面包,我们需要把面包切成片,装在多个盒子里面一样的道理。  当两台远程PC互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的MTU各不相同,就好比一长段的水管,由不同粗细的水管组成(MT

4、U不同)通过这段水管最大水量就要由中间最细的水管决定。  对于网络层的上层协议而言(我们以TCP/IP协议族为例)它们对水管粗细不在意它们认为这个是网络层的事情。网络层IP协议会检查每个从上层协议下来的数据包的大小,并根据本机MTU的大小决定是否作分片处理。分片最大的坏处就是  降低了传输性能,本来一次可以搞定的事情,分成多次搞定,所以在网络层更高一层(就是传输层)的实现中往往会对此加以注意!有些高层因为某些原因就会要求我这个面包不能切片,我要完整地面包,所以会在IP数据包包头里面加上一  个标签:DF(DonotFragment)。这样当这个IP数

5、据包在一大段网络(水管里面)传输的时候,如果遇到MTU小于IP数据包的情况,转发设备就会根据要求丢弃这个数据包。然后返回一个错误信息给发送者。这样往往会造成某些通讯上的问题,不过幸运的是大部分网络链路都是MTU1500或者大于1500。  对于UDP协议而言,这个协议本身是无连接的协议,对数据包的到达顺序以及是否正确到达不甚关心,所以一般UDP应用对分片没有特殊要求。  对于TCP协议而言就不一样了,这个协议是面向连接的协议,对于TCP协议而言它非常在意数据包的到达顺序以及是否传输中有错误发生。所以有些TCP应用对分片有要求---不能分片(DF)。 

6、 花开两朵,各表一枝,说完MTU的故事我们该讲讲今天的第二个猪脚---PPPoE所谓PPPoE就是在以太网上面跑PPP协议,有人奇怪了,PPP协议和Ether不都是链路层协议吗?怎么一个链路层跑到另外一个链路层上面去了,难道升级成网络层协议了不成。其实这是个误区:就是某层协议只能承载更上一层协议。  为什么会产生这种奇怪的需求呢?这是因为随着宽带接入(这种宽带接入一般为CableModem或者xDSL或者以太网的接入)由于以太网缺乏认证计费机制而传统运营商是通过PPP协议来对拨号等接入服务进行认证计费的,所以就出了这么一个怪胎:PPPoE。(有关PP

7、PoE的详细介绍参见V大以及本站其他成员的一些介绍文章,我就不啰里啰唆的了)  PPPoE带来了好处,也带来了一些坏处,比如:二次封装耗费资源,降低了传输效能等等,这些坏处俺也不多说了,最大的坏处就是PPPoE导致MTU变小了以太网的MTU是1500,再减去PPP的包头包尾的开销(8Bytes),就变成1492。  如果两台主机之间的某段网络使用了PPPoE那么就会导致某些不能分片的应用无法通讯。  这个时候就需要我们调整一下主机的MTU,通过降低主机的MTU,这样我们就能够顺利地进行通讯了。  当然对于TCP应用而言还有另外的解决方案。  马上请出

8、今天第三位猪脚:MSS。  MSS最大传输大小的缩写,是TCP协议里面的一个概念。  MSS就是TCP数据包

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。