徐明偉 徐 恪 崔 勇 王宇亮 吳建平
摘要:計算機網絡實驗教學是計算機網絡教學中非常重要的組成部分。復雜網絡協議由于其協議狀態機變換復雜,往往成為計算機網絡實驗教學中的實驗設計難點。本文以IPSec協議為例,提出了復雜網絡協議實驗實現框架,設計了復雜網絡協議實驗的開發方法。
關鍵詞:計算機網絡;復雜網絡協議;實驗設計;協議狀態機
中圖分類號:G642 文獻標識碼:A
1引言
計算機網絡的實驗教學是計算機網絡課程教學的重要組成部分,實驗教學的狀況和效果直接關系到計算機網絡課程的教學質量。網絡實驗的設計對于計算機網絡的實驗教學效果起著決定性的作用。目前網絡實驗設計,條件較好的學校可以投入相當數目的經費購買路由器、交換機等網絡設備,使師生在真實的網絡環境中進行網絡教學,對于簡單的網絡協議實驗而言,較少的網絡設備就能夠順利的完成實驗所要求的內容,然而對于復雜的網絡協議實驗,需要更多的網絡硬件設備,另外,復雜網絡協議由于運行狀態機復雜,在網絡協議實驗設計當中要考慮的因素較多,因此,應該盡可能涵蓋復雜網絡協議的絕大多數狀態機情況,以便學生能夠通過網絡協議實驗盡可能多的了解復雜協議運行的狀態機變化情況。因此在復雜網絡協議實驗設計時應該盡可能的減少對網絡設備的依賴,并且應該具有較強的可擴展性,方便加入對復雜網絡協議新測試點的檢測。
本文所研究的復雜網絡協議的實驗設計基于NetRiver計算機網絡實驗系統平臺。NetRiver計算機網絡實驗系統充分利用了網絡環境所帶來的便利,通過學生使用的客戶端、教師管理使用的實驗管理服務器和支持學生編程測試的測試服務器等軟、硬件設備,在網絡環境中進行實際編程、實驗和測試等環節,使學生深入地學習網絡工作原理,且網絡傳送的數據清晰可見,達到真正從理論和實踐兩方面提高學生的網絡知識水平和實際動手能力的目的,實現培養高素質的專業人才的目標。
本文在復雜網絡協議的實驗設計研究方面,主要有以下幾點貢獻:
(1) 提出了支持基于腳本語言的可擴展實驗設計方法;
(2) 研究了復雜網絡協議實驗設計實現的框架;
(3) 研究了復雜網絡協議實驗環境的搭建。
本文第2部分介紹了國內外已有網絡實驗平臺。第3部分簡要介紹了網絡協議實驗平臺。第4部分介紹了復雜網絡協議實驗設計思想。第5部分以IPSec協議為例介紹了復雜網絡協議的實驗設計。最后一部分對本文進行了總結。
2實驗平臺介紹
復雜網絡協議的實驗設計依托于具體的實驗平臺,下面對已有實驗平臺和本文所研究的復雜網絡協議實驗設計所依托的實驗平臺進行介紹。
2.1已有實驗平臺介紹
目前,國內外已經有多個可用于網絡實驗和仿真的相關系統,下面進行簡要介紹。
(1) 中軟吉大網絡協議仿真教學系統
中軟吉大網絡協議仿真教學系統主要為高等院校計算機相關專業的網絡教學而設計的網絡實驗系統,使用的對象是高等院校的高年級的本科生或者研究生,該系統主要分為主控設備、數據采集器、網絡協議仿真編輯器和網絡協議分析器。主控設備是為網絡實驗提供給中服務及局域網內的數據處理,性能狀況分析。數據采集器主要功能是以旁路的方式采集線路數據信息,可通過切換開關實現單機監控和全網絡監控。網絡協議仿真編輯器實現對網絡報文的編輯、發送和對報文進行TCP封裝。
(2) 清華E_compass網絡實驗室
清華E-Compass網絡實驗室解決方案首創實驗臺的概念。整個實驗室由多個實驗臺構成。每個實驗臺就是一個教學模塊,可依據學科課程自由組合,完成制定的實驗內容,達到理想的教學目標。學生可以通過每個實驗臺內的管理控制器登陸到試驗設備上做各種實驗。網絡實驗室提供了進行各種前沿網絡實驗的必要條件。采用先進的網絡實驗技術,提供包括業界領先的萬兆、三層交換、多路由、多交換、以及防火墻等模塊化實驗環境,硬件模塊和實驗軟件自由組合,可實現各種復雜的網絡科研實驗和現實環境。通過這套網絡實驗室平臺,教師可以指導學生真實構建校園網、城域網、政府網絡平臺、電信網絡平臺、銀行網絡平臺、保險網絡平臺等復雜網絡環境。并針對IPv4、IPv6、VPN、VOIP、WLAN等技術專題開展多種在線真實實驗。
(3)NetGuru
NetGuru的主要特色在于輔助老師或學員利用該網絡實驗平臺來實際操作。NetGuru提供真實的網絡實驗環境來運行多種網絡重要議題的實驗。實驗的過程均為實際運作而非仿真。NetGuru將多組網絡設備整合一體,幫助學習者在親身體驗中,大幅提升網絡專業技能。
(4)OPNET Modeler
OPNET Modeler網絡仿真軟件主要面向專業人員,幫助客戶進行網絡結構、設備和應用的設計、建設、分析和管理。
OPNET Modeler應用到的領域非常廣泛,包括端到端的結構、系統級的仿真、新的協議開發和優化,網絡和業務層配合,達到最好的性能。例如:在端到端結構上的應用,已從IPv4網絡升級到IPv6網絡;在新的協議開發的過程中,有目前流行的3G無線協議;在系統基的網絡仿真中,可分析一種新的路由或者調度算法如何使路由器和交換機達到Qos;在網絡和業務如何優化方面,可以分析新引進的業務對整個網絡的影響。
(5)NS-2
NS-2是由UC Berkeley開發,用于仿真各種IP網絡為主的優秀仿真軟件。
NS-2的設計實現了共享兩種程序設計語言,C++和Otcl。這兩種程序設計語言都是面向對象的。C++程序模塊的運行速度非常快,是強制類型的程序設計語言,容易實現精確的、復雜的算法,但是修改、調試和修正bug所花費的時間較長,因為它比較復雜。Otcl是腳本程序編寫語言,是無強制類型的,比較簡單,容易實現和修改,容易修正bug,雖然它的運行速度和C++的模塊相比要慢很多。
NS-2設計的出發點是基于網絡仿真,它集成了多種網絡協議、業務類型、路由排隊管理機制,以及路由算法。此外,NS-2還集成了組播業務和應用于局域網仿真有關的部分MAC層協議。其仿真主要針對路由層、傳輸層、數據鏈路層展開,因此NS-2可以進行對固定、無線、衛星以及混合等多種網絡的仿真。但它最適用于TCP層以上的模擬。NS-2的特點是源代碼公開;可擴展性強;速度和效率優勢明顯。缺點為:界面不夠友好,功能分布零散,不容易上手,不支持代碼級的網絡協議仿真。
(6)CISCO網絡模擬器
Cisco網絡模擬器主要面向為希望通過Cisco網絡體系認證的用戶,該模擬器主要是提供一個模擬的網絡環境與配置條件,通過正確的命令行在模擬的界面操作,從而使網絡協議在虛擬的網絡環境中正常的運行。所支持的實驗內容包括CCNP和CCIE所包括的網絡協議和配置。
Cisco網絡模擬器能夠模擬出一個虛擬的網絡實驗環境,其中包括了實驗室所需要的路由器、交換機、各種的網絡連接方式,點擊進入相關的設備就可以進行相應的命令操作。
(7)Boson NetSim
Boson NetSim是Boson公司推出的一款Cisco路由器、交換機模擬程序。他的出現給那些正在準備CCNA、CCNP考試卻苦于沒有實驗設備、實驗環境的備考者提供了實踐練習的環境。Boson NetSim由兩個組成部分:實驗拓撲圖設計軟件(Boson Network Designer)和實驗環境模擬器(Boson NetSim)。
2.2NetRiver計算機網絡試驗系統
本文所研究的復雜網絡協議實驗設計的開發環境在NetRiver計算機網絡實驗系統的平臺下。NetRiver計算機網絡實驗系統的網絡拓撲圖如圖1所示,體系結構如圖2所示,他是基于腳本驅動的網絡協議仿真和測試平臺。NetRiver系統由一臺測試服務器、一套客戶端軟件和一套實驗管理軟件構成。測試服務器上保存測試腳本文件,按照測試腳本文件的驅動,通過與客戶端交互協議包,實現實驗功能,并提供自動測試和實驗結果評分。客戶端軟件運行于多臺PC機上,為用戶提供基于Windows的集成實驗環境,學生編寫實驗代碼、調試和運行實驗程序均在客戶端軟件上執行。管理服務器保存用戶信息、實驗代碼和測試結果。管理客戶端和測試服務器均實現基于Web的實驗管理功能。

NetRiver實驗系統主要具有以下幾個特色和創新點。
(1) 可控真實的全協議棧網絡實驗環境
本實驗系統提供了一個全協議棧的網絡實驗環境,學生實驗可涉及到完整協議棧,無論是數據鏈路層、網絡層還是傳輸層和應用層,都可以通過編程開發或者交互式配置來深入理解相應網絡協議機制。
(2) 支持實驗代碼編輯、編譯和調試的集成編譯環境
實驗系統面向學生的客戶端提供了一整套開發調試解決方案。學生可在客戶端上完成包括登錄、實驗選擇、測試例選擇、代碼編寫、編譯、調試和測試在內的完整過程。界面設計友好,可使學生迅速進入實驗狀態。
(3) 可視化的協議報文捕捉與行為分析
系統可在學生程序運行過程中實時捕捉實驗相關報文,并且按照其時間順序和發送方向以可視化的方式在界面上描繪出來,并且學生也可具體查看分組解析之后各域的內容,從而判斷自身程序潛在的錯誤。
(4) 面向因材施教的多層次實驗手段
(5) 基于腳本語言驅動的網絡協議測試
實驗系統所支持的實驗是基于腳本語言編寫的,通過腳本語言良好的描述能力,實驗系統實現網絡協議環境的模擬以及自動測試的功能。
(6) 基于協調測試法的自動實驗測試
完成某個實驗之后,實驗平臺可按照學生選擇的測試例自動對該學生所做的配置或者編寫的代碼進行測試,同時返回測試通過的數量和失敗的數量。
(7) 功能豐富的實驗管理平臺
學生可登錄到該Web界面查看自己的實驗記錄以及通過情況;助教可通過該平臺查看所有學生的實驗情況,并可進行匯總分析;教師除了可看到所有學生的情況之外,還可對學生和實驗進行增、刪等管理操作。該平臺避免了手工管理大量學生實驗成績的繁瑣,可十分高效、方便而又準確的對學生實驗情況進行管理。
3復雜網絡協議試驗設計思想
復雜網絡協議在計算機網絡教學中是非常重要的。隨著計算機網絡的飛速發展,計算機網絡的規模在急劇的膨脹,簡單網絡協議已經滿足不了計算機網絡的發展,復雜網絡協議已經成為計算機網絡協議族的主流,例如IPSec,移動IP等都是有多個協議構成的復雜協議族,因此讓學生熟悉并且深入理解復雜網絡協議是非常有必要的。
總結國內外以往的復雜網絡協議實驗設計,主要存在以下幾點不足:(1)復雜網絡協議實驗由于缺乏軟、硬件支撐環境,通常會設計一些模擬實驗來代替實際的網絡實驗。這樣做的缺點是學生缺乏對真實網絡環境的感性認識和理解,一些模擬實驗難以避免的假象會影響學生對真實網絡和協議的理解;(2)缺乏網絡核心協議的實驗。由于經費和規模的限制,很難保證每個學生都能單獨分配到一臺交換機和路由器。例如BGP和OSPF復雜網絡協議,則需要能夠進行組網實驗,使大量學生同時進行復雜網絡協議的實驗受到了很大的限制無法完成實驗目標;(3)復雜網絡實驗的可擴展性差。在進行復雜網絡協議實驗時,學生必須按照已經在實驗指導書中所規定的測試點進行實驗,如果要更改測試點需要對網絡硬件平臺進行改動,并且要修改相關硬件設備配置,費時又費力。
復雜網絡協議的實驗設計存在以下難點:(1)復雜網絡協議內容龐大,不同的網絡協議狀態機的運行需要變換網絡拓撲及相關配置、操作復雜;(2)復雜網絡協議測試點多,在有限的實驗時間和網絡設備條件下,很難讓學生將所有的測試點都檢測一遍。
因此我們確立的復雜網絡協議的實驗設計原則是:(1)減少復雜網絡協議實驗對網絡設備的依賴;(2)實驗設計具有可擴展性,使用代價較小的手段,改變對復雜協議的測試點的選擇;(3)深入理解原理,抓住協議重點;(4)從協議細節入手,加深對協議內容理解。
4實例設計
本文所研究的復雜網絡協議的實驗設計將以IPSec協議為例,來介紹復雜網絡協議的實驗設計。
IPSec 協議不是一個單獨的協議,它給出了應用于IP層上網絡數據安全的一整套體系結構,包括網絡認證協議 Authentication Header(AH)、封裝安全載荷協議Encapsulating Security Payload(ESP)、密鑰管理協議Internet Key Exchange (IKE)和用于網絡認證及加密的一些算法等。IPSec 規定了如何在對等層之間選擇安全協議、確定安全算法和密鑰交換,向上提供了訪問控制、數據源認證、數據加密等網絡安全服務。
IPSec提供的安全服務有:(1)數據加密:IPSec在傳輸或轉發報文之前可以對報文進行加密;(2)數據完整性驗證:IPSec在接收端可以驗證IPSec發送端發送的報文是否在傳輸的過程中被改動;(3)數據身份驗證:IPSec在接收端可以驗證發送IPSec報文的發送端是否合法,這個功能是依靠數據完整性驗證來實現的;(4)防重放功能:IPSec接收端可以檢測并丟棄重放的報文。
IPSec實現的具體功能有:(1)安全協議,AH協議和ESP協議;(2)算法,MD5、SHA1、DES、3DES、硬件加密等等;(3)通過手工配置建立安全聯盟或者利用IKE自動協商生成安全聯盟(進行密鑰管理);(4)劃分數據流(具體數據流的劃分依靠ACL模塊實現),對不同的數據流使用不同的安全聯盟(采用不同的安全策略);(5)安全協議支持隧道及傳輸兩種模式;(5)根據生存時間定期的重新協商安全聯盟,或自動的刪除安全聯盟。
通過對協議的分析,我們認為作為IPSec安全網關對接收到的報文,如果符合相關規則就會對報文做加密或解密的工作。進行加密的數據流程圖如圖3所示,進行解密的數據流程圖如圖4所示。

通過協議介紹我們可以看出,IPSec協議具有以下特點:(1)支撐協議數量多。涉及網絡安全領域的AH協議和ESP協議,并且使用專門的密鑰管理IKE協議生成安全聯盟;(2)協議運行場景多。IPSec協議可以分別運行安全網關和安全路由器之上,使用隧道模式和傳輸模式,并且每個模式之間可以按照規則兩兩嵌套組合;(3)安全協議和運行模式組合多。兩種安全協議在不同的運行模式下的實現不同;(4)加密解密算法多。安全協議的實施過程中,所涉及的加密算法、解密算法數量多。
針對IPSec協議的特點以及復雜網絡協議的實驗設計的指導原則,我們將IPSec協議的實驗設計原則如下:(1)掌握主要的AH協議和ESP協議的處理流程;(2)掌握兩種運行模式及其組合模式下的處理流程;(3)掌握至少一種加密和解密算法的實現。
因此,在我們實驗設計中的IPSec協議報文解密流程中檢測點如圖5中陰影部分所標識,對數據報文解密處理的檢測點流程中如圖6中陰影部分標識。

另外我們設計IPSec協議實驗時,由于工作模式不同、處理方式也不同,所以我們應該讓學生體驗不同的工作模式以及安全協議中,這樣才能使學生對于IPSec協議族有更加深刻的理解。因此我們將IPSec協議的測試用例設計如下:
(1) 傳輸模式報文處理(AH協議)
? 實驗目的
根據系統提供的已經建立安全聯盟的信息,對于接收

到的報文和發送的報文,在IPSec傳輸模式的工作狀態下,根據AH協議使用系統提供的認證算法對報文進行相應的處理。

(2) 隧道模式報文處理(ESP協議)
? 實驗目的
根據系統提供的已經建立安全聯盟的信息,對于接收到的報文和需要發送的報文,在IPSec隧道模式的工作狀態下,根據ESP協議使用系統提供的認證和加密算法對報文進行相應的處理。

(3) 混合模式報文處理(AH協議+ESP協議)
? 實驗目的
根據系統提供的已經建立安全聯盟的信息,對于接收到的報文和需要發送的報文,在IPSec混合模式的工作狀態下,根據AH協議和ESP協議使用系統提供的認證和加密算法對報文進行相應的處理。

(4) 3DES加密算法實現(ESP協議)
? 實驗目的
根據系統提供的已經建立安全聯盟的信息,對于接收到的報文和需要發送的報文,在IPSec傳輸模式的工作狀態下,根據ESP協議通過使用自行實現的3des加密算法對報文進行相應的處理。

以上的IPSec協議實驗設計在NetRiver計算機網絡實驗系統平臺上通過了驗證,效果圖如圖7、8、9所示:

5結束語
本文首先研究了復雜網絡協議實驗設計的現狀。提出應該在復雜網絡協議設計的過程中盡量減少對網絡設備的依賴,因為復雜網絡協議測試點較多,在實驗的設計環境應該具有較強的可擴展性。為了滿足復雜網絡協議的實驗設計的基本要求,最終構件可擴展的網絡實驗設計,本文通過研究NetRiver計算機網絡實驗系統的基于腳本驅動的網絡協議仿真和測試機制,論證了解決復雜網絡協議實驗設計中對網絡設備的極度依賴和可擴展性差問題的辦法。最后,本文以IPSec協議的實驗設計為例,詳細描述了IPSec協議的測試點選擇,以及NetRiver計算機網絡實驗系統開發環境下的腳本實現,驗證了在實驗設計環境下復雜網絡協議的實驗設計可擴展性強以及設備需求少的特點。目前IPSec實驗設計已經在清華大學計算機網絡原理課程的本科生教學中成功使用,并且獲得了師生一致好評。

參考文獻:
[1] 徐明偉,崔勇,徐恪.計算機網絡原理實驗教程[M]. 北京:機械工業出版社,2008.
[2] 徐明偉,劉惠山. 計算機網絡實驗系統[J]. 中國教育網絡,2007(29):65-66.
[3] 黃聲烈,邢磊,惠鑰,等. 網絡仿真教學平臺的構建[J]. 實驗技術與管理,2005,22(11):100-101.
[4] 清華通力科技股份有限公司. 清華E-Compass網絡實驗室系統[EB/OL]. http://www.thtl.com.cn/ReadNews.asp?newsid=264.
[5] 清華通力科技股份有限公司. NetGuru 創新網絡通信實驗平臺[EB/OL]. http://www.thtl.com.cn/ReadNews.asp?NewsID=535.
[6] 陳敏. OPNET網絡仿真[M]. 北京:清華大學出版社,2004:200-321.
[7] 方路平,劉世華,陳盼,郭筍,等. NS-2網絡模擬基礎與應用[M]. 北京:國防工業出版社,2007:100-210.
[8] 崔北亮. CCNA認證指南[M]. 北京:電子工業出版社,2009:115-116.
[9] 程光,李代強,強士清. 網絡工程與組網技術[M]. 北京:清華大學出版社,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