APP下载

计算机网络理论教学支撑平台设计与实现

2017-09-08王汉兵刘辉宇徐友青

电气电子教学学报 2017年3期
关键词:网络协议计算机网络远程

陈 凯, 王汉兵, 刘辉宇, 徐友青

(1. 华中科技大学 计算机科学与技术学院, 湖北 武汉 430074;2. 武汉军械士官学校, 湖北 武汉 430075)

计算机网络理论教学支撑平台设计与实现

陈 凯1, 王汉兵2, 刘辉宇1, 徐友青1

(1. 华中科技大学 计算机科学与技术学院, 湖北 武汉 430074;2. 武汉军械士官学校, 湖北 武汉 430075)

当前的计算机网络课程教学中,用以支撑理论知识教学的方式和平台缺乏,使得学生难以深入理解。本文提出一种计算机网络理论教学支撑平台,并构建与理论知识紧密相关的实验方案,以充分有效的支持计算机网络课程理论知识教学,有利于提高学生的学习效果。

计算机网络课程;教学支撑平台;教学辅助

0 引言

“计算机网络”课程作为计算机学科的通识基础类专业课程,其教学目的是:使学生既能牢固地掌握计算机网络的基础理论知识,又具有相应的知识运用能力,同时还具有新知识的快速学习与更新的能力。然而,这些教学目的因为计算机网络知识的复杂性、网络实体的多样性等原因往往难以达到。其中,网络知识的复杂性在于计算机网络知识既包含了理论知识:陈述性知识、概念性知识、原理性知识和策略性知识(如网络系统的构成、网络协议原理)等,又包含了实践知识:程序性知识、现象性知识、事实性知识和技能性知识(如网络编程、网络组建)等。因此,计算机网络课程教学通常分为两部分:理论知识教学和实践知识教学。

在理论知识教学这部分,仅通过单纯的文字和语言的讲解,学生对网络中的理论知识是难以产生清晰的认知和理解的。学生在感性认知不足、理解程度不够的情况下而仅凭在记忆去学习的方式,难以培养消化吸收新知识的能力。同时,在培养学生创新创业实践能力时,也会因理论知识理解不足而导致“知其然不知其所以然”,因此用以理论教学演示和知识验证的理论教学支撑平台建设就非常必要了。而现在主流的一些教学方法,如“MOOC”、“微课”、“三明治”和“PBL”教学法,都是建立在学生的自主学习基础之上,在学生自主学习时,辅助理解和验证反思的理论教学支撑平台及环境能发挥重要作用。

因此“计算机网络”课程教学中,不仅仅需要技能实践训练的实验平台,也需要支撑理论知识学习的平台,这两种平台发挥的作用应贯穿整个“计算机网络”课程的教学中,如图1所示。

图1 计算机网络课程的教学结构

1 研究现状

就“计算机网络”课程的教学结构而言,通过调查发现,目前,国内高校大多是使用基于实际网络元件的网络实验室和基于网络实验模拟器的虚拟网络实验平台,而国外的一些高校则主要使用远程网络实验平台和虚拟网络实验平台[4]。

基于实际网络元件的网络实验室指的是具有普通计算机、路由器、交换机和防火墙等网络元件构成的物理封闭空间。这种网络实验室能够让学生面向真实的网络元件,有效培养学生的网络应用技能,然而对网络协议和策略的工作原理及过程等原理性知识无法涉及,同时网络元件不易更新,不易管理,扩展性弱,并且对实验的时间、空间和地点的约束太大。而基于网络元件构建并通过网络远程操作的开放式远程网络实验平台和基于仿真设备的虚拟网络实验平台降低了实验环境的构建成本,提高了实验的并发性,降低了时间空间的约束,同时能够支持更多的实验方案,但仍然存在以下几个方面的不足:

(1)基于实际网络元件或仿真设备的实验平台,主要专注于网络工程实践训练,缺乏对原理性知识的支撑,不太适应理论教学需求。

(2)开放式远程网络实验平台往往使用有限数量的真实网络元件,在多用户同时使用时,还需要分时和排队,并发能力差,且实验内容依赖于平台架构中的网络元件,难以扩展。

(3)部分虚拟网络实验平台(如基于Opnet、NS2的虚拟网络实验平台),能够支撑理论知识教学,但Opnet作为商业软件费用不菲,且开源程度差,难以根据课程需要进行二次开发,而NS2安装和使用困难,跨操作系统性弱,学习障碍高[5,6]。

上述分析说明,有效支撑理论知识学习的平台建设的缺乏,使得现有的教学方式难以满足当前和未来计算机网络课程理论教学的要求,因此,在“计算机网络”课程教学中亟需一种低费用,具有高并发性、可重用性,学习障碍低,能够充分支撑理论知识教学的平台出现,以满足当前和未来理论教学的需要。

2 理论教学支撑平台构建

计算机网络是一个复杂的系统,因此“计算机网络”课程教学中重要的是对理论知识的学习和验证,以培养学生对网络原理的了解,学习网络协议的构建,拓展对网络技术的应用,这是“计算机网络”课程理论基础教学的首要任务。

因此一个支持和辅助“计算机网络”理论知识学习的教学平台需要具备以下几个特点:

(1)能够支持网络协议和策略相关的实验,能够验证“计算机网络”课程中的大多数理论知识,并能够适应未来知识、技术与教学的发展。

(2)具有教学方案发生功能,提供友好的人机交互界面,方便手工设计或根据用户提供的参数自动生成合适的教学方案。具有充足的开放式模型库,提供网络拓扑架构、各种网络协议模型等,方便用户从模型库中取用所需的模型,并能够有效分享教学内容。

(3)能够提供视觉实时反馈,包括网络元件的相关信息可见、教学过程的动态展示和结果分析的图形化显示等。

(4)具有开放式的体系结构,方便用户扩展,如替代过时的模块或添加新的功能模块,同时支持现有协议的修改和新协议的增加,有利于对网络协议的深入学习和理解。

(5)支撑平台能够通过互联网或者局域网远程使用,使得教师可在任何能够联网的课堂上进行演示,无需搭建新的环境。

(6)具有系统和环境的无关性,即无需特定的操作系统和特定的硬件环境。

基于这些特点,我们着手设计和实现了一种远程网络理论教学支撑平台,该平台具有造价低、能够远程和分布使用、与理论教学紧密相关、可视化操作、易用性强、能够共享教学资源、具有可扩展性和系统无关性等特征。

3 教学平台设计与实现

教学平台采用典型的C/S三层架构,教师在教学课堂中使用客户端设计并提交教学方案,由服务器上的中间层调用网络模拟器命令执行教学方案,再将结果返回到客户端,如图2所示。

图2 远程虚拟网络教学平台实现方式

服务器端仅需一台安装Unix操作系统的高性能计算机以运行网络实验模拟器NS2。NS2是一种主要由C++语言编写,针对网络技术的源代码公开的、免费的模拟软件,NS2所包含的模块几乎涉及到了网络技术的所有方面,同时具有高扩展性,相对于其它模拟软件更适用于教学方面,能够满足大部分计算机网络理论知识的学习和验证。但NS2是一个仅能够在Unix系统环境下运行的“本地”网络模拟器,无法通过网络联机使用,NS2能够运行的实验方案的设计需要基于一种称为OTcl的脚本语言,实验结果的输出为特定格式的文本文件。因此对NS2的使用需要熟练掌握OTcl的脚本语言,而对实验结果的分析则需要借助其它工具(如Matlab、MiniTable等)。同时NS2中的协议扩展包括多个协议相关文件的编写、内核文件的修改和对NS2的重编译。其安装、调试、实验设计、实验结果分析以及模块的扩展都比较复杂。

为让用户(学生和教师)“透明”地使用NS2,无需深入掌握模拟器细节,使用户更专注于实验内容,提高实验效率,降低使用代价,远程虚拟网络实验平台在客户端上提供了直观简单的可视化的设计、分析、演示和模块扩充等接口界面,而由服务器上的中间层来调用NS2的命令运行实验方案和添加协议。同时基于Java语言编写的客户端即能够运行于Unix操作系统也可运行于Windows操作系统。远程虚拟网络实验平台系统架构如图3所示。

远程虚拟网络实验平台的工作流程如图4所示。

图3 远程虚拟网络实验平台系统架构

图4 远程虚拟网络实验平台的工作流程

对于实验方案的生成,远程虚拟网络实验平台提供了两种方式,既可加载现有的实验方案,也可设计新的实验方案。设计或修改实验方案可通过拖曳客户端上提供的网络元件(路由器、交换机、PC机、无线AP和链路等)图标来构建网络拓扑,并设置相应的参数,实验方案可保存为XML文件以便修改或共享,如图5(a)所示。实验方案生成为OTcl脚本文件并上传到服务器。脚本文件执行完毕后,客户端再将结果文件(tr文件)和动画文件(nam文件)下载到本地以进行分析和演示,如图5(b)和图5(c)所示。客户端包含了网络吞吐量分析、终端节点的拥塞窗口分析、中间节点的队列变化分析等分析模块,并可使用nam文件播放器(windows版本和Linux版本)播放动画文件,动画文件可以演示实验方案中数据包的动作、节点的运动、节点的缓存队列的变化等,如图5(d)所示。

远程网络虚拟实验平台同时还具有协议扩展功能,可用于协议原理的学习、性能的研究和新协议的开发等,有利于对网络协议内容的分析和讲解。NS2的开源特性使协议的扩展具有可行性,但协议的扩展涉及到协议类的编辑、NS2内核文件的修改和NS2的重编译等多个步骤。为简化协议扩展的操作,远程网络虚拟实验平台提供了具有模板功能的协议编辑器,用户既可加载NS2中已有的协议文

(a)实验方案生成 (b)实验结果分析设置

(c)实验结果分析图示

(d) 实验动画演示图5 实验方案生成和实验结果分析

件来进行修改,也可通过提供的框架和模板来编写新的协议。协议文件上传到服务器后,由中间层来完成NS2内核的修改和重编译。协议编辑器如图6所示。

图6 协议编辑器

4 实验方案设计

远程网络虚拟教学实验平台能够支撑的计算机网络理论知识教学内容的实验方案,主要包括三大类:验证性实验、设计性实验和综合性实验。

验证性实验主要是与协议及网络性能分析相关的实验,包括以下三个方面的内容:

(1)基本协议验证与分析。如滑动窗口协议、停等协议和路由协议等。

(2)基本策略和机制的验证与分析。如端到端的拥塞控制策略、中间节点排队策略、TCP可靠性传输机制等。

(3)网络性能分析。如网络吞吐量分析、网络丢包率分析、网络中的时延分析等。

设计性实验主要是与协议内容及网络元件属性配置相关的实验,包括以下三个方面的内容:

(1)协议与策略的修改。如对TCP协议中的拥塞控制方法的修改、对TCP握手策略中的握手次数的修改等。

(2)协议的增加。主要是增加NS2中未实现的标准协议,如Ad hoc网络中的单播路由协议ABR,也可增加用户自定义的协议,如新的MAC协议、新的路由协议等。

(3)网络参数的分析。通过对网络元件的各种属性参数的修改,设计相应的网络拓扑,构建相应的网络环境来测试与分析网络参数对网络性能的影响。

综合性实验主要是与网络安全相关的实验,包括以下两个方面的内容:

(1)网络攻击模拟。在远程虚拟网络平台上可通过设定数据的发送模式以及增加网络协议等方式来模拟如分布式拒绝服务攻击、慢速拒绝服务攻击、远程登录攻击、虫洞攻击等有线网络和无线网络中存在的多种攻击方式。

(2)攻击检测防范方法的模拟与验证。可通过分析模拟网络攻击时的数据流量、网络数据包动作等方式来研究攻击检测和防范方法,或通过修改及增加网络功能模块和网络协议等方式来测试用户所研究的攻击检测防范方法的可行性。

目前基于该教学实验平台的部分教学演示实验方案如表1所示。

5 结语

计算机网络理论知识的学习是计算机专业学习中的重要部分,然而计算机网络理论知识抽象、且包含内容繁多,仅通过文字和语言的描述难以让学生对理论知识透彻理解,无法达到理想的教学效果,因此需要在理论知识教学的过程中使用相关的实验来辅助和支撑。然而目前计算机网络课程的实验平台主要提供实践类实验,而难以支撑理论知识教学。

支撑理论知识学习的教学实验平台的缺乏,使得现有的教学方式难以满足当前和未来计算机网络课程教学的要求,因此本文提出一种远程网络虚拟教学实验平台,该平台支持的实验方案能够与计算机网络课程理论知识紧密相关,从而有效的支撑计算机网络课程理论教学,同时具有低成本、能够远程特性分布操作、具有易用的可视化界面、能够运行于多种操作系统等特性。但由于使用的是NS2内核文件,与实际的协议存在一定的差异,同时缺少网络工程方面的实验模块,因此下一步工作则考虑使用更符合实际网络协议内容的模拟软件和加入能够支持网络工程的仿真系统。

[1] ACM Two-Year College Education Committee. Guidelines for Associate-Degree Programs To Support Computing In A Networked Environment [J]. Rockford, Illinois, 2000.

[2] Impagliazzo J. Computing curricula 2005[J]. ACM SIGCSE Bulletin, 2006, 38(3): 311-311.

[3] Kurose J, Liebeherr J, Ostermann S, et al. ACM SIGCOMM Workshop on Computer Networking: Curriculum Designs and Educational Challenges[J]. ACM SIGCOMM Computer Communications Review, 2002, 32(5).

[4] Wiseman C, Turner J, Becchi M, et al. A remotely accessible network processor-based router for network experimentation [A]. Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems. ACM, 2008: 20-29.

[5] 林瑜华, 莫家庆. 基于 OPNET 的网络仿真实验教学研究[J]. 成都:实验科学与技术, 2011, 9(4): 39-42.

[6] 王庆凤, 陈虹, 王萍. 基于 NS2 的网络控制系统仿真平台的设计与实现[J]. 北京:系统仿真学报, 2011, 23(2): 270-274.

Design and Implementation of Teaching Support Platform for Computer Network Course

CHEN Kai1, WANG Han-bing2, LIU Hui-yu1, XU You-qing1

(1.SchoolofComputerScience&Technology,HuazhongUniversityofScience&Technology,Wuhan430074,China; 2.WuhanMechanicalTechnologyCollege,Wuhan430075,China)

Currently in computer network course, mainly due to the limited of existing education method and platform which can support the theory teaching, students get in-depth understanding of the speculative knowledge of the network difficultly. Therefore, this paper presents an education method support platform, which can build the experimental related to the theory of computer networks closely to support the computer network course fully and effectively, and help to improve teaching quality.

computer network course; teaching support platform; teaching aids

2016-02-04;

2017-03- 05

陈 凯(1977-),博士,讲师,主要从事计算机网络应用、计算机网络安全的教学和科研,E-mail:kchen@hust.edu.cn

G642.0

A

1008-0686(2017)03-0105-05

猜你喜欢

网络协议计算机网络远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
一种蓝牙多跳网络协议的设计与研究
计算机网络环境下混合式教学模式实践与探索
远程诈骗
计算机网络信息安全及防护策略
基于载波技术的多点温度测量系统设计
基于DPI技术的语音视频流量监控系统设计与实现
计算机网络技术的应用探讨
计算机网络维护工作的思考