OSPF中7转5的问题分析
一、 组网:
核心两台75E分别为R1、R2,下面一台5500HI为接入交换机,为R3。三台设备通过OSPF进行路由互通,其ROUTER-ID分别是1.1.1.1、2.2.2.2、3.3.3.3。其中R1与R2在OSPF的骨干区域AREA 0,通过10.0.0.0/24网段互联;R1与R3通过AREA 3互连,网段是30.0.0.0/24,为NSSA区域;R2与R3通过AREA 2互连,网段分别是20.0.0.0/24,为NSSA区域。
二、 问题描述:
从R3分别引入一条type 1外部路由,100.0.0.0/32网段。发现在R1上关于100.0.0.0/32网段的下一跳指向3.3.3.3,而在R2上查看该网段,则下一跳指向1.1.1.1。
在R1上:
[R1]dis ip routing-table 100.0.0.1
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
100.0.0.1/32 O_NSSA 150 2 D 30.0.0.3 GigabitEthernet0/0/3
在R2上:
Routing Table : Public
Summary Count : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
100.0.0.1/32 O_NSSA 150 3 D 10.0.0.1 GigabitEthernet0/0/1
说明对于同一条外部路由,R1与R2选择不同,一个优选了7类LSA,一个优选了5类LSA。
三、 过程分析:
1、查看R2上是否有从AREA 2来的LSA信息。
[R2]dis ospf lsdb nssa 100.0.0.1
OSPF Process 1 with Router ID 2.2.2.2
Area: 0.0.0.0
Link State Database
Area: 0.0.0.2
Link State Database
Type : NSSA
Ls id : 100.0.0.1
Adv rtr : 3.3.3.3
Ls age : 420
Len : 36
Options : NP
seq# : 80000004
chksum : 0x8835
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 1
Forwarding Address : 20.0.0.3
Tag : 1
在R2上确认有到达100.0.0.1/32网段的7类LSA信息,从AREA 2区域传来的,FA地址为20.0.0.3,均正常,但是很奇怪为何并没有将这条7类LSA放到路由表中。
2、查看R2上的OSPF LSDB信息,确认路由来源。
[R2]dis ospf lsdb ase 100.0.0.1
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
Ls id : 100.0.0.1
Adv rtr : 1.1.1.1
Ls age : 717
Len : 36
Options : E
seq# : 80000005
chksum : 0xa71b
Net mask : 255.255.255.255
TOS 0 Metric: 1
E type : 1
Forwarding Address : 30.0.0.3
Tag : 1
发现从R1传来了一条5类LSA,目的网段为100.0.0.1,发布路由器为R1,FA地址为30.0.0.3,是R3上与R1相连的接口地址,由此可以确认这是一条7转5的LSA。100.0.0.1/24网段从R3重发布,分别发布到AREA 2与AREA 3上,当这条7类LSA传输到R1上面时,进行了7转5,从而在AREA 0上发布了一条5类LSA。而R2最终按照这条路由进行了转发。
从R3引入的100.0.0.1/32网段路由,是7类LSA,在AREA 2和AREA 3中均引入了,因此正常情况下应该是在R1与R2上分别进行7转5的操作,此时在R2的LSDB信息中,查看100.0.0.1的5类LSA,应该有两条,发布路由器分别为R1与R2才对。但是现场只有一条从R1发布的5类LSA,而R2并未进行7转5的操作。
3、进一步分析R2为何进行7转5。
仔细检查配置,发现R2上连接R3的接口下的COST值进行了修改
#
interface GigabitEthernet0/0/2
ip address 20.0.0.2 255.255.255.0
ospf cost 1000
#
因此怀疑与COST值不一致有关。
仔细比较R2收到的7类和5类LSA,由于均有FA地址,则比较到达FA地址所需要的COST值。
5类LSA的FA地址为30.0.0.3,在R2上查看:
[R2]dis ospf routing 30.0.0.3
OSPF Process 1 with Router ID 2.2.2.2
Destination : 30.0.0.0/24
AdverRouter : 1.1.1.1 Area : 0.0.0.0
Cost : 2 Type : Inter-area
NextHop : 10.0.0.1 Interface : GigabitEthernet0/0/1
Priority : Low Age : 00h26m03s
发现其COST值为2
7类LSA的FA地址为20.0.0.3,在R2上查看:
[R2]dis ospf routing 20.0.0.3
OSPF Process 1 with Router ID 2.2.2.2
Destination : 20.0.0.0/24
AdverRouter : 2.2.2.2 Area : 0.0.0.2
Cost : 1000 Type : Transit
NextHop : 20.0.0.2 Interface : GigabitEthernet0/0/2
Priority : Low Age : 00h00m00s
发现其COST值为1000,根据外部路由选路规则:
由于LSA发布的外部前缀类型有Type-1和Type-2,Type-1优于Type-2的路由。当同一个外部前缀对应多个来源时,Cost较小的路由优先。
可知对于R2,对于相同TYPE 1的100.0.0.1/32这条路由,当有多个来源时,会比较COST值,而对于FA地址非0的外部路由,则继承其FA地址的COST值。因此5类LSA要优于7类LSA,故R2上到达100.0.0.1/32网段选择了LSA 5的路由。
进一步确认,当ABR收到一条7类LSA时,如果在LSDB中有相同网段的5类LSA,且COST值小于7类LSA,则此时ABR不会进行7转5的操作,因为在LSDB中已经有了更优的路由。
四、 解决方法:
修改R2上在AREA 2的接口下的COST值,使其小于等于AREA 0的COST值,从而使得7类LSA的COST值小于5类LSA的COST值,从而使R2优选7类LSA,且进行7转5的操作。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作