RIP是一種基於距離矢量的路由協議,以路由跳數做爲計數單位的路由協議。適合用於比較小型的網絡環境。 中文名路由信息協議 外文名 Routing Information Protocol 類 型 路由協議 計數單位 路由跳數[1] 英文原義:Routing Information Protocol 中文釋義:路由信息協議 註解:該協議是施樂公司20世紀80年代推出的,主要適用於小規模的網絡環境。RIP協議主要用於一個AS(自治系統)內的路由信息的傳遞,每30秒發送一次路由信息更新,RIP協議提供跳躍計數(hop count)做爲尺度來衡量路由距離,跳躍計數是一個包到達目標所必須通過的路由器的數目,RIP最多支持的跳躍數爲15。 應 用:在Windows中,咱們能夠經過啓用「RIP偵聽」功能來偵聽RIP消息,這樣計算機能夠了解其餘路由,而後向路由表中添加它們的IP地址。以Windows XP爲例,具體的啓用「RIP偵聽」功能方法以下:首先,打開「控制面板」,雙擊「添加或刪除程序」。接着,單擊「添加或刪除Windows組件」,單擊「網絡服務」,而後單擊「詳細信息」。選中「RIP 偵聽器」複選框,而後單擊「肯定」按鈕安裝該組件。 補充內容 RIP(RoutinginformationProtocol)是應用較早、使用較廣泛的內部網關協議(InteriorGatewayProtocol,簡稱IGP),適用於小型同類網絡,是典型的距離向量(distance-vector)協議。文檔見RFC105八、RFC1723。 RIP經過廣播UDP報文來交換路由信息,每30秒發送一次路由信息更新。RIP提供跳躍計數(hopcount)做爲尺度來衡量路由距離,跳躍計數是一個包到達目標所必須通過的路由器的數目。若是到相同目標有二個不等速或不一樣帶寬的路由器,但跳躍計數相同,則RIP認爲兩個路由是等距離的。RIP最多支持的跳數爲15,即在源和目的網間所要通過的最多路由器的數目爲15,跳數16表示不可達。 1.有關命令 -------------------------------------------- 任務命令 -------------------------------------------- 在設備上啓用RIP進程 router rip -------------------------------------------- 指定RIP版本version { 1 | 2 } 1 -------------------------------------------- 指定與該路由器相連的網絡 network network_subnet // 只能宣告主類 --------------------------------------------- 注:1.Cisco的RIP版本2支持驗證、密鑰管理、路由彙總、無類域間路由(CIDR)和變長子網掩碼(VLSMs) 2.舉例 Router1: router rip version 2 network 192.200.10.0 network 192.20.10.0 相關調試命令: show ip protocol show ip route 在全局設置模式下: 1.啓動RIP路由router rip 2.設置參與RIP路由的子網 network 子網地址 3.容許在非廣播型網絡中進行RIP路由廣播neighbor相鄰路由器相鄰端口的IP地址 4.設置RIP的版本RIP路由協議有2個版本,在與其它廠商路由器相連時,注意版本要一致,缺省狀態下,Cisco路由器接收RIP版本1和2的路由信息,但只發送版本1的路由信息,設置RIP的版本vesion1或2。另外,還能夠控制特定端口發送或接收特定版本的路由信息。只在特定端口發版本1或2的信息,在端口設置模式下rip send version 1或2 同時發送版本1和2的信息ip rip send receive 1 or 2,在特定端口接受版本1或2的路由信息ip rip receive 1 or 2.同時接受版本1和2的路由信息ip rip receive 1or 2. 選擇路由協議幾點建議: 1.在大型網絡中,建議使用ospf,eigrp. 2.若是網絡中含有變長了網掩碼(VISM)不能使用igrp,rip版本1,可使用rip版本2,ospf,eigrp或靜態路由。 3.若是使用路由安全設置可使用RIP版本1或OSPF。 4.選用ospf,eigrp在系統穩定後所佔帶寬比RIP,IGRP少得多,IGRP比RIP所佔帶寬也少。 5.綜合使用動態路由,靜態路由,缺省路由,以保證路由的冗餘。 6.在撥號線路上儘可能使用靜態路由,以節省費用。 7.在小型網絡上數據量不大的狀況下,且不須要高可性,廣域網線路爲X.25SVC時,建議用靜態路由。 ●RIP只適用於小系統中,當系統變大後受到無限計算問題的困擾,且每每收斂的很慢。現已被OSPF所取代。 1.距離向量算法 距離向量算法(簡稱V-D算法)的思想是:網關週期性地向外廣播路徑刷新報文,主要內容是由若干(V,D)序偶組成的序偶表;(V,D)序偶中的V表明「向量」,標識網關可到達的信宿(網關或主機),D表明距離,指出該網關去往信宿V的距離;距離D按驛站的個數計。其餘網關收到某網關的(V,D)報文後,據此按照最短路徑原則對各自的路由表進行刷新。 具體的說,V-D算法以下所述: 首先,網關剛啓動時,對其V-D路由表進行初始化,該初始化路由表包含全部去往與本網關直接相連的網絡。因爲去往直接相連的網絡不通過中間驛站,因此初始V-D路由表中各路徑的距離均爲0。 而後各網關週期性地向外廣播企V-D路由表內容。與某網關直接相連(位於同一物理網絡)的網關收到該路由表報文後,據此對本地路由表進行刷新。刷新時,網關逐項檢查來自相鄰網關的V-D報文,遇到下述表目之一,須修改本地路由表: (1) Gj列出的某表目Gi路由表總沒有。則Gi路由表須增長相應表目,其「信宿」是Gj表目中的信宿,其「距離」爲Gj表目中的距離加1,其「路徑」爲「Gj」(即下一驛站爲Gj)。 (2) Gj去往某信宿的距離比Gi去往某信宿的距離減1還小。這種狀況說明,Gi去往某信宿若通過Gj,距離會更短。則Gi修改本表目,其中「信宿」域不變,「距離」爲Gj表目中的距離加1,「路徑」爲「Gj」。 (3) Gi去往某信宿的路徑通過Gj,而Gj去往該信宿的路徑發生變化。這裏分兩種狀況: A:Gj的V-D表再也不包含去往某信宿的路徑,則Gi中相應路徑序刪除。 B:Gj的V-D表中去往某信宿的路徑距離發生變化,則Gi中相應表目「距離」須修改,以Gj中的「距離」加1取代原來的距離。 V-D算法的路徑刷新發生在相鄰網關之間,因此V-D報文不必定以廣播的方式發送出去,一種比較優化的方法是網關直接向相鄰的網關發送V-D報文,沒必要採起廣播的方式。 V-D算法的優勢是易於實現,可是它不適應路徑劇烈變化的或大型的網間網環境,由於某網關的路徑變化象波動同樣從相鄰網關傳播出去,其過程是很是緩慢的。所以,V-D算法路徑刷新過程當中,可能出現路徑不一致問題。V-D算法的另外一個缺陷是它須要大量的信息交換:一方面,V-D報文就每一可能的信宿網絡都包含一條表目,報文的大小至關於一個路由表(其表目的數與網間網網絡數成正比),並且其中的許多表目都是與當前路徑刷新無關的;另外一方面,V-D算法要求全部網關都參加信息交換,要交換的信息量極大。 ●2.RIP的原理 RIP協議是V-D算法在局域網上的直接實現,RIP將協議的參加者分爲主動機和被動機兩種。主動機主動地向外廣播路徑刷新報文,被動機被動地接受路徑刷新報文。通常狀況下,網關做主動機,主機做被動機。 RIP規定,網關每30秒向外廣播一個V-D報文,報文信息來自本地路由表。RIP協議的V-D報文中,其距離以驛站計:與信宿網絡直接相連的網關規定爲一個驛站,相隔一個網關則爲兩個驛站……依次類推。一條路徑的距離爲該路徑(從信源機到信宿機)上的網關數。爲防止尋徑迴路的長期存在,RIP規定,長度爲16的路徑爲無限長路徑,即不存在路徑。因此一條有限的路徑長度不得超過15。正是這一規定限制了RIP的使用範圍,使RIP侷限於小型的局域網點中。 對於相同開銷路徑的處理是採用先入爲主的原則。在具體的應用中,可能會出現這種狀況,去往相同網絡有若干條相同距離的路徑。在這種狀況下,不管哪一個網關的路徑廣播報文先到,就採用誰的路徑。直到該路徑失敗或被新的更短的路徑來代替。 RIP協議對過期路徑的處理是採用了兩個定時器;超時計時器和垃圾收集計時器。全部機器對路由表中的每一個項目對設置兩個計時器。每增長一個新表,就相應的增長兩個計時器。當新的路由被安裝到路由表中時,超時計時器被初始化爲0,並開始計數。每當收到包含路由的RIP消息,超時計時器就被從新設置爲0。若是在180秒內沒有接收到包含該路由的RIP消息,該路由的度量就被設置爲16,而啓動該路由的垃圾收集計時器。若是120秒過去了,也沒有收到該路由的RIP消息,該路由就從路由表中刪除。若是在垃圾收集計時器到120秒以前,收到了包含路由的消息,計時器被清0。而路由被安裝到路由表中。 慢收斂的問題及其解決的方法。包括RIP在內的V-D算法路徑刷新協議,都有一個嚴重的缺陷,即「慢收斂」(slow convergence)問題。又叫「計數到無窮」(count to infinity)。若是出現環路,直到路徑長度達到16,也就是說要通過7番來回(至少30X7秒),路徑迴路才能被解除,這就是所謂的慢收斂問題。採用的方法有不少種,主要採用有分割範圍(split horizon)法和帶觸發更新的毒性逆轉(Posion Reverse with Triggered updates))法。分割範圍法的原理是:當網關從某個網絡接口發送RIP路徑刷新報文時,其中不能包含從該接口得到的路徑信息。毒性逆轉法的原理是:某路徑崩潰後,最先廣播此路徑的網關將原路徑繼續保存在若干刷新報文中,可是指明路徑爲無限長。爲了增強毒性逆轉的效果,最好同時使用觸發更新技術:一旦檢測到路徑崩潰,當即廣播路徑刷新報文,而沒必要等待下一個廣播週期[1] 。 ●3.RIP協議的運行 網關剛啓動時,運行V-D算法,對V-D路由表進行初始化,爲每個和它直接相連的實體建一個表目,並設置目的IP地址,距離爲1(這裏RIP和V-D略有不一樣),下一站的IP爲0,還要爲這個表目設置兩個定時器(超時計時器和垃圾收集計時器)。每隔30秒就向它相鄰的實體廣播路由表的內容。相鄰的實體收到廣播時,在對廣播的內容進行細節上的處理以前,對廣播的數據報進行檢查。由於廣播的內容可能引發路由表的更新,因此這種檢查是細緻的。首先檢查報文是否來自端口520的UDP數據報,若是不是,則丟棄。不然看RIP報文的版本號:若是爲0,這個報文就被忽略;若是爲1,檢查必須爲0的字段,若是不爲0,忽略該報文;若是大於1,RIP-1對必須爲0的字段就不檢查。而後對源IP地址進行檢查,看它是否來自直接相連的鄰居,若是不是來自直接鄰居,則報文被忽略。若是上面的檢查都是有效的,則對廣播的內容進行逐項的處理。看它的度量值是否大於15,若是是則忽略該報文(實際上,若是來自相鄰網關的廣播,這是不可能的)。而後檢查地址族的內容,若是不爲2,則忽略該報文。而後更新本身的路由表,併爲每一個表目設置兩個計時器,初始化其爲0。就這樣全部的網關都每隔30秒向外廣播本身的路由表,相鄰的網關和主機收到廣播後來更新本身的路由表。直到每一個實體的路由表都包含到全部實體的尋徑信息。若是某條路由忽然斷了,或者是其度量大於15,與其直接相鄰的網關採用分割範圍或觸發更新的方法向外廣播該信息,其餘的實體在兩個計時器溢出的狀況下將該路由從路由表中刪除。若是某個網關發現了一條更好的路徑,它也向外廣播,與該路由相關的每一個實體都要更新本身的路由表的內容。 爲了更好地理解RIP協議的運行,下面以圖2所示的簡單的互連網爲例來討論圖中各個路由器中的路由表是怎樣創建起來的。 在一開始,全部路由器中的路由表只有路由器所接入的網絡(共有兩個網絡)的狀況。如今的路由表增長了一列,這就是從該路由表到目的網絡上的路由器的「距離」。在圖中「下一站路由器」項目中有符號「-」,表示直接交付。這是由於路由器和同一網絡上的主機可直接通訊而不須要再通過別的路由器進行轉發。同理,到目的網絡的距離也都是零,由於須要通過的路由器數爲零。圖中粗的空心箭頭表示路由表的更新,細的箭頭表示更新路由表要用到相鄰路由表傳送過來的信息。 接着,各路由器都向其相鄰路由器廣播RIP報文,這實際上就是廣播路由表中的信息。 假定路由器R2先收到了路由器R1和R3的路由信息,而後就更新本身的路由表。更新後的路由表再發送給路由器R1和R3。路由器R1和R3分別再進行更新。 RIP協議存在的一個問題是:當網絡出現故障時,要通過比較長的時間才能將此信息傳送到全部的路由器。以圖2爲例,設三個路由器都已經創建了各自的路由表,如今路由器R1和網1的鏈接線路與染短開。路由器R1發現後,將到網1的距離改成16,並將此信息發給路由器R2。因爲路由器R3發給R2的信息是:「到網1通過R2距離爲2」,因而R2將此項目更新爲「到網1通過R3距離爲3」,發給R3。R3再發給R2信息:「到網1通過肉距離爲4」。這樣一直到距離增大到16時,R2和R3才知道網1是不可達的。RIP協議的這一特色叫作:好消息傳播得快,而壞消息傳播得慢。像這種網絡出故障的傳播時間每每須要較長的時間,這是RIP的一個主要缺點。算法