劉向東, 寇清華, 張曉蕊, 王德高
(大連民族學院 a.非線性信息技術研究所; b.圖書館,遼寧 大連 116600)
?
RIP協議分析及其實驗的設計與實現
劉向東a, 寇清華b, 張曉蕊a, 王德高a
(大連民族學院 a.非線性信息技術研究所; b.圖書館,遼寧 大連 116600)

介紹了RIP協議的原理以及工作過程,通過設計具體的實驗方案,結合協議分析軟件捕獲RIP報文,具體地驗證了RIP協議的工作原理與工作過程,展示了RIP的慢收斂問題,并通過配置水平分割或毒化路由等特性,演示了其對RIP慢收斂起到的關鍵作用,以加深學生對RIP協議與路由技術的理解.
RIP協議;協議分析;水平分割;慢收斂
路由技術是因特網體系結構的基礎,而動態路由協議又是網絡互聯的一項重要的關鍵技術。動態路由協議在實際組網中應用十分廣泛。也正因為如此,使得路由協議成為網絡工程專業學生必需深入理解并掌握的一個重要內容。
在眾多的路由協議當中,路由信息協議(Routing Information Protocol,RIP)是一種簡單的、采用距離-矢量(Distance-Vector,DV)算法的域內動態路由協議[1-3],非常適合作為實驗內容,以加深學生對路由協議的理解。RIP協議是XEROX的Palo Alto研究中心(PARC)在XEROX的早期PDU和XNC路由選擇協議的基礎上開發的,但RIP協議的廣泛應用卻主要得益于加利福尼亞大學伯克利分校的routed程序實現,并將其和4BSD UNIX系統一起分發[2]。RIP主要應用于使用同種技術的中小型網絡。對于更復雜的網絡環境,RIP受到無限計算問題的困擾,往往收斂得很慢,一般使用不多。
在計算機網絡原理課程中,關于動態路由協議的內容普遍不多[4-7],很多技術細節都鮮有介紹。在組網技術、網絡管理等課程中有關RIP的實驗主要是配置RIP[8-11],對加深學生理解RIP與路由協議工作原理的作用不大。本文設計的RIP原理實驗基于協議分析的方法,通過觀察RIP報文的傳遞與V-D報文的具體內容,直觀展現RIP的工作原理與工作過程,使學生可以深入理解RIP與路由協議的工作原理,更好地體會其存在的無窮計算問題,領悟水平分割與毒化路由的設計想法,并通過實驗提高其分析問題和解決問題的能力。
1.1 矢量-距離算法
RIP基于D-V基本思想是:路由器剛啟動時僅知道自己直連的網段。每個路由器周期性地向外廣播自己的V-D報文,主要內容是由若干(V,D)序偶組成的序偶表;序偶中的“向量”V標識路由器可到達的信宿,“距離”D指出該路由器去往信宿V的距離,按需轉發的路由器的個數計。其他路由器收到某路由器的(V,D)報文后,據此按照最短路徑原則對各自的路由表進行刷新。
路由表更新的原則如下:
(1) 如果(V,D)報文通告的是一個新的信宿,即原來自己的路由表中沒有到信宿V的路由,路由器須增加相應新的到信宿V的表目到自己的路由表,其“距離”為D + 1,下一跳為發送該(V,D)報文的路由器;
(2) 如果(V,D)報文通告的不是一個新的信宿,但其去往該信宿的距離較自己現在的好,即比自己去往該信宿的距離減1還小,路由器須更新該信宿表目,其“距離”為D+1,下一跳為發送該(V,D)報文的路由器;
(3) 如果(V,D)報文通告的既不是一個新的信宿,其去往該信宿的距離也不比自己現在的好,但卻是自己原來對應表項中的下一跳路由器,即自己去往該信宿的路由是從該路由器學習來的,路由器也須更新該信宿表目,其“距離”為D + 1,下一跳仍為發送該(V,D)報文的路由器;
(4) 其他情形不進行路由表更新。
1.2 RIP報文的格式
RIP報文封裝在UDP報文中,使用UDP的520號周知端口[12]. 受UDP報文的長度的限制,RIP報文不能超過512B。RIP有2個版本,RIP v1和RIP v2的報文格式稍有不同。不包含認證項的RIP v2報文格式如圖1所示[13-14]。而RIP v1的報文格式與RIP v2很類似,只是圖中黃色字段必須為全0。

圖1 RIP v2報文格式
在RIP報文中,命令字段的正式值有1和2,分別標識一個請求報文和一個響應報文。版本字段的值的范圍是從1到2,分別標識RIP v1和RIP v2。路由選擇域指明與該報文相關的路由選擇守護進程的標識符. 在UNIX系統中,該字段是一個進程的標識符。一臺機器通過使用路由選擇域,可以同時運行多個RIP。但現在的標準建議不用,所以總是為全0。后面是1~25個可變數目的20B的V-D信息. 每個V-D信息包含:
地址族標識字段,對于IP地址,該字段的值為2。
路由標記(Routing tag)為外部路由標記,是為了支持外部網關協議而設計的。它攜帶著一個自治系統號,是表示路由是保留還是重播的屬性. 它提供一種從外部路由中分離內部路由的方法,用于傳播從外部路由器協議獲得的路由信息。
網絡地址和子網掩碼字段,標識目的網絡的IP地址與掩碼。
下一跳地址,如果該字段為0,則表明分組應當發送到正在發送該RIP報文的路由器,否則,該字段包含一個IP地址,指明應將分組發往何處。
距離字段,標識到達目的網絡的跳數。
從報文中我們可以看出,RIP v1是有類路由協議,不支持無類域間路由CIDR和變長子網掩碼VLSM,因為它的V-D信息沒有包含所必須的子網信息-子網掩碼。RIP v2是無類路由協議,支持無類域間路由和變長子網掩碼,這也是RIP v2對RIP v1有意義的改進。
1.3 RIP協議存在的問題和解決的方法
RIP使用D-V算法. D-V算法的優點是簡單、易于實現,但是存在一個問題:當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器[13,14]。因為某路由器的路徑變化像波動一樣從相鄰路由器傳播出去,其過程非常緩慢。且D-V算法路徑刷新過程中,可能出現路徑不一致和尋徑回路等問題,即所謂的“慢收斂”(Slow convergence)與“計數到無窮”(Count to infinity)問題。所以,RIP不適應路徑劇烈變化的或大型的網間網環境。
為防止尋徑回路的長期存在,RIP規定,長度為16的路徑為無限長路徑,即不存在路徑。同時,引入水平分割(Split horizon)、毒性逆轉(Poison Reverse)和觸發更新(Triggered update)等技術減少出現尋徑回路的可能性。水平分割的原理是:當路由器從某個接口發送RIP報文時,其中不能包含從該接口獲得的路徑信息,這樣就能消除相鄰路由器間的環路。毒性逆轉法是水平分割的加強版,它在路由器從某個接口發送RIP報文時,將從該接口獲得的路徑信息的距離置為16,即不可達。為了加強水平分割與毒性逆轉的效果,可以同時使用觸發更新技術:一旦檢測到路徑崩潰,立即廣播RIP路徑刷新報文,而不必等待下一個廣播周期,以使新的路由信息盡快傳送到所有路由器上。
2.1 實驗名稱
RIP協議分析。
2.2 實驗目的
在路由器上配置啟用RIP協議,并利用協議分析軟件捕獲RIP報文,了解RIP的工作過程。同時,改變網絡的連接狀態,觀察理解RIP的慢收斂現象,體會水平分割與觸發更新更新技術的作用。
2.3 實驗設備
實驗采用華為AR2200系列路由器4臺,在2號槽位配1塊8FE1GE接口卡。實驗另需Hub 5臺,4臺主機,均安裝開源協議分析軟件WireShark。
2.4 實驗拓撲
實驗網絡拓撲如圖2所示。各路由器接口間連接
與IP地址的分配如圖中標注。

圖2 實驗網絡拓撲圖
2.5 實驗過程與參考配置
(1) 不啟動路由協議時網絡的連通狀況。連接好相應設備后,我們首先在路由器上配置各接口IP地址。以Router A為例,在其上配置:

在路由器B、C和D上也進行類似配置。配置完成后,在各個路由器上,通過display ip routing-table命令觀察各個路由器的路由表。由于還沒有運行路由協議,每個路由器路由表中只有直連的路由表項,所以這4個路由器間還不會完全聯通。可以通過ping命令測試路由器間的聯通性驗證這一結果。
(2) 啟動RIP后網絡的連通狀況。接下來我們分別在4個路由器上啟動RIP協議,其中Router A的配置命令為:
[Huawei] rip #在系統視圖下配置,設置RIP協議
[Huawei-rip-1] network 192.168.1.0 #設置啟用RIP協議的網絡
[Huawei-rip-1] network 192.168.2.0
[Huawei-rip-1] rip version 2 #設置使用RIP v2
再觀察各個路由器的路由表,并測試路由器間的聯通性。此時,每個路由器的路由表中不僅直連的路由表項,還有通過RIP學到的路由,并且具有到達圖中每個網絡地址的路由,整個網絡是連通的。
在每個主機上開始抓包,并進行協議分析。可以觀察到路由器間周期性組播的RIP v2報文,檢查RIP報文,對比各路由器的路由表,可以驗證RIP報文中傳遞的V-D信息。
(3) 理解水平分割與觸發更新的工作方式。華為路由器RIP啟動后默認就啟用水平分割與觸發更新. 可以在接口狀態通過命令undo rip split-horizon 禁用該接口啟動水平分割功能. 在路由器各接口禁用水平分割后,再次觀察RIP報文中的V-D信息。與沒禁用水平分割時的V-D信息對比,可以看到禁用水平分割后,V-D信息包含全部路由表項,而啟用水平分割功能后,V-D信息包含的只是不是從該接口學下到的那部分路由表項。
然后,通過改變網絡連接狀況,比如,down掉Router B的Ethernet2/0/2接口,通過分析捕獲的RIP報文觀察觸發更新的工作方式。觸發更新發出的RIP報文只含引發觸發的路由變化的V-D信息,在我們的例子中就是只含一條關于192.168.20.0/24的路由信息,跳數為16。而周期性的路由更新報文包含整個路由表,或經水平分割過濾過的整個路由表。
(4) 觀察、理解收斂到無窮現象。保存4個路由器的配置,并在主機上啟動協議分析軟件進行捕包。然后重新啟動各個路由器,讓它們重新交換路由信息。這樣,就可以捕獲路由器進行路由信息交換的所有RIP報文。通過對RIP報文的分析,對照各個路由器的路由表,就可以了解RIP協議工作的全過程。
繼續禁用路由器的水平分割功能,并down掉Router B的Ethernet2/0/2接口。在各個主機上經過一段時間的捕獲RIP報文,然后終止。這些RIP報文就可以反映RIP的工作過程,以及收斂到無窮的過程與現象。為便于協議分析,首先利用WireShark的數據合并功能,將4個主機上抓獲的報文按時間合并到一個cap文件中[15]。下面是我們分析該文件關于192.168.20.0/24的V-D信息的部分結果。見表1。我們只列出了前面的一部分,可以請學生根據抓包文件補全該表,并運用協議運行原理,分析理解表中各項間的關系與合理性。

表1 4個路由器間關于192.168.20.0/24的交互的
路由協議是計算機網絡、組網技術、網絡管理等網絡工程專業系列課程的教學重點內容,也是學生難以深入理解的知識點之一。利用協議分析的方法,通過跟蹤路由器間路由信息的交互、分析傳遞的V-D報文的具體內容,對比路由表的變化,明了、直觀地展現了RIP工作原理和工作工程,既加深了學生對RIP及其存在的無窮計算問題與水平分割、毒化路由技術的理解,又很好地培養了學生分析問題、解決問題、以及綜合應用知識的能力,教學效果良好。
[1] Douglas E Comer. 用TCP/IP進行網際互聯第一卷:原理、協議與結構[M]. 林瑤譯,謝希仁校.4版.北京:電子工業出版社,2006.
[2] Jeff Doyle, Jennifer Carroll. TCP/IP路由技術(第一卷)[M]. 2版. 葛建立譯.北京:人民郵電工業出版社,2011.
[3] Jeff Doyle, Jennifer Carroll. TCP/IP路由技術(第二卷)[M]. 夏俊杰譯.北京:人民郵電工業出版社,2011.
[4] 吳功宜,吳 英. 計算機網絡[M]. 北京:清華大學出版社,2004.
[5] 謝希仁. 計算機網絡[M]. 5版.北京:電子工業出版社,2007.
[6] Andrew S Tanenbaum. 計算機網絡[M].5版. 嚴偉譯. 北京:清華大學出版社,2012.
[7] Forouzan B A. TCP/IP協議族[M].4版. 王海譯,謝希仁校. 北京:清華大學出版社, 2011.
[8] 田增國, 劉晶晶, 張召賢. 組網技術與網絡管理[M]. 2版.北京:清華大學出版社,2009.
[9] 黃中砥, 張召賢, 周飛菲. 組網技術與網絡管理[M]. 北京:清華大學出版社,2006.
[10] 惠 玥,張 嬡,唐海濤. IP靜態路由實驗的研究[J]. 實驗室研究與探索,2010,29(11):61-64.
[11] 傅 偉,高海俠,熊 平. RIP路由協議實驗的設計與實現[J]. 實驗技術與管理,2012,29(5):127-129.
[12] Hedrick C. Routing Information Protocol[EB/OL]. IETF RFC1058(1988), http://www.rfceditor.org.
[13] Malkin G. RIP Version 2 Protocol Analysis[EB/OL]. IETF RFC1721(1994), http://www.rfceditor. org .
[14] Malkin G. RIP Version 2 [EB/OL]. IETF RFC2453(1998), http://www.rfceditor. org.
[15] Angela Orebaugh, Gilbert Ramirez, Jay Beale. Wireshark & Ethereal Network Protocol Analyzer Toolkit[M]. Burlington:Syngress Press, 2006:87-89.
Design and Operation of RIP Protocol Analysis Experiment
LIUXiang-donga,KOUQing-huab,ZHANGXiao-ruia,WANGDe-gaoa
(a. The Institute of Nonlinear Information Technology; b. Library,Dalian Nationalities University, Dalian 116600, China)
This paper introduces the background, principles and implementation of Routing Information Protocol (RIP), shows the routing process of RIP by specific experiments with the aid of protocol analysis method. The experiment demonstrates slow convergence phenomenon, and the key effect of split horizon technology. The experiment enhances the self-study abilities of students.
RIP; protocol analysis; split horizon; slow convergence
2014-05-29
中央高校基本科研專項基金(DC12010106);大連民族學院教育教學改革項目
劉向東(1967-),男,山東萊州人,博士,教授,研究方向:計算機網絡及信息安全。E-mail:liuxd@dlnu.edu.cn
TP 393.08
A
1006-7167(2015)01-0122-04