距離向量路由算法(Bellman-Ford Routing Algorithm),也叫做最大流量演算法(Ford-Fulkerson Algorithm),其被距離向量協議作為一個算法,如RIP, BGP, ISO IDRP, NOVELL IPX。使用這個算法的路由器必須掌握這個距離表(它是一個一維排列-"一個向量"),它告訴在網絡中每個節(jié)點的最遠和最近距離。在距離表中的這個信息是根據臨近接點信息的改變而時時更新的。表中數據的量和在網絡中的所有的接點(除了它自己本身)是等同的。這個表中的列代表直接和它相連的鄰居,行代表在網絡中的所有目的地。每個數據包括傳送數據包到每個在網上的目的地的路徑和距離/或時間在那個路徑上來傳輸(我們叫這個為"成本")。這個在那個算法中的度量公式是跳躍的次數, 等待時間,流出數據包的數量,等等。
在距離向量路由算法中,相鄰路由器之間周期性地相互交換各自的路由表備份。當網絡拓撲結構發(fā)生變化時,路由器之間也將及時地相互通知有關變更信息。
路由表的建立和更新
如上圖,有三個路由器,A,B和C。路由器A的兩個網絡接口E0和S0
分別連接在 10.1.0.0和10.2.0.0網段上;路由器B的兩個網絡接口S0和S1
分別連接在 10.2.0.0和10.3.0.0網段上;路由器C的兩個網絡接口S0和E0
分別連接在 10.3.0.0和10.4.0.0網段上;
如上圖中各路由表的前兩行所示,通過路由表的網絡接口到與之直接相連的網絡的網絡連接,其向量距離設置為0。這即是最初的路由表。
當路由器B和A以及B和C之間相互交換路由信息后,它們會更新各自的路由表。
例如,路由器B通過網絡端口S1收到路由器C的路由信息(10.3.0.0,S0,0)和(10.4.0.0,E0,0)
后,在自己的路由表中增加一條(10.4.0.0,S1,1)路由信息。該信息表示:通過路由器B的網絡接口S1可以訪問到10.4.0.0網段,其向量距離為1,該向量距離是在路由器C的基礎上加1獲得的。
同樣道理,路由器B還會產生一條(10.1.0.0,S0,1)路由,這條路由是通過網絡端口S0從路由器A獲得的。如此反復,直到最終收斂,形成圖中所示的路由表。
概括地說,距離向量算法要求每一個路由器把它的整個路由表發(fā)送給與它直接連接的其它路由器。路由表中的每一條記錄都包括目標邏輯地址、相應的網絡接口和該條路由的向量距離。當一個路由器從它的相鄰處收到更新信息時,它會將更新信息與本身的路由表相比較。如果該路由器比較出一條新路由或是找到一條比當前路由更好的路由時,它會對路由表進行更新:將從該路由器到鄰居之間的向量距離與更新信息中的向量距離相加作為新路由的向量距離。
關鍵詞標簽:路由算法
相關閱讀
熱門文章 路由器地址大全-各品牌路由設置地址 各品牌的ADSL與路由器出廠默認IP、帳號、密碼 Nslookup命令詳解-域名DNS診斷 站長裝備:十大網站管理員服務器工具軟件
人氣排行 各品牌的ADSL與路由器出廠默認IP、帳號、密碼 路由器地址大全-各品牌路由設置地址 騰達路由器怎么設置?騰達路由器設置教程 ADSL雙線負載均衡設置詳細圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網管員實際工作的一天 網管必會!了解交換機控制端口流量