计网复习——网络层习题
1. 试回答下列问题
(1)子网掩码为255.255.255.0代表什么意思?
可以是C类地址对应的子网掩码默认值,也可以是A类或B类地址的掩码,这时主机由最后8位决定,而路由器寻找网络由前24位决定。
(2)一个网络的现在掩码为255.255.255.248,问该网络能够连接多少台主机?
255.255.255.248 化成二进制序列为:11111111 11111111 11111111 11111000,根据掩码的定义,后三位是主机号,一共可以表示 8 个主机号,除掉全 0 和全 1 的两个,该网络能够接 6 个主机。
(3)一个A类网络和一个B类网络的子网号 subnet-id 分别为 16 个 1 和 8 个 1,问这两个网络的子网掩码有何不同?
子网掩码的形式是一样的,都是 255.255.255.0;但是子网的数目不一样,前者为 65534,后者为 254。
(4)一个 B 类地址的子网掩码是 255.255.240.0。试问在其中每一个子网上的主机数最多是多少?
255.255.240.0(11111111.11111111.11110000.00000000)是 B 类地址的子网掩码,主机地址域为 12 比特,所以每个子网的主机数最多为:
2
12
−
2
=
4094
2^{12}-2=4094
212−2=4094。
(5)一A类网络的子网掩码为 255.255.0.255,它是否为一个有效的子网掩码?
子网掩码由一连串的 1 和一连串的 0 组成,1 代表网络号和子网号,0 对应主机号.255.255.0.255 变成二进制形式是:11111111 11111111 00000000 11111111.可见,是一个有效的子网掩码,但是不是一个方便使用的解决办法。
(6)某个 IP 地址的十六进制表示为 C2.2F.14.81,试将其转换为点分十进制的形式。这个地址是哪一类 IP 地址?
用点分十进制表示,该 IP 地址是 194.47.20.129,为 C 类地址。
(7)C 类网络使用子网掩码有无实际意义?为什么?
有实际意义,对于小网络这样做还可进一步划分几个子网。
2. 一个 3200 位长的 TCP 报文传到 IP 层,加上 160 位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有 1200 位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?
第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,可见每一个IP数据报的最大长度是1200bit,故其数据部分(即从TCP传下来的数据)最多为:
IP数据报的总长度-IP数据报的首部=1200-160=1040bit
可以这样划分:TCP交给IP的数据共3200bit=1024+1024+1024+128,因此3200bit的数据必须划分为4个数据报片。
这4个数据报片的首部长度都是160bit,而TCP_1,TCP_2,TCP_3,TCP_4分别是这四个数据报片的数据部分,其长度分别为1024bit,1024bit,1024bit和128bit。这四个数据报片的总长度(首部加上数据部分)分别为1184bit,1184bit,1184bit和288bit。
上面这些就是第二个局域网要向其上层传送的数据。
因此,第二个局域网向上传送1184+1184+1184+288=3840bit。
3. 设某路由器建立了如下路由表(这三列分别是目的网络、子网掩码和下一跳路由器,若直接交付则最后一列表示应当从哪一个接口转发出去):
目的网络 | 子网掩码 | 下一跳 |
---|---|---|
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 |
R 2 R_2 R2 |
192.4.153.0 | 255.255.255.192 |
R 3 R_3 R3 |
*(默认) | – |
R 4 R_4 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转发。
4. 有如下的四个/24地址块,试进行最大可能的聚合。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
212
=
(
11010100
)
2
212=(11010100)_2
212=(11010100)2,
56
=
(
00111000
)
2
56=(00111000)_2
56=(00111000)2,
132
=
(
10000100
)
2
132=(10000100)_2
132=(10000100)2,
133
=
(
10000101
)
2
133=(10000101)_{2}
133=(10000101)2,
134
=
(
10000110
)
2
134=(10000110)_2
134=(10000110)2,
135
=
(
10000111
)
2
135=(10000111)_2
135=(10000111)2,
所以共同的前缀有22位,即11010100 00111000 100001,聚合的CIDR地址块是:212.56.132.0/22。
5. 有两个CIDR地址块208.128/11和208.130.28/22。是否有哪一个地址块包含另一地址块?如果有,请指出,并说明理由。
208.128/11的前缀为:11010000 100
208.130.28/22的前缀为:11010000 10000010 000101,它的前11位与208.138/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。
6. 已知路由器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地址和接口。对不能确定的情况应当指明。
7. 一 个 大 公 司 有 一 个 总 部 和 三 个 下 属 部 门 。 公 司 分 配 到 的 网 络 前 缀 是192.77.33/24。公司的网络布局如图。总部共有五个局域网,其中LAN1~LAN4都连接到路由器 R1上,R1再通过LAN5与路由器R2相连。R2和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每个局域网旁边标明的数字是局域网上主机数。试给每个局域网分配一个合适的网络前缀。
分配网络前缀时应先分配地址数较多的前缀。本题的答案有很多,下面是其中的一种答案。
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.112/28;
LAN5:192.77.33.224/27;(考虑到以太网可能还要连接几个主机,故留有余地)
WAN1:192.77.33.232/30;
WAN2:192.77.33.236/30;
WAN3:192.77.33.240/30。
8. 以下地址中的哪一个和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 不匹配
9. 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分4个一样大的子网。试问:
(1)每个子网的前缀有多长?
(2)每一个子网中有多少个地址?
(3)每一个子网的地址块是什么?
(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
(1)原来网络前缀是2位,需要再增加2位,才能划分4个一样大的子网。因此每个子网前缀是28位。
(2)每个子网的地址中有4位留给主机用,因此共有16个地址(可用的14个)。
(3)四个子网的地址块是:136.23.12.64/28,136.23.12.80/28,136.23.12.96/28,136.23.12.112/28。
(4)地址中的前三个字节分别为B1,B2和B3。
第一个地址块136.23.12.64/28可分配给主机使用的:
最小地址是B1 B2 B3 01000001=136.23.12.65/28;
最大地址是B1 B2 B3 01001110=136.23.12.78/28。
第二个地址块136.23.12.80/28可分配给主机使用的:
最小地址是B1 B2 B3 01010001=136.23.12.81/28;
最大地址是B1 B2 B3 01011110=136.23.12.94/28。
第三个地址块136.23.12.96/28可分配给主机使用的:
最小地址是B1 B2 B3 01100001=136.23.12.97/28;
最大地址是B1 B2 B3 01101110=136.23.12.110/28。
第三个地址块136.23.12.112/28可分配给主机使用的:
最小地址是B1 B2 B3 01110001=136.23.12.113/28;
最大地址是B1 B2 B3 01111110=136.23.12.126/28。
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
(2)和(5)是A类,因为第一位(类别位)是0。
(1)和(3)是B类,因为前两位(类别位)是10。
(4)和(6)是C类,因为前三位(类别位)是110。
11. IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?缺点是什么?
好处是,不检验数据部分可以加快检验的过程,使转发分组更快。
缺点是,数据部分出现差错时不能及早发现。即使是到达了终点,目的主机中的IP也仍然不检查数据部分是否正确。当IP数据报的数据部分送交上面的运输层时,运输层的TCP才检查收到的数据有无差错。
12. 当某个路由器发现一IP数据报的首部检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?
IP首部中的源地址也可能变成错误的,要求错误的源地址重传数据报是没有意义的。不使用CRC可减少路由器进行检验的时间。
13. 主机A发送IP数据报主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?
6次。主机发送IP数据报时用一次ARP,每一个路由器在转发IP数据报时各使用一次。
当路由器收到一个待转发的数据报,在从路由表得出下一跳路由器的IP地址后,不是把这个地址填入IP数据报,而是送交数据链路层的网络接口软件。网络接口软件负责把下一跳路由器的IP地址转换成硬件地址(必须使用ARP),并将此硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。
14. 某单位分配到一个B类IP地址,其net-id为129.250.0.0。该单位有4000台机器,平均分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网号码,并算出每个地点主机号码的最小值和最大值。
4000台计算机,平均分布在16个不同的地点。每个地点有250台计算机。因此,主机host-id有8位就够了。而16个不同地点需要有16个子网。考虑到不使用全1和全0的主机号,因此子网号subnet-id至少需要5位(可以有30个子网)。这样,本题的解答并不是唯一的,子网号可以从5位到8位。
但题目已经给定了子网掩码为255.255.255.0,就是说,题目已经确定了采用8位的子网号,因此可以选用子网号从00000001到00010000这样16个号码。每一个地点的主机号host-id从00000001到11111010共250个号码。
15. 一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?
数据报的总长度减去首部长度,得出IP数据报的数据部分长度为:4000-20=3980B
划分出一个数据报片(要考虑首部由20字节长):3980-1480=2500B,剩下的数据长度,大于MTU。
再划分出一个数据报片:2500-1480=1020B,剩下的数据长度,小于MTU。
故划分为3个数据报片,其数据字段长度分别为1480,1480和1020字节。
片偏移字段的值为0,1480/8= 185和2 * 1480 / 8 = 370。
MF字段的值分别为1,1和0。
16. 试找出可产生以下数目的A类子网的子网掩码(采用连续掩码):(1)2,(2)6,(3)30,(4)62,(5)122,(6)250。
子网掩码 | 把两个字节写成二进制 | 去掉全0和全1的子网数 | |
---|---|---|---|
(1) | 255.192.0.0 | 11111111 11000000 | 2 |
(2) | 255.224.0.0 | 11111111 11100000 | 6 |
(3) | 255.248.0.0 | 11111111 11111000 | 30 |
(4) | 255.252.0.0 | 11111111 11111100 | 62 |
(5) | 255.254.0.0 | 11111111 11111110 | 126(大于122) |
(6) | 255.255.0.0 | 11111111 11111111 | 254(大于250) |
17. 以下有4个子网掩码,哪些是不推荐使用的?为什么?(1)176.0.0.0,(2)96.0.0.0,(3)127.192.0.0,(4)255.128.0.0。
(1)176.0.0.0的第一个字节的二进制表示:10110000,“1”不连续。不推荐使用。
(2)96.0.0.0的第一个字节的二进制表示:01100000,“1”的前面有0。不推荐使用。
(3)127.192.0.0的第一个字节的二进制表示:01111111,“1”的前面有0。不推荐使用。
(4)255.128.0.0的前面两个字节的二进制表示:11111111 10000000。推荐使用。所有的1是连续的,1的前面没有0。
18. 以下地址中的哪一个和86.32/12匹配?请说明理由。(1)86.33.224.123;(2)86.79.65.216;(3)86.58.119.74;(4)86.68.206.154。
观察地址86.32/12的第二个字节0x32=00100000,前缀12位,说明第二字节的前4位0010在前缀中。
把给出的四个地址的第二字节转换成二进制,看哪一个前4位是0010:
(1)0x33=00100001,前4位是:0010;
(2)0x79=01001111,前4位是:0100;
(3)0x58=00111010,前4位是:0011;
(4)0x68=01000100,前4位是:0100.
因此只有(1)的地址86.33.224.123是和86.32/12匹配的。
19. 以下的地址前缀中哪一个地址与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的第一个字节用二进制表示是00000010。
(1)0/4是0000;
(2)32/4是0010;
(3)4/6是000001;
(4)80/4是0101;
因此只有前缀(1)和地址2.52.90.140匹配。
20. 下面的前缀中哪一个和地址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 00000111 和 10011000 00011111。
(1)的前缀是13位:10011000 00101000,与这两个地址不匹配。
(2)的前缀是9位:10011001 00101000,与这两个地址不匹配。
(3)的前缀是12位:10011000 01000000,与这两个地址不匹配。
(4)的前缀是11位:10011000 00000000,与这两个地址都匹配。
21. 与下列掩码相对应的网络前缀各有多少位?(1)192.0.0.0;(2)240.0.0.0;(3)255.224.0.0;(4)255.255.255.252。
(1)192.0.0.0=11000000(后面还有24个0),网络前缀:2位。
(2)240.0.0.0=11110000(后面还有24个0),网络前缀:4位。
(3)255.224.0.0=11111111 11100000(后面还有16个0),网络前缀:11位。
(4)255.255.255.252=11111111 11111111 11111111 11111100,网络前缀:30位。
22. 已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
给定地址的前缀是20位,因此只要观察地址的第三字节即可。只把第三字节写成二进制,其他三个字节用B1,B2和B4表示。
B1.B2.01010100.B4/20 取前20位,后面全是0,即得出最小地址。
最小地址是B1 B2 01010000 00000000/20=140.120.80.0/20;
最大地址是B1 B2 01011111 11111111/20=140.120.95.255/20。
地址数是
2
12
=
4096
2^{12}=4096
212=4096,相当于16个C类地址。
23. 已知地址块中的一个地址是190.87.140.202/29。重新计算上题。
给定地址的前缀是29位,因此只要观察地址的第四字节即可。
把第四字节写成二进制,前三个字节记为B1,B2和B3。B1 B2 B3 11001010/29 取前29位,后面全是0,即得出最小地址。
最小地址是B1 B2 B3 11001000/29=190.87.140.200/29;
最大地址是B1 B2 B3 11001111/29=190.87.140.207/29。
地址数是8,相当于1/32个C类地址。
24. 试把下列IPv4地址从二进制记法转换为点分十进制记分。
(1)10000001 00001011 00001011 11101111
(2)11000001 10000011 00011011 11111111
(3)11100111 11011011 10001011 01101111
(4)11111001 10011011 11111011 00001111
把每8位一组转换成等值的十进制数,并增加分隔的点,得到:
(1)129.11.11.239
(2)193.131.27.255
(3)231.219.139.111
(4)249.155.251.15
25.下列IPv4地址是否有错误?如有,请指出。
(1)111.56.045.78
(2)221.34.7.8.20
(3)75.45.301.14
(4)11100010.23.14.67
(1)在点分十进制记法中不应当有以0开头的数(045)。
(2)IPv4地址不能超过4个字节。
(3)每个字节必须小于或等于255,
(4)二进制记法和点分十进制记法混合使用是不允许的。
26. 假设一段地址的首地址为146.102.29.0,末地址为146.102.32.255,求这个地址段的地址数。
从末地址减去首地址,得出的结果是0.0.3.255,因此地址的数目=1024。
27. 求下列每个地址的类别。
(1)00000001 00001011 00001011 11101111
(2)11000001 10000011 00011011 11111111
(3)10100111 11011011 10001011 01101111
(4)11110011 10011011 11111011 00001111
(1)第一位是0。这是A类地址。
(2)前两位是1,第三位是0。这是C类地址。
(3)第一位是1,第二位是0。这是B类地址。
(4)前四位是1。这是E类地址。
28. 求下列每个地址的类别。
(1)227.12.14.87
(2)193.14.56.22
(3)14.23.120.8
(4)252.5.15.111
(1)第一个字节是227(在224~239之间),是D类地址。
(2)第二个字节是193(在192~223之间),是C类地址。
(3)第三个字节是14(在0~127之间),是A类地址。
(4)第四个字节是252(在240~255之间),是E类地址。
29. 给出某地址块中的一个地址为73.22.17.25。求该地址块的地址数及其首地址和末地址。
因为73在0~127之间,所以这个地址是A类地址。
该地址块的地址数
2
24
=
16777216
2^{24}=16777216
224=16777216。
把地址中的24位主机都置为0,就得出首地址是73.0.0.0/8。首地址被称为网络地址,它不会指派给任何主机,而是用来定义这个网络的。
把地址中的24位主机都置为1,就得出末地址是73.255.255.255。这个地址也不分配给主机用。
30. 已知地址块中的一个地址是167.199.170.82/27,求这个地址块的地址数、首地址以及末地址各是多少?
这个地址块的地址数是32,首地址是167.199.170.64,末地址是167.199.170.95。
以上部分内容引自《计算机网络释疑与习题解答》,如有侵权,请及时联系我删除!