网站地图    收藏   

主页 > 系统 > windows >

《TCP/IP详解卷1:协议》笔记--MTU发现 - Windows操作

来源:自学PHP网    时间:2015-04-17 17:13 作者: 阅读:

[导读] 路径MTU是当前两个主机之间的路径上任何网络上的最小MTU。路径MTU发现在IP首部继承并设置不要分片(DF)比特,来发现当前路径上的路由器是否需要对正在发送的IP数据报进行分片。如...

路径MTU是当前两个主机之间的路径上任何网络上的最小MTU。路径MTU发现在IP首部继承并设置不要分片(DF)比特,

来发现当前路径上的路由器是否需要对正在发送的IP数据报进行分片。如果一个待转发的IP数据报被设置DF比特,而其长度

又超过了MTU,那么路由器将返回ICMP不可达的差错。

TCP的路径MTU发现按如下方式进行:在连接建立时,TCP使用输出接口或对端声明的MSS中最小的MTU作为起始的报文

段大小。路径MTU发现不允许TCP超过对端声明的MSS。如果对端没有指定一个MSS,则默认为536。

一旦选定了起始的报文段大小,在该连接上的所有被TCP发送的IP数据报都被设置了DF比特。如果某个中间路由器需要

对一个设置了DF标志的数据报进行分片,它就丢弃这个数据报,并产生一个ICMP不能分片差错。

如果收到这个ICMP差错,TCP就减少段大小并进行重传。如果路由器产生的一个较新的该类ICMP差错,则报文段大小被

设置为下一跳的MTU减去IP和TCP的首部长度。如果是一个较旧的该类ICMP差错,则必须尝试下一个可能的最小MTU。当这个

ICMP差错引起的重传发生时,拥塞窗口不需要变化,但要启动慢启动。由于路由可以动态变化,因此在最后一次减少路径MTU

的一段时间以后,可以使用一个较大的值。

在对非本地目的地,默认的MSS通常为536字节,路径MTU发现可以避免在通过MTU小于576的中间链路时进行分片。对于

本地目的主机,也可以避免在中间链路的MTU小于端点网络的情况下进行分片。但为了能使路径MTU更有用和充分利用MTU大于

576的广域网,一个实现必须停止使用为非本地目的的制定的536MTU默认值。MSS的一个较好的选择是输出接口的MTU。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论