科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道路由交换ICMP重定向字段的路由重定向实验

ICMP重定向字段的路由重定向实验

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ICMP的重定向字段,被路由器用于通知主机去往目标的最佳网关,是数据链路上的另一台路由器。

作者:zqdiadra 来源:51CTO 2010年12月15日

关键字: ICMP 路由技术

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  3.一个解决路由从定向问题的方法

  卷一中提供了一个避免路由重定向的方法,就是主机将网关指向自己的接口,下面开始验证一下,结果如图15、16所示。

  图15 R1 ping R5(有缺省网关)

  图 16 R2 debug信息

  由图15中debug信息可知,数据包已经形成并发送到f0/0口(网关),而从图16 R2的debug信息中,却没有发现有数据经过,且也为接受到ARP的请求。由此可是,在用路由器模拟主机的实验环境下,这个解决方案是不成立的。但是我可以肯定的说,当主机将网关指向自己的以太网口的时,再ping不同网段的的主机是会发出ARP请求的,也就是说真实主机将网关指向自己的时候,在这种情况向的确可以避免路由重定向。关于主机将网关指向自己时的ARP实验结果,见下次实验。

  当然,在这中路由器模拟主机的环境下,采用卷一中的提示,避免路由重定向也是可实现的。通过上一次的代理ARP实验可知,当用路由器模拟的主机在不指网关的时候,要与不同网段数据通信的时候也是会发送ARP请求的。因此,要先将R1的默认网关清掉,然后再ping R5,结果如图17所示。

  由图17中可发现,当R1 ping 5.5.5.5的时候,首先发送了关于5.5.5.5的MAC地址的ARP查询,第一个包由于还未接到应答,不知道二层头部信息,因此封装失败。黄色的框中显示,R1收到的关于5.5.5.5的ARP应答,指明5.5.5.5的MAC地址是ca01.0518.0000(R2的MAC地址,因为默认代理ARP功能是打开的)。同样,ping 4.4.4.4的时候,R1也会发送ARP查询,MAC地址将由R3来代理,如图17中的ARP表,意即去往R4的数据将交由R3来转发。

  这种做法的确避免了路由重定向,不过却加重了网络的负担,因为ARP请求使用的是广播,而在指明网关后,使用的均为单播信息。

  另外需说明一点,在此实验中,R1发出了ARP请求,而R2、R3均有到达两个网段的路由,只从这点考虑的话,R1的每个ARP请求应该会接到两个ARP应答。但是实际上R1每个ARP请求只收到了一个准确的最近网关的ARP代理应答,而通过抓包也发现,R2、R3均未为要使用接受ARP请求的端口发送数据的ARP请求做应答。即R2未给向4.4.4.4的请求做应答,因为去往4.4.4.4的数据让要从f0/0口(接受4.4.4.4 ARP请求的端口)发出;同样R3未给向5.5.5.5的请求做应答。这也就是说路由器的代理ARP功能是为其它端口进行代理,也就是说当路由器判定数据让要从接受ARP请求的端口转发,将不会应答此请求。

  由以上过程,我又想到一个实验,即如果R2、R3为同一个网络开启了负载均衡,那么R1会接受谁的ARP代理,此实验留待下次解决。

图 17 R1 ping R5 debug信息(无网关)

  总结

  1.当路由器从一个接口接到一个数据,经查询过路由表,判定仍要从接收该数据接口发送该数据时,将会向原目标发送重定向的ICMP消息。

  2.不使用路由重定向功能,会造成不对称流量,并且链路可靠性降低。

  3.主机将网关指向自己可避免路由重定向的问题,但会造成ARP流量的增加。

  4.路由器模拟主机,在配置缺省网关(即使网关指向自己)之后,将不会发出不同网段的ARP请求,这与未配置网关的主机相同;而主机在将网关指向自己之后,会发出不同网段的ARP请求,这与未配置缺省网关的路由器模拟的主机相同。

  5.路由器的代理ARP功能是为其它端口进行代理的,也就是说当路由器判定数据仍要从接受ARP请求的端口转发时,将不会应答此请求。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章