arp proxy实验拓扑如下:
pc1想与pc3通信,两个pc都没有配置网关,但是二者ip地址在同一个网段。
1.这是pc1访问pc3,首先pc1会判断目标地址是否与本身为同一个网段,是同一个网段,发出arp广播,
由于三层路由器隔离广播域,所以pc3不能收到此广播包,与路由器连接接口没有开启arp proxy且目的地址不是路由器与pc1连接端口,因此不会回应此广播。
2.当路由器ge0/0/0口开启arp proxy时,路由器收到pc1的广播帧后,会查看自己的路由表,发现存在10.2.2.3/24的路由,所以将自己的mac地址回复给pc1,同时在ge0/0/1会发出广播帧
这是pc3会将自己的mac回应给路由器ge0/0/1口,
此时,由于路由器arp proxy的代理转发arp广播帧,pc1与pc3成功通信。
但要注意以下几点:
1.此时反向是不通的,即:pc3到pc1.因为路由器1口没又开启arp proxy,路由器不会转发arp请求,也不会回应pc3.
2.将pc1的掩码变成24位,是不会通的。因为pc在发出arp 广播前会先判断目的ip地址是否和自己在同个网段,不在同一网段不会发送arp 广播(除非配置网关)。
3.将pc3掩码改为24,是不会通的。因为,虽然路由器1口可以通过arp 广播帧获取pc3的mac,但是pc3在回复是,会首先判断目标ip是否在同一网段,发现不在,所以不会回复路由器1口的icmp报文。