基于OMnet的可扩展构建的网络教学实验平台的设计
2015-03-30中国地质大学武汉信息工程学院陈占龙
中国地质大学(武汉)信息工程学院 陈占龙 黄 鹰
一、背景
随着互联网在社会生活各个领域的广泛应用,现有的基础网络已难以满足大规模网络服务和应用在可扩展性、安全性、服务质量和移动性等方面的需求。当前,在三网融合、物联网、云计算以及 IPv6 过渡等新型技术逐渐改变互联网的同时,互联网基础体系结构也正酝酿着巨大变革,世界各国不约而同的开展了对下一代互联网体系结构和网络技术的研究。同时,信息网络技术的人才需求也在日益加大,为了能够满足社会的要求,我校在“信息网络”方面也开设了相应的课程。“信息网络”方面的课程作为工程性、实践性很强的课程,单纯的、传统的课堂教学模式远远不能达到教学目的。要使实验人员掌握和理解网络基本原理、网络协议、网络拓扑结构等理论知识,真正学会网络的规划、设计、开发、应用、管理和维护,就需要有专门的信息网络系统实验室,并且为实验人员提供更完善、更高端的网络应用环境,提供具备一定的规模可扩展性和技术可扩展性的网络开发平台,继而提高实验人员的积极性,培养实验人员综合应用网络技术能力和网络程序的开发能力。
二、基于硬件平台的网络实验的缺陷
现阶段我校使用硬件实验室进行信息网络方面的实验。硬件实验室必须满足至少四个特点,一是占用面积足够大;二是网络设备齐全,包括多台交换机、多台服务器、多台路由器等;三是实验室环境开放;四是配置投影仪,方便教师教学指导。例如我校的通信工程专业的通信网络综合试验平台,就是基于市场上现有硬件设备而搭建的,它可以使实验人员对硬件进行物理连接,完成组网实验,使实验人员对网络实物有真实的感受,并有利于培养实验人员的实际动手操作能力、熟悉网络命令。然而不得不说硬件实验室的搭建是一项高投入的项目,对网络设备要求数量多且完备,网络设备自身价值不菲。随着IT 产品的快速更新换代,一方面,购入的网络设备短时间即会落伍;另一方面,硬件实验设备难以实现网络协议的具体工作原理的演示和分析。
三、改革实验教学内容,构筑可扩展构建的网络实验教学平台
我系的课程“信息网络开发综合实习”的要求是在计算机网络基础之上的综合网络技术开发应用,可以满足学生对了解和掌握最新网络技术以及新的网络综合应用的需求,并且学生可以进行网络创新实验以及网络编程开发实习。这些新的要求目前市场上尚没有同类产品能够满足,而使用硬件实验室又存在上述的问题。为了能够满足这个实习的要求,本项目专门研发了教学辅助软件“信息网络综合实习平台”。(下面简称“本平台”)。本平台不仅能够弥补目前学校网络实验体系的不足,同时还能够创新性地为学生提供了自主开发的平台,对于提高学生的创新能力、实践动手能力和工程能力有很大的帮助,对培养学生的综合素质有着至关重要的作用,并对实际应用有更好的开拓意义。
我们把“信息网络开发综合实习”的内容分为三个层次:
1.设计型项目。单人一组,针对每个学生基本要求。在实习过程中,将会以科学技术含量高、简便操作、经典的实验例题为主,培养学生的动手能力,让学生能够开发基本的网络协议,明白其实用性和利用价值等;
2.综合型项目。以多人为小组进行开发,满足学习能力较强的学生的发展空间,目的是提升学生运用所学到的知识能够进行复杂编程,解决实际问题的能力,加强团队合作的精神。首先,培养对有线网络性能解析能力,掌握其经常出现的问题以及产生的结果,使同学们掌握对问题进行测试和解决的能力,以达到网络优化的目的。其次,对于无线网络的协议、性能参数、最大连接数据等都要经过实验测试后进行牢记并达到熟练使用的程度。
3.应用性项目。利用我们信息工程专业学生在软件开发上的强项,使学生掌握应用层程序的开发技术,要求学生按照自己的设计创意开发设计具有网络功能的应用程序。
四、技术基础及技术实现
整个网络仿真开发平台由一个仿真主界面和四大板块组成:
1.传输层。针对系统间高层资源共享上不可靠数据传输问题,本平台可以实现网络拓扑结构的搭建,构建FTP 等大数据量传输的业务环境,并提供端到端的序号显示、流量控制、差错纠正和数据恢复等功能。可以使实习学生在虚拟网络中比较传输层中TCP 和UDP 协议传输机制的差别,进而了解数据在传输过程中的丢包以及拥塞行为,提高网络搭建在传输平台上的数据传输效率。
2.链路层。针对网络链路层的数据丢失、被干扰、顺序倒置等链路层数据传输问题,本平台给实验人员提供了网络链路层解决方案的数据参考,包括媒质接入控制参数、该层的流量监控数据、同步性时间差以及数据传输纠错率等。并提供TCL仿真代码以及网络性能评价等指标,帮助实验人员熟悉及认识以太网络(CSMA/CD)的工作过程,让实验人员全面认知以太网工作原理,提高其编程能力和科研能力。
3.网络层。在网络层实习平台中,主要以IPv4 为基础,提供路由选择算法、阻塞控制方法。模拟IP 层转发分组的流程并实现单播路由方式中的距离矢量路由算法的网络仿真实验。另外,在该基础上进行拓展,实现组播通信协议以及IPv6 协议。
组网实验有以下内容:
(1)主机直连:使用两个主机直接连接在一起。通过配置两个主机的IP 地址等参数,现实它们之间互发数据包。
(2)多交换机连接:使用多个交换机将大量的主机连接组成局域网。同时,可以通过配置交换机来划分虚拟局域网(VLAN)。
(3)路由器直连:使用一个路由器两个不同网段的局域网连接在一起,通过配置路由器、主机来实现跨网段发送数据包。
(4)静态路由:使用路由器将多个网段连接在一起。其中,路由表通过静态路由配置的方式得到。配置路由器的静态路由实现跨网段发送数据包。
(5)RIP 动态路由:使用路由器将多个网段连接在一起。其中,路由表通过RIP 动态路由配置的方式得到。配置路由器的RIP 动态路由实现跨网段发送数据包。
(6)混合路由:使用路由器将多个网段连接在一起。其中,一部分路由器使用静态路由的方式配置,另一部分路由器使用RIP 动态路由的方式配置。通过这种方式现实路由的混合配置,并能够跨网段发送数据包。
4.无线网络。此外,对于固定接入点的无线网络和无固定接入点的无线网络,网络仿真平台给出了从OSI 模型的角度分层次技术的特征数据以及构成网络的各种技术标准(如无线网络传输中隐藏与暴露结点数、无线网络路由协议相关数据特征值、组网生存时间值、网络控制点、安全性数据指标等),便于实验人员在学习过程中掌握实际搭建稳定安全的无线网络环境要素。
同时可通过平台的扩展功能,让实验人员在验证性实验的基础上自主开发基本的网络协议,或自主设计网络构架等,并通过实验分析验证自主设计的协议或网络架构的性能或可行性等。提供VPN 虚拟专用网络以及RTP/RTCP 多媒体传输应用层协议的开发实现方案。
主要特色性能表现为:用户界面友好,开放式源码,组建模块丰富,功能可添加,拓扑结构可灵活配置和新型网络可扩展,执行效率高。
“平台”是基于OMNet++网络仿真软件开发的信息网络开发平台,使用OMNet++作为底层仿真器,并加入大量的C++语言编写的网络节点模块。老师和学生可以针对自己的需要,对已经提供的节点模块进行连接、配置以及仿真实验;同时,他们还可以继承系统提供的节点模块,按照自己的意愿扩展出新的模块。
OMNet++作为整个系统的底层核心,对整个系统有着至关重要的作用。 OMNet++提供了底层驱动器以及部分网络模块,使用者可以使用这些网络模块编写和组成仿真网络,也可以使用OMNet++的接口自己编写模块。待仿真网络配置完成后,将仿真网络交付底层驱动器进行仿真实验,从而得到仿真过程和仿真结果。其中,模块使用C++语言编写,仿真网络使用NED语言编写。
作为开放式的系统,本平台可以接受老师和学生的再次功能的扩展,他们可以利用NED 语言和C++语言,设计新的模块或者网络节点。同时也可以为本系统平台添加新的功能,添加新的网络节点模块,比如防火墙、负载均衡、DNS 服务器以及边界路由器等。
五、非功能性特性
本平台在OMNet++的基础上完成了常规软件所具备的非功能性特性,这些特性表明了本平台的优秀能力。
(1)安全性:本平台拥有较好的安全性。由于本平台是离线运行在单机上的软件,实验的代码和数据不会通过互联网泄露。
(2)可靠性:本平台拥有较好的可靠性,能够长时间稳定的运行,罕见运行异常和不可恢复的错误。
(3)易使用性:本平台拥有较好的易使用性。由于本平台基于OMNet++开源项目研发,所以继承了类似eclipse 的编辑使用界面。这种界面对于经常使用eclipse 的本系的学生来说,是十分熟悉的。
(4)可扩展性:本平台拥有较好的可扩展性。老师和学生可以轻易扩展本平台的模块和功能。
(5)可维护性:本平台拥有较好的可维护性。由于框架设计合理,使得本平台后期维护十分便利。
六、平台测试和评估
本平台的测试分为两个阶段,第一个阶段为自查阶段,第二个阶段为实测阶段。在第一个阶段,所有的平台功能和特性都由自己来测试和查找。这个阶段主要修复影响正常使用的异常和错误。通过标准软件测试方法,保证了平台的稳定性和功效。在第二个阶段,本平台被部署在我系课程“信息网络开发综合实习”中进行实际综合测试以及评估。这阶段的测试与真实的使用差别不大,其结果具有相当高的预测性。
七、标志性成果及创新点
本项目研发的本平台不仅可以巩固学生的信息网络理论知识,而且可以提高学生的动手能力和创造性。在以前的我系课程“信息网络开发综合实习”中,使用的是老师讲解信息网络基础理论知识和硬件动手实验的方式。这种方式时间效率低、成本高、操作复杂以及学生理解困难等问题。同时,硬件实验室的建设和维护需要投入大量资金和人力,在实验室中被学生误操作而损坏的可能性也很高。本平台将硬件环境转移至软件模拟环境,通过可视化的方式向学生展示信息网络中数据传输的过程,使得学生可以更加直观的理解信息网络的实际过程,并与书本上学习的知识相对照,提高学习的效果。实验室建设和维护也很简单,只需要使用常规机房便能完成实验。
本平台是开放式开发平台,老师和学生都可以继续向其中添加新的模块和功能。这样使得本平台的扩展性良好,能够在几乎不添加任何成本的基础上扩展实验的内容,而硬件实验室则需要添加或更换新的硬件设备来完成扩展实验的可能。
八、对研究成果产生的效益评价及预测
本项目研发的本平台能够取代原来使用硬件完成的实验,具有良好的使用效益。学生使用本平台的“使用手册”可以很容易的使用本平台的全部功能,学习成本较低。学生通过本平台的实验,不仅能够巩固基础理论知识,还可以加强对信息网络方面的深入理解,提高学生的动手能力,提升学生的学习效率。通过阶段性测试,发现本平台较硬件实验更加的高效,实验周期更短,学生学习效益更好。
在实验室建设和维护方面,使用本平台可以节省经费和人力资源。由于本平台是计算机软件,所以本平台只需要部署在常规的实验机房即可。所有的维护工作按照机房维护标准来执行,没有单独的维护工作需要完成。