趙婧如
(西安郵電大學 計算機學院,陜西 西安 710121)
路由信息協議RIP是內部網關協議IGP中簡單的、最先得到廣泛使用的協議[1]。與其他路由協議(如OSPF、EIGRP、BGP等)相比,RIP簡單易配,并以跳數(Hop Count)作為衡量路由優劣的指標[2],易于初學者理解,因此,在各大高校的計算機網絡課程中,RIP通常作為路由協議知識單元的入門協議。通過學習RIP,學生可以理解路由協議的基本工作原理和設計目標,掌握如何評估路由路徑、更新路由信息、處理網絡連接變化等知識點。在工程教育專業認證背景下,路由協議實驗教學設計的優劣直接影響著學生路由分析與設計能力目標的達成效果。良好的實驗教學設計不僅能幫助學生將理論知識轉化為實踐能力,而且能引導學生在實踐過程中不斷深入實驗背后的機理,真正內化工程知識,為以后解決較為復雜的實際工程問題奠定基礎。
傳統RIP實驗以理解動態路由選擇的概念,掌握RIP路由基本配置為教學目標,因此大多數計算機網絡實驗教程中RIP實驗基本止步于協議配置與連通性驗證,比如使用2臺路由器連接3個網絡,首先在路由器上啟用RIP協議,然后完成3個網絡的連通性測試,最后以此驗證RIP配置的有效性。通常,學生能夠根據實驗指導步驟順利完成實驗,實現基于RIP的全網連通效果,但是由于傳統實驗設計缺少協議工作過程的分析引導,屏蔽了RIP路由更新細節,導致學生實驗停留在配置驗證層面,無法通過實驗識別RIP 2個版本在路由更新中的差異,無法發現和分析RIP協議中的路由匯總帶來的實際問題。綜上,傳統RIP實驗方案限制了學生對路由原理的深入程度,不利于學生繼續探究協議深層原理和解決網絡部署中的實際問題。
從知識、能力、目標3個方面優化RIP實驗教學目標。
(1)知識目標:理解距離矢量路由選擇算法;理解RIP協議路徑發現和推導路由的過程;認識RIPv1和RIPv2路由更新的主要區別。
(2)能力目標:熟練應用RIP配置及調試技能,能夠根據網絡需求獨立完成RIP配置;能夠正確分析RIPv1和RIPv2路由更新過程;能夠準確解讀RIP路由表項;有能力通過觀察和分析網絡行為,發現并解決與RIP協議相關的網絡問題。
(3)素質目標:培養在實踐中探索真知的科學精神,提升自主探究和解決問題的能力。
本實驗設計擴大了傳統的實驗拓撲規模和設備配置,相應地也增加了實驗步驟以及可能遇到的問題,使得實驗復雜度有所提升,但拓撲設計為“量身定制”,能夠恰當地展示RIP重難點問題的同時不會引入無關干擾因素,讓初學者能夠更好地專注于實驗主線。基于改進后的實驗拓撲,學生能夠觀察到RIP自動路由匯總帶來的問題,RIP常規配置結束后,學生不會“順利”得到全網互通的實驗結果,卻觀察到“時斷時通”的意外結果,而實驗中間的這些“插曲”正是學生深入實驗機理的良機,改進的實驗設計會逐步引學生“入局”,讓學生在實驗中發現RIPv1的問題,思考問題產生的原因,在尋求解決方案的過程不斷深入RIP協議工作過程,深刻認識RIPv1的局限性以及RIPv2的優勢所在。
改進方案通過對實驗現象的逐層剖析使得原理知識不再抽象,理論與實踐緊密結合,學生以“眼見為實”的方式逐個驗證理論知識點,對學生深刻理解相關原理大有裨益。學生不需要通過刻意的理論記憶來掌握知識原理,而是以“實踐親證”的方式通過不斷探究實驗和解決問題來逐漸內化所學。
實驗基于Packet Tracer軟件搭建實驗拓撲環境,利用3臺路由器互聯Net1—Net5 5個用戶網絡,路由器之間采用串行連接,搭建如圖1所示的網絡拓撲,全網部署了可變長子網掩碼(Variable Length Subnet Mask,VLSM)。

圖1 實驗拓撲
3.2.1 RIPv1協議配置
在3臺路由器上分別啟用RIPv1,使用network命令指定與當前路由器直連的網絡(以路由器R1的配置為例,直連網絡是172.16.0.0、172.18.1.0、172.18.2.0),并使用passive-interface命令禁止從連接用戶網絡的以太網接口發送路由更新(以路由器R1的配置為例,禁更接口為f0/0和f0/1)。
3.2.2 RIPv1路由分析
分別在3臺路由器上查看路由表,如圖2所示,由左至右分別為R1、R2、R3的路由表。讓學生觀察并記錄路由表目前存在的相關問題:第一,R2的路由表中存在2條到達目標網絡172.18.0.0/16的路由,但這2條路由的下一跳不同,分別是10.0.0.5或10.0.0.10;第二,路由器R1和R3的路由表中均未出現匯總路由172.18.0.0/16;第三,路由器R1和R3中沒有關于目標網絡192.168.0.0/16的路由項。這3個問題是深入理解RIP協議的3個關鍵問題,接下來,探析這3個問題的過程正是幫助學生發現自動匯總引發問題和RIPv1局限性的過程。

圖2 配置RIPv1后3臺路由器路由表
為了引導學生分析問題原因,實驗要求學生在3臺路由器上通過“debug ip rip”命令查看和分析路由器送出和收到的路由更新信息,如圖3所示為關鍵路由更新信息節選。

圖3 RIPv2調試信息
第一個問題是本實驗的重點問題,如圖3所示,由于R1通過其接口s0/0向外發送更新時,RIPv1已經自動將172.18.1.0/24和172.18.2.0/24 2個子網路由匯總為一個主類路由172.18.0.0。同樣,由于R3通過其接口s0/0向外發送更新時,也自動將172.18.3.0/24和172.18.4.0/24 2個子網路由匯總為一個主類路由172.18.0.0,因此R1和R3創建的更新均為“network 172.18.0.0 metric 1”,即R1和R3都發布了目標網絡為172.18.0.0的路由,鄰居路由器R2上便收到了2條到達網絡172.18.0.0的路由更新,因此R2的路由表中相應出現了2條目標網絡為172.18.0.0的“R”路由項(即RIP路由項),R2將這2條路由(Metic均為120/1)作為到達同一目的網絡的等價路由[3],即R2認為通過下一跳10.0.0.5或10.0.0.10到達172.18.0.0/16是等價的。
第二個問題與第一個問題緊密關聯,R2從R1和R3學習到了2條等價172.18.0.0路由,但是R2在路由更新中并沒有向R1和R3“返還”這條路由。借此問題,學生將對理論課程中講解的水平分割原理有比較直觀且深刻的認識。
針對第三個問題,學生需要利用之前學習的CIDR編址知識,分析得出Net3的網絡地址192.168.0.0/16是一個無類地址,然后結合理論課程中對RIP版本區別的介紹(RIPv1是有類路由選擇協議,而RIPv2是無類路由選擇協議),自行剖析出問題的原因:目前路由器使用RIPv1是無法識別192.168.0.0/16無類地址的,因此R2發送更新時并沒有將網絡192.168.0.0通告出去。
為了進一步加強學生對RIPv1和RIPv2路由更新區別的認知,實驗設計在第三個問題的基礎上,插入2個引導性思考問題:圖3所示的路由更新中為何沒有提供網絡掩碼信息;RIPv1采用何種方式發送路由更新。學生將結合理論課堂所學進行實驗觀察,以“眼見為實”的方式直接得到2個結論:第一,由于RIPv1是有類路由選擇協議,所以這些更新中沒有隨網絡地址提供網絡掩碼信息,即RIPv1在路由更新過程中不攜帶子網信息;第二,圖3調試信息顯示“sending v1 update to 255.255.255.255……”說明RIPv1是采用廣播方式發送路由更新的。
3.2.3 第一次設備連通性測試
學生在R2上分別ping主機PC1、PC2、PC4、PC5,會發現測試結果均為間斷性連通,連通成功率(Success rate)為40%或60%。接下來讓學生思考造成該測試結果的原因,讓學生深入理解通過等價路由實現路由負載分擔,通往這個目的地的流量會被平均分配在2條路由上,負載分擔的方式:第1個分組走第一條路由,第2個分組走第二條,依次類推。以Ping主機PC1為例,路由器默認發出5個ping請求的情況下,部分請求被轉發至R1方向,部分請求被轉發至R2方向,因此測試結果顯示“Success rate is 60 percent (3/5)”或者“Success rate is 60 percent (2/5)”。通常學生為了解決這個間斷性連通問題,會提出關閉RIP路由自動匯總功能的解決方案,這時就讓學生通過實操嘗試來驗證是否可行。由此環節讓學生認識到RIPv1的局限性之一:無法關閉路由自動匯總功能,學生由此也能“預感”到RIPv2應該在這方面有所改進。這種方法比教師直接講授局限性效果更好。
連通性測試應該考慮全面,不僅要對主機通信進行測試,還要針對前面發現的實驗問題進行相關測試,以便與后繼測試形成對比。由于R1和R3的路由表中沒有關于192.168.0.0/16的路由,因此,現在R1和R3無法ping通192.168.0.1(R2的接口f0/0)和192.168.0.2(PC3)。
3.2.4 啟用RIPv2并禁止自動匯總
針對前面實驗中發現的RIPv1的多個問題,學生嘗試配置RIPv2協議來再次觀察和分析問題的解決情況。在3臺路由器上啟用RIPv2并使用“no auto-summary”命令關閉自動匯總。
3.2.5 RIPv2路由分析
查看3臺路由器的路由表,如圖4所示為收斂狀態時的路由表。可以看到R1和R3都已獲得關于192.168.0.0/16的路由,說明RIPv2是無類路由選擇協議,能夠識別無類網絡地址。

圖4 配置RIPv2后3臺路由器路由
學生在3臺路由器上通過“debug ip rip”命令查看路由器送出和收到的更新(如圖5所示為部分路由更新信息節選),并可以和之前的RIPv1調試信息進行對比分析,記錄重要變化:第一,更新中每個網絡地址都攜帶了網絡掩碼信息,證明RIPv2是無類路由選擇協議;第二,調試信息顯示“sending v2 update to 224.0.0.9……”,224.0.0.9為組播地址,說明RIPv2是采用組播方式發送路由更新的。

圖5 RIPv2調試信息
學生觀察R1的“build update entries”部分,可以得知R1在通過其接口s0/0向外發送更新時,不再自動將172.18.1.0和172.18.2.0 2條路由匯總為一條路由172.18.0.0。觀察R3與R1的路由表,情況相同。這說明雖然RIPv1和RIPv2都默認激活路由匯總功能,但是RIPv2可以通過命令關閉該功能。
R2的路由表顯示路由器R2上收到了4條明確路由:172.18.1.0/24、172.18.2.0/24、172.18.3.0/24、172.18.4.0/24,而非2條到達網絡172.18.0.0的等價路由,表明路由的自動匯總已被禁止。而且R2發送的v2更新(sending v2 update)中包含了192.168.0.0/16這條路由,說明RIPv2支持VLSM和CIDR。
3.2.6 第二次設備連通性測試
在R2上ping主機PC1、PC2、PC4、PC5,連通成功率全部為100%。由于R1和R3的路由表中有了關于192.168.0.0/16的路由,因此,現在R1和R3 已經可以ping通192.168.0.1(即R2的接口f0/0)和192.168.0.2(即PC3),PC之間也可以相互通信,即全網連通。
傳統RIP實驗方案可以讓學生掌握RIP基本配置方法并進行簡單的連通性測試,但無法引領學生深入思考,進一步分析RIP路由更新過程、路由匯總問題、版本區別等。本文從實驗拓撲、實驗過程、實驗結果分析等方面對傳統實驗方案進行了改進,實驗邏輯主線清晰,由RIPv1的配置與調試,引出中間問題,然后逐步引導學生思考和解決問題,通過RIPv2的配置與調試,分析路由更新過程的變化以及路由更新對路由表的影響,不斷深化學生對RIP協議工作原理的理解。本實驗教學設計方案已在多個專業的計算機網絡課程中得到推廣和應用,實踐證明改進的實驗設計方案使學生有機會在實驗中觀察和分析理論課堂中講到的重難點問題,不僅激發了學生深入實驗機理的興趣,而且提高了學生主動開展實驗探討的積極性。學生不再是“簡單實操,直取結果”,而是在實驗設計的“局”中通過主動思考,逐漸完善認知,不斷提升分析和解決實際問題的能力。