天下网吧 >> 网吧方案 >> 网络方案 >> 正文

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

图 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请求的端口转发时,将不会应答此请求。

上一页  [1] [2] 

本文来源:天下网吧 作者:网吧方案

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下