tcp的mss案例分析-牟家勇

上传人:xiao****1972 文档编号:84902518 上传时间:2019-03-05 格式:DOC 页数:2 大小:59KB
返回 下载 相关 举报
tcp的mss案例分析-牟家勇_第1页
第1页 / 共2页
tcp的mss案例分析-牟家勇_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《tcp的mss案例分析-牟家勇》由会员分享,可在线阅读,更多相关《tcp的mss案例分析-牟家勇(2页珍藏版)》请在金锄头文库上搜索。

1、TCP的最大传输单元MSS案例分析一、什么是MSS我们知道:MSS: Maxitum Segment Size 最大分段大小 。 MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。一般在进行TCP连接初,双方都会添加MSS字段,告诉对方自己的MSS,如果没有收到对方的MSS,则按照默认的MSS值执行(默

2、认536)二、由于MSS造成的问题我们在做某些TCP应用服务的时候,在以下几种条件的前提下会发生问题:1、IP报文设置了DF字段为1,及不允许被分片(TCP协议就对IP报文进行了DF为1的要求,所以TCP报文一般都不允许分片的)2、路径MTU小于MSS+403、在以上条件满足的情况下,如果一段IP报文大小超过了路径MTU大小情况下,数据包就会被路径上的设备丢弃。四、案例现象:问题现象:据客户反应PC有时候能访问到sever 的HTTP服务,有时不能访问,没有任何规律。通过在PC上进行抓包发现不管能否正常的访问到sever的HTTP服务,都能进行TCP的连接。由于是经过了互联网,PC不能直接pi

3、ng测试到sever的联通性。但是根据客户反应在不能访问sever的时候,能正常访问等。其它用户这个时候也能访问到sever。三、案例的分析:如果有了以上对MSS和MTU和TCP连接的知识了解,我们不能推断出有可能客户PC在访问sever的时候有多条路径,某些路径MTU较小,从而导致了在不同路径的时候出现大数据包的丢失现象。TCP连接的时候端设备只会检查自己的MTU值来确定MSS,不可能检查到路径MTU值,从而来调整MSS。而现将来的IPV6中该问题就不会存在了,因为IPV6节点都支持路径MTU的探测。四、问题的办法当然如果对问题的原因进行了彻底的查明,问题解决起来也是很容易的,我们可以采用以

4、下几种方法进行解决:1、 修改PC的MTU=最小的路径MTU(因为PC在发TCP连接报文时会检查自己的MTU值来调整MSS,但是不会检查到路径MTU值)2、 修改sever的MTU=最小的路径MTU以上方法能解决该问题,但是网络性能也受到了相应的影响,所以我们有三种解决方案。3、 我们可以在最小路径MTU的相关设备的相关接口进行TCP mss调整。我公司设备就支持该功能,可以修改从该接口发出的TCP握手报文MSS字段。并且相关选路的网络设备最好采用基于流的负载均衡方式。如: router(config-if-gigaethernet1)#ip tcp adjust-mss 960 修改从该接口发出的TCP握手报文的MSS字段为960。这样调整后就只会调整走该路径的TCP连接的MSS会被修改,而不会影响所有的访问用户。4、当然把最小路径MTU设备的MTU适当调高是最好的方法。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号