OSPF路由選擇故障排除
案例中涉及OSPF在特定情況下的LSA選擇問題,通過對故障逐一分析,也彙總了相關知識。以下是一個真實案例, 為保護客戶資料, 路由器輸出資訊已被修改。
故障診斷步驟
R1, R2 和 R3是NSSA區域,R1和R2是骨幹區域。在R3上重分發網路到NSSA中。客戶發現R2正常從R3習得此NSSA路由,但是R1是從R2學來的E1路由。
1. 收集資訊,確認問題,發現R1和R2都有TYPE 7和TYPE 5 路由,但R1選了TYPE5而R2選擇了NSSA,這是為什麼?[1]
R1#show ospf database external
OSPF Router with ID () (Process ID 18181)
Type-5 AS External Link States
Routing Bit Set on this LSA
LS age: 652
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: (External Network Number)
Advertising Router:
LS Seq Number: 80000399
Checksum: 0x3768
Length: 36
Network Mask: /27
Metric Type: 1 (Comparable directly to link state metric)
TOS: 0
Metric: 1
Forward Address:
External Route Tag: 1
R1#sh ospf database nssa-external
OSPF Router with ID () (Process ID 18181)
Type-7 AS External Link States (Area 7)
LS age: 312
Options: (No TOS-capability, Type 7/5 translation, DC)
LS Type: AS External Link
Link State ID: (External Network Number)
Advertising Router:
LS Seq Number: 8000fe93
Checksum: 0x240
Length: 36
Network Mask: /27
Metric Type: 1 (Comparable directly to link state metric)
TOS: 0
Metric: 1
Forward Address:
External Route Tag: 1
2. 根據資料庫的資訊,R1學來的E1路由應該是R2把TYPE7轉為TYPE5後,發給R1的。仔細檢視路由表,發現雖然R1從R2學來的路由,但下一跳仍然通過R3,這是為什麼?[2]這些埠都在NSSA中,NSSA中會有5類路由麼?[3]
R2#show route de
Tag 1, type NSSA extern 1
, from , via TenGigE0/0/0/0
, from , via TenGigE0/1/2/0
R1#show de
Tag 1, type extern 1
, from , via TenGigE0/2/0/0
, from , via TenGigE0/3/2/0
R1#show ospf inter ten0/2/0/0 | i Area
Internet Address , Area 7
R1#
R1#show ospf inter ten0/3/2/0 | i Area
Internet Address , Area 7
3. 首先R1和R2是ABR,所以即使存在5類路由也是ok的,那麼為什麼從R2學來的路由,反而從R3走呢?[4]因為FA地址,對於FA地址簡單回憶下:
o 它是OSPF特有的,它的作用主要是在告訴域內路由器在特定場合下訪問域外路由不要找ASBR,要找FA這個轉發地址
o 只有滿足特定條件,FA地址才不為"",詳細規則請看相關文件
o 如果把FA地址過濾掉,那麼這個外部路由不會加入路由表
o 只有當FA地址為(intra-area)O或IA(inter-area)時,才可以把此E2路由放入路由表。小心重分發靜態到OSPF,如果寫的下一跳是地址,而且屬於直連,他不會被加入路由表;相反寫埠可以,因為不符合規則,FA全零
o 在NSSA跟正常區域不同,根據"RFC 3101, specially section 2.3 Type-7 LSAs",轉換時必須有FA地址,所以如果重分發靜態時,下一跳寫成埠,FA會成為全零,這樣會有問題。
"6. Those Type-7 LSAs that are to be translated into Type-5 LSAs must have their forwarding address set."
4. 根據上面的資訊,已經很清楚的知道,雖然路由從R2學來,但轉發仍然根據FA從跟R3直連的端口出去。
5. 那麼對於為什麼R1會從R2學來E1,而不是R2從R1學E1,有什麼規律麼?[5]搭個環境測試下,發現很容易能重現問題,看來這是正常的,那麼有文件麼?[6]
6. 查了下RFC,發現了下面的'資訊可以解釋上面的疑問:
o 對於為什麼R1從R2學來E1路由,根據RFC 2328的資訊:
"If two routers, both reachable from one another, originate functionally equivalent AS-external-LSAs (i.e., same destination, cost and non-zero forwarding address), then the LSA originated by the router having the highest OSPF Router ID is used."
因為R2(132) 優於R1(131),所以R2轉換併發給R1。
o 對於為什麼R1選擇了E1而不是NSSA,根據RFC 1587:
"When a type-5 LSA and a type-7 LSA are found to have the same type and an equal distance, the following priorities apply (listed from highest to lowest) for breaking the tie.
a. Any type 5 LSA.
b. A type-7 LSA with the P-bit set and the forwarding address non-zero.
c. Any other type-7 LSA."
解答總結
[1] 根據RFC1587,當type-5 和type-7有同樣型別和同樣距離時,type-5 > type-7(P-bit+FA) > type-7
[2] 當LSA有FA地址時,需要向FA地址轉發,而不是向ASBR轉發。
[3] 如果一個路由器屬於NSSA,他不會存在type-5 LSA,但如果此路由器是ABR,那麼是有可能的。
[4] FA地址。
[5] 根據RFC 2328,如果兩個路由器彼此可達,當兩臺裝置產生等價LSA時,將使用擁有高Router ID的LSA。
[6] RFC 2328,RFC1587
相關命令
show ospf database external x.x.x.x
show ospf database nssa x.x.x.x
show route x.x.x.x detail
show ospf inter xxx | i xxx
-
家庭路由器選購的幾大要點
著使用者的需求越來越多,個性化的需求也越來越多,很多品牌的無線路由器裡都內建了不少實用的功能,如:ip寬頻控制、wds無線橋接、qss快速安全設定,更高階的還會有arp攻擊防護等高階功能。那麼我們家庭用什麼樣的無線路由器適合自己呢?下面,小編將和大家來探討一番。1.路...
-
資訊保安考試試題附答案
國家資訊保安水平考試是由中國資訊保安測評中心實施培養國家網路空間安全人才的專案。下面是小編精心整理的資訊保安考試試題附答案,歡迎大家分享。一、選擇題試題1:入侵檢測系統使用入侵檢測技術對網路和系統進行監視,並根據監視結果採取不同的處理,最大限度降低...
-
EIGRP頻寬例項配置
EIGRP路由資訊在預設情況下佔用介面頻寬的50%,而序列介面預設的頻寬為T1(1.544M),但在實際上序列介面的頻寬並不是預設值,這裡我們按照需求修改介面的頻寬並修改EIGRP佔用頻寬的百分比例。拓撲圖如下:修改頻寬佔用比:R1(config)#interfaces0/0R1(config-if)#bandwid...
-
詳談如何用路由器控制區域網內的網速
通過路由器控制所有區域網內的電腦上網是非常方便的,由於寬頻的費用並低廉,而對於大多數沒有大量資料下載的家庭使用者來說,一戶人或一臺電腦獨佔一條ADSL有點浪費資源的感覺。於是現在很多人都用共享一條寬頻上網。那麼下面我們就來聊聊如何通過路由器控制他人電腦...