小型網路的最佳選擇是採用RIP路由協定,但RIP路由協定只支援15個路由器設備。若是超過這個上限,該如何選擇呢?為此,本文將介紹適用於中型網路的路由協定—IGRP。
至於最後的「flushed after 630」所指的是,若經過630秒後都沒有再收到任何關於這筆路由資訊的更新,路由器A就會把這筆資料從Routing Table內移除。
在顯示結果的後半部有一行顯示「Routing for Networks:」,在此行後面接了兩個網段,代表目前這台路由器將會處理這兩個網段的路由資訊,也就是10.0.0網段和172.16.0.0網段。
至於接在「Routing Information Sources:」後面的IP位址,則代表這些位址會傳送路由的更新資訊給目前這台路由器。當然,各位讀者應該可以聯想到,後面所接的100指的就是IGRP路由協定的AD值。
以上的結果和RIP路由協定的設定輸出沒有什麼兩樣,比較不一樣的地方在於,IGRP路由協定還有顯示路徑衡量標準的各項因素的考慮權重,如下所示:
K1到K5這五個值,分別代表五種影響IGRP路由協定的路徑因素,預設只會使用K1和K3這兩個值,K1代表網路頻寬的權重,而K3則代表網路延遲的權重,它們的預設值都是1。
如果覺得這樣的檢視資訊過於複雜,也可以執行以下的指令來顯示比較簡短的設定值:
疑難排解
接著,介紹IGRP路由協定的疑難排解方法。當然不一定只有以下提到的這些方法而已,端看各位遇到的情況而定,有時候不一定是IGRP路由協定的問題,通常可以查看Routing Table,或是透過show running-config指令檢查目前正在使用的路由器設定值,或是執行show ip protocols指令查看協定的設定情況。
此外,若想即時看到目前這台路由器更新關於IGRP路由協定的路由資訊情況,可以執行debug ip igrp指令。一旦執行這個指令,往後如果這台路由器收到或是發送任何路由資訊的更新時,就會把相關的資料列印在螢幕上,以便做即時的疑難排解。
這裡以本篇文章一開始的例子來講解,假設在路由器A上執行debug ip igrp指令,則執行結果如下列所示:
這裡所顯示的內容很明顯地與RIP路由協定不同,而從上述的結果中可以看出這台路由器學習到172.16.0.0、192.168.1.0以及10.2.2.0的網段資訊。由於篇幅有限,詳細的技巧會在以後的文章中做詳細介紹。
Classful路由協定設定技巧
這篇文章與上一篇文章介紹的路由協定,剛好都是屬於Classful路由協定,因此這裡稍微講解一下使用Classful路由協定時必須注意的事項和一些相關的小技巧與知識。
使用Classful路由協定的注意事項
若要使用Classful的路由協定,而又有做子網路分割(subnetting)時,則所有子網段的網路遮罩長度必須相同,而各個子網段必須是連續的,不可中斷。例如下面這樣的網路架構圖就有達到這樣的需求。
如果沒有遵行這樣的規則,Classful的路由協定將無法正常運作。之前提到過,Classful的路由協定在傳遞路由資訊時,不會傳遞子網路遮罩的訊息。所以當使用Classful的路由協定時,所有運行的網路都必須使用相同的子網路遮罩,因為Classful的路由協定會自動做到自動路由匯總(Automatic Route Summarization),而且運行Classful路由協定的網路必須使用Major的網路遮罩數目。
例如Class A的網路,就要使用預設的網路遮罩,亦即255.0.0.0,而Class B網路的預設網路遮罩是255.255.0.0,同理可知,Class C網路的預設網路遮罩是255.255.255.0。
如果Router設備收到更新的路由資訊時,其資訊中包含與接收介面相同的網路遮罩,則這台Router設備就會採用這個接收介面的網路遮罩。倘若Router設備收到的路由資訊中所包含的網路遮罩與接收介面的設定不同,Router設備就會依照網路IP來套用預設的網路遮罩。
換句話說,若收到的網路IP是屬於Class A的網路,則套用255.0.0.0,若是Class B的網路,則套用255.255.0.0,如果是Class C的網路,則套用255.255.255.0當作網路遮罩。
避免讓Classful路由協定丟棄封包
預設上,Classful的路由協定都會假設所有直接連接於這個Router設備的子網路都被塞到自己的Routing Table內。當Router設備收到一個封包,而這個封包的目的端網路不存在於這台Router設備的Routing Table中,那麼這台運行於Classful路由協定的Router設備就會把這個網路封包丟棄,因為這台Router設備會假設這樣的目的端網路並不存在,即使是已設定預設路由,也是一樣。例如下圖這樣的網路架構:
假若Router B並沒有把前往Router A的路由加到Routing Table內,那麼透過Router A要前往另一端網路的封包都會被丟棄。然而,網路管理人員可以藉由ip classless指令來避免這樣的事情發生。這個指令執行於Global Configuration模式之下,預設上這個指令是啟動的。