徐明偉 徐 恪 崔 勇 王宇亮 吳建平
摘要:計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)是計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中非常重要的組成部分。復(fù)雜網(wǎng)絡(luò)協(xié)議由于其協(xié)議狀態(tài)機(jī)變換復(fù)雜,往往成為計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中的實(shí)驗(yàn)設(shè)計(jì)難點(diǎn)。本文以IPSec協(xié)議為例,提出了復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)實(shí)現(xiàn)框架,設(shè)計(jì)了復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)的開發(fā)方法。
關(guān)鍵詞:計(jì)算機(jī)網(wǎng)絡(luò);復(fù)雜網(wǎng)絡(luò)協(xié)議;實(shí)驗(yàn)設(shè)計(jì);協(xié)議狀態(tài)機(jī)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
1引言
計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)驗(yàn)教學(xué)是計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)的重要組成部分,實(shí)驗(yàn)教學(xué)的狀況和效果直接關(guān)系到計(jì)算機(jī)網(wǎng)絡(luò)課程的教學(xué)質(zhì)量。網(wǎng)絡(luò)實(shí)驗(yàn)的設(shè)計(jì)對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)驗(yàn)教學(xué)效果起著決定性的作用。目前網(wǎng)絡(luò)實(shí)驗(yàn)設(shè)計(jì),條件較好的學(xué)校可以投入相當(dāng)數(shù)目的經(jīng)費(fèi)購買路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備,使師生在真實(shí)的網(wǎng)絡(luò)環(huán)境中進(jìn)行網(wǎng)絡(luò)教學(xué),對(duì)于簡單的網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)而言,較少的網(wǎng)絡(luò)設(shè)備就能夠順利的完成實(shí)驗(yàn)所要求的內(nèi)容,然而對(duì)于復(fù)雜的網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn),需要更多的網(wǎng)絡(luò)硬件設(shè)備,另外,復(fù)雜網(wǎng)絡(luò)協(xié)議由于運(yùn)行狀態(tài)機(jī)復(fù)雜,在網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)當(dāng)中要考慮的因素較多,因此,應(yīng)該盡可能涵蓋復(fù)雜網(wǎng)絡(luò)協(xié)議的絕大多數(shù)狀態(tài)機(jī)情況,以便學(xué)生能夠通過網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)盡可能多的了解復(fù)雜協(xié)議運(yùn)行的狀態(tài)機(jī)變化情況。因此在復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)時(shí)應(yīng)該盡可能的減少對(duì)網(wǎng)絡(luò)設(shè)備的依賴,并且應(yīng)該具有較強(qiáng)的可擴(kuò)展性,方便加入對(duì)復(fù)雜網(wǎng)絡(luò)協(xié)議新測試點(diǎn)的檢測。
本文所研究的復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)基于NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)平臺(tái)。NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)充分利用了網(wǎng)絡(luò)環(huán)境所帶來的便利,通過學(xué)生使用的客戶端、教師管理使用的實(shí)驗(yàn)管理服務(wù)器和支持學(xué)生編程測試的測試服務(wù)器等軟、硬件設(shè)備,在網(wǎng)絡(luò)環(huán)境中進(jìn)行實(shí)際編程、實(shí)驗(yàn)和測試等環(huán)節(jié),使學(xué)生深入地學(xué)習(xí)網(wǎng)絡(luò)工作原理,且網(wǎng)絡(luò)傳送的數(shù)據(jù)清晰可見,達(dá)到真正從理論和實(shí)踐兩方面提高學(xué)生的網(wǎng)絡(luò)知識(shí)水平和實(shí)際動(dòng)手能力的目的,實(shí)現(xiàn)培養(yǎng)高素質(zhì)的專業(yè)人才的目標(biāo)。
本文在復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)研究方面,主要有以下幾點(diǎn)貢獻(xiàn):
(1) 提出了支持基于腳本語言的可擴(kuò)展實(shí)驗(yàn)設(shè)計(jì)方法;
(2) 研究了復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)實(shí)現(xiàn)的框架;
(3) 研究了復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)環(huán)境的搭建。
本文第2部分介紹了國內(nèi)外已有網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)。第3部分簡要介紹了網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)平臺(tái)。第4部分介紹了復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)思想。第5部分以IPSec協(xié)議為例介紹了復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)。最后一部分對(duì)本文進(jìn)行了總結(jié)。
2實(shí)驗(yàn)平臺(tái)介紹
復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)依托于具體的實(shí)驗(yàn)平臺(tái),下面對(duì)已有實(shí)驗(yàn)平臺(tái)和本文所研究的復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)所依托的實(shí)驗(yàn)平臺(tái)進(jìn)行介紹。
2.1已有實(shí)驗(yàn)平臺(tái)介紹
目前,國內(nèi)外已經(jīng)有多個(gè)可用于網(wǎng)絡(luò)實(shí)驗(yàn)和仿真的相關(guān)系統(tǒng),下面進(jìn)行簡要介紹。
(1) 中軟吉大網(wǎng)絡(luò)協(xié)議仿真教學(xué)系統(tǒng)
中軟吉大網(wǎng)絡(luò)協(xié)議仿真教學(xué)系統(tǒng)主要為高等院校計(jì)算機(jī)相關(guān)專業(yè)的網(wǎng)絡(luò)教學(xué)而設(shè)計(jì)的網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng),使用的對(duì)象是高等院校的高年級(jí)的本科生或者研究生,該系統(tǒng)主要分為主控設(shè)備、數(shù)據(jù)采集器、網(wǎng)絡(luò)協(xié)議仿真編輯器和網(wǎng)絡(luò)協(xié)議分析器。主控設(shè)備是為網(wǎng)絡(luò)實(shí)驗(yàn)提供給中服務(wù)及局域網(wǎng)內(nèi)的數(shù)據(jù)處理,性能狀況分析。數(shù)據(jù)采集器主要功能是以旁路的方式采集線路數(shù)據(jù)信息,可通過切換開關(guān)實(shí)現(xiàn)單機(jī)監(jiān)控和全網(wǎng)絡(luò)監(jiān)控。網(wǎng)絡(luò)協(xié)議仿真編輯器實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)報(bào)文的編輯、發(fā)送和對(duì)報(bào)文進(jìn)行TCP封裝。
(2) 清華E_compass網(wǎng)絡(luò)實(shí)驗(yàn)室
清華E-Compass網(wǎng)絡(luò)實(shí)驗(yàn)室解決方案首創(chuàng)實(shí)驗(yàn)臺(tái)的概念。整個(gè)實(shí)驗(yàn)室由多個(gè)實(shí)驗(yàn)臺(tái)構(gòu)成。每個(gè)實(shí)驗(yàn)臺(tái)就是一個(gè)教學(xué)模塊,可依據(jù)學(xué)科課程自由組合,完成制定的實(shí)驗(yàn)內(nèi)容,達(dá)到理想的教學(xué)目標(biāo)。學(xué)生可以通過每個(gè)實(shí)驗(yàn)臺(tái)內(nèi)的管理控制器登陸到試驗(yàn)設(shè)備上做各種實(shí)驗(yàn)。網(wǎng)絡(luò)實(shí)驗(yàn)室提供了進(jìn)行各種前沿網(wǎng)絡(luò)實(shí)驗(yàn)的必要條件。采用先進(jìn)的網(wǎng)絡(luò)實(shí)驗(yàn)技術(shù),提供包括業(yè)界領(lǐng)先的萬兆、三層交換、多路由、多交換、以及防火墻等模塊化實(shí)驗(yàn)環(huán)境,硬件模塊和實(shí)驗(yàn)軟件自由組合,可實(shí)現(xiàn)各種復(fù)雜的網(wǎng)絡(luò)科研實(shí)驗(yàn)和現(xiàn)實(shí)環(huán)境。通過這套網(wǎng)絡(luò)實(shí)驗(yàn)室平臺(tái),教師可以指導(dǎo)學(xué)生真實(shí)構(gòu)建校園網(wǎng)、城域網(wǎng)、政府網(wǎng)絡(luò)平臺(tái)、電信網(wǎng)絡(luò)平臺(tái)、銀行網(wǎng)絡(luò)平臺(tái)、保險(xiǎn)網(wǎng)絡(luò)平臺(tái)等復(fù)雜網(wǎng)絡(luò)環(huán)境。并針對(duì)IPv4、IPv6、VPN、VOIP、WLAN等技術(shù)專題開展多種在線真實(shí)實(shí)驗(yàn)。
(3)NetGuru
NetGuru的主要特色在于輔助老師或?qū)W員利用該網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)來實(shí)際操作。NetGuru提供真實(shí)的網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境來運(yùn)行多種網(wǎng)絡(luò)重要議題的實(shí)驗(yàn)。實(shí)驗(yàn)的過程均為實(shí)際運(yùn)作而非仿真。NetGuru將多組網(wǎng)絡(luò)設(shè)備整合一體,幫助學(xué)習(xí)者在親身體驗(yàn)中,大幅提升網(wǎng)絡(luò)專業(yè)技能。
(4)OPNET Modeler
OPNET Modeler網(wǎng)絡(luò)仿真軟件主要面向?qū)I(yè)人員,幫助客戶進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)、設(shè)備和應(yīng)用的設(shè)計(jì)、建設(shè)、分析和管理。
OPNET Modeler應(yīng)用到的領(lǐng)域非常廣泛,包括端到端的結(jié)構(gòu)、系統(tǒng)級(jí)的仿真、新的協(xié)議開發(fā)和優(yōu)化,網(wǎng)絡(luò)和業(yè)務(wù)層配合,達(dá)到最好的性能。例如:在端到端結(jié)構(gòu)上的應(yīng)用,已從IPv4網(wǎng)絡(luò)升級(jí)到IPv6網(wǎng)絡(luò);在新的協(xié)議開發(fā)的過程中,有目前流行的3G無線協(xié)議;在系統(tǒng)基的網(wǎng)絡(luò)仿真中,可分析一種新的路由或者調(diào)度算法如何使路由器和交換機(jī)達(dá)到Qos;在網(wǎng)絡(luò)和業(yè)務(wù)如何優(yōu)化方面,可以分析新引進(jìn)的業(yè)務(wù)對(duì)整個(gè)網(wǎng)絡(luò)的影響。
(5)NS-2
NS-2是由UC Berkeley開發(fā),用于仿真各種IP網(wǎng)絡(luò)為主的優(yōu)秀仿真軟件。
NS-2的設(shè)計(jì)實(shí)現(xiàn)了共享兩種程序設(shè)計(jì)語言,C++和Otcl。這兩種程序設(shè)計(jì)語言都是面向?qū)ο蟮?。C++程序模塊的運(yùn)行速度非???是強(qiáng)制類型的程序設(shè)計(jì)語言,容易實(shí)現(xiàn)精確的、復(fù)雜的算法,但是修改、調(diào)試和修正bug所花費(fèi)的時(shí)間較長,因?yàn)樗容^復(fù)雜。Otcl是腳本程序編寫語言,是無強(qiáng)制類型的,比較簡單,容易實(shí)現(xiàn)和修改,容易修正bug,雖然它的運(yùn)行速度和C++的模塊相比要慢很多。
NS-2設(shè)計(jì)的出發(fā)點(diǎn)是基于網(wǎng)絡(luò)仿真,它集成了多種網(wǎng)絡(luò)協(xié)議、業(yè)務(wù)類型、路由排隊(duì)管理機(jī)制,以及路由算法。此外,NS-2還集成了組播業(yè)務(wù)和應(yīng)用于局域網(wǎng)仿真有關(guān)的部分MAC層協(xié)議。其仿真主要針對(duì)路由層、傳輸層、數(shù)據(jù)鏈路層展開,因此NS-2可以進(jìn)行對(duì)固定、無線、衛(wèi)星以及混合等多種網(wǎng)絡(luò)的仿真。但它最適用于TCP層以上的模擬。NS-2的特點(diǎn)是源代碼公開;可擴(kuò)展性強(qiáng);速度和效率優(yōu)勢明顯。缺點(diǎn)為:界面不夠友好,功能分布零散,不容易上手,不支持代碼級(jí)的網(wǎng)絡(luò)協(xié)議仿真。
(6)CISCO網(wǎng)絡(luò)模擬器
Cisco網(wǎng)絡(luò)模擬器主要面向?yàn)橄Mㄟ^Cisco網(wǎng)絡(luò)體系認(rèn)證的用戶,該模擬器主要是提供一個(gè)模擬的網(wǎng)絡(luò)環(huán)境與配置條件,通過正確的命令行在模擬的界面操作,從而使網(wǎng)絡(luò)協(xié)議在虛擬的網(wǎng)絡(luò)環(huán)境中正常的運(yùn)行。所支持的實(shí)驗(yàn)內(nèi)容包括CCNP和CCIE所包括的網(wǎng)絡(luò)協(xié)議和配置。
Cisco網(wǎng)絡(luò)模擬器能夠模擬出一個(gè)虛擬的網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,其中包括了實(shí)驗(yàn)室所需要的路由器、交換機(jī)、各種的網(wǎng)絡(luò)連接方式,點(diǎn)擊進(jìn)入相關(guān)的設(shè)備就可以進(jìn)行相應(yīng)的命令操作。
(7)Boson NetSim
Boson NetSim是Boson公司推出的一款Cisco路由器、交換機(jī)模擬程序。他的出現(xiàn)給那些正在準(zhǔn)備CCNA、CCNP考試卻苦于沒有實(shí)驗(yàn)設(shè)備、實(shí)驗(yàn)環(huán)境的備考者提供了實(shí)踐練習(xí)的環(huán)境。Boson NetSim由兩個(gè)組成部分:實(shí)驗(yàn)拓?fù)鋱D設(shè)計(jì)軟件(Boson Network Designer)和實(shí)驗(yàn)環(huán)境模擬器(Boson NetSim)。
2.2NetRiver計(jì)算機(jī)網(wǎng)絡(luò)試驗(yàn)系統(tǒng)
本文所研究的復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)的開發(fā)環(huán)境在NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)的平臺(tái)下。NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D如圖1所示,體系結(jié)構(gòu)如圖2所示,他是基于腳本驅(qū)動(dòng)的網(wǎng)絡(luò)協(xié)議仿真和測試平臺(tái)。NetRiver系統(tǒng)由一臺(tái)測試服務(wù)器、一套客戶端軟件和一套實(shí)驗(yàn)管理軟件構(gòu)成。測試服務(wù)器上保存測試腳本文件,按照測試腳本文件的驅(qū)動(dòng),通過與客戶端交互協(xié)議包,實(shí)現(xiàn)實(shí)驗(yàn)功能,并提供自動(dòng)測試和實(shí)驗(yàn)結(jié)果評(píng)分。客戶端軟件運(yùn)行于多臺(tái)PC機(jī)上,為用戶提供基于Windows的集成實(shí)驗(yàn)環(huán)境,學(xué)生編寫實(shí)驗(yàn)代碼、調(diào)試和運(yùn)行實(shí)驗(yàn)程序均在客戶端軟件上執(zhí)行。管理服務(wù)器保存用戶信息、實(shí)驗(yàn)代碼和測試結(jié)果。管理客戶端和測試服務(wù)器均實(shí)現(xiàn)基于Web的實(shí)驗(yàn)管理功能。
NetRiver實(shí)驗(yàn)系統(tǒng)主要具有以下幾個(gè)特色和創(chuàng)新點(diǎn)。
(1) 可控真實(shí)的全協(xié)議棧網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)系統(tǒng)提供了一個(gè)全協(xié)議棧的網(wǎng)絡(luò)實(shí)驗(yàn)環(huán)境,學(xué)生實(shí)驗(yàn)可涉及到完整協(xié)議棧,無論是數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層還是傳輸層和應(yīng)用層,都可以通過編程開發(fā)或者交互式配置來深入理解相應(yīng)網(wǎng)絡(luò)協(xié)議機(jī)制。
(2) 支持實(shí)驗(yàn)代碼編輯、編譯和調(diào)試的集成編譯環(huán)境
實(shí)驗(yàn)系統(tǒng)面向?qū)W生的客戶端提供了一整套開發(fā)調(diào)試解決方案。學(xué)生可在客戶端上完成包括登錄、實(shí)驗(yàn)選擇、測試?yán)x擇、代碼編寫、編譯、調(diào)試和測試在內(nèi)的完整過程。界面設(shè)計(jì)友好,可使學(xué)生迅速進(jìn)入實(shí)驗(yàn)狀態(tài)。
(3) 可視化的協(xié)議報(bào)文捕捉與行為分析
系統(tǒng)可在學(xué)生程序運(yùn)行過程中實(shí)時(shí)捕捉實(shí)驗(yàn)相關(guān)報(bào)文,并且按照其時(shí)間順序和發(fā)送方向以可視化的方式在界面上描繪出來,并且學(xué)生也可具體查看分組解析之后各域的內(nèi)容,從而判斷自身程序潛在的錯(cuò)誤。
(4) 面向因材施教的多層次實(shí)驗(yàn)手段
(5) 基于腳本語言驅(qū)動(dòng)的網(wǎng)絡(luò)協(xié)議測試
實(shí)驗(yàn)系統(tǒng)所支持的實(shí)驗(yàn)是基于腳本語言編寫的,通過腳本語言良好的描述能力,實(shí)驗(yàn)系統(tǒng)實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議環(huán)境的模擬以及自動(dòng)測試的功能。
(6) 基于協(xié)調(diào)測試法的自動(dòng)實(shí)驗(yàn)測試
完成某個(gè)實(shí)驗(yàn)之后,實(shí)驗(yàn)平臺(tái)可按照學(xué)生選擇的測試?yán)詣?dòng)對(duì)該學(xué)生所做的配置或者編寫的代碼進(jìn)行測試,同時(shí)返回測試通過的數(shù)量和失敗的數(shù)量。
(7) 功能豐富的實(shí)驗(yàn)管理平臺(tái)
學(xué)生可登錄到該Web界面查看自己的實(shí)驗(yàn)記錄以及通過情況;助教可通過該平臺(tái)查看所有學(xué)生的實(shí)驗(yàn)情況,并可進(jìn)行匯總分析;教師除了可看到所有學(xué)生的情況之外,還可對(duì)學(xué)生和實(shí)驗(yàn)進(jìn)行增、刪等管理操作。該平臺(tái)避免了手工管理大量學(xué)生實(shí)驗(yàn)成績的繁瑣,可十分高效、方便而又準(zhǔn)確的對(duì)學(xué)生實(shí)驗(yàn)情況進(jìn)行管理。
3復(fù)雜網(wǎng)絡(luò)協(xié)議試驗(yàn)設(shè)計(jì)思想
復(fù)雜網(wǎng)絡(luò)協(xié)議在計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中是非常重要的。隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)的規(guī)模在急劇的膨脹,簡單網(wǎng)絡(luò)協(xié)議已經(jīng)滿足不了計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,復(fù)雜網(wǎng)絡(luò)協(xié)議已經(jīng)成為計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議族的主流,例如IPSec,移動(dòng)IP等都是有多個(gè)協(xié)議構(gòu)成的復(fù)雜協(xié)議族,因此讓學(xué)生熟悉并且深入理解復(fù)雜網(wǎng)絡(luò)協(xié)議是非常有必要的。
總結(jié)國內(nèi)外以往的復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì),主要存在以下幾點(diǎn)不足:(1)復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)由于缺乏軟、硬件支撐環(huán)境,通常會(huì)設(shè)計(jì)一些模擬實(shí)驗(yàn)來代替實(shí)際的網(wǎng)絡(luò)實(shí)驗(yàn)。這樣做的缺點(diǎn)是學(xué)生缺乏對(duì)真實(shí)網(wǎng)絡(luò)環(huán)境的感性認(rèn)識(shí)和理解,一些模擬實(shí)驗(yàn)難以避免的假象會(huì)影響學(xué)生對(duì)真實(shí)網(wǎng)絡(luò)和協(xié)議的理解;(2)缺乏網(wǎng)絡(luò)核心協(xié)議的實(shí)驗(yàn)。由于經(jīng)費(fèi)和規(guī)模的限制,很難保證每個(gè)學(xué)生都能單獨(dú)分配到一臺(tái)交換機(jī)和路由器。例如BGP和OSPF復(fù)雜網(wǎng)絡(luò)協(xié)議,則需要能夠進(jìn)行組網(wǎng)實(shí)驗(yàn),使大量學(xué)生同時(shí)進(jìn)行復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)受到了很大的限制無法完成實(shí)驗(yàn)?zāi)繕?biāo);(3)復(fù)雜網(wǎng)絡(luò)實(shí)驗(yàn)的可擴(kuò)展性差。在進(jìn)行復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)時(shí),學(xué)生必須按照已經(jīng)在實(shí)驗(yàn)指導(dǎo)書中所規(guī)定的測試點(diǎn)進(jìn)行實(shí)驗(yàn),如果要更改測試點(diǎn)需要對(duì)網(wǎng)絡(luò)硬件平臺(tái)進(jìn)行改動(dòng),并且要修改相關(guān)硬件設(shè)備配置,費(fèi)時(shí)又費(fèi)力。
復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)存在以下難點(diǎn):(1)復(fù)雜網(wǎng)絡(luò)協(xié)議內(nèi)容龐大,不同的網(wǎng)絡(luò)協(xié)議狀態(tài)機(jī)的運(yùn)行需要變換網(wǎng)絡(luò)拓?fù)浼跋嚓P(guān)配置、操作復(fù)雜;(2)復(fù)雜網(wǎng)絡(luò)協(xié)議測試點(diǎn)多,在有限的實(shí)驗(yàn)時(shí)間和網(wǎng)絡(luò)設(shè)備條件下,很難讓學(xué)生將所有的測試點(diǎn)都檢測一遍。
因此我們確立的復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)原則是:(1)減少復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)對(duì)網(wǎng)絡(luò)設(shè)備的依賴;(2)實(shí)驗(yàn)設(shè)計(jì)具有可擴(kuò)展性,使用代價(jià)較小的手段,改變對(duì)復(fù)雜協(xié)議的測試點(diǎn)的選擇;(3)深入理解原理,抓住協(xié)議重點(diǎn);(4)從協(xié)議細(xì)節(jié)入手,加深對(duì)協(xié)議內(nèi)容理解。
4實(shí)例設(shè)計(jì)
本文所研究的復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)將以IPSec協(xié)議為例,來介紹復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)。
IPSec 協(xié)議不是一個(gè)單獨(dú)的協(xié)議,它給出了應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括網(wǎng)絡(luò)認(rèn)證協(xié)議 Authentication Header(AH)、封裝安全載荷協(xié)議Encapsulating Security Payload(ESP)、密鑰管理協(xié)議Internet Key Exchange (IKE)和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等。IPSec 規(guī)定了如何在對(duì)等層之間選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問控制、數(shù)據(jù)源認(rèn)證、數(shù)據(jù)加密等網(wǎng)絡(luò)安全服務(wù)。
IPSec提供的安全服務(wù)有:(1)數(shù)據(jù)加密:IPSec在傳輸或轉(zhuǎn)發(fā)報(bào)文之前可以對(duì)報(bào)文進(jìn)行加密;(2)數(shù)據(jù)完整性驗(yàn)證:IPSec在接收端可以驗(yàn)證IPSec發(fā)送端發(fā)送的報(bào)文是否在傳輸?shù)倪^程中被改動(dòng);(3)數(shù)據(jù)身份驗(yàn)證:IPSec在接收端可以驗(yàn)證發(fā)送IPSec報(bào)文的發(fā)送端是否合法,這個(gè)功能是依靠數(shù)據(jù)完整性驗(yàn)證來實(shí)現(xiàn)的;(4)防重放功能:IPSec接收端可以檢測并丟棄重放的報(bào)文。
IPSec實(shí)現(xiàn)的具體功能有:(1)安全協(xié)議,AH協(xié)議和ESP協(xié)議;(2)算法,MD5、SHA1、DES、3DES、硬件加密等等;(3)通過手工配置建立安全聯(lián)盟或者利用IKE自動(dòng)協(xié)商生成安全聯(lián)盟(進(jìn)行密鑰管理);(4)劃分?jǐn)?shù)據(jù)流(具體數(shù)據(jù)流的劃分依靠ACL模塊實(shí)現(xiàn)),對(duì)不同的數(shù)據(jù)流使用不同的安全聯(lián)盟(采用不同的安全策略);(5)安全協(xié)議支持隧道及傳輸兩種模式;(5)根據(jù)生存時(shí)間定期的重新協(xié)商安全聯(lián)盟,或自動(dòng)的刪除安全聯(lián)盟。
通過對(duì)協(xié)議的分析,我們認(rèn)為作為IPSec安全網(wǎng)關(guān)對(duì)接收到的報(bào)文,如果符合相關(guān)規(guī)則就會(huì)對(duì)報(bào)文做加密或解密的工作。進(jìn)行加密的數(shù)據(jù)流程圖如圖3所示,進(jìn)行解密的數(shù)據(jù)流程圖如圖4所示。
通過協(xié)議介紹我們可以看出,IPSec協(xié)議具有以下特點(diǎn):(1)支撐協(xié)議數(shù)量多。涉及網(wǎng)絡(luò)安全領(lǐng)域的AH協(xié)議和ESP協(xié)議,并且使用專門的密鑰管理IKE協(xié)議生成安全聯(lián)盟;(2)協(xié)議運(yùn)行場景多。IPSec協(xié)議可以分別運(yùn)行安全網(wǎng)關(guān)和安全路由器之上,使用隧道模式和傳輸模式,并且每個(gè)模式之間可以按照規(guī)則兩兩嵌套組合;(3)安全協(xié)議和運(yùn)行模式組合多。兩種安全協(xié)議在不同的運(yùn)行模式下的實(shí)現(xiàn)不同;(4)加密解密算法多。安全協(xié)議的實(shí)施過程中,所涉及的加密算法、解密算法數(shù)量多。
針對(duì)IPSec協(xié)議的特點(diǎn)以及復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)的指導(dǎo)原則,我們將IPSec協(xié)議的實(shí)驗(yàn)設(shè)計(jì)原則如下:(1)掌握主要的AH協(xié)議和ESP協(xié)議的處理流程;(2)掌握兩種運(yùn)行模式及其組合模式下的處理流程;(3)掌握至少一種加密和解密算法的實(shí)現(xiàn)。
因此,在我們實(shí)驗(yàn)設(shè)計(jì)中的IPSec協(xié)議報(bào)文解密流程中檢測點(diǎn)如圖5中陰影部分所標(biāo)識(shí),對(duì)數(shù)據(jù)報(bào)文解密處理的檢測點(diǎn)流程中如圖6中陰影部分標(biāo)識(shí)。
另外我們?cè)O(shè)計(jì)IPSec協(xié)議實(shí)驗(yàn)時(shí),由于工作模式不同、處理方式也不同,所以我們應(yīng)該讓學(xué)生體驗(yàn)不同的工作模式以及安全協(xié)議中,這樣才能使學(xué)生對(duì)于IPSec協(xié)議族有更加深刻的理解。因此我們將IPSec協(xié)議的測試用例設(shè)計(jì)如下:
(1) 傳輸模式報(bào)文處理(AH協(xié)議)
? 實(shí)驗(yàn)?zāi)康?/p>
根據(jù)系統(tǒng)提供的已經(jīng)建立安全聯(lián)盟的信息,對(duì)于接收
到的報(bào)文和發(fā)送的報(bào)文,在IPSec傳輸模式的工作狀態(tài)下,根據(jù)AH協(xié)議使用系統(tǒng)提供的認(rèn)證算法對(duì)報(bào)文進(jìn)行相應(yīng)的處理。
(2) 隧道模式報(bào)文處理(ESP協(xié)議)
? 實(shí)驗(yàn)?zāi)康?/p>
根據(jù)系統(tǒng)提供的已經(jīng)建立安全聯(lián)盟的信息,對(duì)于接收到的報(bào)文和需要發(fā)送的報(bào)文,在IPSec隧道模式的工作狀態(tài)下,根據(jù)ESP協(xié)議使用系統(tǒng)提供的認(rèn)證和加密算法對(duì)報(bào)文進(jìn)行相應(yīng)的處理。
(3) 混合模式報(bào)文處理(AH協(xié)議+ESP協(xié)議)
? 實(shí)驗(yàn)?zāi)康?/p>
根據(jù)系統(tǒng)提供的已經(jīng)建立安全聯(lián)盟的信息,對(duì)于接收到的報(bào)文和需要發(fā)送的報(bào)文,在IPSec混合模式的工作狀態(tài)下,根據(jù)AH協(xié)議和ESP協(xié)議使用系統(tǒng)提供的認(rèn)證和加密算法對(duì)報(bào)文進(jìn)行相應(yīng)的處理。
(4) 3DES加密算法實(shí)現(xiàn)(ESP協(xié)議)
? 實(shí)驗(yàn)?zāi)康?/p>
根據(jù)系統(tǒng)提供的已經(jīng)建立安全聯(lián)盟的信息,對(duì)于接收到的報(bào)文和需要發(fā)送的報(bào)文,在IPSec傳輸模式的工作狀態(tài)下,根據(jù)ESP協(xié)議通過使用自行實(shí)現(xiàn)的3des加密算法對(duì)報(bào)文進(jìn)行相應(yīng)的處理。
以上的IPSec協(xié)議實(shí)驗(yàn)設(shè)計(jì)在NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)平臺(tái)上通過了驗(yàn)證,效果圖如圖7、8、9所示:
5結(jié)束語
本文首先研究了復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)的現(xiàn)狀。提出應(yīng)該在復(fù)雜網(wǎng)絡(luò)協(xié)議設(shè)計(jì)的過程中盡量減少對(duì)網(wǎng)絡(luò)設(shè)備的依賴,因?yàn)閺?fù)雜網(wǎng)絡(luò)協(xié)議測試點(diǎn)較多,在實(shí)驗(yàn)的設(shè)計(jì)環(huán)境應(yīng)該具有較強(qiáng)的可擴(kuò)展性。為了滿足復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)的基本要求,最終構(gòu)件可擴(kuò)展的網(wǎng)絡(luò)實(shí)驗(yàn)設(shè)計(jì),本文通過研究NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)的基于腳本驅(qū)動(dòng)的網(wǎng)絡(luò)協(xié)議仿真和測試機(jī)制,論證了解決復(fù)雜網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)設(shè)計(jì)中對(duì)網(wǎng)絡(luò)設(shè)備的極度依賴和可擴(kuò)展性差問題的辦法。最后,本文以IPSec協(xié)議的實(shí)驗(yàn)設(shè)計(jì)為例,詳細(xì)描述了IPSec協(xié)議的測試點(diǎn)選擇,以及NetRiver計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)開發(fā)環(huán)境下的腳本實(shí)現(xiàn),驗(yàn)證了在實(shí)驗(yàn)設(shè)計(jì)環(huán)境下復(fù)雜網(wǎng)絡(luò)協(xié)議的實(shí)驗(yàn)設(shè)計(jì)可擴(kuò)展性強(qiáng)以及設(shè)備需求少的特點(diǎn)。目前IPSec實(shí)驗(yàn)設(shè)計(jì)已經(jīng)在清華大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)原理課程的本科生教學(xué)中成功使用,并且獲得了師生一致好評(píng)。
參考文獻(xiàn):
[1] 徐明偉,崔勇,徐恪.計(jì)算機(jī)網(wǎng)絡(luò)原理實(shí)驗(yàn)教程[M]. 北京:機(jī)械工業(yè)出版社,2008.
[2] 徐明偉,劉惠山. 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)[J]. 中國教育網(wǎng)絡(luò),2007(29):65-66.
[3] 黃聲烈,邢磊,惠鑰,等. 網(wǎng)絡(luò)仿真教學(xué)平臺(tái)的構(gòu)建[J]. 實(shí)驗(yàn)技術(shù)與管理,2005,22(11):100-101.
[4] 清華通力科技股份有限公司. 清華E-Compass網(wǎng)絡(luò)實(shí)驗(yàn)室系統(tǒng)[EB/OL]. http://www.thtl.com.cn/ReadNews.asp?newsid=264.
[5] 清華通力科技股份有限公司. NetGuru 創(chuàng)新網(wǎng)絡(luò)通信實(shí)驗(yàn)平臺(tái)[EB/OL]. http://www.thtl.com.cn/ReadNews.asp?NewsID=535.
[6] 陳敏. OPNET網(wǎng)絡(luò)仿真[M]. 北京:清華大學(xué)出版社,2004:200-321.
[7] 方路平,劉世華,陳盼,郭筍,等. NS-2網(wǎng)絡(luò)模擬基礎(chǔ)與應(yīng)用[M]. 北京:國防工業(yè)出版社,2007:100-210.
[8] 崔北亮. CCNA認(rèn)證指南[M]. 北京:電子工業(yè)出版社,2009:115-116.
[9] 程光,李代強(qiáng),強(qiáng)士清. 網(wǎng)絡(luò)工程與組網(wǎng)技術(shù)[M]. 北京:清華大學(xué)出版社,2008:200-201.
[10]S. Kent. IP Authentication Header[J/OL]. [2005-12]. The Internet Engineering Task Force. 2005年12月. http://www. rfc-editor. org/rfc/rfc4302.txt.
[11]S. Kent. IP Encapsulating Security Payload(ESP)[J/OL]. [2005-12]. The Internet Engineering Task Force.http://www. rfc-editor.org/rfc/rfc4303.txt.
[12]C. Kaufman, Ed. Internet Key Exchange (IKEv2) Protocol[J/OL]. [2005-12]. The Internet Engineering Task Force. http://www.rfc-editor.org/rfc/rfc4306.txt.
[13]S. Kent, K.Seo.Security Architecture for the Internet Protocol[J/OL]. [2005-12]. The Internet Engineering Task Force. http://www.rfc-editor.org/rfc/rfc4301.txt.
The Design of Experiment of Complicated Network Protocol
XU Ming-wei, XU Ke, CUI Yong, WANG Yu-liang, WU Jian-ping
(Department of Computer and Technology, Tsinghua University, Beijing 100084, China)
Abstract: the computer network experimental teaching is an important part of the teaching of computer network,and the experimental teaching of complicated network protocol is the point of the computer network experiment teaching.It is the difficult point of the computer network experimental designing,because the Protocol State Machine of the complicated network protocol complicated change.The experimental design of complicated network protocol in this paper can provide great support for the design of experiment of complicated network protocol in computer network experimental teaching.Taking internet protocol security for instance,we advanced a realization framework of the design of experiment of complicated network protocol,and designed methods of the experiment of complicated network protocol.
Key words: computer network; protocol state machine; complicated network protocol; the design of experiment