计算机网络(第七版)谢希仁编著 第四章课后答案详解 (2)

答:有实际意义。C类子网IP地址的32位中,前24位用于确定网络号,后8位用于确定主机号。如果划分子网,可以选择后8位中的高位,这样做可以进一步划分网络,并且不增加路由表的内容,但是代价是主机数量减少。

4、设某路由器建立了如下路由表:

目的网络 子网掩码    下一跳
128.96.39.0 255.255.255.128   接口m0
128.96.39.128 255.255.255.128 接口m1
128.96.40.0 255.255.255.128 R2
192.4.153.0 255.255.255.192 R3
*(默认) —— R4
              

现共收到5个分组,其目的地址分别为:

(1)128.96.39.10

(2)128.96.40.12

(3)128.96.40.151

(4)192.4.153.17

(5)192.4.153.90

试分别计算其下一跳。

答:(1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口m0转发。

(2)分组的目的IP地址为:128.96.40.12。

① 与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。

② 与子网掩码255.255.255.128相与得128.96.40.0,经查路由表可知,该项分组经R2转发。

(3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。

(4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。

(5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。

5、分两种情况(使用子网掩码和使用CIDR)写出互联网的IP层查找路由的算法。

答:第一种情况:使用子网掩码。

(1)   从收到的数据报的首部提取目的IP地址D。

(2)   先判断是否直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相与,看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付,转发任务结束。否则就是间接交付,执行(3)。

(3)   若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。

(4)   对路由表中的每一行(目的网络地址,子网掩码,下一条地址),用其中的子网掩码和D逐位相与,其结果为N。若N与改行的目的网络地址匹配,则把数据报传送给改行指明的下一跳路由器;否则,执行(5)。

(5)   若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。

(6)   报告转发分组出错。

第二种情况:使用CIDR。

使用CIDR时,互联网的IP层查找路由算法和上面的算法并无什么不同。但应注意的是,在使用CIDR时,我们使用地址掩码。它的前一部分是一连串的1,对应于CIDR中的网络前缀。而掩码中的后一部分是一连串的0,对应于CIDR中的网络后缀(即对应于主机号部分)。路由表中由“网络前缀”和“下一条地址”组成。但是在查找路由表时可能会得到不止一个匹配结果,这是应当从匹配结果中选择具有最长网络前缀的路由。如果在路由表中的各项目是按网络前缀的长度排序的,把最长的网络前缀放在最前面,那么当查找路由表找到匹配时,就是找到了正确的路由,因而结束了查找。但如果在路由表中的各项目不是按网络前缀的长度排序,那么就应当从匹配结果中选择具有最长网络前缀的路由。

6、有如下的4个/24地址块,试进行最大可能性的聚合。

212.56.132.0/24

212.56.133.0/24

212.56.134.0/24

212.56.135.0/24

答:这几个地址的前面2个字节都一样,因此只需要比较第3个字节。

212=(11010100)2,56=(00111000)2

132=(10000100)2,

133=(10000101)2

134=(10000110)2,

135=(10000111)2

所以共同的前缀有22位,即11010100 00111000100001,聚合的CIDR地址块是:212.56.132.0/22

32.以下地址中的哪一个地址2.52.90.140匹配?请说明理由。

(1)0/4;(2)32/4;(3)4/6(4)80/4

答:给出的四个地址的前缀有4位和6位两种,因此我们就观察地址2.52.90.140的第一字节。

2.52.90.140/4 是  0000 0010,2.52.90.140/6 是  0000 0010。

0/4   是  0000 0000;

32/4  是  0010 0000;

4/6   是  0000 0100;

80/4  是  0101 0000。

因此只有前缀(1)和地址2.52.90.140匹配。

33.下面的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。

(1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。

答:给出的四个地址的前缀是9位到12位,因此我们就观察这两个地址的第二字节。

这两个地址的前两个字节的二进制是:

10011000 0000 0111和10011000  00011111。

152.40/13的前缀是13位:10011000 00101000,与这两个地址不匹配;

153.40/9 的前缀是9位:10011001 00101000,与这两个地址不匹配;

152.64/12的前缀是12位:10011000 01000000,与这两个地址不匹配;

152.0/11的前缀是11位:10011000 00000000,与这两个地址都匹配。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypwjy.html