方式1:
如图:
路由器IP192.168.2.1/24 , PC 192.168.3.1/24 ,两设备不同网段, PC发起arp请求广播请求到达路由器,路由器接收到ARP报文,和自己的掩码做比对,发现不同网段因此不回复ARP reply
PC端数据包:
路由器上数据包:
方式2:
路由器IP 192.168.2.1/20 , pc 192.168.3.1/24 ,路由器发起的arp request 到达pc端,pc直接回复arp reply,双方可以相互ping通.
路由器端数据包:
方式3:
路由器IP 192.168.2.1/20 , pc 192.168.3.1/24 ,pc发起的arp request 到达路由器路由器发现192.168.3.1/24在自己的网段内因此恢复arp reply,双方可以相互ping通.
pc端数据包
路由器端数据包
ping测试
结论:
路由器接口收到非同网段的arp请求后会验证源ip是否跟自己同网段,同网段回复ARP reply, PC 不检查 arp请求是否和自己的ip同网段,都会直接回复ARP reply.
补充ensp上实验测试:
配置
Ar1
int g0/0/0
ip add 192.168.2.1 24
ip router-s 0.0.0.0 0.0.0.0 g0/0/0
Ar2
int g0/0/0
ip add 192.168.3.1 24
ip router-s 0.0.0.0 0.0.0.0 g0/0/0
AR1和AR2 无法通讯,不同网段不会回复ARP request
修改
AR1
int g0/0/0
ip add 192.168.2.1 20
由AR2 发起的ARP request 可以被AR1 回应.
ping测试正常
当AR1 上MAC地址老化后
或者使用 un mac-add all //有时不起作用,重启AR1 清空mac表项
由AR1 发起ARP request 的数据包,AR2 检查不在同网段,因此不会回复,无法ping 通
AR1 重启后ping测试