华为OSPF NSSA区域对默认路由的处理

题注:

用华为eNSPOSPF多区域实验时,发现NSSA区域存在ABR自动导入Type 7default route的问题。记录下来供探讨学习。

 

一、 实验环境

   eNSP,所有路由器使用Route模拟。根据华为官方介绍,该模拟器基于ARG3操作系统版本。因此实际行为与真实路由器一致。

 


R1R2R6R7构成1NSSA区域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

 

2OSPF路由协议

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的情况

查看R2ABR)的路由表:

display ip routing-table 0.0.0.0

注意到ABR本身是没有默认路由的,但是,检查ABRLSDB时:

disp ospf lsdb nssa 0.0.0.0

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的默认路由:

display ip routing-table 0.0.0.0

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的情况

首先检查R7ASBR)的路由表:

display ip routing-table 0.0.0.0

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时却不进行通告:

R7R6发送的DBD,只包含7.7.7.7Router LSAType 1),没有包含0.0.0.0NSSA LSAType 7):

 

    实际上,R7自己也没有:

display ospf lsdb nssa 0.0.0.0

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

R7LSDB内,Area10.0.0.0/0NSSA LSA只有一个,且Adv rtr2.2.2.2

 

这说明ASBR没有把自己的静态默认路由importOSPF NSSA区域内。

 

四、 结论

根据RFC 3101的注释:Howevera Type-7 defaultLSA originated by an NSSA internal AS boundary router maybe translated into a Type-5 LSA。根据上述描述,R2可以(也可以不)转换R7Type-7 defaultLSA到骨干。如果华为认为环路等因素的考虑,采取不转换的方式,这个可以理解。但R7生成不了Type-7 LSA default LSA这就有点匪夷所思了。

如果在NSSA区域内ASBR不能生成Type7default LSA的话,即NSSA不能连接到Internet,这对于网络设计而言,尤其是网络合并的方案设计而言确实有点不便,目前能想到的解决方法,一是改变区域NSSA属性,使全网重新恢复为transit area;二是仅使用ABRASBR,然后向以Type 5 LSA的方式向area 0发布(NSSA自动生成)。

 

上述描述若有错误,敬请指正。