秦娜 刘宴涛
摘 要:计算机网络是一门实操性很强的课程,传统基于黑板或PPT的说教式教学往往使学生对知识的理解浮于表面,无法透彻地理解网络的工作过程,如何提高学生的体验度、理解度和实践动手能力一直是计算机网络教学中的难题。针对这一问题,用OPNET网络仿真的方法为学生演示如何构建和控制网络,让学生真切地看到协议如何工作,数据包如何传输,网络如何运行,从而增强体验度和学习乐趣,提高学习效果。
关键词:网络仿真;OPNET;离散事件仿真;网络协议
中图分类号:G642 文献标志码:A文章编号:2096-000X(2021)26-0126-06
Abstract: The course of Computer Networks is characterized with strong implementation. As a result, traditional teaching based on blackboard or slides could not clearly display the principle and workflow of networks. It is an everlasting embarrassment on how to improve the experience and implementation capability of students. To solve the problem, this paper applies OPNET simulation to display how to build and control a network, to show students how a protocol stack works, how a data packet is processed and transferred, and how a network is running, by which the students can greatly improve their experiences, interests and study effects.
Keywords: network simulation; OPNET; discrete-event simulation; network protocol
互聯网工业的蓬勃发展不断催生出电子商务、门户网站、网络直播、视频点播、搜索引擎、智能电网、5G、云计算、物联网等众多新技术、新经济和新业态。这些新兴的互联网工业亟需大量熟悉计算机网络知识的专门人才,建设好计算机网络课程可以极大地帮助我国培育互联网人才队伍,助力国民经济建设。
从普通高校来看,计算机网络是电子信息工程、通信工程、计算机科学与技术等相关专业的专业基础课,具有鲜明的跨学科、跨专业的特点,在本科生知识体系中起到奠基石的作用。计算机网络和信号与系统、通信原理等课程具有不同的课程特点,信号与系统和通信原理等课程具有很多复杂的理论推导和数学计算,定理或定义的物理意义往往隐藏在数学公式中,因此这两门课对学生的数学能力要求很高。与之形成鲜明对比的是,计算机网络课程中几乎没有复杂的数学计算,但涉及大量的概念、技术、设备、操作等,具有鲜明的实操性特征。所以,传统的基于黑板或PPT的说教式教学并不适用于计算机网络的教学。为了提高计算机网络的教学质量,在课程中应该加入更多的实验操作环节。对于计算机网络课程,学生更喜欢的学习方式是“你告诉我网络是什么样子,不如让我看到网络是什么样子;你告诉我网络如何运行,不如让我控制网络运行”。因此,计算机网络课程应该把传统的说教式教学转变为演练式教学,而最好的演练式教学就是采用网络仿真的方式。
一、网络仿真
对网络的学习和研究方法可以分为理论分析、物理实验和网络仿真三种。其中,基于数学建模的理论分析[1]多用于协议性能分析,且只能在比较理想和简单的情况下才能起到较好的作用,若用来评估复杂的通信网络则显得力不从心。基于物理实验的方法通过建立真实的软硬件环境[2-3]研究网络的各种性能,这种方法最接近实际网络的运行情况,结果最真实可靠,但需要建立测试床或实验室,具有成本高、周期长、灵活性差等缺点,尤其是对于大中型网络,这种方法往往是不现实的。
网络仿真是研究网络的一种必不可少的手段,具有简单、易实现、灵活性高、成本低、可信度高、演示性好、适用于各种网络等优点,被科研院所、运营商、供应商、制造商大量应用于网络研发工作。网络仿真是计算机仿真技术的一种,这种技术不是基于数学计算,而是基于统计模型,通过建立网络设备、链路和协议模型,模拟网络流量的传输,以获取网络的性能参数,改善网络运行状况。网络仿真能够为网络的规划设计提供客观定量的依据,能够缩短网络建设周期,减少建设成本,降低投资风险。此外,仿真所建立的模型灵活度高,在高度复杂的网络环境中能得到具有高可信度的结果,因此非常适合大中型网络的研发工作。网络建模技术包括协议建模、设备建模、拓扑建模、流量建模、移动性建模等。
目前有几种网络仿真软件或模拟器,比如Cisco Packet Tracer[4],NS3,QualNet,GloMo sim[5],OMnet[6],华为eNSP[7],GNS3[8]等等。综合比较来看,OPNET[9-10]是最主流、最高端的网络仿真软件,无论是界面友好程度还是仿真建模能力都远远优于其他网络仿真软件。
OPNET采用三层建模机制,如图1所示,网络层建模用于生成网络拓扑,由节点和链路构成;节点层建模构建节点的协议栈,各个协议模块实现不同的功能;进程层建模具体实现了各个协议的功能,基于有限状态机(FSM-Finite State Machine)实现。OPNET具有属性提升功能,可以方便地把下层参数提升到上层加以修改。 OPNET提供了状态变量、临时变量和全局变量等多种变量形式,还提供了大量的核心函数,极大方便了仿真程序的开发。OPNET采用离散事件仿真机理,数据包的到达和定时中断都被当做事件。与时间驱动相比,计算效率得到了很大提高,比如要知道数据包是否到达,不必每隔一定时间去周期性查看一次,而是数据包到达的中断发生才去查看,每个时刻FSM将停留在某种状态,只有当事件到达时才进行状态的跳转。