Ⅰ RIP協議的「距離」到底指什麼呢具體包括
RIP協議的「距離」也稱為「跳數」(hopcount)」。因為每經過一個路由器,跳數就加1。RIP認為好的路由就是它通過的路由器的數目少,即「距離短」。RIP允許一條路徑最多隻能包含15個路由器。因此「距離」等於16時即相當於不可達。可見RIP只適用於小型互聯網。需要注意的是,到直接連接的網路的距離也可定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機通信時,不需要經過另外的路由器。既然每經過一個路由器要將距離加1,那麼不再經過路由器的距離就應當為0)。作者編寫的其他版本的教材過去也曾使用過這種定義。但兩種不同的定義對實現RIP協議並無影響,因為重要的是要找出最短距離,將所有的距離都加1或都減1,對選擇最佳路由其實是一樣的。RIP不能在兩個網路之間同時使用多條路由。RIP選擇一條具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時延)但路由器較多的路由。可見RIP只適用於小型互聯網。需要注意的是,到直接連接的網路的距離也可定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機通信時,不需要經過另外的路由器。既然每經過一個路由器要將距離加1,那麼不再經過路由器的距離就應當為0)。作者編寫的其他版本的教材過去也曾使用過這種定義。但兩種不同的定義對實現RIP協議並無影響,因為重要的是要找出最短距離,將所有的距離都加1或都減1,對選擇最佳路由其實是一樣的。RIP不能在兩個網路之間同時使用多條路由。RIP選擇一條具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時延)但路由器較多的路由。
Ⅱ 路由選擇信息協議(RIP)
路由選擇信息協議(RIP)是一種內部網關協議(IGP),最初在自治系統(AS)中廣泛應用,主要用於簡單的校園網和區域網。RIP是基於距離矢量的協議,其核心原理是路由器維護到其他網路的跳數距離,跳數1表示直接連接,每經過一個路由器跳數加1。RIP1限制路徑長度最多15跳,超過則視為不可達,因此它主要適用於小型互聯網環境。
RIP2是RIP的補充協議,增加了負載信息和安全性。它使用UDP的520埠,並通過組播(RIPv2)或廣播(RIP1)方式發送路由更新,周期性更新時間為30秒。RIP2支持無類別路由(CIDR和VLSM),提供了驗證功能,與RIP1相比更高級。
RIP的特點包括:僅與相鄰路由器交換信息,按固定時間發送路由信息,以及使用跳數作為度量標准。然而,由於其基於跳數的簡單度量機制,對於復雜的網路結構和大容量網路,RIP的局限性明顯,例如收斂速度慢、不支持無類別路由和VLSM,以及可能產生的路由環路問題。RIP的防環機制包括記數最大值、水平分割、毒性逆轉和觸發更新,但這些措施在大型網路中可能不足以完全解決所有問題。
盡管存在這些局限,RIP因其易用性和低帶寬消耗,在小型網路中仍然廣泛使用。然而,隨著OSPF和IS-IS等更先進的路由協議的出現,RIP在大型網路中的應用逐漸減少,但仍有一些特定環境和設備支持RIP。
路由信息協議(RIP)是一種在網關與主機之間交換路由選擇信息的標准。RIP 是一種內部網關協議。在國家性網路中如當前的網際網路,擁有很多用於整個網路的路由選擇協議。作為形成網路的每一個自治系統,都有屬於自己的路由選擇技術,不同的 AS 系統,路由選擇技術也不同。
Ⅲ 簡述RIP的工作原理
一、概述
RIP協議的全稱是路由信息協議(Routing Information Protocol),它是一種內部網關協議(IGP),用於一個自治系統(AS)內的路由信息的傳遞。RIP協議是基於距離矢量演算法(Distance Vector Algorithms)的,它使用「跳數」,即metric來衡量到達目標地址的路由距離。
二、該協議的局限性
1、協議中規定,一條有效的路由信息的度量(metric)不能超過15,這就使得該協議不能應用於很大型的網路,應該說正是由於設計者考慮到該協議只適合於小型網路所以才進行了這一限制。對於metric為16的目標網路來說,即認為其不可到達。
2、該路由協議應用到實際中時,很容易出現「計數到無窮大」的現象,這使得路由收斂很慢,在網路拓撲結構變化以後需要很長時間路由信息才能穩定下來。
3、該協議以跳數,即報文經過的路由器個數為衡量標准,並以此來選擇路由,這一措施欠合理性,因為沒有考慮網路延時、可靠性、線路負荷等因素對傳輸質量和速度的影響。
三、RIP(版本1)報文的格式和特性
3.1、RIP(版本1)報文的格式
0 7 15 31
命令字(1位元組) 版本(1位元組) 必須為0(2位元組)
地址類型標識符(2位元組) 必須為0(2位元組)
IP地址
必須為0
必須為0
Metric值(1—16)
(最多可以有24個另外的路由,與前20位元組具有相同的格式)
「命令字」欄位為1時表示RIP請求,為2時表示RIP應答。地址類型標志符在實際應用中總是為2,即地址類型為IP地址。「IP地址」欄位表明目的網路地址,「Metric」欄位表明了到達目的網路所需要的「跳數」。
3.2. RIP的特性
(1)路由信息更新特性:
路由器最初啟動時只包含了其直連網路的路由信息,並且其直連網路的metric值為1,然後它向周圍的其他路由器發出完整路由表的RIP請求(該請求報文的「IP地址」欄位為0.0.0.0)。路由器根據接收到的RIP應答來更新其路由表,具體方法是添加新的路由表項,並將其metric值加1。如果接收到與已有表項的目的地址相同的路由信息,則分下面三種情況分別對待:第一種情況,已有表項的來源埠與新表項的來源埠相同,那麼無條件根據最新的路由信息更新其路由表;第二種情況,已有表項與新表項來源於不同的埠,那麼比較它們的metric值,將metric值較小的一個最為自己的路由表項;第三種情況,新舊表項的metric值相等,普遍的處理方法是保留舊的表項。
路由器每30秒發送一次自己的路由表(以RIP應答的方式廣播出去)。針對某一條路由信息,如果180秒以後都沒有接收到新的關於它的路由信息,那麼將其標記為失效,即metric值標記為16。在另外的120秒以後,如果仍然沒有更新信息,該條失效信息被刪除。
2)RIP版本1對RIP報文中「版本」欄位的處理:
0:忽略該報文。
1:版本1報文,檢查報文中「必須為0」的欄位,若不符合規定,忽略該報文。
>1:不檢查報文中「必須為0」的欄位,僅處理RFC 1058中規定的有意義的欄位。因此,運行RIP版本1的機器能夠接收處理RIP版本2的報文,但會丟失其中的RIP版本2新規定的那些信息。
(3)RIP版本1對地址的處理
RIP版本1不能識別子網網路地址,因為在其傳送的路由更新報文中不包含子網掩碼,因此RIP路由信息要麼是主機地址,用於點對點鏈路的路由;要麼是A、B、C類網路地址,用於乙太網等的路由;另外,還可以是0.0.0.0,即預設路由信息。
(4)計數到無窮大(Counting to Infinity)
前面在RIP的局限性一部分提到了可能出現的計數到無窮大的現象,下面就來分析一下該現象的產生原因與過程。考察下面的簡單網路:
c(目的網路)----router A------router B
在正常情況下,對於目標網路,A路由器的metric值為1,B路由器的metric值為2。當目標網路與A路由器之間的鏈路發生故障而斷掉以後:
c(目的網路)--||--router A------router B
A路由器會將針對目標網路C的路由表項的metric值置為16,即標記為目標網路不可達,並准備在每30秒進行一次的路由表更新中發送出去,如果在這條信息還未發出的時候,A路由器收到了來自B的路由更新報文,而B中包含著關於C的metric為2的路由信息,根據前面提到的路由更新方法,路由器A會錯誤的認為有一條通過B路由器的路徑可以到達目標網路C,從而更新其路由表,將對於目標網路C的路由表項的metric值由16改為3,而對於的埠變為與B路由器相連接的埠。很明顯,A會將該條信息發給B,B將無條件更新其路由表,將metric改為4;該條信息又從B發向A,A將metric改為5……最後雙發的路由表關於目標網路C的metric值都變為16,此時,才真正得到了正確的路由信息。這種現象稱為「計數到無窮大」現象,雖然最終完成了收斂,但是收斂速度很慢,而且浪費了網路資源來發送這些循環的分組。
另外,從這里我們也可以看出,metric值的最大值的選擇實際上存在著矛盾,如果選得太小,那麼適用的網路規模太小;如果選得過大,那麼在出現計數到無窮大現象的時候收斂時間會變得很長。
3.3. 為了提高RIP性能的兩項措施
3.3.1. 水平分割
在上面的「計數到無窮大」現象中,產生的原因是A、B之間互相傳送了「欺騙信息」,那麼針對這種情況,我們自然會想到如果能將這些「欺騙信息」去掉,那麼不就可以在一定程度上避免「計數到無窮大」了嗎。水平分割正是這樣一種解決手段。
「普通的水平分割」是:如果一條路由信息是從X埠學習到的,那麼從該埠發出的路由更新報文中將不再包含該條路由信息。
「帶毒化逆轉的水平分割」是:如果一條路由信息是從X埠學習到的,那麼從該埠發出的路由更新報文中將繼續包含該條路由信息,而且將這條信息的metric置為16。
「普通的水平分割」能避免欺騙信息的發送,而且減小了路由更新報文的大小,節約了網路帶寬;「帶毒化逆轉的水平分割」能夠更快的消除路由信息的環路,但是增加了路由更新的負擔。這兩種措施的選擇可根據實際情況進行選擇。
3.3.2. 觸發更新
上面的「水平分割」能夠消除兩台路由器間的欺騙信息的相互循環,但是當牽涉到三台或者以上的路由器時,效果就有限了。考察下面的網路:
+---+ +----+ +-----+ /-----\
| | | C +-------| D | -----|| E ||
| A +------| | | +---- | |
+-+-+ +----+ +---+-+ \-----/
| -- |
| -- |
| -- |
+----+ |
| | |
| B +-----------------------
| |
+----+
E是目標網路
針對目標網路,各路由器的路由信息分別如下:
A:3 C
B:2 D
C:2 D
D:1 直連
當D與目標網路之間發生故障中斷以後,B和C都能正確的從D得到網路不可達的信息,但是,從上面的路由信息中可以看出,A雖然不會給C發送錯誤信息,但是A可能在未收到網路不可達信息之前就給B發送了路由信息,讓B錯誤的認為可以通過A到達目標網路,繼而又會出現「計數到無窮大」的現象。
觸發更新就是為了針對上述情況進行的一種改善,它的具體實現措施是:路由器一旦察覺到網路變化,就盡快甚至是立即發送更新報文,而不等待更新周期結束。只要觸發更新的速度足夠快,就可以大大的防止「計數到無窮大」的發生,但是這一現象還是有可能發生的。
使用了觸發更新以後,當網路拓撲發生變化的時候,網路中會出現類似於「多米諾骨牌」的更新報文潮流,並最後中止於從未發生變化的路徑到達目標網路的路由器。
3.4. RIP中的4個定時器
RIP中一共使用了4個定時器:update timer, timeout timer, garbage timer, holddown timer。
Update timer用於每30秒發送路由更新報文。
Timeout timer用於路由信息失效前的180秒的計時,每次收到同一條路由信息的更新信息就將該計數器復位。
Garbage timer和holddown timer同時用於將失效的路由信息刪除前的計時:在holddown timer的時間內,失效的路由信息不能被接收到的新信息所更新;在garbage timer計時器超時後,失效的路由信息被刪除。
另外,在觸發更新中,更新信息會需要1到5秒的隨機延時以後才被發出,這里也需要一個計時器。
四、RIP版本2簡介
RIP版本2的報文格式如下:
0 7 15 31
命令字(1位元組) 版本(1位元組) 路由域(2位元組)
0xFFFF(2位元組) 驗證類型(2位元組)
驗證(16位元組)
地址類型標識符(2位元組) 路由標簽(2位元組)
IP地址
子網掩碼
下一跳IP地址
Metric值(1—16)
(最多可以有24個另外的路由,與前20位元組具有相同的格式)
版本2的RIP使用了版本1中「必須為0」的欄位,增加了一些對於路由的有用信息,其主要新添的特性如下:
(1)報文中包含子網掩碼,可以進行子網路由
(2)支持明文/MD5驗證
(3)報文中包含了下一跳IP,為路由的選優提供了更多的信息。