华为OSPF NSSA区域对默认路由的处理
题注:
用华为eNSP做OSPF多区域实验时,发现NSSA区域存在ABR自动导入Type 7default route的问题。记录下来供探讨学习。
一、 实验环境
eNSP,所有路由器使用Route模拟。根据华为官方介绍,该模拟器基于ARG3操作系统版本。因此实际行为与真实路由器一致。
R1、R2、R6、R7构成1个NSSA区域1。其中R7有一条到外网的默认路由(实验中指向Null0)。
二、 运行配置
1、端口IP
R1:
interface Ethernet0/0/0
ipaddress 16.0.0.1 255.255.255.0
interface Serial0/0/1
link-protocol ppp
ipaddress 12.0.0.1 255.255.255.0
interface LoopBack0
ipaddress 1.1.1.1 255.255.255.255
R2:
interface Serial0/0/0
link-protocol ppp
ipaddress 23.0.0.2 255.255.255.0
interface Serial0/0/1
link-protocol ppp
ip address 12.0.0.2 255.255.255.0
interface LoopBack0
ipaddress 2.2.2.2 255.255.255.255
R6:
interface Ethernet0/0/0
ipaddress 16.0.0.6 255.255.255.0
interface Ethernet0/0/1
ipaddress 67.0.0.6 255.255.255.0
interface LoopBack0
ipaddress 6.6.6.6 255.255.255.255
R7:
interface Ethernet0/0/1
ipaddress 67.0.0.7 255.255.255.0
interface LoopBack0
ipaddress 7.7.7.7 255.255.255.255
2、OSPF路由协议
R1:
ospf 100 router-id 1.1.1.1
area0.0.0.1
network 12.0.0.1 0.0.0.0
network 1.1.1.1 0.0.0.0
network 16.0.0.1 0.0.0.0
nssa default-route-advertise
R2:
ospf 100 router-id 2.2.2.2
area0.0.0.0
network 2.2.2.2 0.0.0.0
network 23.0.0.2 0.0.0.0
area0.0.0.1
network 12.0.0.2 0.0.0.0
nssa
R6:
ospf 100 router-id 6.6.6.6
area0.0.0.1
network 6.6.6.6 0.0.0.0
network 67.0.0.6 0.0.0.0
network 16.0.0.6 0.0.0.0
nssa
R7:
ospf 100 router-id 7.7.7.7
import-route static type 1
area0.0.0.1
network 7.7.7.7 0.0.0.0
network 67.0.0.7 0.0.0.0
nssa
ip route-static0.0.0.0 0.0.0.0 NULL0
三、 问题分析
(一) ABR的情况
查看R2(ABR)的路由表:
注意到ABR本身是没有默认路由的,但是,检查ABR的LSDB时:
OSPF Process 100 with Router ID 2.2.2.2
Area: 0.0.0.0
Link State Database
Area: 0.0.0.1
Link State Database
Type :NSSA
Ls id :0.0.0.0
Adv rtr :2.2.2.2
Ls age :1728
Len :36
Options :None
seq# :80000027
chksum :0x782a
Net mask :0.0.0.0
TOS 0 Metric :1
E type :2
Forwarding Address :0.0.0.0
Tag :1
Priority :Low
检查R2的邻居R1,确实有一条来自R2的默认路由:
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_NSSA 150 1 D 12.0.0.2 Serial0/0/1
这说明ABR自动生成了一条默认路由NSSA LSA。
(二) ASBR的情况
首先检查R7(ASBR)的路由表:
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 D 0.0.0.0 NULL0
R7本身是有0.0.0.0/0的路由的,但和邻居交换DBD时却不进行通告:
R7往R6发送的DBD,只包含7.7.7.7的Router LSA(Type 1),没有包含0.0.0.0的NSSA LSA(Type 7):
实际上,R7自己也没有:
OSPF Process 100 with Router ID 7.7.7.7
Area: 0.0.0.1
Link State Database
Type :NSSA
Lsid :0.0.0.0
Advrtr :2.2.2.2
Lsage :1582
Len :36
Options :None
seq# :80000024
chksum :0x7e27
Netmask :0.0.0.0
TOS0 Metric :1
Etype :2
Forwarding Address :0.0.0.0
Tag :1
Priority :Low
R7的LSDB内,Area1内0.0.0.0/0的NSSA LSA只有一个,且Adv rtr是2.2.2.2。
这说明ASBR没有把自己的静态默认路由import到OSPF NSSA区域内。
四、 结论
根据RFC 3101的注释:However,a Type-7 defaultLSA originated by an NSSA internal AS boundary router maybe translated into a Type-5 LSA。根据上述描述,R2可以(也可以不)转换R7的Type-7 defaultLSA到骨干。如果华为认为环路等因素的考虑,采取不转换的方式,这个可以理解。但R7生成不了Type-7 LSA default LSA这就有点匪夷所思了。
如果在NSSA区域内ASBR不能生成Type7default LSA的话,即NSSA不能连接到Internet,这对于网络设计而言,尤其是网络合并的方案设计而言确实有点不便,目前能想到的解决方法,一是改变区域NSSA属性,使全网重新恢复为transit area;二是仅使用ABR作ASBR,然后向以Type 5 LSA的方式向area 0发布(NSSA自动生成)。
上述描述若有错误,敬请指正。