国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

TCP擁塞控制仿真軟件的設(shè)計及其在教學(xué)中的應(yīng)用探索

2020-03-08 01:52:57李磊
河南教育·高教 2020年12期
關(guān)鍵詞:仿真軟件計算機網(wǎng)絡(luò)教學(xué)實踐

摘 要:本研究針對計算機網(wǎng)絡(luò)課程知識面寬、抽象性強以及算法和協(xié)議學(xué)習(xí)困難等問題,提出了自主設(shè)計專用仿真軟件輔助教學(xué)的方法。通過對TCP擁塞控制算法原理的分析,設(shè)計實現(xiàn)了一款TCP擁塞控制仿真軟件,并將其應(yīng)用在計算機網(wǎng)絡(luò)課程教學(xué)實踐中。調(diào)查問卷和測驗成績均表明,與傳統(tǒng)教學(xué)方式相比,采用TCP擁塞控制仿真軟件教學(xué)可以顯著改善教學(xué)效果。

關(guān)鍵詞:計算機網(wǎng)絡(luò);TCP擁塞控制;仿真軟件;教學(xué)實踐

我們所處的時代是以網(wǎng)絡(luò)為核心的信息時代,數(shù)字化、網(wǎng)絡(luò)化和信息化是這個時代最大的特征。今天的互聯(lián)網(wǎng)無疑是有史以來由人類創(chuàng)造、精心設(shè)計的最大系統(tǒng),數(shù)以億計的計算機、通信鏈路和交換機在這個系統(tǒng)中相交相連。

計算機網(wǎng)絡(luò)課程是大學(xué)本科計算機類專業(yè)的核心課程。該課程以計算機網(wǎng)絡(luò)體系結(jié)構(gòu)為總綱,系統(tǒng)、分層次地講述計算機網(wǎng)絡(luò)的基本概念和網(wǎng)絡(luò)協(xié)議,重點講解互聯(lián)網(wǎng)的TCP/IP協(xié)議族及其工作原理。計算機網(wǎng)絡(luò)課程知識面寬、理論性強,涉及許多錯綜復(fù)雜、彼此交織的概念、協(xié)議和技術(shù)。作為計算機網(wǎng)絡(luò)課程的教師,如何讓學(xué)生深刻、系統(tǒng)地理解相關(guān)知識,是一個需要深入探討的課題。

TCP協(xié)議作為TCP/IP協(xié)議族中最重要的協(xié)議之一,是計算機網(wǎng)絡(luò)課程的重點知識。TCP擁塞控制算法原理是TCP協(xié)議工作原理中最抽象的部分。在真實的網(wǎng)絡(luò)環(huán)境中,不能直接觀察到TCP擁塞控制算法的工作過程,而且學(xué)生在學(xué)習(xí)過程中,缺乏必要的感性認(rèn)識,從而增加了學(xué)習(xí)難度。仿真軟件具有靈活、直觀等特點,在教學(xué)過程中采用仿真軟件,配合課堂知識講授,可以改善學(xué)生的學(xué)習(xí)狀況,提高教學(xué)效率。

在計算機網(wǎng)絡(luò)課程教學(xué)中,仿真軟件的使用得到了廣大教師的重視。李向麗等教師探討了網(wǎng)絡(luò)仿真軟件NS的工作原理,并將其應(yīng)用于IP協(xié)議的教學(xué)實踐中。此后,李向麗又將網(wǎng)絡(luò)仿真軟件NS2應(yīng)用于計算機網(wǎng)絡(luò)課程的實踐教學(xué)改革中。趙欣探索了基于網(wǎng)絡(luò)模擬軟件Packet Tracer的計算機網(wǎng)絡(luò)課程的教學(xué)改革實踐方案。這些教學(xué)探索采用的網(wǎng)絡(luò)仿真或網(wǎng)絡(luò)模擬軟件,都有其特定的應(yīng)用領(lǐng)域,并非專為計算機網(wǎng)絡(luò)課程教學(xué)而設(shè)計。網(wǎng)絡(luò)仿真軟件NS可以進(jìn)行網(wǎng)絡(luò)拓?fù)浞抡?、協(xié)議仿真和通信量仿真等,在網(wǎng)絡(luò)協(xié)議設(shè)計等領(lǐng)域有廣泛應(yīng)用。網(wǎng)絡(luò)模擬軟件Packet Trace是由思科系統(tǒng)公司發(fā)布的工具軟件,為學(xué)習(xí)思科網(wǎng)絡(luò)設(shè)備的操作提供專用的網(wǎng)絡(luò)模擬環(huán)境。本研究設(shè)計實現(xiàn)了一款TCP擁塞控制仿真軟件,并將其應(yīng)用在課堂教學(xué)實踐中,輔助學(xué)生學(xué)習(xí)計算機網(wǎng)絡(luò)相關(guān)理論知識。

一、TCP擁塞控制算法原理

TCP擁塞控制算法通過維護(hù)一個擁塞窗口來進(jìn)行擁塞控制。其基本原則是:只要網(wǎng)絡(luò)中沒有出現(xiàn)擁塞,就將擁塞窗口值增大,以便發(fā)送更多的數(shù)據(jù);一旦網(wǎng)絡(luò)出現(xiàn)擁塞,就將擁塞窗口值減小,以減少發(fā)送到網(wǎng)絡(luò)中的數(shù)據(jù)。

RFC5681中規(guī)定了TCP擁塞控制的四個算法:慢開始、擁塞避免、快重傳和快恢復(fù)。慢開始算法和擁塞避免算法是TCP的強制實現(xiàn)部分??熘貍魉惴ê涂旎謴?fù)算法是TCP的建議實現(xiàn)部分。

RFC5681要求TCP維持擁塞窗口值和慢開始門限值兩個參數(shù)。根據(jù)發(fā)送方的最大報文段長度(SMSS,Sender Maximum Segment Size)的值,RFC5681規(guī)定初始擁塞窗口值為2~4個SMSS的長度。

(一)慢開始算法

在慢開始階段,TCP進(jìn)程每收到一個ACK報文段,就將擁塞窗口值增大至多一個SMSS值。即:擁塞窗口值+=min(N,SMSS),其中的N指剛收到的ACK報文段所確認(rèn)的字節(jié)數(shù)。當(dāng)擁塞窗口值大于或等于慢開始門限時,TCP就退出慢開始算法,執(zhí)行擁塞避免算法。

(二)擁塞避免算法

在擁塞避免階段,每經(jīng)過一個往返傳播時延(RTT,round-trip time),TCP擁塞窗口值增大約一個SMSS值。關(guān)于擁塞窗口值的計算方法,RFC5681建議每收到一個新的ACK報文段時,計算擁塞窗口值+=SMSS×(SMSS/cwnd)。當(dāng)TCP觀察到網(wǎng)絡(luò)擁塞時,就會退出擁塞避免算法。

TCP可以通過多種方式觀察網(wǎng)絡(luò)擁塞。當(dāng)TCP發(fā)送方因超時重傳事件檢測到報文段丟失時,TCP便認(rèn)為網(wǎng)絡(luò)擁塞產(chǎn)生。慢開始門限值必須被設(shè)置為當(dāng)前擁塞窗口值的一半,并且不小于2個SMSS值,即:慢開始門限值=max(當(dāng)前擁塞窗口值/2,2×SMSS)。設(shè)置慢開始門限值后,TCP將擁塞窗口值設(shè)置為1個SMSS值,并重新開始執(zhí)行慢開始算法。

(三)快重傳算法

RFC5681建議TCP接收方收到一個亂序的報文段時,立即發(fā)送一個重復(fù)的ACK報文段進(jìn)行確認(rèn),以快速通知TCP發(fā)送方自己收到了亂序的報文段,提示TCP發(fā)送方網(wǎng)絡(luò)出現(xiàn)了某些問題。

(四)快恢復(fù)算法

由于采用了快重傳算法,TCP發(fā)送方可能會收到多個重復(fù)的ACK報文段。RFC5681建議收到3個重復(fù)的ACK時,TCP發(fā)送方就判定丟包事件產(chǎn)生,并執(zhí)行快恢復(fù)算法,不必再等待超時重傳事件。

快恢復(fù)算法執(zhí)行時,設(shè)置慢開始門限=max(當(dāng)前擁塞窗口值/2,2×SMSS),然后設(shè)置擁塞窗口值=慢開始門限+3×SMSS??旎謴?fù)算法執(zhí)行后,TCP重新開始執(zhí)行擁塞避免算法。

二、TCP擁塞控制仿真軟件設(shè)計和實現(xiàn)

TCP擁塞控制仿真軟件用Python語言,采用多線程的方法設(shè)計并實現(xiàn)。多個線程分別用來仿真TCP擁塞控制算法、模擬網(wǎng)絡(luò)運行狀態(tài)以及實現(xiàn)用戶交互和數(shù)據(jù)展示。

(一)主線程

主線程負(fù)責(zé)啟動TCP仿真線程和網(wǎng)絡(luò)模擬線程。此外,主線程基于Python Tkinter庫實現(xiàn)圖形用戶界面,實現(xiàn)與用戶的交互。圖形用戶界面中包括五個按鈕,用戶可以利用這些按鈕手動開始或結(jié)束仿真、暫停或繼續(xù)仿真、產(chǎn)生超時重傳事件、產(chǎn)生3個重復(fù)ACK事件以及查閱軟件使用說明。主線程還利用Python Matplotlib庫,以折線圖的形式繪制歷史擁塞窗口值,并實時刷新圖表。

(二)TCP仿真線程

TCP仿真線程由主線程啟動后,模擬TCP的發(fā)送方和接收方進(jìn)行數(shù)據(jù)的發(fā)送和接收。假設(shè)TCP發(fā)送方接收窗口足夠大,根據(jù)當(dāng)前擁塞窗口值設(shè)定發(fā)送窗口值,發(fā)送數(shù)據(jù),并以報文段為單位,將發(fā)送的數(shù)據(jù)以動畫的形式在圖形用戶界面上展示,方便用戶觀察當(dāng)前擁塞窗口值。

TCP仿真線程還接收網(wǎng)絡(luò)擁塞事件,包括超時重傳事件和3個重復(fù)ACK事件。當(dāng)接收到網(wǎng)絡(luò)擁塞事件后,TCP仿真線程暫停數(shù)據(jù)的發(fā)送和接收,根據(jù)當(dāng)前的擁塞窗口值和事件種類選擇計算方法,計算慢開始門限值和新的擁塞窗口值,并將計算過程和計算結(jié)果通過彈窗顯示,方便用戶學(xué)習(xí)和計算。待用戶確認(rèn)后,TCP仿真程序繼續(xù)運行,進(jìn)行下一輪仿真。

TCP仿真線程根據(jù)擁塞控制算法,執(zhí)行慢開始算法或擁塞避免算法,接收并響應(yīng)擁塞事件,實時計算擁塞窗口值,并將擁塞窗口值發(fā)送給主線程,以實現(xiàn)主線程中擁塞窗口折線圖的實時更新。

(三)網(wǎng)絡(luò)模擬線程

網(wǎng)絡(luò)模擬線程由主線程啟動后,根據(jù)初始參數(shù)、當(dāng)前擁塞窗口值、仿真程序時間以及隨機數(shù),模擬計算網(wǎng)絡(luò)的擁塞程度,并以綠色、黃色和紅色三種顏色在圖形用戶界面上展示當(dāng)前網(wǎng)絡(luò)的擁塞程度。其中,綠色代表網(wǎng)絡(luò)通暢、黃色代表網(wǎng)絡(luò)輕度擁塞、紅色代表網(wǎng)絡(luò)重度擁塞。當(dāng)網(wǎng)絡(luò)輕度擁塞時,網(wǎng)絡(luò)模擬線程以隨機概率產(chǎn)生3個重復(fù)ACK事件;當(dāng)網(wǎng)絡(luò)重度擁塞時,網(wǎng)絡(luò)模擬線程以隨機概率產(chǎn)生丟包事件。待TCP仿真線程處理擁塞事件后,網(wǎng)絡(luò)模擬線程將網(wǎng)絡(luò)恢復(fù)至通暢狀態(tài),然后根據(jù)新的參數(shù),繼續(xù)模擬計算機網(wǎng)絡(luò)的擁塞程度。

三、TCP擁塞控制仿真軟件在教學(xué)中的應(yīng)用和效果

在教學(xué)中采用TCP擁塞控制仿真軟件,具有以下優(yōu)點:

直觀展示數(shù)據(jù)發(fā)送過程。能夠直觀地展示TCP擁塞控制算法對擁塞窗口的控制,以及依據(jù)擁塞窗口值控制數(shù)據(jù)發(fā)送的過程。

仿真驗證擁塞控制算法。能夠仿真并驗證慢開始、擁塞避免、快重傳和快恢復(fù)算法,滿足課堂教學(xué)驗證TCP擁塞控制算法的需求。

動態(tài)模擬網(wǎng)絡(luò)運行狀態(tài)。能夠動態(tài)模擬計算機網(wǎng)絡(luò)的運行狀態(tài),利用隨機事件控制計算機網(wǎng)絡(luò)的擁塞狀態(tài),并能模擬網(wǎng)絡(luò)丟包等事件。

實時計算并顯示擁塞窗口變化。在捕獲到超時重傳事件和收到3個重復(fù)ACK事件時,實時計算慢開始門限值和擁塞窗口值,并以圖形方式直觀展示擁塞窗口值的變化趨勢。

為了更好地了解TCP擁塞控制仿真軟件在教學(xué)中的應(yīng)用效果,本研究在部分班級采用了TCP擁塞控制仿真軟件進(jìn)行教學(xué),其他班級仍然采用傳統(tǒng)方式教學(xué),然后設(shè)計了調(diào)查問卷,進(jìn)行了課堂測驗,并對問卷結(jié)果和測驗成績進(jìn)行了分析。

TCP擁塞控制算法掌握程度調(diào)查對比如表1所示,課堂測驗成績對比如表2所示:

從統(tǒng)計結(jié)果可以看出,采用TCP擁塞控制仿真軟件教學(xué)后,學(xué)生對算法的掌握程度和課堂測驗成績,均有較大程度提高。

在計算機網(wǎng)絡(luò)課程中采用專門設(shè)計的仿真軟件輔助教學(xué)是非常有必要的。采用仿真軟件教學(xué),學(xué)生可以直接觀察網(wǎng)絡(luò)協(xié)議或算法的工作過程,驗證理論知識,彌補計算機網(wǎng)絡(luò)課程學(xué)習(xí)過程抽象、枯燥的缺點。調(diào)查問卷和測驗成績均表明,采用仿真軟件教學(xué)可以提高學(xué)生學(xué)習(xí)積極性,改善學(xué)習(xí)效果。后續(xù)將考慮在計算機網(wǎng)絡(luò)課程的其他關(guān)鍵知識點,設(shè)計仿真軟件,并應(yīng)用在教學(xué)實踐中。

參考文獻(xiàn):

[1]謝希仁.計算機網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2017.

[2]James F.Kurose,Keith W. Ross.計算機網(wǎng)絡(luò)——自頂向下方法[M].陳鳴,譯.北京:機械工業(yè)出版社,2018.

[3]李向麗,李磊,陳靜.網(wǎng)絡(luò)實驗仿真與網(wǎng)絡(luò)技術(shù)實踐[J].計算機技術(shù)與發(fā)展,2006,(3).

[4]李向麗.應(yīng)用人才培養(yǎng)模式的計算機網(wǎng)絡(luò)課程教改研究[J].計算機技術(shù)與發(fā)展,2014,(8).

[5]趙欣.基于Packet Tracer的計算機網(wǎng)絡(luò)實驗教學(xué)改革與探索[J].大連大學(xué)學(xué)報,2019,(6).

責(zé)編:桃 子

猜你喜歡
仿真軟件計算機網(wǎng)絡(luò)教學(xué)實踐
計算機網(wǎng)絡(luò)環(huán)境下混合式教學(xué)模式實踐與探索
電子制作(2018年16期)2018-09-26 03:27:08
計算機網(wǎng)絡(luò)信息安全及防護(hù)策略
電子制作(2018年12期)2018-08-01 00:47:58
淺談機器人離線編程軟件在機器人教學(xué)中的應(yīng)用
青年時代(2016年21期)2017-01-04 17:18:45
仿真軟件在航空典型結(jié)構(gòu)件上的應(yīng)用
Multisim10對單管共射放大電路的仿真與研究
電子類仿真軟件應(yīng)用的教學(xué)之道
計算機教育(2016年7期)2016-11-10 08:53:49
中職計算機應(yīng)用課程教學(xué)改革與反思
科技視界(2016年21期)2016-10-17 18:57:24
淺論高中化學(xué)生活化教學(xué)的實踐與思考
考試周刊(2016年79期)2016-10-13 23:10:24
淺談初中物理實驗教學(xué)與學(xué)生創(chuàng)新能力的培養(yǎng)
考試周刊(2016年79期)2016-10-13 23:09:42
測量平差課程教學(xué)改革探討與實踐
考試周刊(2016年79期)2016-10-13 21:37:05
汝城县| 大丰市| 鹤峰县| 枝江市| 阜城县| 昆明市| 扬中市| 易门县| 葫芦岛市| 北川| 光泽县| 贵阳市| 新和县| 井陉县| 峨边| 肥乡县| 安国市| 长阳| 高台县| 朝阳县| 正镶白旗| 土默特右旗| 昌乐县| 桦南县| 靖宇县| 栾城县| 丹寨县| 宜丰县| 尚义县| 威信县| 抚远县| 六枝特区| 东台市| 普格县| 土默特左旗| 夹江县| 永宁县| 甘肃省| 留坝县| 安多县| 沈丘县|