OSPF原理
-
- 1.OSPF基本概念;
- 2.OSPF的三張表,五種資料包,七種鄰居狀态;
- 3.鄰居關系和鄰接關系;
- 4.OSPF的相關配置(華為指令);
1.OSPF基本概念;
OSPF(OPEN SHORTEST PATH FIRST)即開放最短路徑優先。也叫最短路徑算法(SPF),是一種鍊路狀态協定;所謂“鍊路”,即指路由器接口;所謂“狀态”,即指描述接口以及其與鄰居路由器之間的關系。 每一台路由器擁有整個拓撲結構,能根據網絡圖拓撲資訊獨立做出決策。
另外有以下OSPF的相關名詞,需要去記憶;

- 自治系統(AS):一組使用 相同路由協定交換路由資訊的路由器
- 路由器 ID 号:一台運作OSPF路由器,每一個OSPF程序必須存在自己路由器 ID 号,路由器的 ID 号是一個32比特,無符号的指數;可以在一個自治系統中具備唯一性。
- 區域(Area):在網絡規模增大之後,拓撲結構發生變化的頻率也增大,網洛會經常處于震蕩之中,造成網絡中會有大量的OSPF的封包在傳遞,降低了網絡的帶寬使用率,OSPF通過将自治系統劃分成不同的區域來解決這個問題,區域是從邏輯上将路由器劃分成不同的組。每個組用區域号來辨別。
- 骨幹區域(Backbone Area):OSPF劃分區域之後,并非所有的區域都是平等的關系,其中有一個區域與衆不同,他的區域号是0,通常被稱為骨幹區域。
2.OSPF的三張表,五種資料包,七種鄰居狀态;
OSPF的三張表:
- 鄰居表: OSPF用鄰居機制來發現和維護路由的存在,鄰居表存儲了雙向通行的鄰居關系以及OSPF路由清單的資訊
- 拓撲表:是用LSA狀态鍊路通告來描述網絡的拓撲資訊,然後OSPF路由器,利用拓撲資料庫來存儲網絡的資訊LSA
- 路由表:對鍊路狀态資料庫進行SPF計算,而得出的OSPF路由表
OSPF路由的形成: 主要是依靠以下五種資料包互動形成的
- Hello包:路由器之間發現和維護鄰居關系,協商鄰接關系的,是周期發送的;該包有路由器的ID号(儲存的時間為40秒)、路由器的優先級和鄰居資訊等标記。
- DBD包:交換LSA鍊路狀态用于向鄰居表述自己已經知道的LSA,是對LSA的摘要,是用來比較的。
- LSR包:鍊路狀态請求包,用于請求鄰接的路由器發送鍊路狀态更新包,進行交換鍊路比較後,發現自己的交換鍊路中少了自己的鍊路狀态,則會發送該包。
- LSU包:鍊路狀态更新包,用于回應鍊路狀态請求包LSR而發送的更新包,當收到LSR後,把自己的鍊路狀态發送給少的路由器。
- LSACK包:鍊路狀态确認包,用于對鄰接的路由器發送過來的鍊路更新确認回複包,告訴對方我收到了。
接下來介紹七種鄰居狀态:
- Down:在失效時間間隔内未收到鄰居路由器發送過來的Hello包時狀态;
- Initiat:Hello包中未發現自己的狀态,或Hello參數不比對時的狀态;
- Two-Way:雙向狀态,在鄰居發過來的Hello包中,發現了自己的參數比對且通過驗證時的狀态;
- ExStart:向224.0.0.5發送了第一條DBD包後的狀态;
- Exchange:交換狀态,選舉主路由器完成後進入的狀态;
- 加載狀态:所有DBD包交換完成後切換成加載狀态;
- Full:全鄰接狀态,雙方路由器LSA完全相同,進入最終的全鄰接狀态。
3.鄰居關系和鄰接關系;
鄰居關系的建立:
- R1檢測周圍活動的鄰居,如果沒有檢測到,則狀态為“Down”;
- 若R1檢測到了周圍有活動的鄰居R2,R1則向R2發送一個Hello包,告訴R2,我是R1;路由器R2收到對方R1的Hello包後,并将R1加入到R2的鄰居表中,R2成為“Initiat”初始化狀态;
- 收到Hello包的R2将單點傳播回複一個Hello包,其中包含R2所有鄰居路由器,包含路由器R1,
- R1收到來自R2的Hello包後,發現其中包含有自己的資訊,則R1将R2加入到自己的鄰居清單中,R1和R2處于“Two-Way”雙向狀态;
1234完成後,兩個路由器都處于鄰居關系。
在該網絡中,R3有3個鄰居,為R1,R2,R4;也有2個鄰接,為R1和R2。
鄰接關系:是指在建立的鄰居關系之後繼續發送DD,LSR,LSU等封包,最終雙方的LSDB達到同步之後,鄰居狀态為Full時,才成為鄰接關系。也就是說,鄰居關系不一定是鄰接關系,是鄰接關系就一定是鄰居關系
同時也有兩個概念需要注意,分别是DBR與BR
BR:指定路由器,DBR是備份指定路由器。在一個LAN連接配接中,OSPF将選舉出一個路由器作為DR,再選舉一個作為BDR,所有其他的和DR以及BDR相連的路由器形成完全鄰接狀态而且隻傳輸LSA(鍊路狀态通告)給DR和BDR
4.OSPF的相關配置(華為指令);
網絡拓撲圖如下圖所示:
下面展示配置
R1
<Huawei>sy
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info enable
Info: Information center is disabled.
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.10.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int LoopBack 0
[Huawei-LoopBack0]
[Huawei-LoopBack0]ip add 1.1.1.1 32
[Huawei-LoopBack0]q
[Huawei]ospf 1 router-id 1.1.1.1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
下面展示配置
R2
<Huawei>sy
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info enable
Info: Information center is disabled.
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.10.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.20.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int LoopBack 0
[Huawei-LoopBack0]ip add 2.2.2.2 32
[Huawei-LoopBack0]q
[Huawei]ospf 1 router-id 2.2.2.2
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]q
[Huawei-ospf-1]area 1
[Huawei-ospf-1-area-0.0.0.1]network 192.168.20.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.1]network 2.2.2.2 0.0.0.0
[Huawei-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3
下面展示配置
R3
<Huawei>sy
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info enable
Info: Information center is disabled.
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.20.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 192.168.30.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int LoopBack 0
[Huawei-LoopBack0]ip add 3.3.3.3 32
[Huawei-LoopBack0]ospf 1 router-id 3.3.3.3
[Huawei-ospf-1]area 1
[Huawei-ospf-1-area-0.0.0.1]network 192.168.20.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.1]network 3.3.3.3 0.0.0.0
[Huawei-ospf-1-area-0.0.0.1]q
[Huawei-ospf-1]area 2
[Huawei-ospf-1-area-0.0.0.2]network 192.168.30.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.2]q
[Huawei-ospf-1]area 1
[Huawei-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
驗證:
R1 ping R2 ;
R1 ping R3;
R1,R2,R3 互相ping通。
檢視路由表“display ip routing-table”: