TCPIP详解-卷一-协议-118采用UDP的路径MTU发现_第1页
TCPIP详解-卷一-协议-118采用UDP的路径MTU发现_第2页
TCPIP详解-卷一-协议-118采用UDP的路径MTU发现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、11.8采用udp的路径mtu发现下面对使用udp的应用程序与路径mtu发现机制zi'可的交互作用进行研究。看一看如果应用程序写了一个对 于一些中间链路来说太长的数据报吋会发生什么情况。例子 由于我们所使用的支持路径mtu发现机制的唯一系统就是solaris%,因此,将采用它作为源站发送一份650 字节数据报经slipo由于slip主机位于mtu为296的sup链路后,因此,任何长于268字节(296-20 一8)且"不分片比特置为1的udp数据都会使bsdi路由器产生icmp"不能分片差错报文。图11-13给出了拓扑结构和mtuoicmp不能分片差错图11-13使

2、用udp进行路径mtu发现的系统可以用下面的命令行来产生650字节udp数据报,每两个udp数据报z间的间隔是5秒: solaris%sock-u-i-nl0-w650-p5slipdiscard图1114是tcpdump的输出结果。在运行这个例子时,将bsdi设置成在icmp"不能分片差错中,不返回下 一跳mtu信息。在发送的笫一个数据报中将df比特置1 (笫1行),其结果是从bsdi路由器发回我们可以猜测的结果(笫2 行)。令人不解的是,发送一个df比特置1的数据报(第3行),其结果是同样的icmp差错(第4行)。我 们预计这个数据报在发送吋应该将df比特置0。笫5行结果显示,i

3、p已经知道了发往该目的地址的数据报不能将df比特置1,因此,ip进而将数据报在源诂 主机上进行分片。这与前面的例子中,ip发送经过udp的数据报,允许具有较小mtu的路山器(在本例中是 bsdi)对它进行分片的情况不-样。由于icmp“不能分片报文并没有指出下-跳的mtu,因此,看來ip猜 测mtu为576就行了。第一次分片(第5行)包含544字节的udp数据、8字节udp首部以及20字节ip首 部,因此,总ip数据报长度是572字节。第2次分片(第6行)包含剩余的106字节udp数据和20字节ip首部。不幸的是,第7行的卜-一个数据报将其df比特置1,因此bsdi将它丢弃并返回icmp差错。

4、这时发生了 ip定 时器超时,通知ip杳看是不是因为路径mtu增人了而将df比特再一次置1。我们可以从第19行和20行看出这个结果。将第7行与19行进行比较,可以看出ip每过30秒就将df比特置1,以查看路径mtu是否增大了。这个30秒的定吋器值看来太煎。rfc1191建议其值取10分钟。可以通过修改ip_ire_pathmtu_interval (e.4节)参数来改变该值。同时,solaris2.2无法对单个udp应用或所有udp应川关闭该路径mtu发现。只能通过修改ip_path_mtu_discovery参数,在 系统一级开放或关闭它。正如在这个例子里所能看到的那样,如呆允许路径mtu发

5、现,那么当udp应 用程序写入可能被分片数据报时,该数据报将被丢弃。0«00.0042184.9805284*984503(0.0042)(4.970(0.0040)«ol>ri9,3m9c > vlip>dittcm: u4> <59 (dt) “ b*di > aolarlo: leap;«llp unzaachabla - med to fxag atu q (。刃 solbt13,38196 > slip.discacd: udjp 650 (dr) tuidi > .o1r久: leapsup unreac

6、hjle 一 naed to fzag, stu 0 (dt)9.0704079.960g56(4.8859)<o.oa»6jolasi«381»6 > blip.diacazd; «w (ftbq <7m2s55m0+) solaris > slip: (frag 47h2:io<«ft5z *14>94033814.9,4466«.98d3)(0.0041)solaria v3b1$6 > slip .discard: u* 650 (dt) badl > sol&rioz

7、icap:aup unrfwfcchable 一 noed to fraf afcu 0 d9m111213u151619.890019h5g4s324 o 87040124.9<»038(4.m55)<0.oo4t29.8801b22».m04m (0.0(03)34.8(060734.950051«<k01)(0.0894)9ol<ri«38196 > slip.discard: ix)6冈 ql«rle > alip: (fjcag 47944:idw32>soiari/ra 3615 >

8、up.diaoard: ut> solaria > slip: (frag 47945;olaxl-301 > 0llp<<ii«caxd: nfitp ssq wlarlfe > *up: (fra? 47946 a iq供552)(fragr 47m4:552s0+)801b£hs.3819< > alip.(h>card: uc> 650 (fsag 47947a3a2eq) salaris > aup: (crag 47947; 106055218132039.87022639.930443(4

9、71;$2q2)(0.0602)8ol&riba38196 > aldp.discaxds odp 650 solaris > slip: (frag 47948:1061552)44.94048544.944432(5e0l00)(0.0039)aolaris»38196 > alip.diacard: u<|p 650 (df) bsdi > solariax lcsq):blip unreachable nmd to fragt itu 0 (or)图1114使用udp路径mtu发现solaris的ip层所假设的最大数据报长度(576字节)

10、是不正确的。在图1113中,我们看到,实际的mtu 值是296字节。这意味着经solaris分片的数据报还将被bsdi分片。图11-15给出了在目的主机(slip)上所收集到的tepdump对于第一个到达数据报的输出结果(图11j4的第5行和第6行)。10.0olaris>3819 >20.304513(0.304s)olarifl > slip:30.334651(0.0301)eolarle > slip:40.46cm2(0.1320)bolaris >alipdlacaxd: np 650 (frag 47m2:27290*) (frs? 47m2:272

11、8272*>(fra? 47942:89544*)(frag 47»42:10s8552)图1115从solaris到达slip的第一个数据报在本例屮,solaris不应该对外出数据报分片,它应该将df比特置0,讣具有最小mtu的路山器來完成分 片工作。现在我们运行同一个例了,只是对路由器bsdi进行修改使其在icmp"不能分片"差错屮返冋下一跳mtuo 图1116给出了 tepdump输出结果的前6行。与图1114 一样,前两个数据报同样是将df比特置1后发送出去的。但是在知道了下一跳mtu后,只产牛了 3个数据报片,而图11j5屮的bsdi路由器则产生了 4个数据报片。0.004199<0.0042)4.9501934.954325(4.m60)(o.oq41)9.779b5s>.9300189.990170(<.255) (0.1502> (0.0602)olacis 37974 > lip.dlac&zd: udp 650 (df) b«dt > latla;slip unrch»bt xumd to(sf*olarie .97974 > ollp-dibcaxd: udp 50 <df) b«<li > eolariai.&lip

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论