一、问题描述:在学习重分布的过程中,有一个经典的问题,就是在双点双向网络结构中,在ASBR路由器上会出现一些异常路由,导致网络混乱,甚至形成环路。具体见下图:
图中,当ASBR路由器R1和R4完成路由双向重分布后,在R1上观察R2的环回口地址的路由为:R 2.2.2.0 [120/1] via 12.1.1.2 Serial 3/0 ;在R4上观察R2的环回口地址路由为:o E2 2.2.2.0 [110/20] via 34.1.1.3 FastEthernet 0/0。我们希望无论在R1还是在R4上,R2环回口路由应直接分发最好。从R4上显示的R2环回口路由显然不是从R2直接通告的路由。这种情况显然不能达到双点双向网路两条链路互为备份的目的。
造成这种现象的原因是在不同路由域中进行重分布时,由于管理距离不同,导致路由选择出现异常。具体在这里来说,R4中关于R2环回口路由,来源有两条链路,一是从R2直接通告到R4,这条路由的管理距离是rip域的管理距离120;二是从R3通告的外部注入路由,其管理距离是ospf的管理距离110,根据同一条路由优选管理距离更小的原则,最终R4保留了从R3通告的路由条目。
二、解决办法
既然问题是管理距离引起,可修改重分布的管理距离参数进行解决。
在ASBR路由器R1和R4路由器上的相关路由进程中修改重分布涉及的管理距离参数,即在ospf进程中修改重分布管理距离大于rip的管理距离120即可。
R1路由器命令如下:
R4(config-router)#distance 121 91.1.1.1 0.0.0.0 #91.1.1.1是ABR路由器R1的router-ID。
此时,再查看R4上关于R2环回口的路由:R 2.2.2.0 [120/1] via 24.1.1.2, 00:00:01, Serial3/1,已显示该条路由从R2通告获得,路由正常。
三、扩展思考
若把上图的rip区更换为eirgp,是否还是会遇到上述问题?
答案是不会出现上述问题,这是因为eigrp的管理距离分为内部管理距离90,外部管理距离170。这样可圆满解决上述问题,因此,eigrp与ospf做重分布更简单。