陈 衡,周明江
(淮北职业技术学院 电子信息工程系,安徽 淮北 235000)
基于NS2仿真技术的计算机网络实践教学研究
陈 衡,周明江
(淮北职业技术学院 电子信息工程系,安徽 淮北 235000)
在网络技术高速发展的今天,如何解决学生日益增长的学习需求与网络教学设施不足的矛盾,成为各高校亟待解决的问题。实践证明将NS2引入实践教学,为解决这一矛盾提供了新方法、新思路,是切实、可行、有效的教学辅助手段。
网络仿真;NS2;计算机网络课程
计算机网络是一门具有很强的应用实践性的课程,课程所涉及的诸如网络协议的概念、原理往往是抽象难以理解的,仅仅依靠课堂理论教学不仅枯燥乏味,学生更难以掌握课程知识[1]。所以在完成理论教学的同时,如何开展实验教学,增加学生实验操作机会,激发学生学习兴趣,从而培养学生创新思维,提高学生创新能力就显得尤为重要了。
目前很多院校受限于教学条件和资金制约,难以投入大量资金去建设设备先进、功能齐全的网络实验室[2]。所以形成了实验实践条件难以满足计算机网络教学要求的现实情况,严重的影响了高校专业人才的培养。而利用网络仿真技术恰好是解决这一问题的一剂良药。为此,如何在现有实验设施基础上构建网络虚拟仿真教学环境,从而有效满足人才培养需求,便成为摆在教育工作者面前的重要课题。
网络仿真技术是以软件为基础,以网络拓扑结构、网络协议、网络通信量为主要研究对象,结合网络特定参数,实现网络模拟和协议仿真,对网络技术进行分析研究的一种基本手段。网络仿真技术最主要的特点是可以将相关网络环境参数和模块组合配置,构建的是可重复、易控制的实验环境[3]。应用于计算机网络课程教学将有助于学生对网络基础知识的理解,是当下最为常用的计算机网络课程教学手段。
2.1 NS2结构与特点
NS2作为一款优秀的仿真软件,其免费开放源代码且面向对象,能够处理离散事件,并可以在多种操作环境中使用(Linux、Unix和Windows操作系统上均可使用),更为重要的是NS2能方便的利用自带的可调用类库,结合课程知识点搭建网络实验模型,构建网络实验教学环境,所以在计算机网络教学中得到广泛的使用。NS2的体系结构分为两级,将数据操作和控制部分实行分离[4]。其中编译层是系统的后台,主要完成事件调度和对网络组建的使用,从而实现对数据包的处理。解释层是系统的前端,主要完成对仿真环境的构建和配置。对于用户来说NS2就是一个OTcl脚本解释器,而编译类对象和解释类对象是在OTcl的连接下建立的。
其特点可以总结如下:
(1) 使用环境灵活。NS2是一款公开所有源代码的软件,便于研究人员利用和爱好者学习。同时,对于具有一定编程能力的计算机专业学生可以尝试设计新协议,扩展新模块,构建多样的网络环境,进而加深对计算机网络技术的理解。
(2) 实验构建便利。利用NS2构建适用的网络环境,并对网络中的重要节点加以跟踪,记录相关性能参数,直观呈现实验结果,并且网络环境可以随时重构,这在实物教学中难以实现[5]。
(3) 扩展功能强大。作为一款面向对象的仿真软件,NS2具有十分强大的可扩展性,对于一些特殊环境下的网络,使用者可以根据具体情况设计新的协议,甚至构建新的功能模块,有利于拓展软件的使用范围。
(4) 学习资源丰富。目前,NS2官方网站为使用者提供了大量的软件使用必要资源,同时由于该软件得到广泛的使用,所以网络中也有大量的NS2软件学习资源和网络仿真实验案例,为学生自主延伸学习提供了可靠的学习资源。
2.2 使用NS2进行网络仿真的方法和一般过程
利用NS2进行仿真工作进行前,首先应确定网络仿真所涉及的两个层次情况。一是仿真中利用自带网络元素,也就是基于OTcl编程,无需对NS进行扩展。二是仿真需要扩展网络元素,添加新的类编写新脚本。
利用NS2进行网络仿真的一般过程如表1所示。
表1 NS2网络仿真一般过程
2.3 NS2的功能模块
NS2仿真器封装众多功能模块,各主要模块具体功能如表2所示。
表2 NS2封装模块功能介绍
(1)本仿真实验模拟环境中包含4个节点,各节点直接通过全双工方式相连,具体如图1所示。
图1 网络拓扑结构图
各节点之间数据传输基本信息如表3所示:
表3 各节点之间数据传输基本信息表
另外,n0处有一个FTP的TCP流量产生器,n1处为CBR的UDP流量产生器,n3有一个接收TCP的sink和接收UDP的NULL。
(2)运行本仿真实验的Tcl脚本产生的Trace文件的格式说明见表4。
表4 Tcl脚本产生的Trace文件的格式说明
(3)n2和n3节点间RED队列的平均队列长度随时间变化情况,n2与n3之间的当前队列长度随时间的变化情况如图2所示。
(4)本实验中丢包率与时间的关系如图3所示,具体数据为一共发包550,丢失包16,丢包率为0.027。
(5)CBR流量的时延随时间的变化如图4所示。
(6)节点n2的平均吞吐量随时间的变化如图5所示。
(7)仿真实验结果分析如下:
①队列大小波动轻微,有利于处理突发数据;
②丢包率与端之间时间延迟为正比例关系,与数据吞吐量之间为反比例关系;
③网络性能的好坏与丢包率、时延和吞吐量均存在一定的关系。
以上实验结果与理论相符,是对课程知识点的有效印证。
图2 平均队列长度与当前队列长度随时间变化曲线图
图3 丢包率随时间变化关系图
图4 端到端时延随时间变化关系图
图5 节点n2的吞吐量随时间变化的关系图
将NS2仿真软件引入计算机网络实践教学,可以实现对网络拓扑结构、网络协议、网络通讯量的仿真,并将仿真结果直观呈现,从而有效的解决计算机网络教学存在的设备不足,知识点晦涩难读的问题。更为重要的是,在对实践教学手段丰富的同时,需要进一步将理论教学与实践教学相结合,取长补短,更好的帮助学生对相关知识点的学习,培养学生的实践创新能力,从而为培养高层次的计算机网络人才打下坚实基础。
[1] 任炬, 邓晓衡,陈志刚. 基于NS2 的网络仿真可视化系统的设计与实现[J].计算机工程与科学,2011,12-16.
[2] 蔡群英,黄镇建.搭建网络实验环境的探索与实践[J].计算机与数字工程, 2009, 37(6):195-197.
[3] 黄镇建.NS2 中新协议的实现[J].计算机系统应用, 2009, 18(1):119-121.
[4] 何建新.NS2在网络实验辅助教学中的应用[J].实验科学与技术, 2008, 6(6):64-66.
[5] 吉祖勤,蔡长安. NS2仿真技术在网络实验教学中的应用[J]. 实验技术与管理, 2011(12):96-99.
责任编辑 喻晓敏
TP316.8
A
1003-8078(2016)06-0095-04
2016-10-19 doi 10.3969/j.issn.1003-8078.2016.06.25
陈衡,男,安徽濉溪人,讲师,硕士,主要研究方向为计算机应用。
安徽高校省级质量工程项目(2015zjjh051);淮北职业技术学院院级质量工程项目(2016-jyxm-10)。