路由器網(wǎng)絡c算法距離矢量協(xié)議直接傳送各自的路由表信息。網(wǎng)絡中的路由器從自己的鄰居路由器得到路由信息,并將這些路由信息連同自己的本地路由信息發(fā)送給其他鄰居,這樣一級級的傳遞下去以達到全網(wǎng)同步。每個路由器都不了解整個網(wǎng)絡拓撲,它們只知道與自己直接相連的網(wǎng)絡情況,并根據(jù)從鄰居得到的路由信息更新自己的路由表。
距離矢量協(xié)議無論是實現(xiàn)還是管理都比較簡單,但是它的收斂速度慢,報文量大,占用較多網(wǎng)絡開銷,并且為避免路由環(huán)路需要做各種特殊處理。
距離矢量算法要求每個路由器將自己的路由表傳送給相鄰的路由器。當路由器接收到更新的路由信息時,首先將更新的信息與原有的路由表中的信息相比較,遇到下述情況之一時.須修改本地路由表(假設RouterA收到RouterB的D-V報文)以反映最新的網(wǎng)絡變化:
(1)RouterB的路由表中列出的某表項RouterA的路由表中沒有,則RouterA的路由表中須增加相應表項,其目標網(wǎng)絡為RouterB路由表中的目標網(wǎng)絡,其路徑開銷為RouterB表項中的路徑開銷加l(假設以跳數(shù)計算路徑開銷).其下一跳為RouterB;
(2)RouterB的路由表中去往某目標網(wǎng)絡的路徑開銷比RouterA的路由表中去往該目標網(wǎng)絡的路徑開銷減1還小.這說明去往該目標網(wǎng)絡若經(jīng)過RouterB路徑開銷會更小.則RouterA修改本表項,將下一跳改為RouterB,路徑開銷為RouterB中的路徑開銷加l:
(3)RouterA的路由表中去往某目標網(wǎng)絡的下一跳為RouterB,而RouterB的路由表中去往該目標網(wǎng)絡的路徑開銷發(fā)生了變化.則RouterA中相應表項的路徑開銷須修改.以RouterB的更新后的路徑開銷加l取代原來的路徑開銷;
(4)RouterA的路由表中去往某目標網(wǎng)絡的下一跳為RouterB,而RouterB的路由表中不再包含去往該目標網(wǎng)絡的路徑,則RouterA的路由表中相應路徑應刪除。
抑制廣播風暴的方法:
水平分割是在距離矢量路由協(xié)議中最常用的避免環(huán)路發(fā)生的解決方案之一。分析產(chǎn)生路由環(huán)路的原因,其中一條就是因為路由器將從某個鄰居學到的路由信息又告訴了這個鄰居。水平分割的思想就是在路由信息傳送過程中,不再把路由信息發(fā)送給接收此路由信息的接口上。如上圖所示:
路由器C告訴路由器B去往網(wǎng)絡11.4.0.0的路由,路由器B會把此路由信息傳遞給路由器A。同時,也會再傳回給路由器C。網(wǎng)絡11.4.0.0沒有崩潰時,路由器C不會接受路由器B傳遞來的去住網(wǎng)絡11.4.0.0的路由信息。因為,路由器C有花費更小的路由。
如果路由器C到達網(wǎng)絡11.4.0.0的路由崩潰了,路由器C就會接受路由器B傳遞來的去往網(wǎng)絡11.4.0.0的路由信息,盡管這條路由信啟、已經(jīng)是錯誤路由了(因為隨著路由器C去往網(wǎng)絡11.4.0.0的路由崩潰,路由器B從路由器C學到的去往網(wǎng)絡11.4.0.0路由也就錯誤了)。但是路由器C并不知道這一點。
這樣,路由器B認為可以通過路由器C去往網(wǎng)絡11.4.0.0,路由器C認為可以通過路由器B去往網(wǎng)絡11.4.0.0,就形成了環(huán)路。
水平分割方法就是解決這樣問題的,水平分割不允許路由器將路由更新信息再次傳回到傳出該路由信息的端口。上圖中,路由器B從路由器C那里學習到了去往網(wǎng)絡11.4.0.0的路由。水平分割規(guī)定:路由器B不再把去往網(wǎng)絡11.4.0.0的路由信息傳回給路由器C,從而在一定程度上避免了環(huán)路的產(chǎn)生。