为什么推荐下一跳使用IP地址,而不是接口,一分钟了解一下
概述 我们在配置静态路由时,下一跳通常有两种选择,一种是配置一个接口,另一种是配置一个IP地址,如下图所示: 下一跳的两种方式 这两种方式配置以后,看起来网络都是通的,好像没有什么区别。但实际情况不是这样哦,老司机都推荐下一跳使用IP地址,有没有想过为什么呢?我们今天就使用一个例子来阐述老司机的选择。 举例:下一跳配置接口 1. 拓扑 拓扑
2. R1的配置 (1) R1的接口配置 R1的F0/0接口配置 (2) R1上配置一条24网段的静态路由,这条静态路由的下一跳使用接口 下一跳使用接口 (3) 查看路由表 查看路由表 3. R2的配置 R2在两个接口上配置IP,其它的就不需要了 R2配置 4. R5的配置 R5的配置可以不关注,它配置接口IP + 静态路由: R5的接口配置 静态路由 5. 测试过程 在R1上分别ping 20.1.1.5,20.1.1.6,20.1.1.200,查看ARP表项: 查看ARP表项 6. 结论 如果配置下一跳为接口,则路由器会认为这是一个LAN接口,访问和这条route在同一个网段的所有主机地址,都会发送一个ARP去请求。 例如此例子中,访问任何在25.1.1.0/24网段中的主机,R1都会发送一个ARP Request,去请求对应的MAC地址。 不知道你有没有关注到MAC地址,为什么这些MAC地址是R2呢?并且所有在同一个网段的IP,对应的MAC地址都是一样的? MAC地址 这就涉及到ARP代理的功能的了,R2知道25.1.1.0/24如何转发,所以用它自己的MAC地址回复了。关于ARP代理的内容,如果还有疑问,参加我之前的文章:ARP代理 举例:下一跳配置IP 1. R1配置 组网和配置和上面的相同,只是R1上的下一跳配置为IP地址,如下图所示: ![]() 查看路由表: 路由表 2. 测试 在R1上分别ping 20.1.1.5,20.1.1.6,20.1.1.200: ping三个地址 查看ARP表项: ARP 表项 有没有觉得很奇怪,只有一条静态路由对应的ARP表项,其它的都没有,这样是正确的吗? 这样是正确的,因为配置的下一跳是IP,所以R1访问所有在这个网段的主机,都会使用下一跳(12.1.1.2)对应的MAC去封装。也就是说,R1只需要发送一次ARP Request就可以了,只要这个ARP表项没有老化,后续所有访问25.1.1.0/24网段的主机都使用这个表项。 总结 各位小伙伴看完上面的对比,应该理解老司机为啥要推荐下一跳使用IP地址了吧? (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |