文章目录
一:实验目的
1.明白为什么广播网络静态路由为什么不能设置为出接口模式
2.了解ARP的多种应用场景并且加深理解认识
3.掌握ARP代理配置与原理
二:实验内容
接口IP地址命名方式为:设备A+设备b.1.1.设备自身/24
大致都是这样的,以后截图内将不再表明接口IP地址
三:实验步骤
(1):设置R1
[R1]ip route-static 23.1.1.0 24GigabitEthernet0/0/0
(2)设置R3
[R1]ip route-static 12.1.1.0 24GigabitEthernet0/0/0
(3)测试现象
(4)抓包分析
抓包R2的G0/0/0口
可见只有R1的广播报文,但却没有回应,而且与不同网段ARP的流程也不一样
正常应该是先请求R2的G0/0/0接口,但是现在却直接请求了目标地址
(5)原理解析
因为在广播网络中设置了出接口形式的静态路由,所以路由器并不知道中间节点的网关地址IP
路由表中的下一跳地址为自身接口,所以路由器请求不到中间节点的网关地址IP,所以只能直接请求目标地址,但是因为发送的报文为广播形式,而且也不是找路由器自身的,所以只能丢弃,造成通信失败
四:解决办法
难道这样就没办法解决了吗?
当然不是,可以使用ARP代理使通信恢复
ARP代理
(1)R2配置
[R2-GigabitEthernet0/0/0]arp-proxy enable
[R2-GigabitEthernet0/0/1]arp-proxy enable
在中间节点的两个接口都开启ARP代理功能
(2)测试现象
可见,已经恢复通信了
(3)原理解释
当开启ARP代理后,路由器收到了一个目的地址不是自己的报文,会查找自己的路由表看是否有到达这个目的地址的路由,如果有,则会把自己接口的mac地址填充进去,ip地址填充R3的IP地址,给R1一个虚假的ARP映射关系,算是一个善于的欺骗吧
(4)ARP表
可见R1上的ARP表中23.1.1.3的mac地址被记录为5207(简写),但是5207实际上是12.1.1.2的mac地址
所以才说是欺骗了R1