1、主机在相同的网段
Title: ARP协议解析
note left of 主机A: 主机A首先查看ARP缓存表,\n判断是否包含有主机B的ARP表项。\n如果有,则主机A直接利用\nARP表中的MAC地址,\n对IP数据包进行帧封装,\n并将数据包发送给主机B。
主机A->主机B: 广播ARP请求报文
主机A->主机C: 广播ARP请求报文
note left of 主机B: 主机B比较请求报文ip发现\n和自己的ip相同,将主机A的\nip和mac信息存入arp缓存
note right of 主机C: 主机C比较请求报文ip发现\n和自己不同,不响应
主机B-->主机A: 响应自己的mac信息
主机A->主机B: 通过主机B的ip和mac信息,发送数据
2、主机在不同的网段
当主机A和主机B不在同一网段时,主机A就会先向网关发出ARP请求,ARP请求报文中的目标IP地址为网关的IP地址。当主机A从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关没有主机B的ARP表项,网关会广播ARP请求,目标IP地址为主机B的IP地址,当网关从收到的响应报文中获得主机B的MAC地址后,就可以将报文发给主机B;如果网关已经有主机B的ARP表项,网关直接把报文发给主机B。