目錄:
缺點:
- 在大型網絡中,網絡結構的變化是時長發生的,因此OSPF路由器就會經常運行SPF(Dijkstra)算法來重新計算路由信息,會大量消耗路由器的CPU和內存資源
- 在OSPF網絡中,隨着路徑的增加,路由表會越變越大,每一次變化,路由器都要花大量的時間和資源去重新計算路由表
- 鏈路狀態數據庫包含着完整的網絡結構信息,會隨着網絡越變越大,會消耗大量的CPU和內存
- 以上會使得路由器工作越來越低效
改善:將大型區域划分為多個小區域,這些小區域之間交換的是路由的匯總消息而不是每個路由器的詳細信息。
- 路由器工作更高效
- 改善了網絡的可擴展性。
- 可以快速收斂。
- 域類通信量(Intra-Area Traffic):單個區域內的路由器之間交換數據包構成的通信量
- 域間通信量(Intra-Area Traffic):不同區域的路由器之間交換數據包構成的通信量
- 外部通信量(External Traffic):OSPF域內的路由器與OSPF區域外或另一個自治系統內的路由器之間交換數據包構成的通信量
- 內部路由器(Internal Routers):該設備的所有端口都屬於一個OSPF區域,不與其他區域相連,只維護所在區域的LSDB(鏈路狀態信息)
- 骨干路由器(Backone Routers):至少一個接口屬於骨干區域。只維護骨干區域的LSDB。ABR和所有位於Area0(骨干區域)的路由器都屬於骨干路由器
- 區域邊界路由器(Area Border Router):連接兩個以上的區域,但必須有一個端口連接骨干路由器。
- 自治系統邊界路由器(AS Boundary Routers ):連接不同的AS或其他IGP協議。與其他AS交換路由信息的路由器稱為ASBR,使用了多種路由協議。只要一台OSPF路由器引入了外部路由信息,它就成為了ASBR。ASBR不一定位於AS邊界。
(1)骨干區域 Area 0
(2)非骨干區域:根據能夠學習的路由種類來區分
- 標准區域
- 末梢區域(stub)
- 完全末梢(Totally stubby)區域
- 非純末梢區域(NSSA)
用來存放鏈路狀態
OSPF是一種基於鏈路狀態的動態路由協議,每台OSPF路由都會生成相關的LSA,並將這些LSA通告出去。路由器收到LSA后,會將他們存放在鏈路狀態數據庫LSDB中
- type 1 :路由器LSA ,由區域內的路由器發出,所有的路由器都會生成這一類型的鏈路狀態通告,描述了鏈路狀態和花費。只在本區域泛洪。鏈路狀態ID是源路由器ID
- type 2 :網絡LSA,由區域內DR發出。指明了所有與之相連的路由器,記錄這一網絡上所有的路由器Router ID。只在本區域泛洪。鏈路狀態ID是DR的IP接口地址
- type 3 :匯總LSA,由ABR發出,將一個區域內學到的信息發送匯總給其他區域。在除了完全末梢區域和NSSA區的所有區域泛洪。鏈路狀態ID是目的網絡地址
- type 4 :ASBR匯總LSA,由離ASBR最近的ABR發出,描述到ASBR的路由,通告ASBR所在區域的相關路由。在除了完全末梢區域和NSSA區域的所有區域泛洪。鏈路狀態ID是所描述的ASBR的路由器ID
- type 5 :自治系統LSA,由ASBR發出,指明到達自治系統外部網絡的路由。在NSSA區域外的所有區域泛洪。鏈路狀態ID是外部網絡地址
- type 7 :NSSA外部LSA,NSSA 區域的ASBR發出,用於通告本區域連接的外部路由。在NSSA區域泛洪
LSA頭部信息
- LS age :16比特。LSA產生后所經過的時間,以秒為單位。無論LSA實在鏈路傳送,還是保存在LSDB中,該值都會不停增長
- Options :8比特。可選項, E:允許Flood AS-extemal-LSAs , MC:轉發IP組播報文 , N/P :處理Type-7 LSAs , DC:處理按需鏈路
- LS type :8比特。LSA的類型。 type 1 :Router LSA 。 Type 2: Network LSA , Type 3 :Summary LSA , Type 4:ASBR Summary LSA , Type 5:AS-Extemal LSA
- Link State ID:32比特。根據LSA 中的LS Type 和LSA description 在路由域中描述一個LSA
- Advertising Router :32比特。產生次:LSA 的路由器 Router ID
- LS sequence number :32 比特。LSA的序列號。其他路由器根據這個值可以判斷哪個LSA是最新的。
- length :16比特。LSA總長度,包括LSA Header,以字節為單位。
- 只有一個默認路由作為其區域的出口
- 區域不能作為虛鏈路的穿越區域
- 末梢(Stub)區域里無自治系統邊界路由器(ASBR)
- 不是骨干區域Area 0
末梢區域:沒有LSA 4,5,7類通告
完全末梢區域:除一條LSA3的默認路由通告外,沒有LSA 3,4,5,7 通告
區域類型 |
1&2 | 3 | 4&5 | 7 |
骨干區域(Area 0) |
允許 | 允許 | 允許 | 不允許 |
非骨干區域,非末梢區域 |
允許 | 允許 | 允許 | 不允許 |
末梢區域 |
允許 | 允許 | 不允許 | 不允許 |
完全末梢區域 |
允許 | 不允許* (只允許一條默認路由) |
不允許 | 不允許 |
NSSA |
允許 | 允許 | 不允許 | 允許 |
- R3,R4為 ABR,將其虛擬接口配置在Area 0 區域,可以提高效率
- R1為ASBR,一部分配置為ospf ,一部分配置為 rip 。需要使用路由重分發技術
- area 1 ,配置為NSSA區域
- area 2,先配置為末梢區域,再配置為完全末梢區域
- OSPF的network 宣告是 網段加上反子網掩碼,如:6.6.6.6 →6.6.6.6 0.0.0.0
- RIP的network 直接宣告ABC三類的大網段即可 如:6.6.6.6 → 6.0.0.0
- 網段在哪個區域宣告,就屬於哪個區域
配置IP地址步驟略過。
R1 (ASBR,部分配置ospf ,部分配置rip。先配置ospf)
[R1]ospf 1 router-id 1.1.1.1 ###開啟ospf 進程,設置router-id
[R1-ospf-1]area 1 ###進入區域1
[R1-ospf-1-area-0.0.0.1]network 1.1.1.1 0.0.0.0 ###宣告1.1.1.1 32 網絡 在area1區域
[R1-ospf-1-area-0.0.0.1]network 12.0.0.0 0.0.0.255 ###宣告12.0.0.0 24 網路 在area1 區域
[R2]ospf 1 router-id 2.2.2.2
R2
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.1]network 12.0.0.0 0.0.0.255
R3 (ABR,部分在area0 ,部分在area1)
[R3]ospf 1 router-id 3.3.3.3 ###開啟ospf進程,設置router-id
[R3-ospf-1]area 0 ###進入骨干區域Area0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0 ###宣告3.3.3.3 32 網絡在area0區域
[R3-ospf-1-area-0.0.0.0]network 34.0.0.0 0.0.0.255 ###宣告34.0.0.0 24 在area 0 區域
[R3-ospf-1-area-0.0.0.0]q
[R3-ospf-1]area 1 ###進入區域area 1
[R3-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255 ###宣告23.0.0.0 24 網絡在area1 區域
R4 (ABR,部分在area0 ,部分在area2)
[R4]ospf 1 router-id 4.4.4.4 ###開啟ospf進程,設置router-id、
[R4-ospf-1]area 0 ###進入骨干區域area0
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0 ###宣告網絡4.4.4.4 32在area0區域
[R4-ospf-1-area-0.0.0.0]network 34.0.0.0 0.0.0.255 ###宣告網絡34.0.0.0 24 在area0區域
[R4-ospf-1]area 2 ###進入區域area2
[R4-ospf-1-area-0.0.0.2]network 45.0.0.0 0.0.0.255 ###宣告網段45.0.0.0 24 在area2區域
R5
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 2
[R5-ospf-1-area-0.0.0.2]network 5.5.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.2]network 45.0.0.0 0.0.0.0
R6
[R6]rip 1 ###開啟rip 進程1
[R6-rip-1]v 2 ###使用rip版本2 (版本1只支持有類,版本2支持無類)
[R6-rip-1]undo summary ###關閉匯總
[R6-rip-1]network 6.0.0.0 ###宣告網段 (不管是v1 還是 v2 都是宣告的ABC三類的大網段,且不加子網掩碼)
[R6-rip-1]network 16.0.0.0 ###宣告網段
R1 ###在ASBR路由器上
[R1]rip 1 ###進入rip進程
[R1-rip-1]v 2
[R1-rip-1]undo summary
[R1-rip-1]network 16.0.0.0
[R1-rip-1]import-route ospf 1 cost 5 ###在rip 進程內,配置路由重分發(注入),將ospf 進程1 的路由注入到rip 路由中,cost 5(加5跳,rip最大跳數為15跳)
[R1-rip-1]q
[R1]ospf 1 ###進入ospf 進程1
[R1-ospf-1]import-route rip 1 type 1 cost 5
###將rip進程1 的路由注入,注入類型為1(有type1和type2,type 1的cost可以累加,而type2的cost 不可累加,這樣不科學),cost 增加5
配置末梢: R4 ###ABR路由器 [R4]ospf 1 ###進入ospf 1進程 [R4-ospf-1]area 2 ###進入area 2 (末梢和完全末梢只能在非骨干區域配置) [R4-ospf-1-area-0.0.0.2]stub ###末梢區域 ###stub, 兩邊都要打 R5 [R5]ospf 1 ###進入ospf1 進程 [R5-ospf-1]area 2 ###進入area2 [R5-ospf-1-area-0.0.0.2]stub ###末梢區域
###stub ,兩邊都要打 將末梢配置為完全末梢 [R4-ospf-1-area-0.0.0.2]stub no-summary ###在連接末梢區域的ABR路由器非骨干區域打 stub no-summary 開啟完全末梢
###NSSA內每個路由器都進入域內,打nssa,設置域為nssa區域
R1
[R1]ospf 1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]nssa
R2
[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]nssa
R3
[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]nssa
###NSSA區域,是用來優化ASBR路由器。開啟后,域內禁止 LSA 4, 5 類報文,取而代之的是LSA 7 類報文
###原ABR 開始發送LSA 7 類報文。該路由器由ABR路由,變為 ABR + ASBR 。