APP下载

复杂网络协议的实验设计

2009-11-02徐明伟王宇亮吴建平

计算机教育 2009年19期
关键词:实验设计计算机网络

徐明伟 徐 恪 崔 勇 王宇亮 吴建平

摘要:计算机网络实验教学是计算机网络教学中非常重要的组成部分。复杂网络协议由于其协议状态机变换复杂,往往成为计算机网络实验教学中的实验设计难点。本文以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

猜你喜欢

实验设计计算机网络
基于应用型人才培养的《计算机网络》课程教学改革研究
优化实验设计 培养学生化学实验素养
创新实验设计 落实核心素养
计算机网络搭建中的虚拟仿真技术
浅析计算机网络安全的影响因素与防范措施
人工智能在计算机网络技术中的应用
计算机网络可靠性优化设计方法
实验设计巧断遗传学(下)
动物激素的主要研究方法及其实验设计
应对生物学实验设计题目的有效方法