以下內容可翻閱第六版謝希仁版的《計算機網路》和《路由與交換技術》書查看具體協議信息
首先路由表有以下幾項形成
•網絡號
•下一跳地址
•接口
•Metric:跳數、延遲、費用
例如:
路由表項
特定主機路由 前綴長度爲32比特的路由表項。
網絡前綴路由 前綴長度爲1~31比特的路由表項。
缺省路由 前綴長度爲0比特的路由表項。
減少路由表所佔用的空間和搜索路由表所用的 時間; 經常使用;
IP報文轉發
1)取出收到的分組中的目的IP地址;
2) 用目的IP地址在路由表中查找:
1> 與路由表項的掩碼相與,計算出網絡地址,判斷是否與路由表項的 網絡地址相同
a)不相同匹配下一個路由表項,
b)如果匹配,具體如下 處理:
. 若目的網絡與路由器直接相連,則“直接交付”;
. 如果找到匹配的表項,則將分組發送到該表項指定的下一跳路 由器;
. 路由表中有“default”的表項,則匹配肯定成功;
2>如果未找到,發送一個“主機不可達”或“網絡不可達”的出錯信息給發出該 分組的計算機。
那麼就得分析,收到的分組的目的地址 D= 206.0.71.128路由表中的項目 206.0.68.0/22 206.0.71.128/25 應選擇哪條路由? 最長匹配優先(最長前綴匹配)
使用二叉線索查找路由表
當路由表的項目數很大時,怎樣設法減小路由表的查 找時間就成爲一個非常重要的問題? 最常用的就是二叉線索(binary trie)。
IP 地址中從左到右的比特值決定了從根結點逐層向下 層延伸的路徑,而二叉線索中的各個路徑就代表路由 表中存放的各個地址。
路由表的維護
路由表如何建立?如何根據網絡的變化進行更新?
• 靜態路由:由網絡管理員設置並隨時更新 網絡管理員的工作負擔重,容易出錯,無法根據網絡狀態,進行調 整,適應性差; 簡單、開銷小,只適用於小型網絡。
• 動態路由:路由器運行過程中根據網絡情況動態地維護 減輕了網絡管理員的工作負擔重; 實時性好,適應性好; 能夠滿足大型網絡的需要; 因要蒐集網絡運行狀態,網絡開銷有所增加,實現也比較複雜。
常見路由協議及其優先級
首先介紹RIP協議:
RIP特點
距離定義爲跳數,路由器到直接連接網絡的距離定義爲1。
路由器到非直接連接的網絡的距離定義爲所經過的路由器數加 1,即:每經過一個路由器,跳數就加1。
最佳路由是通過的路由器的數目最少,即“距離短”; RIP 允許一條路徑最多隻能包含15 個路由器,“距離”的最大 值爲16 時即相當於不可達。
可見RIP 只適用於小型互聯網。
RIP 不能在兩個網絡之間同時使用多條路由。
RIP 選擇一個具 有最少路由器的路由(即最短路由),哪怕還存在另一條高速( 低時延)但路由器較多的路由。
RIP工作原理
路由器按固定間隔與相鄰路由器交換路由信息
按固定的時間間隔交換路由信息,如:每隔30 秒。
僅和相鄰路由器交換信息;
交換的信息是當前本路由器所知道的全部信息,即自 己的路由表
距離向量算法(RIP) 收到相鄰路由器(其地址爲X)的一個RIP 報文:
(1) 先修改此RIP 報文中的所有項目:把“下一跳”字段中的地址都 改爲 X,並把所有的“距離”字段的值加1。(源於相鄰路由器)
(2) 對修改後的RIP 報文中的每一個項目,重複以下步驟:
若項目中的目的網絡不在路由表中,則把該項目加到路由表中。
否則 若下一跳字段給出的路由器地址是同樣的,則把收到的項目 替換原路由表中的項目。 (網絡拓撲發生變化)
否則 若收到項目中的距離小於路由表中的距離,則進行更新,
否則,什麼也不做。(不是佳路由)
(3) 若3 分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰 路由器記爲不可達路由器,即將距離置爲 16(距離爲16表示不可 達)。
(4) 返回。
路由表的建立
路由器在剛剛開始工作時,只知道到直接連接的網絡 的距離(此距離定義爲1)。
以後,每一個路由器也只和數目非常有限的相鄰路由 器交換並更新路由信息。
經過若干次更新後,所有的路由器最終都會知道到達 本自治系統中任何一個網絡的最短距離和下一跳路由 器的地址。
RIP 協議的收斂(convergence)過程較快,即在自治系 統中所有的結點都得到正確的路由選擇信息的過程。
在這隻介紹了簡單的路由表建立過程,事宜RIP協議爲例的,當然還有RIGRP、OSPF協議,具體協議內容請查閱相關資料