1. 程式人生 > >通用的路由選擇算法

通用的路由選擇算法

ext 負載 查找 通用 由器 type size 不同 匹配度

本文旨在幫助讀者弄清路由選擇,希望能對讀者起到幫助。
流量包從一個出發點經過路由器到達目的地往往有多條路由可以選擇,有靜態路由的,有動態路由協議的,各種各樣的路由,所以路由器是怎麽從眾多路由中選擇出最優的路由的呢?它是怎麽做到的呢?這是因為路由器會根據路由選擇算法來算出最優的路由,路由器一般會根據最長匹配原則選擇出一些符合的路由,然後再從這些路由中根據它們的管理距離再次淘汰掉一些路由,再然後從二次選擇的路由中根據他們的度量值再次選擇,如果最後剩下路由的最長匹配原則一樣,管理距離一樣,度量值也一樣,那路由器就會對這些路由進行負載均衡;
其實路由選擇算法選擇路由就想比賽中的淘汰賽,會經過第一輪“最長匹配原則”淘汰賽,第二輪“管理距離”淘汰賽,第三輪“度量值”淘汰賽,最後得出“最優路由”
那何為“最長匹配原則”?
當路由器收到一個去往目的地的IP包時,會將數據包的目的IP地址與路由表中的路由進行bit by bit的逐位查找,直到找到匹配度最長的條目,這叫最長匹配原則。通俗的來說,比如當路由器收到去往2.2.2.2的IP數據包,而路由器此時表項中有3條去往2.2.2.2的路由,分別為2.0.0.0/8,2.2.0.0/16,2.2.2.0/24,這時路由器會對目的IP和自己路由表中的路由進行一位bit一位bit的匹配,顯然最終匹配度最高的為2.2.2.0/24這條路由,這就是最長匹配原則。
那何為“管理距離”(AD)呢?
如果一條路由是從多種途徑宣告出來的,如靜態路由,RIP,OSPF等多種動態路由協議,那麽路由表會根據不同路由協議的可信度來選擇路由,用管理距離表示。
管理距離越小,說明路由的可信度越高;靜態路由的管理距離為1,說明手工輸入的路由優先級高於其他的路由。
技術分享圖片
最後何為“度量值”呢?
當路由協議有多種路徑到達某一目的網絡時,路由協議必須判斷其中哪一條是最佳的並把它放到路由表中,路由協議會給每一條路徑計算出一個數,這個數就是度量值,通常這個值是沒有單位的。度量值越小,這條路徑越佳。然而不同的路由協議定義度量值的方法不是一樣的,所以不同的路由協議選擇出的最佳距離可能也是不一樣的。
那麽各路由協議是怎麽算度量值的呢?
技術分享圖片

通用的路由選擇算法