TCP/IP详解,卷1:协议,第九章:IP选路

小结:选路是IP最重要的功能之一。路由表项的内容包括:5bit标志、目的IP地址(主机、网络或默认)、下一站路由器的IP地址(间接路由)或者本地接口的IP地址(直接路由)及指向本地接口的指针。
主机表项比网络表项有更高的优先级,而网络表项比默认项具有更高的优先级。
系统产生的或转发的每份IP数据报都要搜索路由表,它可以被路由守护程序或ICMP重定向报文修改。系统在默认情况下不转发数据报,除非进行特殊的配置。可以用route命令添加静态路由,也可以利用新ICMP路由器发现报文来初始化动态更新默认表项。主机在启动时可以只有一个简单的路由表,然后使用来自默认路由器的ICMP重定向报文进行动态更新。

习题:
1.你认为为什么存在两类ICMP重定向报文-网络和主机?
答:使用一个网络重定向而不是N个主机重定向(对于目的网络中的所有N个主机)也节省了路由表的空间。

2.在9.2节开头列出的svr4主机上的路由表中,到主机slip(140.252.13.65)的特定路由是必须的吗?如果把这一项从路由表中删除会有什么变化?
答:这一项并不是必须的,但是如果把它删除了,所有到slip的IP数据报将被发送到默认的路由器(sun),后者又将把它们送到路由器bsdi。既然sun将数据报从与接收数据报相同的接口转发出去,它把一个ICMP重定向到svr4。这样在svr4中又创建了我们删除过的同样的路由表项,尽管这一次是因为重定向而创建的,而不是在引导时增加的。

3.考虑有一电缆连接若干4.2BSD主机和4.3BSD主机。假定网络号是140.1.4.2BSD主机把主机号为全0的地址识别为广播地址(140.1.0.0),而4.3BSD通常使用全1的主机号(140.1.255.255),发送广播。另外,4.2BSD主机在默认条件下会尝试转发接收到的数据报,尽管它们只有一个接口。
请描述当4.2BSD主机收到一份目的地址为140.1.255.255的IP数据报时会发生什么事。
答:当那个4.2BSD主机收到目的地址是140.1.255.255的数据报,发现它有一个通往该网络(140.1)的路由,因此就试图转发数据报。它发送一个ARP广播来寻找140.1.255.255。这个ARP请求没有收到任何应答,所有这个数据报最重被丢弃。如果在网线上有很多这样的4.2BSD主机,每一个都在差不多同一时刻发送ARP这个广播,将会暂时地阻塞网络。

4.继续前一个习题,假定有人在子网140.1上的某个系统ARP高速缓存中增加了一项(用arp命令)内容,指定IP地址140.1.255.255对应的以太网地址为全1(以太网广播地址)。请描述此时发生的情况。
答:这次,每一个ARP请求都受到一个应答,告诉每个4.2BSD主机向一个指定的硬件地址(以太网广播)发送数据报。如果网线上有k个这样的4.2BSD主机,全部收到了它们自己的ARP应答,使得每一个生成了另一个广播。每个主机都收到了每一个目的地址为140.1.255.255的广播IP数据报,既然现在每个主机都有一个ARP缓存项,这个数据报又被转发给了广播地址。这个过程持续下去,就会产生一次以太网的熔毁(Ethernet meltdown)。

你可能感兴趣的:(TCP-IP)