華爲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)的路由表:
<R2>display ip routing-table 0.0.0.0
<R2>
注意到ABR本身是沒有默認路由的,但是,檢查ABR的LSDB時:
<R2>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的默認路由:
<R1>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的情況
首先檢查R7(ASBR)的路由表:
<R7>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時卻不進行通告:
R7往R6發送的DBD,只包含7.7.7.7的Router LSA(Type 1),沒有包含0.0.0.0的NSSA LSA(Type 7):
實際上,R7自己也沒有:
<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
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自動生成)。
上述描述若有錯誤,敬請指正。