距離向量路由演算法要求,每個結點都參與定期交換整個路由表,即把路由表傳遞給自己與之相連的結點。
這裡以 rip 演算法(距離向量演算法的一種)為例。
從相鄰的 x 路由器接收傳送過來的 rip(routing information protocol) 報文
對每個專案執行如下步驟
a.若原路由表沒有 rip 中的目的網路 n,直接新增到原路由表中
b.若原路由表中有 rip 中的目的網路 n,但下一跳位址不是 x ,選擇跳數少的替換。如果兩者跳數一樣,則保留原路由表的項。
c.若原路由表中有 rip 中的目的網路 n,且下一跳位址是 x,使用收到的項替換若超過 180s (rip 預設 180s)還沒有收到相鄰路由器的更新路由表,則相鄰路由器置為不可達,跳數為 16
5.不同嚇一跳,距離一樣,不改變
6.不同下一跳,距離更大,不改變
演算法的缺點:可以看到,距離向量協議傳送的是整個路由表,那麼報文的大小就和通訊子網的結點個數成正比,如果通訊子網越大,那麼報文也將非常大。
如下,有 b,c 兩個路由器的路由表。b,c 為相鄰路由器,現在 c 向 b 傳送 rip 報文,求 b 更新後的路由表
b 的路由表
目的網路
距離下一跳n17
an22c
n68fn8
4en94
dc 的 rip 報文中的路由表
目的網路
距離n2
15n32n4
8n82n7
4解:
目的網路
距離下一跳
n216cn3
3cn49
cn83c
n75c與原路由表(b 的路由表)比較並更新
a. 因為 c 路由表中並無關於 n1,n6 和 n9 的資訊,所以原路由表儲存不變
b.對於 n2,目的網路一樣,下一跳位址一樣(同為 c),所以更新跳數為 16
c.對於 n3,因為原路由表中無該項,所以直接新增。n4 和 n7 同理新增
d.對於 n8,目的網路一樣,但下一跳不一樣,選擇距離短(跳數少的新增),所以更新為 c 路由表的資訊
更新後的 b 路由表
目的網路
距離下一跳n17
an216c
n33cn4
9cn68
fn75c
n83cn9
4d這是關於距離向量的另一種考法
距離向量演算法
最近在學習計算機網路原理,覺得這個演算法很好玩,於是便決定來研究研究它。什麼叫距離向量演算法?路由表中最重要的資訊是 到每個網路的距離 即最短距離 以及應經過的下一跳位址。路由表更新的原則是找出到每個目的網路的最短距離。這種更新演算法就又稱為距離向量演算法。下面來具體解釋 對每乙個相鄰路由器傳送過來...
距離向量演算法 (2)聚類演算法之K means演算法
k means演算法是一種聚類演算法,所謂聚類,即根據相似性原則,將具有較高相似度的資料物件劃分至同一類簇,將具有較高相異度的資料物件劃分至不同類簇。聚類與分類最大的區別在於,聚類過程為無監督過程,即待處理資料物件沒有任何先驗知識,而分類過程為有監督過程,即存在有先驗知識的訓練資料集。k means...
理解距離向量路由
1 常用的距離向量路由 ip rip igrp等等 2 距離向量演算法讓路由器向每個鄰居週期性的傳送完整的路由表,包括每個網路或者子網的資訊,相關的度量值等等 3 專業術語 術語 描述毒化路由 以前有效的路由,現在變成了無窮大的度量值。毒性反轉 以前因為水平分割不通告,但是現在以無窮大通告的路由 水...