《计算机网络》第五版课后习题解答
4.所有分配到网络号(netid)的网络都是平等的; 5.IP 地址可用来指明一个网络的地址。
4-06试根据IP地址的规定,计算出表4-2中的数据。
表4-2 IP地址的指派范围 网络类型 A B C 最大可指派的网络数 126(2-2) 16383(2-1) 2097151(2-1) 21147第一个可指派的网络号 1 128.1 192.0.1 最后一个可指派的网络号 126 191.255 233.255.255 每个网络中的最大主机数 16777214 65534 254 答案:1)A 类网中,网络号占七个bit, 则允许用的网络数为2 的7 次方,为128,但是要除去0 和127 的情况,所以能用的最大网络数是126,第一个网络号是1,最后一个网络号是126。主机号占24 个bit, 则允许用的最大主机数为2 的24 次方,为16777216,但是也要除去全0 和全1 的情况,所以能用的最大主机数是16777214。
2) B 类网中,网络号占14 个bit,则能用的最大网络数为2 的14 次方,为16384,第一个网络号是128.0,因为127 要用作本地软件回送测试,所以从128 开始,其点后的还可以容纳2 的8 次方为256,所以以128 为开始的网络号为128.0~~128.255,共256 个,以此类推,第16384 个网络号的计算方法是:16384/256=64128+64=192,则可推算出为191.255。主机号占16 个 bit, 则允许用的最大主机数为2 的16 次方,为65536,但是也要除去全0 和全1 的情况,所以能用的最大主机数是65534。
3)C 类网中,网络号占21 个bit, 则能用的网络数为2 的21 次方,为2097152,第一个网络号是 192.0.0 , 各个点后的数占一个字节,所以以 192 为开始的网络号为192.0.0~~192.255.255,共256×256=65536,以此类推,第2097152 个网络号的计算方法是:2097152/65536=32192+32=224,则可推算出为223.255.255。主机号占8 个bit, 则允许用的最大主机数为2 的8 次方,为256,但是也要除去全0 和全1 的情况,所以能用的最大主机数是254。
4-07试说明 IP 地址与硬件地址的区别。为什么要使用这两种不同的地址?
答案:如图所示,IP 地址在IP 数据报的首部,而硬件地址则放在MAC 帧的首部。在网络层以上使用的是IP地址,而链路层及以下使用的是硬件地址。
题4-07图解
在IP 层抽象的互连网上,我们看到的只是IP 数据报,路由器根据目的站的 IP地址
26
《计算机网络》第五版课后习题解答
进行选路。在具体的物理网络的链路层,我们看到的只是 MAC 帧,IP 数据报被封装在 MAC帧里面。MAC 帧在不同的网络上传送时,其MAC 帧的首部是不同的。这种变化,在上面的IP 层上是看不到的。每个路由器都有IP 地址和硬件地址。使用IP 地址与硬件地址,尽管连接在一起的网络的硬件地址体系各不相同,但 IP层抽象的互连网却屏蔽了下层这些很复杂的细节,并使我们能够使用统一的、抽象的IP 地址进行通信。
4-08 IP 地址方案与我国的电话号码体制的主要不同点是什么?
答案:IP 地址分为网络号和主机号,它不反映有关主机地理位置的信息。而电话号码反映有关电话的地理位置的信息,同一地域的电话号码相似。
注:我国电话号码体制是按照行政区域划分的层次结构,同一地域的电话号码有相同的若干位前缀。号码相近的若干话机,其地理位置应该相距较近。IP 地址没有此属性,其网络号和主机地理位置没有关系。
4-09(1)子网掩码为 255.255.255.0 代表什么意思?
(2)一网络的现在掩码为 255.255.255.248,问该网络能够连接多少个主机?
(3)一A 类网络和一 B 类网络的子网号 subnet-id分别为16个1和8个1,问这两个网络的子网掩码有何不同?
(4)一个B类地址的子网掩码是255.255.240.0。试问在其中每一个子网上的主机数最多是多少?
(5)一A类网络的子网掩码为 255.255.0.255,它是否为一个有效的子网掩码? (6)某个IP地址的十六进制表示为C2.2F.14.81,试将其转换为点分十进制的形式。这个地址是哪一类IP地址?
(7)C 类网络使用子网掩码有无实际意义?为什么?
答案:(1)可以代表C 类地址对应的子网掩码默认值;也能表示A 类和B 类地址的掩码,前24 位决定网络号和子网号,后8 位决定主机号。(用24bit 表示网络部分地址,包括网络号和子网号)
(2)255.255.255.248 化成二进制序列为:11111111 11111111 11111111 11111000,根据掩码的定义,后三位是主机号,一共可以表示8 个主机号,除掉全0 和全1 的两个,该网络能够接6 个主机。
(3)子网掩码的形式是一样的,都是 255.255.255.0;但是子网的数目不一样,前者为65534,后者为254。
(4)255.255.240.0(11111111.11111111.11110000.00000000)是B类地址的子网掩
12
码,主机地址域为12比特,所以每个子网的主机数最多为:2-2=4 094。
(5)子网掩码由一连串的 1 和一连串的 0 组成,1 代表网络号和子网号,0 对应主机号.255.255.0.255 变成二进制形式是:11111111 11111111 00000000 11111111.可见,是一个有效的子网掩码,但是不是一个方便使用的解决办法。
(6)用点分十进制表示,该IP地址是194.47.20.129,为C类地址。 (7)有,可以提高网络利用率。
注:实际环境中可能存在将C 类网网络地址进一步划分为子网的情况,需要掩码说明子网号的划分。C 类网参加互连网的路由,也应该使用子网掩码进行统一的IP 路由运算。C 类网的子网掩码是255.255.255.0。
27
《计算机网络》第五版课后习题解答
4-10 试辨认以下IP地址的网络类别。
(1) 128.36.199.3 (2) 21.12.240.17 (3) 183.194.76.253 (4) 192.12.69.248 (5) 89.3.0.1 (6) 200.3.6.2
答案:(1) 128.36.199.3 B类网
(2) 21.12.240.17 A类网 (3) 183.194.76.253 B类网 (4) 192.12.69.248 C类网 (5) 89.3.0.1 A类网 (6) 200.3.6.2 C类网 4-11 IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?
答案:好处是数据报每经过一个结点,结点只检查首部的检验和,使结点工作量降低,网络速度加快。
坏处是只检验首部,不包括数据部分,即使数据出错也无法得知,只有到目的主机才能发现。
4-12 当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?
答案:之所以不要求源站重发,是因为地址子段也有可能出错,从而找不到正确的源站。
数据报每经过一个结点,结点处理机就要计算一下校验和。不用CRC,就是为了简化计算。
4-13.设IP数据报使用固定首部,其各字段的具体数值如图所示(除IP地址外,均为十进制表示)。试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制表示)。
4
5
1
4
17
10.12.14.5
12.6.7.9
0
0
28
0
1000101 00000000 00000000-00011100 00000000 00000001 00000000-00000000 00000100 00010001 xxxxxxxx xxxxxxxx 00001010 00001100 00001110 00000101
00001100 00000110 00000111 00001001 作二进制检验和(XOR) 01110100 01001110取反码 10001011 10110001
4-14. 重新计算上题,但使用十六进制运算方法(没16位二进制数字转换为4个十六进制数字,再按十六进制加法规则计算)。比较这两种方法。
01000101 00000000 00000000-00011100 4 5 0 0 0 0 1 C
28
《计算机网络》第五版课后习题解答
00000000 00000001 00000000-00000000 0 0 0 1 0 0 0 0 00000100 000010001 xxxxxxxx xxxxxxxx 0 4 1 1 0 0 0 0 00001010 00001100 00001110 00000101 0 A 0 C 0 E 0 5 00001100 00000110 00000111 00001001 0 C 0 6 0 7 0 9 01011111 00100100 00010101 00101010 5 F 2 4 1 5 2 A
5 F 2 4 1 5 2 A
7 4 4 E-?8 B B 1
4-15.什么是最大传送单元MTU?它和IP数据报的首部中的哪个字段有关系? 答:IP层下面数据链里层所限定的帧格式中数据字段的最大长度,与IP数据报首部中的总长度字段有关系
4-16 在因特网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报片通过一个网络就进行一次组装。试比较这两种方法的优劣。 答案:前一种方法对于所传数据报来将仅需要进行一次分段一次组装,用于分段和组装的开销相对较小。
但主机若在最终组装时发现分组丢失,则整个数据报要重新传输,时间开销很大。 后一种方法分段和组装的次数要由各个网络所允许的最大数据报长度来决定,分段和组装的开销相对较大。但若通过一个网络后组装时发现分段丢失,可以及时地重传数据报,时间开销较前者小,同时可靠性提高。
4-17 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)? 答案:IP数据报的长为:3200+160=3360 bit
第二个局域网分片应分为 [3200/1200]=3片。 三片的首部共为:160*3=480 bit
则总共要传送的数据共3200+480=3680 bit。
4-18(1)有人认为:“ARP协议向网络层提供了转换地址的服务,因此ARP应当属于数据链路层。”这种说法为什么是错误的?
(2)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置得太大或太小会出现什么问题?
(3)至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个项目的IP地址解析为相应的硬件地址)。 答案:(1)ARP不是向网络层提供服务,它本身就是网络层的一部分,帮助向传输层提供服务。在数据链路层不存在IP地址的问题。数据链路层协议是像HDLC和PPP这样的协议,它们把比特串从线路的一端传送到另一端。
(2)ARP将保存在高速缓存中的每一个映射地址项目都设置生存时间(例如,10~20分钟)。凡超过生存时间的项目就从高速缓存中删除掉。设置这种地址映射项目的生存时间是很重要的。设想有一种情况,主机A和B通信,A的ARP高速缓存里保存有B的物理地址,但B的网卡突然坏了,B立即更换了一块,因此B的硬件地址就改变了。A还要和B继续通
29
《计算机网络》第五版课后习题解答
信。A在其ARP高速缓存中查找到B原先的硬件地址,并使用该硬件地址向B发送数据帧,但B原先的硬件地址已经失效了,因此A无法找到主机B。是过了一段时间,A的ARP高速缓存中已经删除了B原先的硬件地址(因为它的生存时间到了),于是A重新广播发送ARP请求分组,又找到了B。
时间设置太大,造成A一直空等而产生通讯时延,网络传输缓慢。若太小,有可能网络状况不好,B暂时没有应答A,但A已经认为B的地址失效,A重新发送ARP请求分组,造成通讯时延。
(3)主机A和B通讯,A的ARP高速缓存里保存有B的物理地址,此时不需要发送ARP请求分组。
当主机A向B发送数据报时,很可能不久以后主机B还要向A发送数据报,因而主机B也可能要向A发送ARP请求分组。为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己IP地址到硬件的映射写入ARP请求分组。当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。
4-19. 主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程总共使用几次ARP?
解:前提,理论上当前主机路由器arp表中都没有下一跳路由器MAC 共需6次,主机A先通过arp得到第一个路由器的MAC,之后每一个路由器转发前都通过ARP得到下一跳路由器的MAC,最后一条路由器将IP包发给B前仍要通过ARP得到B的MAC,共6次。
4-20. 设某路由器建立了如下路由表(这三列分别是目的网络、子网掩码和下一跳路由器,若直接交付则最后一列表示应当从哪一个接口转发出去):
目的网络 子网掩码 下一跳
128.96.39.0 255.255.255.128 接口0 128.96.39.128 255.255.255.128 接口1 128.96.40.0 255.255.255.128 R2 192.4.153.0 255.255.255.192 R3
*(默认) - R4 现共收到5个分组,其目的站IP地址分别为: (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,可见该分组经接口0转发。
(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相与后得
30