什麼是Stub Area(末節區域)
Stub Area里的路由器的OSPF Database,沒有Type-4-LSA和Type-5-LSA,用一條Type-3-LSA(0.0.0.0) 產生默認路由.
圖解StubArea實例
拓撲結構: 兩個AS, OSPF AS有兩個Area。R1, R2在 Area1, R2,R3在Area 0。R2是ABR,R3是ASBR
步驟:
1) 在R1,R2,R3上運行OSPF協定,在R3,R4上運行RIP協定。
2) 在R1上將area 1設定為stub area;在R2上設定area 1為Totally Stub Area, 使得R2 (ABR) 變成通往Area1 以外的默認網關.
初始階段
在R3和R4上運行RIP,然後在R1,R2,R3上運行OSPF協定,並設定R3使得OSPF與RIP能交換路徑信息。- R1, R2, R3分別產生了自己的Router LSA (type 1)。- R2是ABR,還產生2條Network Summary LSA (type 3)。
- R3是ASBR,多了2條External LSA (type 5)。(拓撲圖中,路由器之間由Serial Link連線,因此沒有Network LSA)。
交換LSA信息
R1,R2,R3分別將自己的LSA傳送給自己的鄰居。- R1收到R2的三個LSA,把它們添加到自己的LSDB。- R2收到R1的Router LSA,添加兩條LSA,
包括Network Summary LSA (R1的stub network 172.16.1.0 / 24)。
- R3收到R2的兩個LSA ,把它們添加到自己的LSDB。
同步LS Database
ABR R2傳送Update把Area 0, 1 中路由器的LSDB1同步。- Area 1:
1) Router LSA (R1, R2) ;
2) Network Summary LSA (子網172.16.255.4 / 30;
3) ASBR Summary LSA (R3);
4) External LSA (RIP AS的192.168.1.0, 10.0.0.0)。
- Area 2:
1)Router LSA (R2, R3) ;
2)Network Summary LSA (172.16.255.0 / 30);
3)External LSA (192.168.1.0, 10.0.0.0)。
設定Stub Area
當主機需發包到局網外面,只需把數據包傳給默認網關,讓默認網關轉發。這樣主機就可輕裝專心做它的事,不必記那么多的地址了。OSPF內部路由器也有同樣問題,得記錄大量的External LSA到LSDB, 消耗許多路由器資源。解決方法很簡單: 把ABR當做默認路由器,分別在R1和R2上鍵入"area 1 stub"命令即可。
- R1會擦去資料庫中所有的ASBR Summary LSA(Type 4)和External LSA(Type 5)。
- R2會擦去ASBR Summary LSA。 R2是ABR,會產生一個Network Summary LSA,傳送給R1。這條LSA的Link State ID = 0.0.0.0 表示這是一個默認路由。它會讓R1把所有發往OSPF AS外部的數據包都轉發給R2.
R2(ABR) 是R1的默認網關
當R1收到R2傳送的Update包,就將Link State ID = 0.0.0.0的LSA加到LSDB。Stub Area中所有的內部路由器,都沒有Type 4 和Type 5 的LSA。它們發往OSPF AS 以外的數據包,完全依靠ABR。換言之,ABR是OSPF內部路由器的默認網關.
設定Totally stub area
在R2(ABR)輸入命令行:area 1 stub no-summary。將area 1設定為Totally Stub Area。在Totally Stub Area中,Summary Network LSA(Type = 3)也被刪除(Link State ID = 0.0.0.0例外)。換言之,Total stub area 使得ABR變成通往其它Area的默認網關。
R2 擦除Summary Network LSA
R2傳送的Update中,有2條Summary Network LSA:它們的age = 3600。當R1收到這兩條LSA,會將它們從LSDB中刪除。此時R1的LSDB中只有Type 1 LSA, 沒有Type = 3, 4, 5類型的LSA。
R2 發出默認路由
R2接著又傳送了一條Link State ID = 0.0.0.0的Summary Network LSA給R1。R1收到後,加到LSDB。在Totally Stub Area中,路由器要傳送數據包到area以外,得先傳送數據包給ABR,讓ABR處理。