《计算机网络》第五版课后习题解答 下载本文

许用的最大主机数为2 的8 次方,为256,但是也要除去全0 和全1 的情况,所以能用的 最大主机数是254。

4-07 试说明IP 地址与硬件地址的区别。为什么要使用这两种不同的地址?

答案:如图所示,IP 地址在IP 数据报的首部,而硬件地址则放在MAC 帧的首部。在 网络层以上使用的是IP 地址,而链路层及以下使用的是硬件地址。 题4-07 图解

在IP 层抽象的互连网上,我们看到的只是IP 数据报,路由器根据目的站的IP 地址 网络 类型

最大可指派的网 络数

第一个可指派的网 络号

最后一个可指派的 网络号

每个网络中的最大 主机数

A 126(27-2) 1 126 16777214

B 16383(214-1) 128.1 191.255 65534

C 2097151(221-1) 192.0.1 233.255.255 254 《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子27 进行选路。在具体的物理网络的链路层,我们看到的只是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 比特,所以每个子网的主机数最多为:212-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。 《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子28

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地址外,均为十进 制表示)。试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制表示)。 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个十六进制 数字,再按十六进制加法规则计算)。比较这两种方法。 4 5 0 28 1 0 0 4 17

10.12.14.5 12.6.7.9

《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子29

01000101 00000000 00000000-00011100 4 5 0 0 0 0 1 C 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 的物理地址,

《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子30

但B 的网卡突然坏了,B 立即更换了一块,因此B 的硬件地址就改变了。A 还要和B 继续通

信。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 发送数

据报时就更方便了。