注意
# 注意
路由器接收到分组后,剥离该分组的数据链路层协议头,然后在分组被转发之前,给分组加上一个新的链路层协议头。
## 42. A
255.255.255.255 是受限的广播地址,仅用于主机配置过程中 IP 分组的目的地址。在任何情况下,路由器都不转发目的地址为受限广播地址的 IP 分组,这种 IP 分组仅出现在本地网络中。
## 43. B
先判断乙和甲是否在同一个子网内,用 IP 地址和子网掩码进行按位“与”运算,然后检查它们的网络前缀是否相同。若乙和甲在同一个子网内,则直接交付,无须经过网关,因此将乙的 MAC 地址作为帧的目的 MAC 地址。若乙和甲不在同一个子网内,则要通过网关转发,因此将网关的 MAC 地址作为帧的目的 MAC 地址。经计算,甲的网络前缀为 211.71.128.0/20,乙的网络前缀为 211.71.128.0/20,乙和甲在同一个子网内,因此帧的目的 MAC 地址为乙的 MAC 地址。
## 44. C
当源主机向本地局域网上的某主机发送 IP 数据报时,先在其 ARP 高速缓存中查看有无目的 IP 地址与 MAC 地址的映射。若有,就把这个硬件地址写入 MAC 帧,然后通过局域网把该 MAC 帧发往此硬件地址;若没有,则先通过广播 ARP 请求分组,在获得目的主机的 ARP 响应分组后,将目的主机的 IP 地址与硬件地址的映射写入 ARP 高速缓存。若目的主机不在本局域网上,则将 IP 分组发送给本局域网上的路由器,当然要先通过同样的方法获得路由器的 IP 地址和硬件地址的映射关系。
## 45. B
H3 向 H1 发送数据:① H3 用目的 IP 地址、子网掩码逐位“与”,192.168.3.2 & 255.255.255.128 = 192.168.3.0,因为与 H3 自身的网络前缀不同,所以判定 H3 和 H1 不属于同一个网络。② H3 使用 ARP 获得默认网关 E1 的 MAC 地址,并将发往 H1 的 IP 数据报封装成 MAC 帧(H3 判定和 H1 不属于同一个网络,因此目的 MAC 地址是默认网关 E1),该帧经过集线器、交换机的转发,最终被默认网关 E1 接收(H1 收不到这个帧),路由器不再向入口 E1 转发 IP 数据报。综上,H3 不会向 H1 发送 ARP 响应报文,选项 B 错误。读者可尝试分析其他选项的通信过程。
## 46. C
DHCP 提供了一种机制,使得使用 DHCP 可自动获得 IP 的配置信息而无须手工干预。
## 47. D
若路由器收到一个 TTL 值为 1 的 IP 数据报,则它先将 TTL 值减 1,然后判断是否为 0。若为 0,则丢弃该 IP 数据报并向源主机发送类型为时间超过的 ICMP 差错报告报文。
## 48. A
ICMP 属于网络层协议,ICMP 报文被封装在 IP 数据报中发送,但 ICMP 不是高层协议。
## 49. C
PING 命令使用了 ICMP 的询问报文中的回送请求和回答报文。
## 50. B
因为该网络的 IP 地址为 192.168.5.0/24,所以网络号为前 24 位,后 8 位为子网号 + 主机号。子网掩码为 255.255.255.248,第 4 个字节 248 转换成二进制为 11111000,因此后 8 位中,前 5 位
<!-- page: 183 -->
第4章 网络层
171
用于子网号,在 CIDR 中可以表示 $2^{5} = 32$ 个子网;后 3 位用于主机号,除去全 0 和全 1 的情况,可以表示 $2^{3} - 2 = 6$ 台主机地址。
## 51. C
ICMP 差错报告报文有 5 种:终点不可达、源点抑制、时间超过、参数问题、改变路由。其中源点抑制是指当路由器或主机因拥塞而丢弃数据报时,向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。注意,最新的 ICMP 标准已不再使用源点抑制报文。
## 52. C
首先分析 192.168.4.0/30 这个网络,主机号占 2 位,地址范围为 192.168.4.0~192.168.4.3,主机号全 1 时是广播地址、全 0 时是本网络地址,因此可容纳 $4 - 2 = 2$ 台主机。
## 53. D
要使 R1 能正确地将分组路由到所有子网,R1 中需要有到 192.168.2.0/25 和 192.168.2.128/25 的路由,分别转换成二进制如下:
192.168.2.0: 11000000 10101000 00000010 00000000
192.168.2.128: 11000000 10101000 00000010 10000000
前 24 位都相同,于是可以聚合成超网 192.168.2.0/24,子网掩码为前 24 位,即 255.255.255.0。下一跳是与 R1 直接相连的 R2 的地址,因此是 192.168.1.2。
## 54. D
子网掩码的第 3 个字节为 11111100,可知前 22 位为子网号、后 10 位为主机号。IP 地址的第 3 个字节为 01001101(下划线为子网号的一部分),将主机号(后 10 位)全置为 1,可以得到广播地址为 180.80.79.255。
## 55. A
在实际网络的数据链路层上传送数据时,最终必须使用硬件地址,ARP 将网络层的 IP 地址解析为数据链路层的 MAC 地址。
## 56. B
ICMP 报文作为数据字段封装在 IP 分组中,因此 IP 直接为 ICMP 提供服务。UDP 和 TCP 都是传输层协议,为应用层提供服务。PPP 是数据链路层协议,为网络层提供服务。
## 57. C
根据“最长前缀匹配原则”,169.96.40.5 与 169.96.40.0 的前 27 位匹配最长,因此选 C。选项 D 为默认路由,只有当前面的所有目的网络都不能和分组的目的 IP 地址匹配时才使用。
## 58. C
从子网掩码可知 H1 和 H2 处于同一网络,H3 和 H4 处于同一网络,因此 H1 和 H2、H3 和 H4 分别可以进行正常的 IP 通信。H1 和 H2、H3 和 H4 处于不同的网络,因此需要通过路由器才能进行正常的 IP 通信,当 H1 向 H3 发送 IP 分组时,H1 用目的 IP 地址、子网掩码逐位“与” H1 自身的网络前缀不同,于是判定 H3 与 H1 属于不同的网络,需要将该 IP 分组发送到默认网关,而 H1 配置的默认网关为 192.168.3.1,但 R2 的 E1 接口的 IP 地址为 192.168.3.254,因此 H1 不能与 H3 进行正常的 IP 通信。注意,即使 H1 的默认网关配置正确,但因为路由器不会从分组入口进行转发,所以 H1 和 H3 也无法进行正常的 IP 通信。H2 的默认网关为 192.168.3.1,因此 H2 也不能访问 Internet;H4 的默认网关为 192.168.3.254,因此 H4 可以正常访问 Internet。
## 59. D
当内网用户向公网发送 IP 分组时,NAT 路由器会更改 IP 分组的源地址,因此下一步就是求 R1 的公网 IP 地址。连接 R1、R2 和 R3 之间的点对点链路使用 201.1.3.x/30 地址,可知该地址块
<!-- page: 184 -->
2027年计算机网络考研复习指导
的 IP 地址的后两位为主机号,而主机号全 0 和全 1 的 IP 地址不能分配,因此若已知路由器之间的点对点链路中的一个路由器接口的 IP 地址,就可求出另一路由器接口的 IP 地址。在 R1 和 R2 相连的链路中,已知 R1 端接口的 IP 地址为 201.1.3.9/30,将其后 8 位展开成二进制为 0000 1001,所以可分配给 R2 的 L0 接口的 IP 地址为 201.1.3.10。同理,也可求出 R2 的 L1 接口的 IP 地址为 201.1.3.2。访问 Web 服务器,只能通过 R2 的接口 L0 或 L1 转发,所以经过 R2 转发后,IP 分组的源地址可能为 201.1.3.10 或 201.1.3.2,目的地址为 Web 服务器的 IP 地址 130.18.10.1。
60. C
这个网络有 16 位的主机号,平均分成 128 个规模相同的子网,每个子网有 7 位的子网号,9 位的主机号。除去一个网络地址和广播地址,可分配的最大 IP 地址个数是 $2^{9} - 2 = 512 - 2 = 510$。
61. A
0.0.0.0/32 可以作为本主机在本网络上的源地址。127.0.0.1 是回送地址,以它为目的 IP 地址的数据将被立即返回本机。200.10.10.3 是 C 类 IP 地址。255.255.255.255 是广播地址。
62. C
对于此类题目,先分析需要聚合的 IP 地址。观察发现,题中的 4 个路由地址,前 16 位完全相同,不同之处在于第 3 段的 8 位中,将这 8 位展开写成二进制,分别如下:
| | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 32 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 40 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 48 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 56 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
观察发现,在 4 个地址的第 3 段中,从前向后最多有 3 位相同,因此这 3 位是能聚合的最大位数。将这些相同的位都保留,将第 3 段第 3 位后的所有位都置 0,就得到了聚合后的 IP 地址:35.230.32.0,其网络前缀为 $16 + 3$ ,即前 19 位,因此聚合后的网络地址为 35.230.32.0/19。
63. D
在网络的数据传送中,会经常用到两个地址:MAC 地址和 IP 地址。其中,MAC 地址会随着数据被发往不同的网络而改变,但 IP 地址当且仅当数据在私有网络与外部网络之间传递时才会改变。分组 P 在如题图所示的网络中传递时,首先由主机 H1 将分组发往路由器 R,这时源 MAC 地址为 H1 主机本身的 MAC 地址,即 00-1a-2b-3c-4d-52,目的 MAC 地址为路由器 R 的 MAC 地址,即 00-1a-2b-3c-4d-51。路由器 R 收到分组 P 后,根据分组 P 的目的 IP 地址,得知应将分组从另一个端口转发出去,于是会给分组 P 更换新的 MAC 地址,此时因为从另外的端口转发出去,所以 P 的新 MAC 地址变为负责转发的端口 MAC 地址,即 00-a1-b2-c3-d4-61,目的 MAC 地址应为主机 H2 的 MAC 地址,即 00-a1-b2-c3-d4-62。根据分析过程,题目所问的 MAC 地址应为路由器 R 两个端口的 MAC 地址,因此选 D。
64. B
网络前缀为 20 位,将 101.200.16.0/20 划分为 5 个子网,为了保证有子网的可分配 IP 地址数尽可能小,即要让其他子网的可分配 IP 地址数尽可能大,不能采用平均划分的方法,而要采用变长的子网划分方法,也就是最大子网用 1 位子网号,第二大子网用 2 位子网号,以此类推。
子网 1:101.200.00010000.00000001~101.200.00010111.11111110;地址范围为 101.200.16.1/21~101.200.23.254/21;可分配的 IP 地址数为 2046 个。
子网 2:101.200.00011000.00000001~101.200.00011011.11111110;地址范围为 101.200.24.1/22~
<!-- page: 185 -->
第4章 网络层
173
101.200.27.254/22;可分配的IP地址数为1022个。
子网3:101.200.00011100.00000001~101.200.00011101.11111110;地址范围为101.200.28.1/23~101.200.29.254/23;可分配的IP地址数为510个。
子网4:101.200.00011110.00000001~101.200.00011110.11111110;地址范围为101.200.30.1/24~101.200.30.254/24;可分配的IP地址数为254个。
子网5:101.200.00011111.00000001~101.200.00011111.11111110;地址范围为101.200.31.1/24~101.200.31.254/24;可分配的IP地址数为254个。
综上所述,可能的最小子网的可分配IP地址数是254个。
## 65. B
划分子网的原则是要求划分出来的子网的IP地址空间互不重叠,且原来的IP地址空间不遗漏,求解本题最好的方法是代入选项,观察是否可将原IP地址空间分割为3个互不重叠的子网。根据题意,将IP网络划分为3个子网。其中一个是192.168.9.128/26。可简写成10/26(省略前面相同的24位前缀,其中10是128的二进制10000000的前两位,因为 $26 - 24 = 2$ )。同理,A可简写成0/25;B可简写成0/26;C可简写成11/26;D可以简写成110/27。采用二叉树形式画出这些子网的地址空间如下图所示。
原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。
对于A和C,可以组成0/25、10/26、11/26这3个互不重叠的子网。对于D,可以组成10/26、110/27、111/27这3个互不重叠的子网。但对于B,要想将一个IP网络划分为几个互不重叠的子网,3个是不够的,至少需要划分为4个子网:00/26、01/26、10/26、11/26。
## 66. B
链路层 $\mathrm{MTU} = 800\mathrm{B}$ 。IP分组首部长20B。片偏移以8个字节为偏移单位,因此除了最后一个分片,其他每个分片的数据部分长度都是8B的整数倍。所以,最大IP分片的数据部分长度为776B。在总长度为1580B的IP数据报中,数据部分占1560B, $1560\mathrm{B} / 776\mathrm{B} = 2.01\dots$ ,需要分成3片。所以第2个分片的总长度字段为796,MF为1(表示还有后续的分片)。
## 67. B
主机所在网络的网络地址可以通过主机的 IP 地址和子网掩码逐位 “与” 得到。子网掩码 255.255.192.0 的二进制前 18 位为 1、后 14 位为 0,把主机 IP 地址的后 14 位变为 0,得到的结果为 183.80.64.0,即为主机所在网络的网络地址。
## 68. D
默认网关可以理解为到当前主机最近的路由器的端口地址,所以是192.168.1.62,而该主机的子网掩码和网关的子网掩码也相同,/27即为255.255.255.224。
## 69. A
H向Internet发送IP分组,初始的源IP地址为192.168.0.3,经过NAT路由器的转发后,将源IP地址从私有IP地址改成全球IP地址(R2外部接口的IP地址),因为R2外部接口和195.123.0.34/30处于同一子网,该子网可分配的IP地址范围是195.123.0.33~195.123.0.34,所以
<!-- page: 186 -->
2027年计算机网络考研复习指导
R2 外部接口的 IP 地址是 195.123.0.33,也就是经过 R2 转发后的源 IP 地址。
70. B
网络号位数为 $20 = 8 \times 2 + 4$,子网掩码为 11111111 11111111 11110000 00000000,将它与主机地址 168.16.84.24 进行逐位“与”,得到网络地址为 168.16.80.0/20,该网段共有 $2^{12} - 2$ 个可供分配的 IP 地址,地址范围是 168.16.80.1~168.16.95.254。
71. D
ARP 用于解决局域网上的主机或路由器的 IP 地址和 MAC 地址的映射问题。因此 H4 的 ARP 表中只有和 H4 处于同一虚拟局域网上的主机的 IP 地址和 MAC 地址的映射,H4 位于 VLAN1,H6 位于 VLAN3,因此 D 表示的 H6 的 IP 地址与 MAC 地址的映射不应出现在 H4 的 ARP 表中。
72. C
在 DHCP 交互中,主机收到 DHCP Offer 报文后若接受该配置,则会广播 DHCP REQUEST 报文,通知所有 DHCP 服务器:选中的服务器确认分配,未选中的服务器释放预留资源。此时,主机尚未正式获得 IP 地址,因此 IP 数据报的源地址为 0.0.0.0,目的地址为 255.255.255.255。
二、综合应用题
01. 【解答】
数据报长度为 4000B,有效载荷为 $4000 - 20 = 3980\mathrm{B}$。网络能传送的最大有效载荷为 $1500 - 20 = 1480\mathrm{B}$,因此应分为 3 个短些的片,各片的数据字段长度分别为 1480B、1480B 和 1020B。片段偏移字段的单位为 8B,$1480 / 8 = 185$,$(1480\times 2) / 8 = 370$,因此片段偏移字段的值分别为 0、185、370。$\mathrm{MF} = 1$ 时,代表后面还有分片;$\mathrm{MF} = 0$ 时,代表后面没有分片,因此 MF 字段的值分别为 1、1 和 0(注意,$\mathrm{MF} = 0$ 不能确定是独立的数据报,还是分片得来的,只有当 $\mathrm{MF} = 0$ 且片段偏移字段 $>0$ 时,才能确定是分片的最后一个分片)。
02. 【解答】
在 IP 层下面的每种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,这称为最大传输单位(MTU)。$1500 - 20 = 1480$,$2000 - 1480 = 520$,所以原 IP 数据报经过第一个网络后分成了两个 IP 小报文,第一个报文的数据部分长度是 1480B,第二个报文的数据部分长度是 520B。
(除最后一个报片外的)所有报片的有效载荷都是 8B 的倍数。$576 - 20 = 556$,但 556 不能被 8 整除,所以分片时的数据部分最大只能取 552。第 1 个报文经过第 2 个网络后,$1480 - 552 \times 2 = 376 < 576$,变成数据长度分别为 552B、552B、376B 的 3 个 IP 小报文;第 2 个报文 $520 < 552$,因此不用分片。因此到达目的主机时,原 2000B 的数据被分成数据长度分别为 552B、552B、376B、520B 的 4 个小报文。
03. 【解答】
分片的片偏移值表示其数据部分首字节在原始分组的数据部分中的相对位置,单位为 8B。首部长度字段以 4B 为单位,总长度字段以字节为单位。题目中,分组的片偏移值为 100,因此其数据部分第一个字节的编号是 800。因为分组的总长度为 100B,首部长度为 $4 \times 5 = 20\mathrm{B}$,所以数据部分长度为 80B。因此该分组的数据部分的最后一个字节的编号是 879。
04. 【解答】
因为一个 CIDR 地址块中可以包含很多地址,所以路由表中就利用 CIDR 地址块来查找目的网络,这种地址的聚合常称为路由聚合。
本题已知有 212.56.132.0/24、212.56.133.0/24、212.56.134.0/24、212.56.135.0/24 地址块,可知第
<!-- page: 187 -->
第4章 网络层
175
3个字节前6位相同,因此共同前缀为 $8 + 8 + 6 = 22$ 位,因为这4个地址块的第1、2个字节相同,考虑它们的第3个字节: $132 = (10000100)_2$ , $133 = (10000101)_2$ , $134 = (10000110)_2$ , $135 = (10000111)_2$ ,所以共同的前缀有22位,即1101010000111000100001,聚合的CIDR地址块是212.56.132.0/22。
## 05. 【解答】
1)可以采用划分子网的方法对该公司的网络进行划分。因为该公司包括5个部门,所以共需要划分为5个子网。
2)已知网络地址192.168.161.0是一个C类地址,所需的子网数为5,每个子网的主机数为 $20\sim$ 30。子网号的比特数为3,即最多有 $2^{3} = 8$ 个可分配的子网,主机号的比特数为5,因为主机号不能为全0或全1,所以每个子网最多有 $2^{5} - 2 = 30$ 个可分配的IP地址。
5个部门子网的子网掩码均为255.255.255.224,各部门的网络地址与部门主机的IP地址范围可分配如下:
| 部 门 | 部门网络地址 | 主机 IP 地址范围 |
| --- | --- | --- |
| 工程技术部 | 192.168.161.0 | 192.168.161.1~192.168.161.30 |
| 市场部 | 192.168.161.32 | 192.168.161.33~192.168.161.62 |
| 客服部 | 192.168.161.64 | 192.168.161.65~192.168.161.94 |
| 财务部 | 192.168.161.96 | 192.168.161.97~192.168.161.126 |
| 办公室 | 192.168.161.128 | 192.168.161.129~192.168.161.158 |