当前位置: 主页 > 网络知识 > CISCO技术 > 路由器中实现ICMP重定向字段

路由器中实现ICMP重定向字段

时间:2010-12-16来源:互联网 点击:

在进行下一步的路径验证之前,我们先看一下抓包工具抓出来的重定向ICMP包,如图10。

从图10中,从而三层头部信息中可知这是有R2发给R1的信息,在ICMP消息中,可看出类型为5,代码为1,校验和为0x2b19,重定向到123.1.1.1,再其后便表明为哪个地址进行的重定向。

图10  重定向ICMP抓包

现在开始进行路劲验证,同样还是通过分析抓到的ping包来进行,如图11~14。

图11  ping R4的请求包

图 12  ping R4的应答包

图 13  ping R5的请求包

图 14  ping R5的应答包

由图11、12可看出,去往R4的流量均直接使用R3进行传输,而不再使用R2,即网关被重定向到R3;由图13、14可看出,去往R5的流量仍有R2进行处理,即网关仍未R2。

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

站长资讯网
.
分页: [1] [2]
TAG: 路由器 ICMP重定向
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言