這裡將說明何謂鏈路狀態通告技術,並示範怎樣使用OSPF路由協定,以及如何顯示OSPF路由協定的各種設定值,並且拿OSPF路由協定與其他協定比較,找出該協定的特色所在。
該指令的關鍵字為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下執行:
OSPF與其他路由協定的比較
其實這類型的比較,筆者已經做過不少次了,讀者在學習新的一個路由協定的同時,若能比較一下各種協定的差異,是相當有幫助的。介紹到這裡,加上過去幾期的文章,想必大家對於各種不同的路由協定都有了基本的認知。到目前為止,已介紹過RIP路由協定、IGRP路由協定、EIGRP路由協定以及OSPF路由協定,各個路由協定的特性比較如表1所示。
表1 各種路由協定的特性比較
從表1可以清楚看出,只有OSPF路由協定是屬於Link State,其他都是使用Distance Vector的方式。另外,可以觀察出EIGRP路由協定的路由資料收斂速度是最快的。而且只有RIPv2、EIGRP以及OSPF是Classless,其餘是Classful。
當然,各種路由協定的網路路徑衡量標準是截然不同的,這裡就不再一一描述。但基本上,大家可以記下來各種路由協定的AD值之差異,如表2所示。
表2 各種路由協定之AD值差異比較
Administrative Distance值(簡稱AD值)是一個從0到255的整數,每一種路由協定都有一個AD值與之對應,這個值代表這個路由協定所提供的資訊的可靠程度,其值越低,代表可靠程度越高。因此,在一個網路中,若同時使用多種不同的路由協定,則要傳送封包時,就會根據AD值來選擇比較適當的路由協定。從中應該也可以發現,直接連接分數最低,代表可靠程度最高,而其次為靜態路由,因為是網路管理人員直接設定的,所以自然而然地其可靠程度高於路由器所學習而來的路由路徑。
結語
這篇文章主要介紹了鏈路狀態通告以及被廣泛使用的OSPF路由協定,閱讀之後,可以清楚了解OSPF路由協定與其他協定的特別之處、LSA封包的用途、階層式路由、最短路徑優先演算法、Loopback介面的設計,以及如何實務性地使用OSPF路由協定和顯示OSPF路由協定的各種設定值。
<本文作者:胡凱智,目前在Solera Holdings Inc.擔任亞太區首席技術長,曾於美商Mozilla擔任全球技術專案總監,並在趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。讀者交流建議:https://www.facebook.com/khu.page>