距離矢量協議為信息流建立路標
在網絡組建中,如何選擇路由選擇協議并進行相關的配置,這是一項很重要的工作。路由就好像是一條條高速公路上的路標。如果路標標的不準確,那么數據流就可能無法達到目的地,或者說需要走冤枉路。今天筆者要給大家介紹的距離矢量路由選擇協議的配置及注意事項。這個距離矢量路由協議是現在比較流行的三大路由選擇協議之一。主要解決的就是這個“路標”的問題。
一、距離矢量協議通過“跳”來進行計算
如上圖所示,現在客戶端甲需要發送一條消息給乙。在上面這個網絡架構中,這個數據流該如何傳遞呢?從A直接傳遞到B,還是從A先傳遞到C、再傳遞到D、再傳遞到B呢?所采用的路由選擇協議不通,其采用的路徑也可能有所不同。而在距離矢量路由選擇協議算法中,則是根據“跳”來進行運算的。
簡單的說,距離矢量協議是通過判斷距離來查找到達目標網絡的最佳路徑。不過需要注意的是,這里的距離跟我們平時說的距離有點不同,其單位不是米或者公里,而是“跳”。數據包每通過一臺路由器,就成為一跳。當使用最少跳數量到達目的網絡的路由就被稱為似是最佳路由。根據這個原理,在采用距離矢量路由選擇協議的情況下,在上圖所示的網絡結構中,路由器A-路由器B將被認為是最佳路由。
二、路由信息的更新
如果網絡狀況發生變化,如上圖中,在路由器A與路由器B之間又加入了一個路由器E,此時路由器操作系統會如何適應呢?一般來說,距離矢量路由選擇算法會發送完整的路由選擇表到達相鄰的路由器。然后相鄰的路由器會講被接收到的路由表項目與自己原有的路由表進行組合,以更新路由器的路由表信息。在距離矢量選擇路由協議中,RIP是其中的一個典型代表。RIP只使用跳計數來決定到達末各互聯網絡的最佳路徑。
當網絡環境發生變化,路由器系統會自動更新路由表信息,然后重新計算到達目標網絡的跳數。然后再根據計算的結果來確定哪條是最佳路由。
三、網絡維護中的注意事項
距離矢量路由選擇協議看起來比較簡單,其實其背后還隱藏著很多負責的內容。在維護這個路由選擇協議的時候,筆者認為網絡管理員需要挖掘其背后的知識。只有如此,在日后的網路故障中,才能夠以不變應萬變。具體的來說,需要注意如下內容。
一是如何實現負載均衡?如上圖所示,現在客戶端A需要發送一個大型的文件給客戶端B。如果單靠一條鏈路進行傳輸的話,不僅會給網絡帶來很大的負擔,而且還需要會花費比較長的時間。在這種情況下,有沒有好的方法呢?其實距離矢量路由選擇協議中,有一個比較好的特性,即可以實現負載均衡。我們現在來假設一個情況,現在客戶端A與客戶端B之間有兩條鏈路,而且他們的跳數又是相同的。在這種情況下,哪一條是最佳路由呢?因為在RIP只使用跳計數來決定達到某個互聯網絡的最佳路徑。在這種情況下,如果發現對于同一個遠程網絡存在不止一條鏈路,并且他們又都具有相同的跳記錄,此時路由器會自動執行循環的負載均衡。也就是說,可以將數據分為兩部分,從而同時往多條鏈路上傳輸數據。這就好像是在兩個目的地之間多建了幾個車道,其流量顯然會成倍增加,從而縮短數據傳輸的時間。通常情況下,如果采用RIP距離矢量路由選擇協議的話,其最多可以支持6個相同開銷的鏈路來實現負載均衡。
二是需要注意其路由表的更新機制。當遇到網路故障時,了解這個更新機制對于分析故障的原因會有很大的幫助。通常情況下,當路由器在啟動的時候會加載路由表。在剛加載的時候,會根據路由發現協議更新路由信息。此時路由表中只有與他們直接相連網絡的內容。當距離矢量路由選擇協議在每臺路由器上運行之后,路由表將會使用從相鄰路由器得到的所有路由信息來完成更新。不過即使如此,每臺路由器在他們的路由表中只有與其進行直接相連的網絡信息。每臺路由器將從路由器上的每個激活的接口發送出它的完整路由表。這個路由表中包含有網絡號、輸出接口和可達網絡的跳計數。在網絡故障排除與性能優化的過程中,往往需要用到這些信息。如通過這些信息,可以分析出會聚的時間是否合理。當會聚的時間不是很合理的情況下,那么所采用的路由可能不是最佳的路由,或者說網絡的部署不是很合理。
四、距離矢量協議的缺陷與限制
雖然距離矢量協議其原理比較簡單,配置維護也比較方便。但是在實際工作中,這個路由選擇協議還存在著比較大的缺陷。在這里筆者以RIP距離矢量路由選擇協議為例,談談其的缺陷。在網絡組建與維護中,如果需要使用這種距離矢量路由選擇協議的話,那么網絡工程師要學會繞開這個缺陷與限制。
距離矢量協議的最重要缺陷就是最短的距離往往不是最快的距離。
在我們打出租車的時候,可能需要考慮走“最短”的路還是走“最快”的路。有時候由于最短的路走的人多,路比較繁忙。此時走這條路反而不能夠最快的到達目的地。相反,如果繞一點遠路,反而可以縮短到達的時間。從這個實際生活的例子中,我們可以看出最短的距離往往不是最快的距離。其實這個原則在網絡中也存在。如上圖所示,路由器A與路由器B這個鏈路,對于客戶端A與客戶端B來說,其只有一跳。而從路由器A-路由器C-路由器D-路由器B這條鏈路,其有四跳。光從跳數來看,顯然前者是比較合理的鏈路。但是現在的問題是,這條鏈路可能比較繁忙。此時走這條道路的話,由于擁塞等原因,需要比較多時間的等待。反而走另一條路,由于一路暢通,可以在更短的時間內到達。可見,路由選擇協議往往只適用于比較簡單的網絡。或者說,網絡管理員可以預測到網絡的負荷情況。否則的話,采用這個距離矢量路由選擇協議可能并不合適。
五、配置過程中主要適用的命令
在思科網絡環境中,可以通過router rip命令和Network命令,將RIP路由選擇協議添加到相關的配置中。在這個配置中,筆者認為只要了解了前面的內容之后,配置就變得簡單許多。不過在這里,還需要注意一點內容,即network命令的使用。
Network 20.0.0.0。
這個地址與我們普通的網絡地址不一樣。在使用這個命令的時候,我們沒有輸入子網的信息,而是直接輸入了類網絡地址。類網絡地址就是所有的子網和主機的位都是0。也就是說,我們并不需要關注子網的相關信息。因為找出子網并將他們放入到路由表中是路由選擇協議的工作,他們會自動處理。這就方便了我們的配置與維護。從這里我們也可以看出,使用RIP距離矢量路由選擇協議的話,還有一個比較重要的限制。即網絡中所有設備上的所有子網掩碼都必須相同。通常這種情況下的路由又被叫做有類路由。