《计算机网络》第五版课后习题答案_谢希仁版4
2013-12-30 12:09阅读:
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。
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
|
0
|
28
|
1
|
0
|
0
|
4
|
17
|
|
10.12.14.5
|
12.6.7.9
|
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
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继续通信。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相与后得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转发。
4-21某单位分配到一个B类IP地址,其net-id为129.250.0.0。该单位有4000台机器,平均分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一地点分配一个子网号码,并计算出每个地点主机号码的最小值和最大值。
答:4000/16=250,平均每个地点250台机器。如选255.255.255.0为掩码,则每个网络所连主机数=28-2=254>250,共有子网数=28-2=254>16,能满足实际需求。
可给每个地点分配如下子网号码
地点: 子网号(subnet-id) 子网网络号
主机IP的最小值和最大值
1: 00000001
129.250.1.0
129.250.1.1---129.250.1.254
2: 00000010
129.250.2.0
129.250.2.1---129.250.2.254
3: 00000011
129.250.3.0
129.250.3.1---129.250.3.254
4: 00000100
129.250.4.0
129.250.4.1---129.250.4.254
5: 00000101
129.250.5.0
129.250.5.1---129.250.5.254
6: 00000110
129.250.6.0
129.250.6.1---129.250.6.254
7: 00000111
129.250.7.0
129.250.7.1---129.250.7.254
8: 00001000
129.250.8.0
129.250.8.1---129.250.8.254
9: 00001001
129.250.9.0
129.250.9.1---129.250.9.254
10: 00001010
129.250.10.0
129.250.10.1---129.250.10.254
11: 00001011
129.250.11.0
129.250.11.1---129.250.11.254
12: 00001100
129.250.12.0
129.250.12.1---129.250.12.254
13: 00001101
129.250.13.0
129.250.13.1---129.250.13.254
14: 00001110
129.250.14.0
129.250.14.1---129.250.14.254
15: 00001111
129.250.15.0
129.250.15.1---129.250.15.254
16: 00010000
129.250.16.0
129.250.16.1---129.250.16.254
4-22
一具数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?
答:IP数据报固定首部长度为20字节
|
总长度(字节)
|
数据长度(字节)
|
MF
|
片偏移
|
原始数据报
|
4000
|
3980
|
0
|
0
|
数据报片1
|
1500
|
1480
|
1
|
0
|
数据报片2
|
1500
|
1480
|
1
|
185
|
数据报片3
|
1040
|
1020
|
0
|
370
|
4-23
分两种情况(使用子网掩码和使用CIDR)写出因特网的IP层查找路由的算法。
答:见课本P134、P139
4-24
试找出可产生以下数目的A类子网的子网掩码(采用连续掩码)
(1)2,(2)6,(3)20,(4)62,(5)122,(6)250
答:(3)20+2=22<25(加2即将不能作为子网号的全1和全0的两种,所以子网号占用5bit,所以网络号加子网号共13bit,子网掩码为前13个1后19个0,即255.248.0.0。依此方法:
(1)255.192.0.0,(2)255.224.0.0,(4)255.252.0.0,(5)255.254.0.0,(6)255.255.0.0
4-25
以下有四个子网掩码,哪些是不推荐使用的?为什么?
(1)176.0.0.0,(2)96.0.0.0,(3)127.192.0.0,(4)255.128.0.0
答:只有(4)是连续的1和连续的0的掩码,是推荐使用的。
4-26
有如下的四个/24地址块,试进行最大可能的聚合。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
答:212=(11010100)2,56=(00111000)2
132=(10000100)2,
133=(10000101)2
134=(10000110)2,
135=(10000111)2
所以共同的前缀有22位,即11010100 00111000
100001,聚合的CIDR地址块是:212.56.132.0/22
4-27
有两个CIDR地址块208.128/11和208.130.28/22。是否有哪一个地址块包含了另一地址块?如果有,请指出,并说明理由。
答:208.128/11的前缀为:11010000
100
208.130.28/22的前缀为:11010000 10000010
000101,它的前11位与208.128/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。
4-28已知路由器R1的路由表如表4-12所示。
表4-12
习题4-28中的路由器R1的路由表
地址掩码
|
目的网络地址
|
下一跳地址
|
路由器接口
|
/26
|
140.5.12.64
|
180.15.2.5
|
M2
|
/24
|
130.5.8.0
|
190.16.6.2
|
M1
|
/16
|
110.71.0.0
|
----
|
M0
|
/16
|
180.15.0.0
|
----
|
M2
|
/16
|
190.16.0.0
|
----
|
M1
|
默认
|
默认
|
110.71.4.5
|
M0
|
试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情况应当指明。
答案:图形见课后答案P380
4-29一个自治系统有5个局域网,其连接图如图4-55示。LAN2至LAN5上的主机数分别为:91,150,3和15.该自治系统分配到的IP地址块为30.138.118/23.试给出每一个局域网的地址块(包括前缀)。
图4-55
习题4-29的图
答案:对LAN3,主机数150,(27-2)<150+1<</span>(28-2),所以主机位为8bit,网络前缀为24,分配地址块30.138.118.0/24。(第24位为0)
对LAN2,主机数91,(26-2)<91+1<</span>(27-2),所以主机位为7bit,网络前缀为25,分配地址块30.138.119.0/25。(第24、25位为10)
对LAN5,主机数15,(24-2)<15+1<</span>(25-2),所以主机位为5bit,网络前缀为27,分配地址块30.138.119.192/27。(第24、25、26、27位为1110)
对LAN1,主机数3,(22-2)<3+1<</span>(23-2),所以主机位为3bit,网络前缀为29,分配地址块30.138.119.232/29。(第24、25、26、27、28、29位为111101)
对LAN4,主机数3,(22-2)<3+1<</span>(23-2),所以主机位为3bit,网络前缀为29,分配地址块30.138.119.240/29。(第24、25、26、27、28、29位为111110)
4-30
一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24。公司的网络布局如图4-56。总部共有五个局域网,其中LAN1~LAN4都连接到路由器R1上,R1再通过LAN5与路由其R5相连。R5和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每个局域网旁边标明的数字是局域网上主机数。试给每个局域网分配一个合适的网络前缀。
图4-56
习题4-30的图
答案:分配网络前缀时应先分配地址数较多的前缀,本题的答案很多种,下面是其中的一种答案.
LAN1: 192.77.33.0/26
LAN3: 192.77.33.64/27;
LAN6: 192.77.33.192/27;
LAN7: 192.77.33.160/27;
LAN8; 192.77.33.128/27
LAN2: 192.77.33.96/28;
LAN4: 192.77.33.11228
LAN5: 192.77.33.224/27
(考虑到以太网可能还要连接及个主机,故留有余地)WAN1:192.77.33.232/30;
WAN2: 192.77.33.236/30; 192.77.33.240/30
4-31以下地址中的哪一个和86.32/12匹配?请说明理由。
(1)86.33.224.123;(2)86.79.65.216;(3)86.58.119.74;(4)86.68.206.154。
答案:
(1)与11111111 11110000 00000000
00000000逐比特相“与”和86.32/12匹配
(2)与11111111 11110000 00000000
00000000逐比特相“与”和86.32/12不匹配
(3)与11111111 11110000 00000000
00000000逐比特相“与”和86.32/12不匹配
(4)与11111111 11110000 00000000
00000000逐比特相“与”和86.32/12不匹配
4-32以下的地址前缀中哪一个地址和2.52.90.140匹配?请说明理由。
(1)0/4;(2)32/4;(3)4/6;(4)80/4。
答案:(1)2.52.90.140与11110000
00000000 00000000
00000000逐比特相“与”和0/4匹配
(2)2.52.90.140与11110000
00000000 00000000
00000000逐比特相“与”和32/4不匹配
(3)2.52.90.140与11110000
00000000 00000000
00000000逐比特相“与”和4/6不匹配
(4)2.52.90.140与11110000
00000000 00000000
00000000逐比特相“与”和80/4不匹配
4-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。
答案:(1)152.7.77.159与11111111
11111000 00000000
00000000逐比特相“与”和(1)不匹配,故(1)不符合条件。
(1)152.7.77.159与11111111
10000000 00000000
00000000逐比特相“与”和(2)不匹配,故(2)不符合条件。
(1)152.7.77.159与11111111
11110000 00000000
00000000逐比特相“与”和(3)不匹配,故(3)不符合条件。
(1)152.7.77.159与11111111
11100000 00000000
00000000逐比特相“与”和(4)匹配,152.31.47.252和11111111
11100000 00000000
00000000逐比特相“与”和(4)匹配,故(4)不符合条件。
4-34与下列掩码相对应的网络前缀各有多少比特?
(1)192.0.0.0;(2)240.0.0.0;(3)255.224.0.0;(4)255.255.255.252。
答案:点分十进制的地址化成二进制记法,1的个数就是前缀的个数。
(1)11000000 00000000 00000000
00000000,对应的网络前缀是2比特
(2)11110000 00000000 00000000
00000000,对应的网络前缀是4比特
(3)11111111 11100000 00000000
00000000,对应的网络前缀是11比特
(4)11111111 11111111 11111111
11111100,对应的网络前缀是30比特
4-35.
已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
140.120.84.24 è
140.120.(0101 0100).24
最小地址是
140.120.(0101 0000).0/20 (80)
最大地址是
140.120.(0101 1111).255/20 (95)
地址数是4096.相当于16个C类地址。
4-36.已知地址块中的一个地址是190.87.140.202/29。重新计算上题。
190.87.140.202/29 è
190.87.140.(1100 1010)/29
最小地址是
190.87.140.(1100 1000)/29
200
最大地址是
190.87.140.(1100 1111)/29
207
地址数是8.相当于1/32个C类地址。
4-37
某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分4个一样大的子网。试问:
(1)每个子网的前缀有多长?
(2)每一个子网中有多少个地址?
(3)每一个子网的地址块是什么?
(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
4-38
IGP和EGP这两类协议的主要区别是什么?
答案:IGP:内部网关协议,只关心本自治系统内如何传送数据报,与互联网中其他自治系统使用说明协议无关。
EGP:外部网关协议,在不同的AS边界传递路由信息的协议,不关心AS内部使用何种协议。
4-39试简述RIP、OSPF和BGP路由选择协议的主要特点。
答案:
主要特点
|
RIP
|
OSPF
|
BGP
|
网关协议
|
内部
|
外部
|
外部
|
路由表内容
|
目的网,下一站,距离
|
目的网,下一站,距离
|
目的网,完美路由
|
最优通路依据
|
跳数
|
费用
|
多种策略
|
算法
|
距离矢量
|
链路状态
|
距离矢量
|
传送方式
|
运输层UDP
|
IP数据报
|
建立TCP连接
|
其他
|
简单;
效率低;
跳数为16,不可达;
好消息传的快,坏消息传的慢
|
效率高;
路由器频繁交换信息,难维持一致性;
规模大,统一度量,可达性
|
|
4-40
RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和临站交换路由信息而BGP却不这样做?
答案:RIP协议处于UDP协议的上层,RIP所接收的路由信息都封装在UDP的数据报中;OSPF的位置位于网络层,由于要交换的信息量较大,故应使报文的长度尽量短,故采用IP;BGP要在不同的自治系统之间交换路由信息,由于网络环境复杂,需要保证可靠的传输,所以选择TCP。
内部网关协议主要是设法使数据报载一个自治系统中尽可能有效地从源站传送到目的站,在一个自治系统内部并不需要考虑其他方面的策略,然而BGP使用的环境却不同。主要有以下三个原因:第一,因特网规模太大,使得自治系统之间的路由选择非常困难。第二,对于自治系统之间的路由选择,要寻找最佳路由是不现实的。第三,自治系统之间的路由选择必须考虑有关策略。由于上述情况,边界网关协议BGP只能是力求寻找一条能够到达目的地网络且比较好的路由,而并非要寻找一条最佳路由,所以BGP不需要像RIP那样周期性和临站交换路由信息。,
4-41假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”)