欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 网络原理 >> TCPIP >> 教程正文

  没有公告

教程: TCP/IP教程-基础-采用UDP的路径MTU发现 更多...
教程: TCP/IP教程-基础-采用UDP的路径MTU发现


下面对使用UDP的应用程序与路径MTU发现机制之间的交互作用进行研究。看一看如果应用程序写了一个对于一些中间链路来说太长的数据报时会发生什么情况。
例子
由于我们所使用的支持路径MTU发现机制的唯一系统就是Solaris 2.x,因此,将采用它作为源站发送一份6 5 0字节数据报经SLIP。由于SLIP主机位于MTU为2 9 6的S L IP链路后,因此,任何长于2 6 8字节(2 9 6-2 0-8)且“不分片”比特置为1的UDP数据都会使bsdi路由器产生ICMP“不能分片”差错报文。图11 - 1 3给出了拓扑结构和MTU。

可以用下面的命令行来产生6 5 0字节UDP数据报,每两个UDP数据报之间的间隔是5秒:
solaris % sock -u -i -n10 -w650 -p5 slip discard
图11 - 1 4是tcpdump的输出结果。在运行这个例子时,将bsdi设置成在ICMP“不能分片”差错中,不返回下一跳MTU信息。
在发送的第一个数据报中将DF比特置1(第1行),其结果是从bsdi路由器发回我们可以猜测的结果(第2行)。令人不解的是,发送一个DF比特置1的数据报(第3行),其结果是同样的ICMP差错(第4行)。我们预计这个数据报在发送时应该将DF比特置0。
第5行结果显示, IP已经知道了发往该目的地址的数据报不能将DF比特置1,因此, IP进而将数据报在源站主机上进行分片。这与前面的例子中, IP发送经过UDP的数据报,允许具有较小MTU的路由器(在本例中是bsdi)对它进行分片的情况不一样。由于ICMP“不能分片”报文并没有指出下一跳的MTU,因此,看来IP猜测MTU为5 7 6就行了。第一次分片(第5行)包含5 4 4字节的UDP数据、8字节UDP首部以及2 0字节IP首部,因此,总IP数据报长度是5 7 2字节。第2次分片(第6行)包含剩余的1 0 6字节UDP数据和2 0字节IP首部。
不幸的是,第7行的下一个数据报将其DF比特置1,因此bsdi将它丢弃并返回ICMP差错。这时发生了IP定时器超时,通知IP查看是不是因为路径MTU增大了而将DF比特再一次置1。我们可以从第1 9行和2 0行看出这个结果。将第7行与1 9行进行比较,可以看出IP每过3 0秒就将DF比特置1,以查看路径MTU是否增大了。
这个3 0秒的定时器值看来太短。R F C 11 9 1建议其值取1 0分钟。可以通过修改i p _ i r e _ p a t h m t u _ i n t e r v a l(E . 4节)参数来改变该值。同时,Solaris 2.2无法对单个UDP应用或所有UDP应用关闭该路径MTU发现。只能通过修改i p _ p a t h _ m t u _ d i s c o v e r y 参数,在系统一级开放或关闭它。正如在这个例子里所能看到的那样,如果允许路径MTU发现,那么当UDP应用程序写入可能被分片数据报时,该数据报将被丢弃。

s o l a r i s的IP层所假设的最大数据报长度( 5 7 6字节)是不正确的。在图11 - 1 3中,我们看到,实际的MTU值是2 9 6字节。这意味着经s o l a r i s分片的数据报还将被bsdi分片。图11 - 1 5给出了在目的主机( SLIP)上所收集到的tcpdump对于第一个到达数据报的输出结果(图11 - 1 4的第5行和第6行)。

在本例中,s o l a r i s不应该对外出数据报分片,它应该将DF比特置0,让具有最小MTU的路由器来完成分片工作。
现在我们运行同一个例子,只是对路由器bsdi进行修改使其在ICMP“不能分片”差错中返回下一跳MTU。图11 - 1 6给出了tcpdump输出结果的前6行。
与图11 - 1 4一样,前两个数据报同样是将DF比特置1后发送出去的。但是在知道了下一跳MTU后,只产生了3个数据报片,而图11 - 1 5中的bsdi路由器则产生了4个数据报片。



教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    教程: IPV6教程-基础-TCP/IP网络…

    教程: IPV6教程-基础-IPv6解决方…

    教程: HUB-基础教程-集线器(HUB)…

    教程: VLAN-基础教程-经典配置 V…

    教程: TCP/IP教程-基础-广播和多…

    教程: TCP/IP教程-基础-IGMP(Int…
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网