先前已經介紹過RIP、IGRP和EIGRP等等路由演算法,接下來本文將說明OSPF路由協定。OSPF是以最短路徑為主的路由協定,全名是Open Shortest Path First。OSPF路由協定是屬於IGP(Interior Gateway Protocol)協定,而且也是Classless的Link State路由協定。
OSPF路由協定指令簡介
接下來介紹OSPF路由協定的指令,以圖4的網路架構圖為例來做說明:
|
▲圖4 網路架構圖範例2。 |
圖4之中共有A、B、C三台路由器,以及172.16.1.0/24、10.1.1.0/24、10.2.2.0/24、192.168.1.0/24四段網路區段,假設要將A、B、C這三台路由器全都設定成使用IGRP路由協定,則相關設定流程如下所述。
啟動OSPF路由協定
先介紹單一區域(Single Area)內如何設定OSPF路由協定。這裡最重要的第一步驟是先啟動OSPF路由協定,啟動指令如下所示:
該指令的關鍵字是router ospf,後面接上的100指的是Process ID。Process ID是用來指定這個路由計算的Process,此數字必須是單一獨特,可以是任意選擇的數字。
同時,這個Process ID數字也不需要與其他使用OSPF路由協定的路由器設備上的Process ID相同。
設定OSPF路由協定連接的網路
第二步驟是設定路由器設備所連接的網路區段資訊。若要設定路由器A的相鄰網段,而路由器A附近的網段如圖5所示,因此相關指令執行如下:
|
▲圖5 路由器A附近的網段。 |
這個指令的關鍵字是network,後面分別接上位址、位址遮罩和區域號碼。
第一個接上的位址可以是網路位址(Network Address)、子網路位址(Sub-network Address)或是單一電腦的IP位址,以上面的兩行範例指令而言,分別是172.16.1.1和10.1.1.1兩者。
接下來要指定的是遮罩(Wildcard Mask),這個遮罩用來指定所要符合(match)的IP位址。其中,0代表必須符合,而1則代表不比對,就是Don’t Care。
舉上面的範例指令來說:
這一行就是代表要符合172.16.1.1這個IP位址才行,因為後面的遮罩為0.0.0.0,也就是整個IP位址要完全一樣才行。
最後所指定的area 0,代表OSPF路由協定所運行的區域代碼,這個代碼可以是十進位的任一數字,中間也可以穿插小數點。
而在Multi-access網路內,會選出一台Designated Router,也稱為DR。Multi-access網路是指一個網路內可以使用兩個以上的路由器,例如乙太網路。同時也會選出一台Backup Designated Router(BDR)。
DR路由器必須負責產生LSA封包以便給所處的Multi-access網路使用。這個DR路由器的責任是減少路由更新所需要的網路流量,以及管理整個網路Link-State資料同步的動作。
而DR路由器和BDR路由器的選取方式,是根據OSPF路由協定所定義的優先序,以及使用OSPF路由協定的路由器ID值。
至於那些不是Multi-access的網路類型,例如Point-to-Point Serial Link,就不需要選出DR路由器和BDR路由器。
Loopback介面與路由器ID值
前面曾提到,使用OSPF路由協定的路由器都會有路由器ID值,事實上,這個路由器ID值就是這台路由器所有介面當中最大的IP值。
Loopback介面是一種特殊的虛擬介面,藉由指定IP到這個Loopback介面上,可以改變路由器的路由器ID值,因為能夠在Loopback介面上指定更大的IP值,以便更改這台路由器的IP值,也因此可以變更DR路由器和BDR路由器的選取。
這裡建議將路由器ID值透過Loopback介面來指定,這樣一來,就算網路規劃發生改變時,這台路由器的ID值也不會因為網路規劃變更而有所改變,而原本是DR路由器或是BDR路由器的角色也不會因而受到改變。這種網路規劃時的小秘訣,讀者可以參考一下。
另外,Loopback介面不像其他一般的實體介面會有狀態的變化,Loopback介面永遠都是啟動的狀態,而且無法改成關閉(Down)的狀態。
顯示OSPF路由協定設定值
到這裡為止,已經知道如何啟用OSPF路由協定以及如何設定鄰近的網段,好讓路由器知道該如何交換路由資訊,但是現在還無法確定這些設定動作真的都能夠正常運作。因此,接著說明如何顯示並且確認這些設定值,以確保運作無虞。
前幾篇文章已經詳細介紹許多如何顯示設定值和Routing Table的指令,因此就不再詳細介紹,只簡介各種可以顯示設定值的指令。
對OSPF路由協定而言,有一些特殊的顯示設定指令是其他路由協定所沒有的。以下說明這些常用的指令:
還記得OSPF路由協定的儲存資料中,分成「鄰近設備資料表(Neighbor Table)」、「網路拓撲資料表(Topology Table)」和「路由路徑資料表(Routing Table)」等三種資料表嗎?上面這個指令就是用來顯示OSPF路由協定的「鄰近設備資料表」。
這個指令則用來顯示OSPF路由協定的「網路拓撲資料表」。
以上指令可用來顯示區域ID值和鄰近設備的資訊。
最後這個指令是用來顯示目前路由協定的運作情況以及相關的設定值。因為這些指令都是show指令,所以也記得是在Privilege Mode下執行。