ARP 地址解析协议
作用:通过IP地址来解析MAC地址,完成数据封装。
ARP报文格式
工作原理
假设主机A跟主机B在同一网段进行通信。
1、主机A封装数据包时发现没有主机B的MAC地址。主机A 查看ARP缓存发现没有主机B的MAC地址。
2、主机A发送数据包源IP,源MAC都是自己的IP地址,目标IP是主机B的IP地址,目标MAC为全广播。
3、交换机收到该数据包后进行解析,将主机A的源MAC地址与入端口形成对应关系 放入到MAC地址表中。查找目的MAC为全广播,于是进行泛洪,除了入端口以外的其他端口都发送一遍。
4、主机B收到该广播帧后,进行解析发现目标IP地址是自己的IP地址,于是将主机A的源IP地址跟源MAC地址放入到ARP缓存表中。并发送ARP回应,将自己主机B的源IP地址、源MAC地址,目标主机A的IP地址,主机A的MAC地址,进行回应。
5、交换机收到主机B发送的数据包后,将主机B的源MAC地址跟入端口形成对应关系放入到MAC地址表中,在查找目标MAC为主机A,于是将数据包发送到主机A所在的端口
6、主机A收到ARP回应后,将主机B的IP地址和MAC地址放入到ARP缓存中,发送数据时进行封装。
假设主机A和主机B不在同一个网段进行通信。
1、主机A查找ARP缓存,发现没有主机B的MAC地址信息,于是将主机B的IP地址和掩码作以运算,发现不是一个子网的。
2、于是主机A在ARP缓存表查找网关的MAC地址。源IP地址为主机A,源MA C地址也是主机A,目标IP地址为主机B,目标MAC地址为网关的MAC地址。
3、交换机收到后,将源MAC和入端口形成对应关系放入到MAC地址表中,继续解析发现目标MAC地址为自己,继续解封装发现目标IP地址为主机B,交换机查找路由表主机B的路由条目,找到后,重新封装数据包,源IP和目标IP地址不变,源MAC地址为网关的MAC地址,目标MAC地址为主机B路由条目下一跳的MAC地址。
4、沿途设备继续查找路由表进行数据包的重封装。直到将数据包交给主机B。