RIP協議是一種采用距離向量算法的路由協議。
到目的網絡的距離以跳為單位,最大距離為15,距離16表示無窮大,即目的網絡不可達。(這一規定限制了RIP協議只能適用於中小網絡,網絡規模太大的話路由信息就無法到達遠端路由器了)
初始時每個RIP路由器只有到直連網的路由,距離為1;
每30秒RIP路由器把它的整個路由表發給鄰居(具體實現時每個鄰居會錯開發送,30秒的時間也會隨機變化一點)
簡述RIP協議的工作原理:路由器每30秒把自己的路由表發給鄰居。路由器用鄰居發來的路由表根據距離向量算法修改自己的路由表。初始時每個路由器只有到直連網距離為1的路由。
1、RIP協議的工作方式
利用鄰居的路由表建立自己的路由表:當收到鄰居發來的路由表時,路由器將更新它的路由表<目的網絡,開銷,下一跳>:
首先將收到的路由的距離全加1(即一跳的距離);
再利用收到的路由表修改自己的路由表:
將收到的路由表中不存在的路由表項加入到自己的路由表;
如果收到的路由表中某一項的距離比該路由器原路由表對應項的距離更小,則更新該路由表項,並將對應路徑的下一跳設置為鄰居;
如果路由項存在,就要重置失效定時器;
如果收到的路由表中存在某一項的目的網絡也是該路由器的路由表中某一項的目的網絡,且下一跳為發送路由表的路由,那無論如何該路由器都要更新對應的表項,將距離改為收到的表項中的距離+1;
2、RIP協議的問題
1、慢收斂(slow convergence):
這是RIP相對於OSPF而言的問題,因為RIP依靠定時器進行每30秒一次的周期更新路由器的路由表,當網絡的拓撲結構發生變化時它收斂於新拓撲結構的速度會變慢,有可能導致錯誤的數據重復發送。
假設相鄰兩個路由器之間的開銷為1,則最長需要時間=(m-1)*30,最少需要時間=0,平均需要時間=(最長+最少)/2。
2、計數到無窮(count to infinity)
出現計數到無窮時,最終還是會收斂,只是延緩了收斂的速度。
當R1修改其到N1的距離為16后,如果R2把自己的路由表發給R1則R1會更新自己到N1的距離為3,然后發回給R2,R2更新其到N1的距離為4,如此下去直到兩者到N1的距離均為16。
因此RIP不適用於路徑劇烈變化的網絡環境,也不適用於大型網絡環境,但在小型網絡中仍在大量使用。
3、RIP協議的相關技術
水平分割技術(split horizon):從一個接口學來的路由不會從該接口發回去;(無法防止所有計數到無窮的問題:當路由器形成環路的時候)
毒性反轉技術(poison reverse):當一條路由變為無效后,路由器並不立即將它從路由表中刪除,而是將其距離改為16后廣播給鄰居,使鄰居擁有的該路由立即失效。(距離為16的路由稱為毒化路由)
抑制技術(hold down):距離被改為無窮大的路由在一段短時間內(180秒)其距離不允許被修改;
觸發更新(triggered update):一旦出現路由變化將立即把變化的路由發送給鄰居,原有的30秒發送一次完整的路由表依然不變(減小了計數到無窮的概率) 。有了觸發更新機制后仍然需要保留原有的每隔30秒就把路由表發送給鄰居的機制。這是為了防止觸發更新時發送的路由表信息丟失,以及防止路由信息出錯(只用觸發更新的話若路由信息出錯了會一直保留直到下一次觸發);同時用TTL清除無效路由后也要將路由表發送給鄰居。
路由器的抑制算法主要是為了防止抖動造成整個網絡不穩定(抖動:短時間有路由器多次接入、斷開網絡)。
4、RIP協議的定時器
更新定時器:控制一個路由器如何定期把路由表發給鄰居,默認為30秒;
一條路由的失效定時器到期時被標記為無效路由,路由被更新時其失效定時器會被重置,默認為180秒;
一條路由的清除定時器到期時該路由將從路由表中刪除。路由被更新時會重置(240秒);
抑制定時器:在路由的距離變為無窮大時啟動,在其到期之前不允許修改該路由的距離,默認為180秒;
5、RIP數據包格式
RIPv1:用UDP數據報封裝(端口號為520),且采用廣播方式發送給鄰居;
命令:為1時表示request報文,要求接收方路由器發送其全部或部分路由表;為2時表示response報文,主動提供周期性路由更新或對請求消息的響應;
版本:即使用的RIP協議的版本,v1,v2;
字節為0表示未用;
地址簇標志:指明底層使用了哪些通信協議來傳輸數據,RIP協議可以攜帶多種不同協議的路由信息,每一項都有地址標志來表明使用的地址類型,IP地址的AFI為2;
RIPv2:支持無類網,可以采用廣播或者多播的形式將路由表發給鄰居;第一個路由項可以用於身份認證。
————————————————
版權聲明:本文為CSDN博主「刻苦驢啊」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/d5__j9/article/details/90763720