先前已經介紹過RIP、IGRP和EIGRP等等路由演算法,接下來本文將說明OSPF路由協定。OSPF是以最短路徑為主的路由協定,全名是Open Shortest Path First。OSPF路由協定是屬於IGP(Interior Gateway Protocol)協定,而且也是Classless的Link State路由協定。
之前為讀者介紹的RIP路由協定、IGRP路由協定以及EIGRP路由協定都是屬於Distance Vector路由協定,這與本篇所要介紹的OSPF路由協定截然不同。
為什麼在介紹過這麼多種路由協定之後,還要再介紹OSPF路由協定呢?因為OSPF路由協定也經常被廣泛使用,所以身為一個專業的網管人員必須了解OSPF路由協定。
OSPF路由協定介紹
OSPF路由協定是由IETF(Internet Engineering Task Force)機構的IGP工作部門所開發出來,用於IP網路層的路由協定。
在1980年代,當時因為RIP路由協定雖然被廣泛地使用,但由於RIP路由協定的設計,單一路徑最多只能支援15個網路設備,所以RIP路由協定開始無法適用於大型的網路環境,當時才會研發IGRP路由協定,並且同時開發出OSPF路由協定。
OSPF路由協定專有特色
由於OSPF路由協定的產生,是為了解決RIP路由協定的設備數量的問題,所以OSPF路由協定就沒有設備數量(Hop Count)的限制。
此外,OSPF路由協定比較特別的一點是,OSPF路由協定第二版是開放性標準(Open Standard)。在1998年,IPv4版本(即OSPF第二版本)被定義在RFC 2328文件之中。2008年,IPv6版本(即OSPF第三版本)則是定義於RFC 5340文件內。
目前,OSPF路由協定可能是IGP協定之中最被廣泛使用的(最被廣泛使用的EGP是BGP協定,全名為Border Gateway Protocol)。
而且由於OSPF路由協定屬於IGP協定,所以這也代表OSPF路由協定必須被使用在同一個自治系統之中(稍後會介紹自治系統,自治系統是IGP與EGP的重要分別元素)。
另外比較重要的特色是,OSPF路由協定採用的是最短路徑優先演算法(Shortest Path First Algorithm),關於最短路徑優先演算法的詳細部分,底下會再做介紹。以下是OSPF路由協定的各項特色:
- 1.OSPF路由協定屬於開放性標準。
- 2.OSPF路由協定第二版定義在RFC 2328文件之中,第三版本則是在RFC 5340文件。
- 3.沒有設備數量(Hop Count)的限制。
- 4.採用最短路徑優先演算法(Shortest Path First Algorithm,SPF)。
- 5.必須運作於同一個自治系統之中,屬於IGP協定。
掌握住這些特色之後,就不難看出OSPF路由協定與其他路由協定的差異何在了。
OSPF與Distance Vector路由協定的差異
OSPF路由協定屬於Link State路由協定,與RIP、EIGRP以及IGRP路由協定都不同,EIGRP、RIP、IGRP則屬於Distance Vector路由協定,這些Distance Vector路由協定會發送全部或是部分Routing Table中的資料給鄰近的設備。
而OSPF路由協定,則會使用LSA的方式與其他路由器設備交換資訊,而不只是Routing Table的更新資訊而已。
Link State路由協定簡介
Link-State路由演算法會使用以下五種資訊來維護整個網路的路由資訊:
- 1. LSA(Link-State Advertisements)
- 2. 網路拓撲資料庫(Topological Database)
- 3. 最短路徑優先演算法(SPF)
- 4. 最短路經優先(SPF)樹狀結構
- 5. 存放網路路徑的Routing Table
其中,網路拓撲資料庫也被稱為Neighbor-ship Database,而最短路徑優先(SPF)樹狀結構也被稱為Link-State Database,而最後用來存放網路路徑的Routing Table就相當於存放「最佳路徑」的地方。
經典的Link-State路由演算法包括OSPF路由協定和IS-IS路由協定,其中OSPF的概念與相關詳細運作內容被定義在RFC 2328文件內,有興趣的讀者可以前往閱讀,RFC 2328的網址是「http://www.ietf.org/rfc/rfc2328.txt」,而IPv6的版本則在RFC 5340(http://www.ietf.org/rfc/rfc5340.txt)。
基本上,Link-State路由演算法會從其他路由器中收集整個網路的路徑資訊,也就是說,在整個網路中,所有的路由器會互相交換,並傳遞所知的網路路徑資訊。
到最後,每一台網路內的路由器設備都會對整個網路有一定的了解,因此整個網路上的每一台路由器設備都會有整個網路的路徑表。
等收集到整個網路的路徑資訊後,每一台路由器設備會自行計算屬於自己的「最佳網路路徑」,而這樣的資訊在各個路由器設備之間是不完全相同的。