无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。每台主机都由一个 ARP 高速缓存,用来存放本局域网上各主机和路由器的 IP 地址到 MAC 地址的映射表,称 ARP 表。使用 ARP 来动态维护 ARP 表。
ARP 请求是广播发送 ARP 响应是单播发送
ARP 因为“看见了 ”IP 地址,所以工作在网络层 NAT 路由器因为“看见了”端口,所以工作在传输层
ARP 过程:
- 将 ARP 请求报文封装在 MAC 帧中广播发送,目的 MAC 地址为 FF-FF-FF-FF-FF-FF(IP 地址为目的主机的 IP)
- 局域网内的其他主机收到报文,若比较后发现查询的 IP 地址正式自己的 IP 地址,则进行响应,告知自己的 MAC 地址,响应报文是单播。并更新自己的 ARP 高速缓存表,记录源主机的 IP 和 MAC 地址
- 若请求的主机不在同一个局域网内,则由默认网关来响应,告知路由器自身的 MAC 地址