Skip to main content

 路由器设置 > 新闻资讯 >

多进程OSPF发布LSA形成路由环路的规避办法

2012-10-20 22:29 浏览:

1. 【问题】

上图中,GSYYB_WN_DS01和GSYYB_WN_DS02为锐捷两台交换机,GS1_WN_DS01和GS1_WN_DS02为H3C S8512交换机。为实现省行数据中心与营业部和同城网点间的网络互通,在OSPF100和OSPF 1间进行了路由的相互引入,具体为将OSPF 100内的路由引入到OSPF1中,在营业部两台核心交换机GSYYB_WN_DS01和GSYYB_WN_DS02上针对营业部的生产和办公配置了相同的汇聚静态路由,在同城路由器上配置了到网点的汇聚静态路由,并且将该路由引入到OSPF1中(类型为TYPE 2,GSYYB_WN_DS01上注入时设置COST 为20,GSYYB_WN_DS02上注入时设置COST 为100,同城路由器上注入时设置COST为20),然后在GS1_WN_DS01和GS1_WN_DS02上将该路由重分发到OSPF 100中。

当将省行GS_WN_DS01和营业部GSYYB_WN_DS01间的线路DOWN掉,此时到营业部无法正常访问省行数据中心。

2. 【问题原因】

通过在GS1_WN_DS01和GS1_WN_DS02上查看到营业部的路由发现,在GS1_WN_DS01和GS1_WN_DS02上形成了如下路由环路,从而导致营业部无法正常访问省行数据中心。

dis ip routing-table 10.154.32.18

Destination/Mask Protocol Pre Cost Nexthop Interface

10.154.32.0/23 O_ASE 190 20 10.250.210.178 Vlan-interface819

dis ip routing-table 10.154.32.18

Destination/Mask Protocol Pre Cost Nexthop Interface

10.154.32.0/23 O_ASE 190 100 10.250.192.9 Vlan-interface801

3. 【问题分析】

根据演练前保存的S8512的路由表信息,在GS1_WN_DS01和GS1_WN_DS02查看到营业部的一条路由信息如下:

dis ip routing-table 10.154.32.18

10.154.32.0/23 O_ASE 190 20 10.250.212.242 Vlan-interface881

dis ip routing-table 10.154.32.18

10.154.32.0/23 O_ASE 190 100 10.250.192.9 Vlan-interface801

此时营业部的业务是正常的,但此时S8512上路由已经与规划的不一致,根据规划在GS1_WN_DS01和GS1_WN_DS02查看到营业部的一条路由信息应该如下:

dis ip routing-table 10.154.32.18

10.154.32.0/23 O_ASE 190 20 10.250.212.242 Vlan-interface881

dis ip routing-table 10.154.32.18

10.154.32.0/23 O_ASE 190 20 10.250.192.9 Vlan-interface882

当将省行GS_WN_DS01和营业部GSYYB_WN_DS01间的线路DOWN掉,此时在GS1_WN_DS01和GS1_WN_DS02查看在营业部交换机上引入到OSPF1中的路由信息如下:

dis ip routing-table 10.154.32.18

Destination/Mask Protocol Pre Cost Nexthop Interface

10.154.32.0/23 O_ASE 190 20 10.250.210.178 Vlan-interface819

dis ip routing-table 10.154.32.18

Destination/Mask Protocol Pre Cost Nexthop Interface

10.154.32.0/23 O_ASE 190 100 10.250.192.9 Vlan-interface801

此时在GS_WN_DS01和GS_WN_DS01间出现了路由环路,从而导致营业部无法正常访问省行数据中心,出现上述异常现象的原因如下:

1、由于口字型组网和ospf路由的引入,导致在2台85上对于GSYYB_WN_DS01在ospf 1中引入的静态路由在2个ospf进程(OSPF 1 和 OSPF 100)中都可以学到。

举例如下:对于GSYYB_WN_DS01的静态路由:10.154.32.0/23 ,引入到ospf 1中,则GS1_WN_DS01在ospf 1中学习到了该路由,因在GS1_WN_DS01上将ospf 1 引入到ospf 100,则GS1_WN_DS02通过ospf 100也可以学习到了该条外部路由;且GS1_WN_DS02在ospf 1中也可以学习到这条外部路由。也就是说在GS1_WN_DS02上在2个不同的ospf进程中都存在关于10.154.32.0/23的5类LSA(外部2类的)。

2、S8500交换机在对于从2个不同ospf进程中的2类外部路由是不进行比较优选的,只遵行下面原则:哪条LSA先生成则哪条进本地路由表。

基于上述两点原因导致在GS_WN_DS01和GS_WN_DS01间出现了路由环路,从而导致营业部无法正常访问省行数据中心。

4、【解决方案】

为使网络稳定运行,确保在某些链路故障或者设备故障时,路由能够准确的切换,需要在GS_WN_DS01和GS_WN_DS01 OSPF 100进程中对在OSPF 1 中LSA类型为5类并且被引入到OSPF 100中的路由使用filter-policy import进行过滤,因为GS1_WN_DS01与GS1_WN_DS02上通过ospf 1 即可学习的GS_YYB_WN_DS的外部路由并实现备份,并不需要通过ospf 100来学习,从而可以在GS_WN_DS01和GS_WN_DS01的ospf 100进程里做filter-policy,不将ospf 100中学到的GSYYB_WN_DS外部路由进GS_WN_DS01和GS_WN_DS01的本地路由表,但LAS依然正常传递到OSPF 100的其他设备:

配置如下:

假设GSYYB_WN_DS01上有一条1.1.1.1 32的静态路由引入OSPF 1了,则在GS_WN_DS01和GS_WN_DS01配置:

ip ip-prefix 1 index 10 deny 1.1.1.1 32

ip ip-prefix 1 index 20 permit 0.0.0.0 0 greater-equal 0 less-equal 32

ospf 100

filter-policy ip-prefix 1 import