秦娜 劉宴濤
摘? 要:計(jì)算機(jī)網(wǎng)絡(luò)是一門(mén)實(shí)操性很強(qiáng)的課程,傳統(tǒng)基于黑板或PPT的說(shuō)教式教學(xué)往往使學(xué)生對(duì)知識(shí)的理解浮于表面,無(wú)法透徹地理解網(wǎng)絡(luò)的工作過(guò)程,如何提高學(xué)生的體驗(yàn)度、理解度和實(shí)踐動(dòng)手能力一直是計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中的難題。針對(duì)這一問(wèn)題,用OPNET網(wǎng)絡(luò)仿真的方法為學(xué)生演示如何構(gòu)建和控制網(wǎng)絡(luò),讓學(xué)生真切地看到協(xié)議如何工作,數(shù)據(jù)包如何傳輸,網(wǎng)絡(luò)如何運(yùn)行,從而增強(qiáng)體驗(yàn)度和學(xué)習(xí)樂(lè)趣,提高學(xué)習(xí)效果。
關(guān)鍵詞:網(wǎng)絡(luò)仿真;OPNET;離散事件仿真;網(wǎng)絡(luò)協(xié)議
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)志碼:A文章編號(hào):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
互聯(lián)網(wǎng)工業(yè)的蓬勃發(fā)展不斷催生出電子商務(wù)、門(mén)戶(hù)網(wǎng)站、網(wǎng)絡(luò)直播、視頻點(diǎn)播、搜索引擎、智能電網(wǎng)、5G、云計(jì)算、物聯(lián)網(wǎng)等眾多新技術(shù)、新經(jīng)濟(jì)和新業(yè)態(tài)。這些新興的互聯(lián)網(wǎng)工業(yè)亟需大量熟悉計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)的專(zhuān)門(mén)人才,建設(shè)好計(jì)算機(jī)網(wǎng)絡(luò)課程可以極大地幫助我國(guó)培育互聯(lián)網(wǎng)人才隊(duì)伍,助力國(guó)民經(jīng)濟(jì)建設(shè)。
從普通高校來(lái)看,計(jì)算機(jī)網(wǎng)絡(luò)是電子信息工程、通信工程、計(jì)算機(jī)科學(xué)與技術(shù)等相關(guān)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課,具有鮮明的跨學(xué)科、跨專(zhuān)業(yè)的特點(diǎn),在本科生知識(shí)體系中起到奠基石的作用。計(jì)算機(jī)網(wǎng)絡(luò)和信號(hào)與系統(tǒng)、通信原理等課程具有不同的課程特點(diǎn),信號(hào)與系統(tǒng)和通信原理等課程具有很多復(fù)雜的理論推導(dǎo)和數(shù)學(xué)計(jì)算,定理或定義的物理意義往往隱藏在數(shù)學(xué)公式中,因此這兩門(mén)課對(duì)學(xué)生的數(shù)學(xué)能力要求很高。與之形成鮮明對(duì)比的是,計(jì)算機(jī)網(wǎng)絡(luò)課程中幾乎沒(méi)有復(fù)雜的數(shù)學(xué)計(jì)算,但涉及大量的概念、技術(shù)、設(shè)備、操作等,具有鮮明的實(shí)操性特征。所以,傳統(tǒng)的基于黑板或PPT的說(shuō)教式教學(xué)并不適用于計(jì)算機(jī)網(wǎng)絡(luò)的教學(xué)。為了提高計(jì)算機(jī)網(wǎng)絡(luò)的教學(xué)質(zhì)量,在課程中應(yīng)該加入更多的實(shí)驗(yàn)操作環(huán)節(jié)。對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)課程,學(xué)生更喜歡的學(xué)習(xí)方式是“你告訴我網(wǎng)絡(luò)是什么樣子,不如讓我看到網(wǎng)絡(luò)是什么樣子;你告訴我網(wǎng)絡(luò)如何運(yùn)行,不如讓我控制網(wǎng)絡(luò)運(yùn)行”。因此,計(jì)算機(jī)網(wǎng)絡(luò)課程應(yīng)該把傳統(tǒng)的說(shuō)教式教學(xué)轉(zhuǎn)變?yōu)檠菥毷浇虒W(xué),而最好的演練式教學(xué)就是采用網(wǎng)絡(luò)仿真的方式。
一、網(wǎng)絡(luò)仿真
對(duì)網(wǎng)絡(luò)的學(xué)習(xí)和研究方法可以分為理論分析、物理實(shí)驗(yàn)和網(wǎng)絡(luò)仿真三種。其中,基于數(shù)學(xué)建模的理論分析[1]多用于協(xié)議性能分析,且只能在比較理想和簡(jiǎn)單的情況下才能起到較好的作用,若用來(lái)評(píng)估復(fù)雜的通信網(wǎng)絡(luò)則顯得力不從心。基于物理實(shí)驗(yàn)的方法通過(guò)建立真實(shí)的軟硬件環(huán)境[2-3]研究網(wǎng)絡(luò)的各種性能,這種方法最接近實(shí)際網(wǎng)絡(luò)的運(yùn)行情況,結(jié)果最真實(shí)可靠,但需要建立測(cè)試床或?qū)嶒?yàn)室,具有成本高、周期長(zhǎng)、靈活性差等缺點(diǎn),尤其是對(duì)于大中型網(wǎng)絡(luò),這種方法往往是不現(xiàn)實(shí)的。
網(wǎng)絡(luò)仿真是研究網(wǎng)絡(luò)的一種必不可少的手段,具有簡(jiǎn)單、易實(shí)現(xiàn)、靈活性高、成本低、可信度高、演示性好、適用于各種網(wǎng)絡(luò)等優(yōu)點(diǎn),被科研院所、運(yùn)營(yíng)商、供應(yīng)商、制造商大量應(yīng)用于網(wǎng)絡(luò)研發(fā)工作。網(wǎng)絡(luò)仿真是計(jì)算機(jī)仿真技術(shù)的一種,這種技術(shù)不是基于數(shù)學(xué)計(jì)算,而是基于統(tǒng)計(jì)模型,通過(guò)建立網(wǎng)絡(luò)設(shè)備、鏈路和協(xié)議模型,模擬網(wǎng)絡(luò)流量的傳輸,以獲取網(wǎng)絡(luò)的性能參數(shù),改善網(wǎng)絡(luò)運(yùn)行狀況。網(wǎng)絡(luò)仿真能夠?yàn)榫W(wǎng)絡(luò)的規(guī)劃設(shè)計(jì)提供客觀定量的依據(jù),能夠縮短網(wǎng)絡(luò)建設(shè)周期,減少建設(shè)成本,降低投資風(fēng)險(xiǎn)。此外,仿真所建立的模型靈活度高,在高度復(fù)雜的網(wǎng)絡(luò)環(huán)境中能得到具有高可信度的結(jié)果,因此非常適合大中型網(wǎng)絡(luò)的研發(fā)工作。網(wǎng)絡(luò)建模技術(shù)包括協(xié)議建模、設(shè)備建模、拓?fù)浣?、流量建模、移?dòng)性建模等。
目前有幾種網(wǎng)絡(luò)仿真軟件或模擬器,比如Cisco Packet Tracer[4],NS3,QualNet,GloMo sim[5],OMnet[6],華為eNSP[7],GNS3[8]等等。綜合比較來(lái)看,OPNET[9-10]是最主流、最高端的網(wǎng)絡(luò)仿真軟件,無(wú)論是界面友好程度還是仿真建模能力都遠(yuǎn)遠(yuǎn)優(yōu)于其他網(wǎng)絡(luò)仿真軟件。
OPNET采用三層建模機(jī)制,如圖1所示,網(wǎng)絡(luò)層建模用于生成網(wǎng)絡(luò)拓?fù)?,由?jié)點(diǎn)和鏈路構(gòu)成;節(jié)點(diǎn)層建模構(gòu)建節(jié)點(diǎn)的協(xié)議棧,各個(gè)協(xié)議模塊實(shí)現(xiàn)不同的功能;進(jìn)程層建模具體實(shí)現(xiàn)了各個(gè)協(xié)議的功能,基于有限狀態(tài)機(jī)(FSM-Finite State Machine)實(shí)現(xiàn)。OPNET具有屬性提升功能,可以方便地把下層參數(shù)提升到上層加以修改。 OPNET提供了狀態(tài)變量、臨時(shí)變量和全局變量等多種變量形式,還提供了大量的核心函數(shù),極大方便了仿真程序的開(kāi)發(fā)。OPNET采用離散事件仿真機(jī)理,數(shù)據(jù)包的到達(dá)和定時(shí)中斷都被當(dāng)做事件。與時(shí)間驅(qū)動(dòng)相比,計(jì)算效率得到了很大提高,比如要知道數(shù)據(jù)包是否到達(dá),不必每隔一定時(shí)間去周期性查看一次,而是數(shù)據(jù)包到達(dá)的中斷發(fā)生才去查看,每個(gè)時(shí)刻FSM將停留在某種狀態(tài),只有當(dāng)事件到達(dá)時(shí)才進(jìn)行狀態(tài)的跳轉(zhuǎn)。