在同一个局域网内的两台主机
A会在局域网内发一个ARP广播:我的IP是xxx,mac是XXX想知道IP为B的mac是多少 这个广播会被本局域网内所有主机收到 但是只有B会相应 并且向A回复一个ARP响应。
不同局域网内的两台主机
1,由于 B 的 IP 地址并没有和 A 在一个网段,所以当 A 向 B 发送数据时, A 并不会直接把数据给 B ,而是交给自己的网关Router1。
2,Router1 收到该帧后,检查该帧的目标 IP ,并到自己的路由表查找如何到达该网段 发现能够到,并且下一跳地址是 routerB 的 s0 端口,于是将数据重新封装,将源地址改为 s0 端口 MAC 地址,目标 MAC 地址改为 router2 的 s0 端口 MAC 址址,并发送给 Router2
3,中间 路由原理一样 。。。。。。
4,最后一个路由(routerN )收到该帧,发现目标 IP 就在自己的直连网段,于是查看 ARP 缓存,如果找到该 IP 的 MAC 地址,则以该 MAC 地址封装数据发送出去,如果在 ARP 缓存没找到,则发出 ARP 广播,请求该 IP 的 MAC 地址,得到对应的 MAC 地址后,再发送给主机 B。