OSPF的基本工作原理
1.定義
2.特點
3.基本概念
4.OSPF五種分組類型
5.DR/BDR
6.區域
1.定義
開放最短路徑優先OSPF,是為了克服RIP的缺點在1989年開發出來的。
"開放" 表明OSPF協議不是受某一家產商控制,而是公開發表的。
“最短路徑優先”是因為使用了dijkstra提出的最短路徑算法SPF。
2.特點
①OSPF-->基於鏈路狀態,而不是RIP-->基於距離向量
②OSPF采用SPF算法計算路由,從算法上保證了不會發生路由環路。
③OSPF不限制網絡的規模,更新效率高,收斂速度快。
3.基本概念
(1)鏈路狀態:本路由器和哪些路由器相鄰,以及相應鏈路狀態的“代價”(cost)。
cost:指費用、距離、時延、帶寬等。
(2)使用OSPF的路由器都會產生鏈路狀態通告LSA。其中內容一般為
①直連網絡的鏈路狀態信息
②鄰居路由器的鏈路狀態信息

(3)LSA被封裝在鏈路狀態更新分組LSU中 --->洪泛法發送。
(4)使用OSPF的每一個路由器都有一個鏈路狀態數據庫LSDB,用於存儲LSA。
(5)通過路由器洪泛法發送封裝有自己的LSA的LSU分組。
-->各路由器的LSDB最終將達到一致
(6)使用OSPF的路由器基於LSDB進行SPF計算,構建出各自到達其他各路由器的最短路徑,即構建各自路由表。

4.OSPF有以下五種分組類型
①問候(hello)分組
②數據庫描述(DBD)分組
③鏈路狀態請求分組(LSR)
④鏈路狀態更新分組(LSU)
⑤鏈路狀態確認分組(LSAck)
從OSPF建立鄰居,到LSA的互換,到路由表的計算,需要經過一系列的數據包交換過程,過程如下:

兩路由器之間首先建立鄰居關系互相發送hello分組,然后雙方都發送各自的數據庫描述分組(DBD),若其中一方發現對方的LSDB中有自己LSDB中所沒有的LSA則向對方發送鏈路狀態請求分組(LSR),對方則將其沒有的LSA通過鏈路狀態更新分組(LSU)發送,該路由器接收並回一個鏈路狀態確認(LSAck)。最終達到收斂狀態。
5.DR/BDR
OSPF在多點接入網絡中路由器鄰居關系 的建立:
當多台OSPF路由器連到同一個多路訪問網段時,如果每兩台路由器之間都相互交換LSA,那么該網段將充滿着眾多LSA條目,為了能夠盡量減少LSA的傳播數量,通過在多路訪問網段中選擇出一個核心路由器,稱為DR(Designated Router),網段中所有的OSPF路由器都和DR互換LSA,這樣一來,DR就會擁有所有的LSA,並且將所有的LSA轉發給每一台路由器;DR就像是該網段的LSA中轉站,所有的路由器都與該中轉站互換LSA,如果DR失效后,那么就會造成LSA的丟失與不完整,所以在多路訪問網絡中除了選舉出DR之外,還會選舉出一台路由器作為DR的備份,稱為BDR(Backup Designated Router)。

①選舉指定路由器DR和備用的指定路由器BDR
(1).DR與BDR並沒有任何本質與功能的區別,只有在多路訪問的網絡環境,才需要DR和BDR,DR與BDR的選舉是在一個二層網段內選舉的,即在多個路由器互連的接口范圍內,與OSPF區域沒有任何關系,一個區域可能有多個多路訪問網段,那么就會存在多個DR和BDR,但一個多路訪問網段,只能有一個DR和BDR;選舉DR和BDR的規則為:
比較接口優先級
選舉優先級最高的成為DR,優先級數字越大,表示優先級越高,被選為DR的幾率就越大,次優先級的為BDR,優先級范圍是0-255,默認為1,優先級為0表示沒有資格選舉DR和BDR。
Route-Id大小
如果在優先級都相同的情況下,Route-Id 最大的成為DR,其次是BDR,數字越大,被選為DR的幾率就越大。
(2).在一個多路訪問網絡中,選舉DR和BDR是有時間限制的,該時間為Wait時間,默認為4倍的Hello時間,即與Dead時間相同,如果OSPF路由器在超過Wait時間后也沒有其它路由器與自己競爭DR與BDR的選舉,那么就選自己為DR;當一個多路訪問網絡中選舉出DR與BDR之后,在DR與BDR沒有失效的情況下,不會進行重新選舉,也就是在選舉出DR與BDR之后,即使有更高優先級的路由器加入網絡,也不會影響DR與BDR的角色,在越出選舉時間(Wait時間)后,只有DR與BDR失效后,才會重新選舉。DR失效后,會同時重新選舉DR與BDR,而在BDR失效后,只會重新選舉BDR。
②所有的非DR/BDR只與DR/BDR建立鄰居關系。
③非DR/BDR之間通過DR/BDR交換信息。
6.區域
為了使OSPF能夠用於規模很大的網絡,OSPF把一個自治系統分為若干個更小的范圍-->區域
好處:把利用洪泛法交換鏈路狀態信息的范圍局限於每個區域而不是整個AS,減少了整個網絡的通信量。


