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,減少了整個網路的通訊量。