速读原著-TCP/IP(采用UDP的路径MTU发现)
第11章 UDP:用户数据报协议 11.8 采用UDP的路径MTU发现 下面对使用U D P的应用程序与路径 M T U发现机制之间的交互作用进行研究。看一看如果应用程序写了一个对于一些中间链路来说太长的数据报时会发生什么情况。 例子 由于我们所使用的支持路径 M T U发现机制的唯一系统就是Solaris 2.x,因此,将采用它作为源站发送一份6 5 0字节数据报经s l i p。由于s l i p主机位于M T U为2 9 6的S L I P链路后,因此,任何长于2 6 8字节(2 9 6-2 0-8)且“不分片”比特置为 1的U D P数据都会使b s d i路由器产生I C M P“不能分片”差错报文。图 11 - 1 3给出了拓扑结构和M T U。 可以用下面的命令行来产生 6 5 0字节U D P数据报,每两个U D P数据报之间的间隔是5秒: solaris % sock -u -i -n10 -w650 -p5 slip discard 图11 - 1 4是t c p d u m p的输出结果。在运行这个例子时,将b s d i设置成在I C M P“不能分片”差错中,不返回下一跳M T U信息。 在发送的第一个数据报中将 D F比特置1(第1行),其结果是从b s d i路由器发回我们可以猜测的结果(第 2行)。令人不解的是,发送一个 D F比特置1的数据报(第