摘 要:為了讓學(xué)生更好的理解計(jì)算機(jī)網(wǎng)絡(luò)知識(shí),提高學(xué)生的學(xué)習(xí)效率,在教學(xué)中引入了網(wǎng)絡(luò)仿真軟件輔助教學(xué)的方法逐漸成熟,通過建立一個(gè)仿真的網(wǎng)絡(luò)平臺(tái),學(xué)生能具體認(rèn)識(shí)網(wǎng)絡(luò)知識(shí)。本文將介紹NS2網(wǎng)絡(luò)仿真軟件的工作原理與運(yùn)行流程,舉例說明NS2網(wǎng)絡(luò)仿真軟件應(yīng)用實(shí)例,探討其在計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中的意義。
關(guān)鍵詞:NS2網(wǎng)絡(luò)仿真軟件;計(jì)算機(jī)網(wǎng)絡(luò);教學(xué)
中圖分類號(hào):TP391.9
信息技術(shù)在當(dāng)代發(fā)展迅速,在社會(huì)發(fā)展中扮演著重要的角色,熟悉并掌握計(jì)算機(jī)技術(shù)成為了當(dāng)代社會(huì)對(duì)現(xiàn)代人的基本要求,因此,基本上各大高校都開始了相應(yīng)的教學(xué)課程以教授計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)。在教學(xué)過程中,教師利用這個(gè)模型可以向?qū)W生們展示所學(xué)知識(shí)中有關(guān)的計(jì)算機(jī)原理與相關(guān)算法,化抽象為具體,生動(dòng)形象的將網(wǎng)絡(luò)展現(xiàn)在學(xué)生面前,不僅激發(fā)學(xué)生學(xué)習(xí)的積極性,也促進(jìn)了教學(xué)的進(jìn)行。
1 NS2網(wǎng)絡(luò)仿真軟件的介紹及應(yīng)用優(yōu)勢(shì)
1.1 相關(guān)介紹
NS2是眾多網(wǎng)絡(luò)仿真工具中的一種,其面向的是網(wǎng)絡(luò)協(xié)議方面的性能,同類的OPENT由于運(yùn)行費(fèi)用比較高,常應(yīng)用于商業(yè)。NS2網(wǎng)絡(luò)仿真軟件是以開源為基礎(chǔ)的多協(xié)議網(wǎng)絡(luò)模擬,其特點(diǎn)是面向具體對(duì)象與驅(qū)動(dòng)時(shí)間離散,模仿的是網(wǎng)絡(luò)的運(yùn)行情況。經(jīng)過長(zhǎng)期的發(fā)展,NS2網(wǎng)絡(luò)仿真軟件得到了不斷地改進(jìn),正逐步完善。
1.2 應(yīng)用優(yōu)勢(shì)
1.2.1 各種各樣的組件模塊。在NS2網(wǎng)絡(luò)仿真軟件中有各種各樣的組件模塊,即大量的節(jié)點(diǎn)、各種協(xié)議以及鏈路的延遲接點(diǎn)等,不要求拓展NS2,只用稍微的做一點(diǎn)修改或準(zhǔn)備好一個(gè)腳本即可,在教學(xué)過程中應(yīng)用會(huì)比較的方便簡(jiǎn)單。
1.2.2 化抽象為具體的動(dòng)畫。如果只是抽象的講解計(jì)算機(jī)知識(shí)是很空洞的,但是有動(dòng)畫的輔助,過程會(huì)變得簡(jiǎn)單很多,教學(xué)過程也會(huì)變得生動(dòng)有趣。
1.2.3 知識(shí)的深度與廣度得到了擴(kuò)展。運(yùn)用NS2網(wǎng)絡(luò)仿真軟件輔助教學(xué),學(xué)生能自主的安排自己的學(xué)習(xí)時(shí)間,不用擔(dān)心大課堂的限制,可隨時(shí)根據(jù)自身需要重點(diǎn)學(xué)習(xí)自己薄弱的地方,隨心地選擇自己要攻克的實(shí)驗(yàn)內(nèi)容。
2 NS2網(wǎng)絡(luò)仿真軟件的特點(diǎn)
2.1 靈活性
學(xué)生可在NS2提供的平臺(tái)上選擇自己的喜歡的網(wǎng)絡(luò)環(huán)境,設(shè)置相應(yīng)的參數(shù),就不用擔(dān)心數(shù)據(jù)丟失方面的問題出現(xiàn)了,因?yàn)镹S2網(wǎng)絡(luò)仿真軟件提供監(jiān)控和跟蹤的功能,可記錄操作過程中重要的步驟,對(duì)結(jié)果進(jìn)行分析和再現(xiàn)結(jié)果都是很簡(jiǎn)單,在真實(shí)的網(wǎng)絡(luò)壞境中我們很難享受到這種靈活性。
2.2 開放性
由于開發(fā)代碼的公開性,NS2平臺(tái)上的源代碼具有開放性的特點(diǎn),通俗一些說就是大眾化。每一個(gè)使用者都有獲取和使用源代碼的權(quán)利,并且可以在使用過程中修改源代碼。NS2的這一特點(diǎn)大大的方便了使用者獲取網(wǎng)絡(luò)教學(xué)資源以及實(shí)驗(yàn)資源。除此之外,NS2網(wǎng)絡(luò)存在的形式是圖書館,在被各大高校引入的時(shí)候,其性質(zhì)就是龐大的數(shù)據(jù)庫(kù),其中有很多免費(fèi)的資源,包括一些教學(xué)案例、經(jīng)典演示方案,教師和學(xué)生可以根據(jù)自己的需要隨時(shí)取用。
2.3 擴(kuò)展性
NS2使用兩種語(yǔ)言編譯的,各自有不同的作用,其內(nèi)容有時(shí)候也會(huì)發(fā)生變化。有能力的同學(xué)可在使用過程中依不同的需求編程新的協(xié)議以擴(kuò)展出新的功能為自己服務(wù),因?yàn)镹S2有很強(qiáng)的擴(kuò)展性。
3 實(shí)現(xiàn)NS2網(wǎng)絡(luò)仿真軟件的原理
NS2軟件將很多經(jīng)常用的網(wǎng)絡(luò)協(xié)議內(nèi)容與鏈路層模型存在C++類庫(kù)里,軟件的管理者可以利用這些數(shù)據(jù)建立一個(gè)完善的網(wǎng)絡(luò)模型,使用者可以通過建立起來的網(wǎng)絡(luò)模型看到計(jì)算機(jī)網(wǎng)絡(luò)壞境中每個(gè)細(xì)節(jié)內(nèi)容。下面是對(duì)NS2網(wǎng)絡(luò)仿真軟件進(jìn)行實(shí)際模擬時(shí)的工作原理介紹。第一,我們應(yīng)該了解,NS2軟件的編程語(yǔ)言共有兩種,一是OTCI語(yǔ)言,還有是C++語(yǔ)言,其中,字節(jié)的處理主要通過C++語(yǔ)言,因?yàn)槠鋵?duì)字節(jié)、報(bào)頭等的處理速度比較令人滿意,此外,由于模擬協(xié)議不需要短時(shí)間運(yùn)行完成工作,C++語(yǔ)言滿足所需條件的同時(shí),編寫完成后的軟件具有較好的性能。從另一方面來說,組織建立環(huán)境的研究、性能配置參數(shù)的決定、性能優(yōu)化參數(shù)的決定是軟件設(shè)計(jì)的關(guān)鍵環(huán)節(jié)。[1] 大多數(shù)的軟件編程員和網(wǎng)絡(luò)研究人員都希望能在最短的時(shí)間里完成一個(gè)軟件工程,開發(fā)出既實(shí)用又方便修改的軟件,這需要花大量的心思考慮計(jì)算機(jī)環(huán)境的時(shí)間設(shè)置上。針對(duì)這一問題,OTCL語(yǔ)言就有了更大的優(yōu)勢(shì),OTCL語(yǔ)言能輕松出色的完成這個(gè)工作。
4 應(yīng)用案例舉例
在計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)過程中,NS2具有很強(qiáng)大的作用與價(jià)值,一方面使用者可以利用這一款軟件對(duì)原本做好了但還不是很滿意的協(xié)議進(jìn)行修改,開發(fā)出各方面滿足要求的協(xié)議等;另一方面,這款軟件還能對(duì)剛完成的協(xié)議進(jìn)行驗(yàn)證,測(cè)試新協(xié)議是否滿足要求。
場(chǎng)景假設(shè):信息制作者C與信息接受者D正在通過一個(gè)具體計(jì)算機(jī)網(wǎng)絡(luò)軟件(多媒體應(yīng)用程序)傳遞著數(shù)據(jù)。我們規(guī)定,該多媒體技術(shù)通信功能的實(shí)現(xiàn)是通過UDP代理器完成的,在一切程序都準(zhǔn)備好了以后,C和D之間的協(xié)商自動(dòng)的進(jìn)行,與此同時(shí),有五個(gè)不一樣編碼與0,1,2,3,4共五個(gè)刻度值進(jìn)行著信息的傳遞,當(dāng)然,傳遞過程中具體用到的刻度值是根據(jù)所處的環(huán)境與條件決定的,網(wǎng)絡(luò)的延遲程度是其中一個(gè)很重要的參考因素。以上提到的網(wǎng)絡(luò)設(shè)定環(huán)境是通過編碼建立起來的,除此之外,想要實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)環(huán)境的監(jiān)視與檢測(cè),在必要時(shí)可建立一個(gè)數(shù)據(jù)包專門用來監(jiān)視網(wǎng)絡(luò)環(huán)境。我們?cè)O(shè)定一個(gè)周期為一個(gè)小時(shí),意思就是在一個(gè)小時(shí)之后,我們建立的數(shù)據(jù)包會(huì)將一個(gè)監(jiān)視報(bào)告提供給我們,也就是說如果在一個(gè)周期以后我們建立的用于監(jiān)視的數(shù)據(jù)包丟失了,這時(shí)我們可以評(píng)定網(wǎng)絡(luò)環(huán)境是擁堵的,最簡(jiǎn)單的解決方法就是C和D根據(jù)具體的情況適當(dāng)?shù)慕档托畔鬟f過程中所采用的刻度值,以緩解網(wǎng)絡(luò)擁堵這個(gè)問題。相反的,如果我們建立的用于監(jiān)視的數(shù)據(jù)包在一個(gè)周期以后,準(zhǔn)時(shí)地將相應(yīng)的檢測(cè)報(bào)告返回給我們,我們就可以評(píng)定此時(shí)的網(wǎng)絡(luò)環(huán)境是良好的,C和D進(jìn)行信息傳遞的條件參數(shù)就可以繼續(xù)使用,無需改變。從這個(gè)假定的場(chǎng)景中,我們可以很清楚的看到,扮演數(shù)據(jù)流角色的UDP代理在運(yùn)行過程中必須隨時(shí)的準(zhǔn)備處理信息傳遞時(shí)應(yīng)用層所需的數(shù)據(jù),但是現(xiàn)今存在的并使用的大多數(shù)UDP代理數(shù)據(jù)處理器都是有且只有一個(gè)處理頭棧,在實(shí)際運(yùn)行過程中往往難以滿足大流量數(shù)據(jù)處理所需的條件,導(dǎo)致運(yùn)行中斷無法順利完成任務(wù),由此可見,改進(jìn)正在使用的UDP代理是極其有必要的,改革勢(shì)在必行。原理解釋到這里,基本情況已經(jīng)交代完了,可以開始正式運(yùn)行試驗(yàn)內(nèi)容,在上文所提到的種種前提下,在運(yùn)行過程中,學(xué)生就得親自動(dòng)手進(jìn)行實(shí)際操作了,考慮怎么運(yùn)用C++語(yǔ)言編譯一個(gè)包括數(shù)據(jù)接收過程和數(shù)據(jù)傳遞過程的軟件,分清二者差別,注意語(yǔ)法的正確使用,另外,積極思考如何改進(jìn)UDP代理以使其能滿足上文所設(shè)定的場(chǎng)景中的大量數(shù)據(jù)同時(shí)處理的要求,進(jìn)一步完善UDP代理,這是極其有意義的。在最后的實(shí)驗(yàn)中,教師可以給學(xué)生留一份作業(yè),根據(jù)所學(xué)知識(shí)設(shè)計(jì)出一份拓?fù)鋱D,這份作業(yè)的目標(biāo)是能成功的對(duì)計(jì)算機(jī)程序的各種性能進(jìn)行運(yùn)行測(cè)試。
5 結(jié)束語(yǔ)
通過前對(duì)NS2網(wǎng)絡(luò)仿真軟件各方面知識(shí)的相關(guān)介紹,我們可以清楚地看到,NS2網(wǎng)絡(luò)仿真軟件可以針對(duì)課本中的計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)建立出一個(gè)形象生動(dòng)且具體網(wǎng)絡(luò)模擬環(huán)境,是抽象的計(jì)算機(jī)知識(shí)具體化,乏味的教學(xué)課堂興趣盎然。總而言之,NS2網(wǎng)絡(luò)仿真軟件被引入到計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)教學(xué)中是勢(shì)在必行的趨勢(shì),我們應(yīng)該報(bào)以積極的態(tài)度。
參考文獻(xiàn):
[1]鄧志霞.淺談網(wǎng)絡(luò)仿真軟件在計(jì)算機(jī)專業(yè)網(wǎng)絡(luò)教學(xué)中的應(yīng)用——以NS2為例[J].電腦知識(shí)與技術(shù),2011(16):56-58.
[2]石太彬,童孟軍.NS2網(wǎng)絡(luò)仿真軟件應(yīng)用于教學(xué)中的研究[J].計(jì)算機(jī)時(shí)代,2011(03):23-25.
[3]范蘭云.探討NS2網(wǎng)絡(luò)仿真技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)教學(xué)中的應(yīng)用[J].教育,2012(01):38-39.
[4]董付國(guó),原達(dá).NS2仿真技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中的應(yīng)用與研究[J].計(jì)算機(jī)時(shí)代,2012(S1):44-45.
作者簡(jiǎn)介:李玉霞(1980.01-),女,遼寧昌圖人,講師,副科,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)語(yǔ)言編程。
作者單位:包頭職業(yè)技術(shù)學(xué)院,內(nèi)蒙古包頭 014030