路由生產演算法

2021-08-04 06:07:49 字數 2552 閱讀 9122

1 路由的一些概念

路由節點: 乙個具有路由能力的主機或路由器,它維護一張路由表,通過查詢路由表來決定向哪個介面傳送資料報。

介面: 路由節點與某個網路相連的網絡卡介面。

路由表:由很多路由條目組成,每個條目都指明去往某個網路的資料報應該經由哪個介面傳送,其中最後一條是預設路由條目。

路由條目:路由表中的一行,每個條目主要由目的的網路絡位址、子網掩碼、下一條位址、傳送介面四部分組成,如果要傳送的資料報的目的網路位址匹配路由表中的某一行,就按規定的介面傳送到下一條位址。

預設路由條目:路由表中的最後一行,主要由下一條位址和傳送介面兩部分組成,當目的位址與路由表中其它行都不匹配時,就按預設路由條目規定的介面傳送到下一條位址。

2 路由表

destination     gateway         genmask         flags metric ref    use iface

192.168.10.0 * 255.255.255.0 u 1

00 eth0

default 192.168.1.1

0.0.0.0 ug 0

00 eth0

路由表的destination是的目的絡位址,genmask是子網掩碼,gateway是下一條位址,iface是傳送介面,flags中的u標誌表示此條有效(可以禁用某些條目),g標誌表示此條目的下一條位址是某個路由器的位址,沒有g標誌的條目表示目的網路位址是與本機介面直接相連的網路,不必經路由器**,因此下條位址處記為* 號。

如果傳來乙個目的位址,此時與第一行的掩碼做與運算,如果等於第一行的目的位址,則到了,否則調到預設位址(因為本例只有兩行位址)。

路由的結果:1) 就是我這,到了。2)不是我,我知道在哪,你去那! 3)我不知道,她知道,去找她。

3 理想路由演算法

乙個理想的演算法應該具有一些特點:

1) 必須是正確的,完整的。正確指最終能到達目標網路和主機。

2) 計算上簡單。不可增大通訊的額外的開銷。

3) 能適應通訊量和網路拓撲的變化。即要有自適應性和穩健性。

4) 具有穩定性。 演算法應收斂於乙個可接受的解,收斂的速度是指尋找的正確路由的速度。

5) 演算法應該是公平的。公平不含有少數優先順序高使用者。

6) 演算法應是最佳的。最佳指合理,付出代價(cost)小。

4 常見的路由演算法

1) ford-fulkerson演算法

收到相鄰路由器(位址x)傳送過來的路由資訊後:

1) 先修改此路由資訊中的所有專案:把」下一跳」欄位中的位址改為x,並把所有」距離」欄位都加1。

2) 對修改後的路由表中的每乙個專案,重複以下步驟:

若專案中的目的網路不在路由表出現,則將該專案新增到路由表中。

否則 若下一跳字段給出的路由器位址是同樣的,與上乙個專案進行替換。

否則 若收到專案的距離小於路由表的距離,進行更新。

否則,什麼都不做。

3) 若3分鐘還沒有收到相鄰路由器的更新表,則把此相鄰路由器記為不可到達路由器,即把距離設定為16。

4) 返回。

ford-fulkerson演算法的**:

路由表中的每一行都包含三個字元,從左到右依次為目的網路,本路由器到目的路由器的最短距離下一跳路由器(直接交付為-)。

2) dijkstra演算法

1) 初始化:初始時令s=,t=v-s=,t中頂點對應的距離值。若存在< v0,vi>,d(v0,vi)為< v0,vi>弧上的權值。若不存在< v0,vi>,d(v0,vi)為∞。

2) 從t中選取乙個與s中頂點有關聯邊且權值最小的頂點w,加入到s中。

3) 對其餘t中頂點的距離值進行修改:若加進w作中間頂點,從v0到vi的距離值縮短,則修改此距離值。

重複上述步驟2、3,直到s中包含所有頂點,即w=vi為止。

dijkstra演算法**:

本文出處:《計算機網路》第四版,謝希仁,第六章

網路 路由生產演算法調研

一 相關名詞 1.路由 路由 名詞 資料報從源位址到目的位址所經過的路徑,由一系列路由節點組成。路由 動詞 從乙個介面上收到資料報,根據資料報的目的位址進行定向並 到另乙個介面的過程。2.路由節點 個具有路由能 的主機或路由器,它維護 張路由表,通過查詢路由表來決定向哪個介面傳送資料報。3.介面 路...

靜態路由演算法 vs 動態路由演算法

靜態路由演算法主要有洪氾法,隨機走動法,最短路徑法,基於流量的路由演算法 1 洪氾法 flooding 節點收到乙個報文分組後,向所有可能的方向複製 每個節點不接受重複分組,網路區域性故障也不影響通訊,但大量重複分組加重了網路負擔。這種方法適宜於網路規模小,通訊負載輕,可靠性要求極高的通訊場合 如軍...

路由演算法 Chandy Mistra演算法

計算同一目的節點所有最短路徑演算法,利用了擴散計算。即一種分布式計算,由乙個節點初始化,其他節點一接到訊息後就加入。要計算所有節點到節點v0的距離,每一節點u從du v0 開始並等候接收訊息。節點v0將訊息傳送到所有近鄰中。當節點u接近到近鄰w的訊息傳送到所有近鄰中。當節點u接到近鄰w的訊息時,其中...