当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址来获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。

数据链路层在进行数据封装时,需要目的MAC地址
ARP数据包格式

ARP报文不能穿越路由器,不能被转发到其他广播域
ARP工作过程

- 主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址
ARP缓存
