OSPF路由協議的驗證原理
說到路由協議,我們熟悉的幾個就是RIP,以及OSPF等幾個協議。現在我們就來重點了解一下OSPF路由協議的相關內容。首先解釋一下OSPF的含義。OSPF是一種典型的鏈路狀態路由協議。采用OSPF的路由器彼此交換并保存整個網絡的鏈路信息,從而掌握全網的拓撲結構,獨立計算路由。因為RIP路由協議不能服務于大型網絡,所以,IETF的IGP工作組特別開發出鏈路狀態協議——OSPF。目前廣為使用的是OSPF第二版,***標準為RFC2328。
OSPF作為一種內部網關協議(Interior Gateway Protocol,IGP),用于在同一個自治域(AS)中的路由器之間發布路由信息。區別于距離矢量協議(RIP),OSPF具有支持大型網絡、路由收斂快、占用網絡資源少等優點,在目前應用的路由協議中占有相當重要的地位。
1. 鏈路狀態
OSPF路由器收集其所在網絡區域上各路由器的連接狀態信息,即鏈路狀態信息(Link-State),生成鏈路狀態數據庫(Link-State Database)。路由器掌握了該區域上所有路由器的鏈路狀態信息,也就等于了解了整個網絡的拓撲狀況。OSPF路由器利用“最短路徑優先算法(Shortest Path First, SPF)”,獨立地計算出到達任意目的地的路由。
2. 區域
OSPF路由協議引入“分層路由”的概念,將網絡分割成一個“主干”連接的一組相互獨立的部分,這些相互獨立的部分被稱為“區域” (Area),“主干”的部分稱為“主干區域”。每個區域就如同一個獨立的網絡,該區域的OSPF路由器只保存該區域的鏈路狀態。每個路由器的鏈路狀態數據庫都可以保持合理的大小,路由計算的時間、報文數量都不會過大。
3.OSPF路由協議驗證
在OSPF路由協議中,所有的路由信息交換都必須經過驗證。在前文所描述的OSPF路由協議數據包結構中,包含有一個驗證域及一個64位長度的驗證數據域,用于特定的驗證方式的計算。
OSPF數據交換的驗證是基于每一個區域來定義的,也就是說,當在某一個區域的一個路由器上定義了一種驗證方式時,必須在該區域的所有路由器上定義相同的協議驗證方式。另外一些與驗證相關的參數也可以基于每一個端口來定義,例如當采用單一口令驗證時,我們可以對某一區域內部的每一個網絡設置不同的口令字。
在OSPF路由協議的定義中,初始定義了兩種協議驗證方式,方式0及方式1,分別介紹如下:
驗證方式0:
采用驗證方式0表示OSPF對所交換的路由信息不驗證。在OSPF的數據包頭內64位的驗證數據位可以包含任何數據,OSPF接收到路由數據后對數據包頭內的驗證數據位不作任何處理。
驗證方式1:
驗證方式1為簡單口令字驗證。這種驗證方式是基于一個區域內的每一個網絡來定義的,每一個發送至該網絡的數據包的包頭內都必須具有相同的64位長度的驗證數據位,也就是說驗證方式1的口令字長度為64bits,或者為8個字符。