一、题目
关于 ARP 报文的说法错误的是?
A.ARP 请求报文是广播发送的
B.ARP 报文不能被转发到其他广播域
C.ARP 应答报文是单播方发送的
D.任何链路层协议都需要 ARP 协议辅助
二、答案
D
三、解析
A. ARP 请求报文是广播发送的
正确。ARP请求报文是广播发送的。当主机需要将IP地址解析为MAC地址时,它会发送一个ARP请求广播报文,询问网络中的其他设备“谁拥有这个IP地址?请告诉我你的MAC地址”。广播报文会发送到同一广播域内的所有设备。
B. ARP 报文不能被转发到其他广播域
正确。ARP报文仅在同一个广播域内有效。路由器不会转发ARP报文到其他广播域。这是因为ARP的作用范围仅限于本地网络,用于解析本地网络内的IP地址和MAC地址的映射关系。
C. ARP 应答报文是单播方发送的
正确。ARP应答报文是单播发送的。当设备收到ARP请求并发现自己是被请求的IP地址的拥有者时,它会发送一个ARP应答报文,直接发送给请求方的MAC地址。这种方式确保了应答报文能够准确地到达请求设备。
D. 任何链路层协议都需要ARP协议辅助
错误。ARP协议主要用于将IP地址解析为以太网中的MAC地址。它并不是所有链路层协议都需要的辅助协议。
四、扩展——ARP的工作流程
ARP协议的核心功能是将IP地址解析为MAC地址,其工作流程如下:
- 发送ARP请求:
- 当主机A需要将IP地址解析为MAC地址时,它会构造一个ARP请求报文。
- ARP请求报文包含以下信息:
- 发送方IP地址(主机A的IP地址)
- 发送方MAC地址(主机A的MAC地址)
- 目标IP地址(需要解析的IP地址)
- 目标MAC地址(初始为全0,表示未知)
- ARP请求报文以广播形式发送到本地网络,所有设备都会收到该广播报文。
- 接收ARP请求:
- 网络中的设备收到ARP请求后,会检查目标IP地址是否与自己的IP地址匹配。
- 如果匹配,设备会发送一个ARP应答报文。
- 发送ARP应答:
- ARP应答报文是单播发送的,直接发送给请求方的MAC地址。
- ARP应答报文包含以下信息:
- 发送方IP地址(目标设备的IP地址)
- 发送方MAC地址(目标设备的MAC地址)
- 目标IP地址(请求方的IP地址)
- 目标MAC地址(请求方的MAC地址)
- 请求方收到ARP应答后,将目标IP地址和MAC地址的映射关系存储到本地的ARP缓存表中。
- 使用ARP缓存:
- 为了提高效率,主机在发送ARP请求之前会先检查本地ARP缓存表。
- 如果缓存表中有目标IP地址对应的MAC地址记录,则直接使用该记录,无需发送ARP请求。
- ARP缓存表中的记录通常有生存时间(TTL),过期后会重新发送ARP请求进行更新。
