6.4.3距離矢量路由協議
距離向量指協議使用跳數(中繼路由數)和向量來確定從一個設備到另一個設備的距離,而不考慮每跳鏈路的速率。
距離向量路由協議用兩種方法獲知拓撲的改變和路由的超時:
當路由器不能直接從連接的路由器收到路由更新時;
當路由器從鄰居收到一個更新,通知網絡的某個地方拓撲發生了變化。
在小型網絡中少於100個路由器,或需要更少的路由更新和計算環境),距離向量路由協議運行得相當好。當小型網絡擴展到大型網絡時,該算法計算新路由的收斂速度極慢,而且在它計算的過程中,網絡處於一種過渡狀態,極可能發生循環並造成暫時的擁塞。再者,當網絡底層鏈路技術多種多樣,帶寬各不相同時,距離向量算法對此視而不見。
距離向量路由協議的這種特性不僅造成了網絡收斂的延時,而且消耗了帶寬。隨著路由表的增大,需要消耗更多的資源,並消耗了內存。
IP協議是一個典型的距離矢量路由協議
IP協議基於一個被稱為,該程序運行在版本的係統之上,並在1988年被標準化在中。而在中所描述的版本2中,增加了對支持,但沒有彌補該協議的主要缺陷。例如,在有多重路徑到相同目標的網絡中,IP確定使用一條可選擇的路徑將花費許多時間,在沒有多重路徑的網絡中,協議已經被廣泛使用。
IP協議被列為距離矢量協議,這意味著它使用距離來決定最佳路徑,如通過路由來衡量。路由器每30秒互相發送廣播信息。收到廣播信息的每個路由器增加一個跳數。如果廣播信息經過多個路由器收到,到這個路由器具有的路徑是被選中的路徑。如果首選的路徑不能正常工作,那麼具有較的路徑被作為備份。
對於協議(和其他路由協議),網絡上的路由器在一條路徑不能用時必須經曆決定替代路徑的過程,這個過程稱為收斂IP協議花費大量的時間用於收斂是個主要的問題。在IP協議認識到路徑不能達到前,它被設為等待,直到它已錯過6次更新總共180秒時間。然後在使用新路徑更新路由表前,它等待另一個可行路徑的下一個信息的到來。這意味著在備份路徑被使用前至少經過了3分鍾,這對於多數應用程序超時是相當長的時間。
IP協議的另一個基本問題是,當選擇路徑時它忽略了連接速度問題。例如,如果一條由所有快速以太網連接組成的路徑比包含一個以太網連接的路徑多一個跳數,具有較慢以太網連接的路徑將被選定作為最佳路徑。
IP協議的原始版本不能應用因此不能分割地址空間以最大效率地應用有限的IP地址。IP協議通過引入子網屏蔽與每一路由廣播信息一起使用實現了這個功能。
路由協議還應該能防止數據包進入循環,或落入路由選擇循環,這是由於多餘連接影響網絡的問題。IP協議假定如果從網絡的一個終端到另一個終端的路由跳超過15個,那麼一定牽涉到了循環。因此當一個路徑達到16跳,將被認為是達不到的。顯然,這限製了IP協議在網絡上的使用。
IP的最大問題涉及到具有多餘路徑的較大網絡。如果網絡沒有多餘的路徑,協議將很好地工作,它是被幾乎每個支持路徑選擇的廠商實施的比如過標準。IP協議適用於多數服務器操作係統,它的配置和障礙修複非常容易。對於規模較大的網絡,或具有多餘路徑的網絡,應該考慮使用其他路由協議。
協議被大多數IP路由器商業賣主廣泛使用,IP協議是最廣泛使用之一,著名的路徑刷新程序便是根據IP實現的。IP協議被設計用於使用同種技術的中型網絡。因此適應於大多數的校園網和使用速率變化不是很大的連續線的地區性網絡。對於更複雜的環境一般不使用反協議,IP協議處於協議的上層。IP的路由信息都封裝在數據報中,接收來自遠程路由器的路由修改信息並對本地的路由表做相應的修改,同時通知其他路由器通過這種方式達到全網路由的有效。
IP協議分為傳統IP協議、需求協議和觸發而傳統IP協議又分為兩個版本,需求協議和觸發IP協議與傳統IP協議的區別在於:需求IP協議和觸發IP協議支持,對撥號網的路由的維護增添了幾種相應的報文命令,增加了報文發送確認方式。
協議每隔30秒定期向外發送一次更新報文。如果路由器經過180秒沒有收到來自某一路由器的路由更新報文,則將所有來自此路由器的路由信息標誌為不可達,若在其後120秒內仍未收到更新報文,就將這些路由從路由表中刪除。
此例中,度量值使用了跳步數。在10時刻,路由器六到路由器剛剛啟用反協議,此時,從人到0的四台路由器都僅僅知道其直接連接的網絡的路由,這些路由的跳步數均為0,並且沒有下一跳路由器,在更新時刻到來時,這四台設備都會以廣播的方式向各自的所有鏈路發送這些路由信息。
每台設備都接收到了相鄰設備的更新並進行了第一次的路由信息調整。對路由器來講,它接收到了來自的更新報文,告之有到達10.1.2.0和10.1.3.0網絡的路由,更新報文中到達10.1.3.0網絡的路由是可以接受的,因為自己的路由表中沒有到達10.1.3.0網絡的路由,而對於到達10.1.2.0網絡的路由,人不會采納的原因在於,8發布的有關10.1.2.0網絡的路由跳步數為1,比自己當前所知道的要大,因此它認為應該保留現在的最佳路由。這樣人將10.1.3.0的路由加入到自己的路由信息表中,同時將接收這條消息的源作為路由的下一跳記錄下來。
對於其他的路由器也將執行相似的過程,最終對於如上圖的網絡環境,經過3個更新周期後每台路由器都會形成到達整個網絡的路由。
6.4.4鏈路狀態路由協議
鏈路狀態路由協議沒有的限製,使用“圖形理論”算法或最短路徑優先算法。它具有更短的收斂時間。
鏈路狀態路由協議在直接相連的路由之間維護正常的鄰居關係。鏈路狀態路由協議在會話期間通過交換包(也叫鏈路狀態信息)創建對等關係,這種關係加速了路由的收斂。
不像距離向量路由協議那樣,更新時發送整個路由表。鏈路狀態路由協議隻廣播更新的或改變的網絡拓撲,這使得更新信息更小,節省了帶寬和利用率。另外,如果網絡不發生變化,更新包隻在特定的時間內發出(通常為30分鍾到2小時)。
是一個基於鏈路狀態的動態路由協議,它是組織開發的一個基於鏈路狀態的自治係統內部路由協議。在IP網絡上,它通過收集和傳遞自治係統的鏈路狀態來動態地發現並傳播路由。當前協議使用的是第二版,最新的是協議的基本思路如下:在自治係統中每一台運行的路由器收集各自的接鄰接鏈路信息稱為鏈路狀態,通過算法在整個係統廣播自己的鏈路狀態,使得在整個係統內部維護一個同步的鏈路狀態數據庫,根據這一數據庫,路由器計算出以自己為根,其他網絡節點為葉的一根最短的路徑樹,從而計算出自己到達係統內部各網絡的最佳路由。它處理在一個自治係統中,路由器的路由表信息。