亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NS-3的計算機網(wǎng)絡(luò)傳輸實驗教學(xué)方案設(shè)計

        2023-07-16 08:16:48胡晉彬羅望卿
        軟件導(dǎo)刊 2023年6期
        關(guān)鍵詞:網(wǎng)絡(luò)設(shè)備接收端IP地址

        胡晉彬,羅望卿,王 進

        (長沙理工大學(xué) 計算機與通信工程學(xué)院,湖南 長沙 410114)

        0 引言

        計算機網(wǎng)絡(luò)是計算機科學(xué)與技術(shù)、軟件工程和通信工程等專業(yè)的基礎(chǔ)課程,具有理論內(nèi)容多、范圍廣和知識更新速度快的特點。計算機網(wǎng)絡(luò)教學(xué)特別注重理論教學(xué)與實踐操作教學(xué)相結(jié)合,通過具體的計算機網(wǎng)絡(luò)實驗幫助學(xué)生理解和掌握計算機網(wǎng)絡(luò)傳輸機制及其工作原理。然而,現(xiàn)有計算機網(wǎng)絡(luò)教學(xué)方案設(shè)計中很少考慮目前工業(yè)界的實際網(wǎng)絡(luò)需求變化,具體教學(xué)方案設(shè)計未采用工業(yè)界實際部署的網(wǎng)絡(luò)傳輸協(xié)議,使得學(xué)生難以真正了解計算機網(wǎng)絡(luò)技術(shù)在實際工業(yè)環(huán)境應(yīng)用中的需求變化,以及網(wǎng)絡(luò)傳輸協(xié)議在實際網(wǎng)絡(luò)環(huán)境中部署的具體問題和所面臨的實際挑戰(zhàn)。為了改變這種狀況,教師應(yīng)及時了解實際工業(yè)生產(chǎn)環(huán)境中計算機網(wǎng)絡(luò)技術(shù)的迭代和更新,在計算機網(wǎng)絡(luò)教學(xué)中將網(wǎng)絡(luò)實驗設(shè)計與現(xiàn)代工業(yè)生產(chǎn)中的網(wǎng)絡(luò)技術(shù)緊密結(jié)合,設(shè)計與社會發(fā)展需求和實際應(yīng)用相結(jié)合的教學(xué)方案,提高學(xué)生的創(chuàng)新能力和解決實際工程問題的能力,同時提高學(xué)生的學(xué)習(xí)興趣,促進計算機網(wǎng)絡(luò)技術(shù)教學(xué)的發(fā)展。

        本文以目前工業(yè)界在生產(chǎn)數(shù)據(jù)中心網(wǎng)絡(luò)中實際部署的網(wǎng)絡(luò)傳輸協(xié)議[1-3]為例,設(shè)計并實現(xiàn)了計算機網(wǎng)絡(luò)傳輸控制的實驗方案,幫助學(xué)生在掌握計算機網(wǎng)絡(luò)基本概念和傳輸機制原理的同時,更深刻地理解網(wǎng)絡(luò)中數(shù)據(jù)包從發(fā)送端經(jīng)過網(wǎng)絡(luò)中間設(shè)備交換機,再傳輸?shù)浇邮斩说耐暾麄鬏斶^程。具體來說,在NS-3網(wǎng)絡(luò)仿真系統(tǒng)軟件[4]環(huán)境下,學(xué)生通過C++語言編寫程序搭建網(wǎng)絡(luò)拓?fù)洹⑤斎刖W(wǎng)絡(luò)流量、配置路由、部署基于不同擁塞反饋信號的網(wǎng)絡(luò)傳輸協(xié)議,并測試實時吞吐率和數(shù)據(jù)流完成時間等網(wǎng)絡(luò)性能[5],以達(dá)到了解網(wǎng)絡(luò)傳輸控制的工作流程和深入理解網(wǎng)絡(luò)傳輸控制原理的目的。

        1 NS-3網(wǎng)絡(luò)仿真系統(tǒng)軟件

        NS-3是基于事件驅(qū)動的仿真軟件,具有免費的源代碼公共源,可滿足學(xué)術(shù)研究和教學(xué)對網(wǎng)絡(luò)仿真模擬的需求[6]。在NS-3網(wǎng)絡(luò)仿真環(huán)境中,可以采用C++和Python兩種編程語言編寫程序,其源代碼可以應(yīng)用于Linux、Mac OS、Cygwin和Mingw等不同操作系統(tǒng)。一個完整的NS-3 模型具有應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層和物理層。與NS-2相比,NS-3在各個層面都有了很大改進。NS-2網(wǎng)絡(luò)仿真系統(tǒng)軟件只支持C語言和OTcl Tool語言,其仿真結(jié)果演示需要通過網(wǎng)絡(luò)動畫模擬器進行。此外,NS-2的很多模塊都采用C語言編寫,有些模塊采用OTcl腳本語言編寫,如果只采用C語言而不用OTcl腳本無法運行仿真實驗。然而在NS-3網(wǎng)絡(luò)仿真系統(tǒng)軟件中,所有模擬器均采用C++編寫,具有良好的繼承性和多態(tài)性[6]。學(xué)生在NS-3網(wǎng)絡(luò)仿真系統(tǒng)軟件中可采用C++和Python兩種編程語言編寫程序和模擬腳本,為C++程序生成相應(yīng)的跟蹤文件,還可以靈活地生成跟蹤文件以分析仿真模擬過程。該軟件還有一些其他特點,例如使用IP地址處理節(jié)點端口,更有助于學(xué)生理解傳輸過程[7]。

        采用NS-3進行網(wǎng)絡(luò)仿真實驗一般有4個步驟:①確定仿真場景;②編寫網(wǎng)絡(luò)仿真腳本配置拓?fù)浜蛻?yīng)用程序;③運行模擬實驗;④分析仿真數(shù)據(jù)。

        模擬場景由用戶根據(jù)所研究的網(wǎng)絡(luò)場景確定,編寫網(wǎng)絡(luò)仿真程序和腳本可分為6個步驟:①通過仿真場景確定拓?fù)浣Y(jié)構(gòu)和所需的仿真模塊,搭建相應(yīng)節(jié)點;②通過仿真場景確定網(wǎng)絡(luò)設(shè)備類型,并根據(jù)拓?fù)浒惭b在相應(yīng)節(jié)點上;③為每個網(wǎng)絡(luò)設(shè)備部署互聯(lián)網(wǎng)協(xié)議棧并分配IP地址;④通過模擬場景確定流量模式,利用Application的子類生成相應(yīng)的數(shù)據(jù)包;⑤根據(jù)需要啟動相應(yīng)的記錄和跟蹤系統(tǒng),生成數(shù)據(jù)供后期分析仿真結(jié)果;⑥Simulator::Run()函數(shù)啟動仿真程序。

        2 實驗方案

        2.1 實驗內(nèi)容

        基于NS-3網(wǎng)絡(luò)仿真系統(tǒng)軟件平臺構(gòu)建網(wǎng)絡(luò)拓?fù)?,編寫C++程序測試流完成時間和實時吞吐率,深入理解數(shù)據(jù)包從發(fā)送端通過交換機傳輸?shù)浇邮斩说膫鬏斎^程以及傳輸過程的擁塞反饋。

        2.2 實驗過程

        2.2.1 拓?fù)鋭?chuàng)建

        采用數(shù)據(jù)中心廣泛部署的葉—脊(Leaf-Spine)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[8],其中脊交換機為核心交換機;葉交換機為網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的接入層,其承上啟下,連接終端服務(wù)器與核心交換機。葉—脊網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要解決傳統(tǒng)網(wǎng)絡(luò)拓?fù)錈o法適應(yīng)數(shù)據(jù)中心流量急劇增加和數(shù)據(jù)中心規(guī)模日益擴大而帶來的數(shù)據(jù)中心高速互聯(lián)要求問題。與傳統(tǒng)網(wǎng)絡(luò)架構(gòu)相比,葉—脊網(wǎng)絡(luò)拓?fù)浼軜?gòu)可以降低網(wǎng)絡(luò)傳輸延時、緩解網(wǎng)絡(luò)流量瓶頸和擴展網(wǎng)絡(luò)帶寬。

        本文實驗需搭建一個擁有2 Leaf和2 Spine的葉—脊拓?fù)浣Y(jié)構(gòu)(發(fā)送端和接收端之間有2條并行路徑)。如圖1所示,拓?fù)浣Y(jié)構(gòu)由兩臺Spine交換機S1、S2,兩臺Leaf交換機L1、L2和4臺終端服務(wù)器組成。

        Fig.1 Leaf-spine topology圖1 葉—脊拓?fù)浣Y(jié)構(gòu)

        設(shè)置拓?fù)浜螅渲弥鳈C的IP地址。在算法中,IP地址的分配需要定義Ipv4addressHelper對象地址;然后通過IP地址調(diào)用SetBase進行網(wǎng)關(guān)與子網(wǎng)掩碼設(shè)置;最后在Assign函數(shù)調(diào)用IP地址的基礎(chǔ)上自10.1.1.1起對網(wǎng)絡(luò)設(shè)備分配地址。Assign函數(shù)通過對網(wǎng)絡(luò)連接關(guān)系進行分析得到網(wǎng)絡(luò)上任意兩個節(jié)點之間的路徑信息,然后將這些數(shù)據(jù)存儲到一個樹型結(jié)構(gòu)中,這個樹即為網(wǎng)絡(luò)圖。該拓?fù)渖隙喙?jié)點網(wǎng)絡(luò)設(shè)備以這種方式進行地址分配時需要使用Address Assign(devices)進行地址分配,而代碼設(shè)置的對象接口Ipv4InterfaceContainer用于保存和管理成功分配好的IP地址。具體IP地址分配代碼為:

        2.2.2 NS-3 C++程序

        (1)首先添加相應(yīng)模塊的頭文件,具體代碼為:

        然后定義節(jié)點容器nodes,由nodes.get(i)獲取第i個節(jié)點,節(jié)點使用Create()函數(shù)創(chuàng)建節(jié)點,具體代碼為:

        最后配置基本參數(shù)node節(jié)點個數(shù)、servers服務(wù)器個數(shù)、leaf-spine交換機個數(shù)、flow數(shù)量等,具體代碼為:

        (2)確定所需網(wǎng)絡(luò)設(shè)備類型,并根據(jù)第一步設(shè)置好的拓?fù)浣Y(jié)構(gòu)將其分別安裝在相應(yīng)節(jié)點上。編寫代碼定義點對點鏈接對象pointToPoint,用于配置網(wǎng)絡(luò)設(shè)備,設(shè)置點對點通道的鏈路速率,設(shè)置點對點通道的鏈路延時。定義好點對點鏈接對象后需要定義網(wǎng)絡(luò)設(shè)備容器對象設(shè)備,用于調(diào)用安裝節(jié)點函數(shù),將對等網(wǎng)絡(luò)設(shè)備與通道安裝到該節(jié)點,網(wǎng)絡(luò)設(shè)備安裝完成后需將其分配到devices。

        (3)為每個網(wǎng)絡(luò)設(shè)備安裝互聯(lián)網(wǎng)協(xié)議棧并分配IP地址。首先需要安裝Internet協(xié)議棧,在C++中采用代碼InternetstackHelper定義對象堆棧;然后堆棧調(diào)用節(jié)點安裝函數(shù)為nodes中包含的節(jié)點安裝網(wǎng)絡(luò)協(xié)議棧。實驗過程中部署數(shù)據(jù)中心網(wǎng)絡(luò)中廣泛應(yīng)用的基于顯式擁塞通知(Explicit Congestion Notification,ECN)標(biāo)記的DCTCP[8-9]傳輸協(xié)議。DCTCP于2010年首次被提出,其是數(shù)據(jù)中心第一個專用的擁塞控制協(xié)議。DCTCP調(diào)整機制涉及發(fā)送端、交換機和接收端,其利用交換機隊列長度信息判斷網(wǎng)絡(luò)擁塞程度,對超過一定隊列長度閾值的數(shù)據(jù)包標(biāo)記ECN位。當(dāng)接收端接收到ECN標(biāo)記的數(shù)據(jù)包,將相應(yīng)的確認(rèn)包標(biāo)記ECN-echo并發(fā)送到發(fā)送端,發(fā)送端根據(jù)ECN標(biāo)記比例對發(fā)送窗口進行調(diào)整。

        (4)使用Application的子類生成相應(yīng)數(shù)據(jù)包。定義監(jiān)聽對象echoServer,代碼為UdpEchoServerHelper echoServer()。echoServer使用Install(nodes.Get()))安裝echo服務(wù)器程序,安裝成功后返回的echo服務(wù)器程序由serverApps保存。調(diào)用ServerApps設(shè)置ServerApps中包含應(yīng)用程序的開始和停止時間,代碼為serverApps.Start(Seconds(1.0)),serverApps.Stop(Seconds(10.0))。定義被監(jiān)控的客戶端對象echoClient。獲取服務(wù)器的IP地址,向服務(wù)器端口發(fā)送數(shù)據(jù),并設(shè)置要發(fā)送的最大數(shù)據(jù)包數(shù)量、設(shè)置發(fā)送數(shù)據(jù)包的時間間隔以及設(shè)置發(fā)送數(shù)據(jù)包的大小,代碼為echo-Client.SetAttribute("MaxPackets",UintegerValue(1));echo-Client.SetAttribute("Interval",TimeValue(Seconds(1.0)));echoClient.SetAttribute("PacketSize",UintegerValue(1024))。調(diào)用Install函數(shù)在節(jié)點上安裝客戶機應(yīng)用程序,調(diào)用Start函數(shù)設(shè)置應(yīng)用程序啟動的秒數(shù),調(diào)用Stop函數(shù)設(shè)置應(yīng)用程序啟動的時間,代碼為clientApps.Start(Seconds(2.0));clientApps.Stop(Seconds(10.0))。

        (5)根據(jù)需要激活相應(yīng)的記錄和跟蹤系統(tǒng),為后續(xù)模擬結(jié)果分析生成數(shù)據(jù),并開始模擬實驗。

        2.2.3 測試與數(shù)據(jù)分析

        運行以上C++實驗程序,深入理解傳輸協(xié)議的工作過程,分析數(shù)據(jù)包如何在網(wǎng)絡(luò)中通過交換機從發(fā)送端傳輸?shù)浇邮斩?,并給出流完成時間和實時吞吐率的計算方法。

        (1)數(shù)據(jù)包傳輸過程分析。首先要對是否有數(shù)據(jù)從發(fā)送端發(fā)往接收端進行編碼判斷,如果發(fā)包成功,程序需繼續(xù)判斷發(fā)包成功目的IP是否在同一網(wǎng)段中。如果發(fā)包方目的IP與發(fā)包方地址所歸屬的網(wǎng)段一致,程序就會判斷正確,進行編碼,將數(shù)據(jù)包封裝成一幀,再通過接入層進入?yún)R聚層中,經(jīng)過匯聚層中的網(wǎng)絡(luò)設(shè)備將數(shù)據(jù)包送到目的IP;如果發(fā)包方目的地址與發(fā)包方不在一個網(wǎng)段中,那么發(fā)包方就會將數(shù)據(jù)包轉(zhuǎn)送到目的IP,再通過匯聚層將數(shù)據(jù)包轉(zhuǎn)送到網(wǎng)關(guān)中。如果沒有收到目的IP,那么該數(shù)據(jù)包將被丟棄;若接收到目的IP,則該數(shù)據(jù)包會繼續(xù)傳送下去,直至所有數(shù)據(jù)包都收到為止,如此循環(huán)重復(fù)多次即可實現(xiàn)整個過程。最后將數(shù)據(jù)包回傳至目的IP中,選擇轉(zhuǎn)發(fā)路徑及轉(zhuǎn)發(fā)端口,IP包被確認(rèn)后可轉(zhuǎn)發(fā)至下一路由器。IP包在到達(dá)路由器時先從IP頭讀取目的IP地址并查找路由表,IP包按照路由協(xié)議算法選擇最佳路徑轉(zhuǎn)發(fā)。

        (2)流完成時間和實時吞吐率測試。流完成時間是指從發(fā)送第一個數(shù)據(jù)包至接收最后一個數(shù)據(jù)包的時間。用戶通常想讓網(wǎng)頁搜索、傳輸文件、深度學(xué)習(xí)、數(shù)據(jù)挖掘等業(yè)務(wù)在最短時間內(nèi)完成,因此流完成時間成為衡量傳輸性能的重要指標(biāo)[9-11]。從C++程序運行后生成的相應(yīng)trace文件中獲取流號、第一個數(shù)據(jù)包的發(fā)送時間和最后一個數(shù)據(jù)包的接收時間,然后計算出一條流的完成時間。如果需要計算平均流完成時間則可編寫腳本計算所有流的平均時間[12-13]。網(wǎng)絡(luò)性能的好壞通過實時吞吐率一目了然,統(tǒng)計一段時間內(nèi)的數(shù)據(jù)字節(jié)數(shù)量,然后采用Python腳本計算單位時間內(nèi)傳輸?shù)淖止?jié)數(shù),即實時吞吐率。

        3 結(jié)語

        虛擬實驗教學(xué)完全建立在計算機技術(shù)和網(wǎng)絡(luò)通信技術(shù)的基礎(chǔ)上,學(xué)生可以在計算機上完成整個教學(xué)過程。通過部署目前工業(yè)界實際應(yīng)用的計算機網(wǎng)絡(luò)傳輸協(xié)議,學(xué)生不僅深入了解了數(shù)據(jù)包從發(fā)送端到接收端的傳輸全過程,學(xué)習(xí)了如何測試流完成時間和實時吞吐率等網(wǎng)絡(luò)性能指標(biāo),而且了解了計算機網(wǎng)絡(luò)傳輸技術(shù)的實際需求和面臨挑戰(zhàn),提高了研究能力、創(chuàng)新能力、動手能力和實際應(yīng)用能力。后續(xù)可結(jié)合最新計算機網(wǎng)絡(luò)傳輸技術(shù),設(shè)計更符合社會發(fā)展需求的實驗教學(xué)方案,以進一步提高教師教學(xué)水平和學(xué)生學(xué)習(xí)效果。

        猜你喜歡
        網(wǎng)絡(luò)設(shè)備接收端IP地址
        基于擾動觀察法的光通信接收端優(yōu)化策略
        頂管接收端脫殼及混凝土澆筑關(guān)鍵技術(shù)
        一種設(shè)置在密閉結(jié)構(gòu)中的無線電能傳輸系統(tǒng)
        新能源科技(2021年6期)2021-04-02 22:43:34
        基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
        一種基于C# 的網(wǎng)絡(luò)設(shè)備自動化登錄工具的研制
        鐵路遠(yuǎn)動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
        基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        數(shù)據(jù)中心唯“快”不破
        基于列車監(jiān)測網(wǎng)絡(luò)設(shè)備的射頻功放模塊設(shè)計
        基于三層交換技術(shù)架構(gòu)數(shù)字化校園網(wǎng)絡(luò)設(shè)備的配置與管理
        日韩亚洲精选一区二区三区 | 中文无码一区二区不卡αv| 精品国产一级毛片大全| 国产亚洲午夜高清国产拍精品不卡 | 人妻无码一区二区三区四区| 久久与欧美视频| 日本黄网色三级三级三级| 国产精品186在线观看在线播放| 久久免费的精品国产v∧| 精品久久亚洲一级α| 精品国产三区在线观看| 一本加勒比hezyo无码专区| 亚洲中久无码永久在线观看同| 久久丁香花综合狼人| 黄色三级一区二区三区| 午夜视频一区二区三区播放| 四虎国产精品永久在线| 亚洲av无码不卡久久| 天天插视频| 综合成人亚洲网友偷自拍| 国产黄大片在线观看画质优化| 亚洲免费人成在线视频观看| 国产精品亚洲午夜不卡| 国产成av人在线观看| 久久综合精品人妻一区二区三区| 爽爽精品dvd蜜桃成熟时电影院 | 免费在线观看草逼视频| 国产精品久久国产精品99 gif| 性久久久久久久| 国产在线AⅤ精品性色| 白色白在线观看免费2| 欧洲多毛裸体xxxxx| 成年女人永久免费看片| 国产精品乱子伦一区二区三区| 色婷婷久久综合中文蜜桃| 99精品国产成人一区二区| 曰韩无码二三区中文字幕| 中文字幕无码日韩欧毛| 亚洲黄片av在线免费观看| 香蕉视频在线观看亚洲| 131美女爱做视频|