一般来说,源设备开始是不知道目的设备的MAC地址的。
- 首先,源设备A需要通过某种机制如DNS技术获取目的设备B的IP地址。
- 设备A获取IP地址之后,则需要arp协议对IP地址解析,从而获取目的设备的MAC地址。
a.设备A会发送一个广播帧,广播帧的载荷数据是一个ARP请求报文,协议中包含源IP,源MAC,目的IP,type 0x0806
b.设备C等收到ARP请求报文后,根据类型字段0x0806将其中的ARP请求报文上送给ARP处理模块,查看目的IP,不是自己,交换机会将将源IP地址与源MAC地址对应关系存储在ARP缓存表中,丢弃报文。PC或服务器设备直接丢弃报文。
c.设备B收到ARP请求报文后,根据类型字段0x0806将其中的ARP请求报文上送给ARP处理模块,查看目的IP,是自己。设备B发送一个单播帧,单播帧载荷数据是ARP应答报文,单播回复ARP响应报文,目的MAC1,目的IP1,源MAC2,源IP2,type 0x0806,交换设备将MAC1与IP1对应关系放入缓存表。
d.设备A收到设备B的响应报文,会将IP2与对应MAC2放入ARP缓存表中。
ARP缓存表中,缺省保留时间180S。