趙婧如
(西安郵電大學(xué) 計算機(jī)學(xué)院,陜西 西安 710121)
路由信息協(xié)議RIP是內(nèi)部網(wǎng)關(guān)協(xié)議IGP中簡單的、最先得到廣泛使用的協(xié)議[1]。與其他路由協(xié)議(如OSPF、EIGRP、BGP等)相比,RIP簡單易配,并以跳數(shù)(Hop Count)作為衡量路由優(yōu)劣的指標(biāo)[2],易于初學(xué)者理解,因此,在各大高校的計算機(jī)網(wǎng)絡(luò)課程中,RIP通常作為路由協(xié)議知識單元的入門協(xié)議。通過學(xué)習(xí)RIP,學(xué)生可以理解路由協(xié)議的基本工作原理和設(shè)計目標(biāo),掌握如何評估路由路徑、更新路由信息、處理網(wǎng)絡(luò)連接變化等知識點。在工程教育專業(yè)認(rèn)證背景下,路由協(xié)議實驗教學(xué)設(shè)計的優(yōu)劣直接影響著學(xué)生路由分析與設(shè)計能力目標(biāo)的達(dá)成效果。良好的實驗教學(xué)設(shè)計不僅能幫助學(xué)生將理論知識轉(zhuǎn)化為實踐能力,而且能引導(dǎo)學(xué)生在實踐過程中不斷深入實驗背后的機(jī)理,真正內(nèi)化工程知識,為以后解決較為復(fù)雜的實際工程問題奠定基礎(chǔ)。
傳統(tǒng)RIP實驗以理解動態(tài)路由選擇的概念,掌握RIP路由基本配置為教學(xué)目標(biāo),因此大多數(shù)計算機(jī)網(wǎng)絡(luò)實驗教程中RIP實驗基本止步于協(xié)議配置與連通性驗證,比如使用2臺路由器連接3個網(wǎng)絡(luò),首先在路由器上啟用RIP協(xié)議,然后完成3個網(wǎng)絡(luò)的連通性測試,最后以此驗證RIP配置的有效性。通常,學(xué)生能夠根據(jù)實驗指導(dǎo)步驟順利完成實驗,實現(xiàn)基于RIP的全網(wǎng)連通效果,但是由于傳統(tǒng)實驗設(shè)計缺少協(xié)議工作過程的分析引導(dǎo),屏蔽了RIP路由更新細(xì)節(jié),導(dǎo)致學(xué)生實驗停留在配置驗證層面,無法通過實驗識別RIP 2個版本在路由更新中的差異,無法發(fā)現(xiàn)和分析RIP協(xié)議中的路由匯總帶來的實際問題。綜上,傳統(tǒng)RIP實驗方案限制了學(xué)生對路由原理的深入程度,不利于學(xué)生繼續(xù)探究協(xié)議深層原理和解決網(wǎng)絡(luò)部署中的實際問題。
從知識、能力、目標(biāo)3個方面優(yōu)化RIP實驗教學(xué)目標(biāo)。
(1)知識目標(biāo):理解距離矢量路由選擇算法;理解RIP協(xié)議路徑發(fā)現(xiàn)和推導(dǎo)路由的過程;認(rèn)識RIPv1和RIPv2路由更新的主要區(qū)別。
(2)能力目標(biāo):熟練應(yīng)用RIP配置及調(diào)試技能,能夠根據(jù)網(wǎng)絡(luò)需求獨立完成RIP配置;能夠正確分析RIPv1和RIPv2路由更新過程;能夠準(zhǔn)確解讀RIP路由表項;有能力通過觀察和分析網(wǎng)絡(luò)行為,發(fā)現(xiàn)并解決與RIP協(xié)議相關(guān)的網(wǎng)絡(luò)問題。
(3)素質(zhì)目標(biāo):培養(yǎng)在實踐中探索真知的科學(xué)精神,提升自主探究和解決問題的能力。
本實驗設(shè)計擴(kuò)大了傳統(tǒng)的實驗拓?fù)湟?guī)模和設(shè)備配置,相應(yīng)地也增加了實驗步驟以及可能遇到的問題,使得實驗復(fù)雜度有所提升,但拓?fù)湓O(shè)計為“量身定制”,能夠恰當(dāng)?shù)卣故綬IP重難點問題的同時不會引入無關(guān)干擾因素,讓初學(xué)者能夠更好地專注于實驗主線?;诟倪M(jìn)后的實驗拓?fù)?學(xué)生能夠觀察到RIP自動路由匯總帶來的問題,RIP常規(guī)配置結(jié)束后,學(xué)生不會“順利”得到全網(wǎng)互通的實驗結(jié)果,卻觀察到“時斷時通”的意外結(jié)果,而實驗中間的這些“插曲”正是學(xué)生深入實驗機(jī)理的良機(jī),改進(jìn)的實驗設(shè)計會逐步引學(xué)生“入局”,讓學(xué)生在實驗中發(fā)現(xiàn)RIPv1的問題,思考問題產(chǎn)生的原因,在尋求解決方案的過程不斷深入RIP協(xié)議工作過程,深刻認(rèn)識RIPv1的局限性以及RIPv2的優(yōu)勢所在。
改進(jìn)方案通過對實驗現(xiàn)象的逐層剖析使得原理知識不再抽象,理論與實踐緊密結(jié)合,學(xué)生以“眼見為實”的方式逐個驗證理論知識點,對學(xué)生深刻理解相關(guān)原理大有裨益。學(xué)生不需要通過刻意的理論記憶來掌握知識原理,而是以“實踐親證”的方式通過不斷探究實驗和解決問題來逐漸內(nèi)化所學(xué)。
實驗基于Packet Tracer軟件搭建實驗拓?fù)洵h(huán)境,利用3臺路由器互聯(lián)Net1—Net5 5個用戶網(wǎng)絡(luò),路由器之間采用串行連接,搭建如圖1所示的網(wǎng)絡(luò)拓?fù)?全網(wǎng)部署了可變長子網(wǎng)掩碼(Variable Length Subnet Mask,VLSM)。
圖1 實驗拓?fù)?/p>
3.2.1 RIPv1協(xié)議配置
在3臺路由器上分別啟用RIPv1,使用network命令指定與當(dāng)前路由器直連的網(wǎng)絡(luò)(以路由器R1的配置為例,直連網(wǎng)絡(luò)是172.16.0.0、172.18.1.0、172.18.2.0),并使用passive-interface命令禁止從連接用戶網(wǎng)絡(luò)的以太網(wǎng)接口發(fā)送路由更新(以路由器R1的配置為例,禁更接口為f0/0和f0/1)。
3.2.2 RIPv1路由分析
分別在3臺路由器上查看路由表,如圖2所示,由左至右分別為R1、R2、R3的路由表。讓學(xué)生觀察并記錄路由表目前存在的相關(guān)問題:第一,R2的路由表中存在2條到達(dá)目標(biāo)網(wǎng)絡(luò)172.18.0.0/16的路由,但這2條路由的下一跳不同,分別是10.0.0.5或10.0.0.10;第二,路由器R1和R3的路由表中均未出現(xiàn)匯總路由172.18.0.0/16;第三,路由器R1和R3中沒有關(guān)于目標(biāo)網(wǎng)絡(luò)192.168.0.0/16的路由項。這3個問題是深入理解RIP協(xié)議的3個關(guān)鍵問題,接下來,探析這3個問題的過程正是幫助學(xué)生發(fā)現(xiàn)自動匯總引發(fā)問題和RIPv1局限性的過程。
圖2 配置RIPv1后3臺路由器路由表
為了引導(dǎo)學(xué)生分析問題原因,實驗要求學(xué)生在3臺路由器上通過“debug ip rip”命令查看和分析路由器送出和收到的路由更新信息,如圖3所示為關(guān)鍵路由更新信息節(jié)選。
圖3 RIPv2調(diào)試信息
第一個問題是本實驗的重點問題,如圖3所示,由于R1通過其接口s0/0向外發(fā)送更新時,RIPv1已經(jīng)自動將172.18.1.0/24和172.18.2.0/24 2個子網(wǎng)路由匯總為一個主類路由172.18.0.0。同樣,由于R3通過其接口s0/0向外發(fā)送更新時,也自動將172.18.3.0/24和172.18.4.0/24 2個子網(wǎng)路由匯總為一個主類路由172.18.0.0,因此R1和R3創(chuàng)建的更新均為“network 172.18.0.0 metric 1”,即R1和R3都發(fā)布了目標(biāo)網(wǎng)絡(luò)為172.18.0.0的路由,鄰居路由器R2上便收到了2條到達(dá)網(wǎng)絡(luò)172.18.0.0的路由更新,因此R2的路由表中相應(yīng)出現(xiàn)了2條目標(biāo)網(wǎng)絡(luò)為172.18.0.0的“R”路由項(即RIP路由項),R2將這2條路由(Metic均為120/1)作為到達(dá)同一目的網(wǎng)絡(luò)的等價路由[3],即R2認(rèn)為通過下一跳10.0.0.5或10.0.0.10到達(dá)172.18.0.0/16是等價的。
第二個問題與第一個問題緊密關(guān)聯(lián),R2從R1和R3學(xué)習(xí)到了2條等價172.18.0.0路由,但是R2在路由更新中并沒有向R1和R3“返還”這條路由。借此問題,學(xué)生將對理論課程中講解的水平分割原理有比較直觀且深刻的認(rèn)識。
針對第三個問題,學(xué)生需要利用之前學(xué)習(xí)的CIDR編址知識,分析得出Net3的網(wǎng)絡(luò)地址192.168.0.0/16是一個無類地址,然后結(jié)合理論課程中對RIP版本區(qū)別的介紹(RIPv1是有類路由選擇協(xié)議,而RIPv2是無類路由選擇協(xié)議),自行剖析出問題的原因:目前路由器使用RIPv1是無法識別192.168.0.0/16無類地址的,因此R2發(fā)送更新時并沒有將網(wǎng)絡(luò)192.168.0.0通告出去。
為了進(jìn)一步加強(qiáng)學(xué)生對RIPv1和RIPv2路由更新區(qū)別的認(rèn)知,實驗設(shè)計在第三個問題的基礎(chǔ)上,插入2個引導(dǎo)性思考問題:圖3所示的路由更新中為何沒有提供網(wǎng)絡(luò)掩碼信息;RIPv1采用何種方式發(fā)送路由更新。學(xué)生將結(jié)合理論課堂所學(xué)進(jìn)行實驗觀察,以“眼見為實”的方式直接得到2個結(jié)論:第一,由于RIPv1是有類路由選擇協(xié)議,所以這些更新中沒有隨網(wǎng)絡(luò)地址提供網(wǎng)絡(luò)掩碼信息,即RIPv1在路由更新過程中不攜帶子網(wǎng)信息;第二,圖3調(diào)試信息顯示“sending v1 update to 255.255.255.255……”說明RIPv1是采用廣播方式發(fā)送路由更新的。
3.2.3 第一次設(shè)備連通性測試
學(xué)生在R2上分別ping主機(jī)PC1、PC2、PC4、PC5,會發(fā)現(xiàn)測試結(jié)果均為間斷性連通,連通成功率(Success rate)為40%或60%。接下來讓學(xué)生思考造成該測試結(jié)果的原因,讓學(xué)生深入理解通過等價路由實現(xiàn)路由負(fù)載分擔(dān),通往這個目的地的流量會被平均分配在2條路由上,負(fù)載分擔(dān)的方式:第1個分組走第一條路由,第2個分組走第二條,依次類推。以Ping主機(jī)PC1為例,路由器默認(rèn)發(fā)出5個ping請求的情況下,部分請求被轉(zhuǎn)發(fā)至R1方向,部分請求被轉(zhuǎn)發(fā)至R2方向,因此測試結(jié)果顯示“Success rate is 60 percent (3/5)”或者“Success rate is 60 percent (2/5)”。通常學(xué)生為了解決這個間斷性連通問題,會提出關(guān)閉RIP路由自動匯總功能的解決方案,這時就讓學(xué)生通過實操嘗試來驗證是否可行。由此環(huán)節(jié)讓學(xué)生認(rèn)識到RIPv1的局限性之一:無法關(guān)閉路由自動匯總功能,學(xué)生由此也能“預(yù)感”到RIPv2應(yīng)該在這方面有所改進(jìn)。這種方法比教師直接講授局限性效果更好。
連通性測試應(yīng)該考慮全面,不僅要對主機(jī)通信進(jìn)行測試,還要針對前面發(fā)現(xiàn)的實驗問題進(jìn)行相關(guān)測試,以便與后繼測試形成對比。由于R1和R3的路由表中沒有關(guān)于192.168.0.0/16的路由,因此,現(xiàn)在R1和R3無法ping通192.168.0.1(R2的接口f0/0)和192.168.0.2(PC3)。
3.2.4 啟用RIPv2并禁止自動匯總
針對前面實驗中發(fā)現(xiàn)的RIPv1的多個問題,學(xué)生嘗試配置RIPv2協(xié)議來再次觀察和分析問題的解決情況。在3臺路由器上啟用RIPv2并使用“no auto-summary”命令關(guān)閉自動匯總。
3.2.5 RIPv2路由分析
查看3臺路由器的路由表,如圖4所示為收斂狀態(tài)時的路由表??梢钥吹絉1和R3都已獲得關(guān)于192.168.0.0/16的路由,說明RIPv2是無類路由選擇協(xié)議,能夠識別無類網(wǎng)絡(luò)地址。
圖4 配置RIPv2后3臺路由器路由
學(xué)生在3臺路由器上通過“debug ip rip”命令查看路由器送出和收到的更新(如圖5所示為部分路由更新信息節(jié)選),并可以和之前的RIPv1調(diào)試信息進(jìn)行對比分析,記錄重要變化:第一,更新中每個網(wǎng)絡(luò)地址都攜帶了網(wǎng)絡(luò)掩碼信息,證明RIPv2是無類路由選擇協(xié)議;第二,調(diào)試信息顯示“sending v2 update to 224.0.0.9……”,224.0.0.9為組播地址,說明RIPv2是采用組播方式發(fā)送路由更新的。
圖5 RIPv2調(diào)試信息
學(xué)生觀察R1的“build update entries”部分,可以得知R1在通過其接口s0/0向外發(fā)送更新時,不再自動將172.18.1.0和172.18.2.0 2條路由匯總為一條路由172.18.0.0。觀察R3與R1的路由表,情況相同。這說明雖然RIPv1和RIPv2都默認(rèn)激活路由匯總功能,但是RIPv2可以通過命令關(guān)閉該功能。
R2的路由表顯示路由器R2上收到了4條明確路由:172.18.1.0/24、172.18.2.0/24、172.18.3.0/24、172.18.4.0/24,而非2條到達(dá)網(wǎng)絡(luò)172.18.0.0的等價路由,表明路由的自動匯總已被禁止。而且R2發(fā)送的v2更新(sending v2 update)中包含了192.168.0.0/16這條路由,說明RIPv2支持VLSM和CIDR。
3.2.6 第二次設(shè)備連通性測試
在R2上ping主機(jī)PC1、PC2、PC4、PC5,連通成功率全部為100%。由于R1和R3的路由表中有了關(guān)于192.168.0.0/16的路由,因此,現(xiàn)在R1和R3 已經(jīng)可以ping通192.168.0.1(即R2的接口f0/0)和192.168.0.2(即PC3),PC之間也可以相互通信,即全網(wǎng)連通。
傳統(tǒng)RIP實驗方案可以讓學(xué)生掌握RIP基本配置方法并進(jìn)行簡單的連通性測試,但無法引領(lǐng)學(xué)生深入思考,進(jìn)一步分析RIP路由更新過程、路由匯總問題、版本區(qū)別等。本文從實驗拓?fù)?、實驗過程、實驗結(jié)果分析等方面對傳統(tǒng)實驗方案進(jìn)行了改進(jìn),實驗邏輯主線清晰,由RIPv1的配置與調(diào)試,引出中間問題,然后逐步引導(dǎo)學(xué)生思考和解決問題,通過RIPv2的配置與調(diào)試,分析路由更新過程的變化以及路由更新對路由表的影響,不斷深化學(xué)生對RIP協(xié)議工作原理的理解。本實驗教學(xué)設(shè)計方案已在多個專業(yè)的計算機(jī)網(wǎng)絡(luò)課程中得到推廣和應(yīng)用,實踐證明改進(jìn)的實驗設(shè)計方案使學(xué)生有機(jī)會在實驗中觀察和分析理論課堂中講到的重難點問題,不僅激發(fā)了學(xué)生深入實驗機(jī)理的興趣,而且提高了學(xué)生主動開展實驗探討的積極性。學(xué)生不再是“簡單實操,直取結(jié)果”,而是在實驗設(shè)計的“局”中通過主動思考,逐漸完善認(rèn)知,不斷提升分析和解決實際問題的能力。