• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于NS2的CSMA/CD協(xié)議的模擬及分析

      2014-07-19 06:43:44劉桂江丁曉貴彭張節(jié)胡浪濤
      關(guān)鍵詞:傳輸數(shù)據(jù)以太網(wǎng)分組

      劉桂江,丁曉貴,彭張節(jié),胡浪濤

      (安慶師范學(xué)院計(jì)算機(jī)與信息學(xué)院,安徽安慶 246133)

      基于NS2的CSMA/CD協(xié)議的模擬及分析

      劉桂江,丁曉貴,彭張節(jié),胡浪濤

      (安慶師范學(xué)院計(jì)算機(jī)與信息學(xué)院,安徽安慶 246133)

      NS2是目前學(xué)術(shù)界廣泛使用的一種網(wǎng)絡(luò)仿真軟件,也常被用于計(jì)算機(jī)網(wǎng)絡(luò)課程的教學(xué)中。在介紹NS2模擬網(wǎng)絡(luò)運(yùn)行的一般流程和一些常用的分析工具的基礎(chǔ)上,描述了以太網(wǎng)MAC子層協(xié)議CSMA/CD的工作原理,實(shí)驗(yàn)?zāi)M運(yùn)行及對(duì)跟蹤文件的分析說明了以太網(wǎng)的數(shù)據(jù)傳送方式及性能影響因素,可以很好地用于計(jì)算機(jī)網(wǎng)絡(luò)課程中以太網(wǎng)協(xié)議內(nèi)容的教學(xué)。

      以太網(wǎng);NS2;CSMA/CD;二進(jìn)制指數(shù)后退算法

      以太網(wǎng)(Ethernet)是局域網(wǎng)中最為普遍、最為流行的LAN(Local Area Network)標(biāo)準(zhǔn),在局域網(wǎng)市場(chǎng)中取得了壟斷地位,幾乎成了局域網(wǎng)的代名詞。在局域網(wǎng)的體系結(jié)構(gòu)中,媒體訪問控制子層MAC(Media Access Control)是最為核心的層次,對(duì)局域網(wǎng)性能的影響起著關(guān)鍵的作用。因此,以太網(wǎng)的MAC子層也就成為計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)的重點(diǎn)。以太網(wǎng)的MAC子層采用了載波監(jiān)聽多路訪問/沖突檢測(cè)CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的媒體訪問機(jī)制,使用NS2(Network Simulator Version 2,網(wǎng)絡(luò)模擬器第2版)可以很好地對(duì)CSMA/CD協(xié)議進(jìn)行模擬,模擬的過程和結(jié)果有利于學(xué)生更加直觀地理解協(xié)議的實(shí)現(xiàn)原理,能得到較好的教學(xué)效果。

      1 NS2模擬器

      1.1 NS2簡(jiǎn)介

      NS2是一種面向?qū)ο蟮木W(wǎng)絡(luò)仿真器,本質(zhì)上是一個(gè)離散事件模擬器[1]。NS2是由UC Berkeley開發(fā),主要用于仿真各種IP網(wǎng)絡(luò)。NS2是一種針對(duì)網(wǎng)絡(luò)技術(shù)的源代碼公開的、免費(fèi)的軟件仿真平臺(tái),使用它可以很容易進(jìn)行網(wǎng)絡(luò)技術(shù)的仿真,它所包含的模塊非常豐富,幾乎涉及網(wǎng)絡(luò)技術(shù)的所有方面,所以NS2成了學(xué)術(shù)界廣泛使用的一種網(wǎng)絡(luò)仿真軟件[2]。NS2的所有模塊使用C++語言編寫,具體的仿真由OTCL(Object Tool Command Language)作為前端。這樣網(wǎng)絡(luò)組件運(yùn)行速度快,且參數(shù)由OTCL設(shè)置,修改方便。目前NS2能夠支持局域網(wǎng)、廣域網(wǎng)、無線網(wǎng)和衛(wèi)星網(wǎng)的仿真。

      1.2 使用NS2的流程

      NS模擬分兩個(gè)層次:一個(gè)屬于簡(jiǎn)單模式,是基于OTCL編程的層次,利用NS已有的網(wǎng)絡(luò)元素實(shí)現(xiàn)模擬,無需修改NS本身,只需編寫OTCL腳本;另一個(gè)屬于高級(jí)模式,是基于C++和OTCL編程的層次。如果NS中沒有所需的網(wǎng)絡(luò)元素,則需要對(duì)NS進(jìn)行擴(kuò)展,添加所需網(wǎng)絡(luò)元素[1]。

      在計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議的教學(xué)演示中,一般只需使用簡(jiǎn)單模式。下面給出在簡(jiǎn)單模式下進(jìn)行一次網(wǎng)絡(luò)模擬的主要步驟:

      1)編寫OTCL腳本,設(shè)置網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),需要設(shè)置鏈路的基本特性,如帶寬、延遲和數(shù)據(jù)包丟棄策略等。

      2)創(chuàng)建協(xié)議代理,包括端設(shè)備的協(xié)議綁定和通信業(yè)務(wù)量模型的建立。

      3)配置業(yè)務(wù)量模型參數(shù),確定網(wǎng)絡(luò)的業(yè)務(wù)量分布。

      4)設(shè)置模擬跟蹤Trace文件。NS2將整個(gè)模擬過程保存到Trace文件中。

      5)設(shè)置模擬開始與結(jié)束時(shí)間,完成OTCL腳本編寫。

      6)調(diào)用ns指令執(zhí)行OTCL腳本。

      7)對(duì)Trace文件進(jìn)行分析,得出有用數(shù)據(jù)[3]。

      1.3 模擬結(jié)果的分析及演示

      使用NS2模擬網(wǎng)絡(luò)協(xié)議運(yùn)行后,會(huì)產(chǎn)生一個(gè)擴(kuò)展名為tr的文本格式跟蹤文件,這個(gè)跟蹤文件按時(shí)間順序記錄了模擬過程發(fā)生的一系列事件,包括數(shù)據(jù)包的發(fā)送、接收、丟棄以及每個(gè)數(shù)據(jù)包的編號(hào)和地址等信息。NS2提供了一些工具,可以對(duì)網(wǎng)絡(luò)模擬的過程進(jìn)行動(dòng)畫演示,也可以很方便地對(duì)跟蹤文件進(jìn)行數(shù)據(jù)的提取及圖示化。

      1)動(dòng)畫演示工具NAM

      NAM是基于Tcl/Tk的動(dòng)畫演示工具,可以把模擬的過程用可視化的方式呈現(xiàn)出來。通過動(dòng)畫演示,可以非常直觀和形象地展示網(wǎng)絡(luò)協(xié)議的工作過程,可以極大地幫助學(xué)生理解所學(xué)的理論知識(shí)。所有的動(dòng)畫都是基于NS2網(wǎng)絡(luò)模擬生成的數(shù)據(jù)自動(dòng)生成,既準(zhǔn)確又避免了教師制作動(dòng)畫的繁瑣過程,減輕了教師的負(fù)擔(dān)。演示開始時(shí),NAM會(huì)讀取跟蹤文件,創(chuàng)建網(wǎng)絡(luò)拓?fù)?,顯示窗口界面,進(jìn)行必要的布局設(shè)置,然后停止在時(shí)間標(biāo)記為0的地方[4]。

      2)分析工具AWK

      AWK是一種用于處理文本的編程語言工具。AWK語言的語法與C語言很接近,與C語言不同的是,AWK能夠以很短的程序?qū)ξ谋绢愋臀募?nèi)的資料做統(tǒng)計(jì)、修改、比對(duì)和抽取等處理。利用AWK,可以對(duì)NS2產(chǎn)生的跟蹤文件進(jìn)行分析和處理。讀取跟蹤文件后,文件中的每一行當(dāng)做一個(gè)記錄,存入變量$0,把一行中用空格分開的字段值依次存入變量$1,$2,……中,只要在輸入數(shù)據(jù)中有模式匹配,就執(zhí)行一系列指令。該工具掃描文件中的每一行,查找與命令行中所給定內(nèi)容相匹配的模式。如果發(fā)現(xiàn)匹配內(nèi)容,則進(jìn)行下一個(gè)編程步驟。如果找不到匹配內(nèi)容,則繼續(xù)處理下一行。

      3)圖示化工具xgraph和Gnuplot

      xgraph是一個(gè)通用平面圖形的繪圖工具,能夠通過輸入數(shù)據(jù)集或文件來繪制圖形,并且對(duì)于輸入數(shù)據(jù)集和文件的數(shù)目沒有限制。還能夠根據(jù)需求將圖形以不同的格式輸出,如PDF,PostS-crip,MIF等。數(shù)據(jù)集或文件的格式很簡(jiǎn)單,每行兩列分別表示一個(gè)點(diǎn)的坐標(biāo)值,第1列是x軸的數(shù)據(jù),第2列是y軸的數(shù)據(jù),然后把圖畫出來[5]。Gnuplot是由Colin Kelly和Thomas Williams于1986年開發(fā)的科學(xué)繪圖工具,支持二維和三維圖形。它的功能是把數(shù)據(jù)資料和數(shù)學(xué)函數(shù)轉(zhuǎn)換為容易觀察的平面或立體的圖形,它可以讓使用者很容易地讀入外部的數(shù)據(jù)結(jié)果,在屏幕上顯示圖形,并且可以選擇和修改圖形的畫法。

      2 CSMA/CD協(xié)議

      2.1 CSMA/CD的基本思想

      以太網(wǎng)采用的媒體訪問控制協(xié)議是載波偵聽多路訪問/沖突檢測(cè)CSMA/CD協(xié)議。“載波偵聽”的含義是指在使用傳輸介質(zhì)發(fā)送信息之前,先要偵聽(檢測(cè))介質(zhì)上有無信號(hào)傳送,即偵聽傳輸介質(zhì)是否空閑?!岸嗦吩L問”的含義是指多個(gè)有獨(dú)立標(biāo)識(shí)符的節(jié)點(diǎn)共享一條傳輸介質(zhì)?!皼_突檢測(cè)”是指節(jié)點(diǎn)邊發(fā)送數(shù)據(jù)邊檢測(cè)總線上是否發(fā)生了碰撞。協(xié)議的基本思想就是如何分布式地協(xié)調(diào)多個(gè)節(jié)點(diǎn)對(duì)共享介質(zhì)的訪問控制。

      2.2 CSMA/CD的工作流程

      在CSMA/CD協(xié)議中,欲傳輸數(shù)據(jù)的節(jié)點(diǎn)監(jiān)聽媒體并遵循以下規(guī)則:

      1)若媒體空閑就傳輸;否則,轉(zhuǎn)到第2)步。

      2)若媒體忙則繼續(xù)監(jiān)聽,直到檢測(cè)到信道空閑,然后立即傳輸。

      3)如果在傳輸?shù)倪^程中監(jiān)聽到?jīng)_突,它就發(fā)送一個(gè)短小的人為干擾信號(hào)(Jamming),這個(gè)信號(hào)使得沖突的時(shí)間足夠長(zhǎng),讓其他節(jié)點(diǎn)都能發(fā)現(xiàn)。

      4)所有節(jié)點(diǎn)收到干擾信號(hào)后,認(rèn)為沖突發(fā)生,都立即停止傳輸,并等待一個(gè)隨機(jī)產(chǎn)生的時(shí)間間隙(回退時(shí)間,Backoff Time)后重發(fā)[6]。

      2.3 回退時(shí)間的確定

      各節(jié)點(diǎn)采用二進(jìn)制指數(shù)后退算法(Binary Exponential Backoff,BEB)處理沖突,數(shù)據(jù)包等待發(fā)送的時(shí)間具有隨機(jī)性。具體過程:第一次沖突產(chǎn)生后,每個(gè)站點(diǎn)隨機(jī)等待0或1個(gè)時(shí)槽后重新發(fā)送。若有多個(gè)站點(diǎn)在沖突后又選擇了同一個(gè)等待時(shí)槽數(shù),則它們將再次沖突。在第二次沖突后,它們會(huì)從0,1,2,3中隨機(jī)挑選一個(gè)數(shù)作為等待的時(shí)槽數(shù)。若又產(chǎn)生第三次沖突,則它們將從0~7(23-1)中隨機(jī)挑選一個(gè)等待的時(shí)槽數(shù)。一般而言,n次沖突后,等待的時(shí)槽數(shù)從0~2n-1中隨機(jī)選出。但在達(dá)到10次沖突后,等待的最大時(shí)槽數(shù)固定為1 023,以后不再增加了。在16次沖突后,站點(diǎn)放棄傳輸,并報(bào)告一個(gè)錯(cuò)誤[6]。

      3 實(shí)驗(yàn)仿真及分析

      3.1 仿真環(huán)境

      以太局域網(wǎng)由4個(gè)節(jié)點(diǎn)組成,拓?fù)淙鐖D1所示。網(wǎng)絡(luò)帶寬1 Mbps,傳播延遲1 ms,網(wǎng)絡(luò)協(xié)議為CSMA/CD。為模擬網(wǎng)絡(luò)負(fù)載逐漸增加時(shí)對(duì)網(wǎng)絡(luò)性能的影響,節(jié)點(diǎn)0和節(jié)點(diǎn)1之間的數(shù)據(jù)傳輸采用自定義流量模型[7];為避免應(yīng)答數(shù)據(jù)流對(duì)性能分析的影響,節(jié)點(diǎn)2和節(jié)點(diǎn)3之間傳輸層采用UDP協(xié)議,并在UDP代理上配置一個(gè)CBR流量發(fā)生器[7]。

      圖1 以太網(wǎng)拓?fù)鋱D

      3.2 單對(duì)節(jié)點(diǎn)之間傳輸數(shù)據(jù)

      設(shè)定節(jié)點(diǎn)0向節(jié)點(diǎn)1傳輸數(shù)據(jù),自定義流量模型中產(chǎn)生數(shù)據(jù)分組的時(shí)間間隔設(shè)為8毫秒,第一個(gè)分組包長(zhǎng)度為100字節(jié),依次遞增10字節(jié),產(chǎn)生數(shù)據(jù)量的時(shí)間為10 s,節(jié)點(diǎn)隊(duì)列長(zhǎng)度設(shè)為1 000。模擬運(yùn)行ns源程序,利用AWK工具分析跟蹤文件,使用gnuplot分別畫出吞吐量和傳輸效率隨時(shí)間變化的關(guān)系,如圖2和圖3所示。

      圖2 吞吐量隨時(shí)間變化圖

      圖2中,以太網(wǎng)的吞吐量隨著網(wǎng)絡(luò)負(fù)載的增加而逐漸增大,在達(dá)到970 kbps后不再增加,表明網(wǎng)絡(luò)吞吐量受網(wǎng)絡(luò)帶寬的制約。傳輸效率反映了信道的利用情況,傳輸效率越高,則信道的利用率越大。圖3中,傳輸效率開始很快增大到最大值0.98,然后逐漸減小。表明網(wǎng)絡(luò)信道利用率在負(fù)載較輕時(shí),隨著負(fù)載的增加而增大。當(dāng)負(fù)載較重時(shí),信道利用率反而隨著負(fù)載的增加而減小。這主要是因?yàn)楣?jié)點(diǎn)在傳輸數(shù)據(jù)之前需要監(jiān)聽媒體,若忙則等待,并繼續(xù)監(jiān)聽,直到空閑才能傳輸。網(wǎng)絡(luò)空閑時(shí),節(jié)點(diǎn)能快速地把數(shù)據(jù)傳輸出去,信道利用率就提高了。網(wǎng)絡(luò)繁忙時(shí),等待的時(shí)間增加了,信道利用率也就降低了。

      3.3 兩對(duì)節(jié)點(diǎn)之間同時(shí)傳輸數(shù)據(jù)

      節(jié)點(diǎn)0和節(jié)點(diǎn)1之間的數(shù)據(jù)傳輸模式同3.2,同時(shí)節(jié)點(diǎn)2向節(jié)點(diǎn)3傳輸數(shù)據(jù),采用CBR流量發(fā)生器。設(shè)定傳輸速率為1 Mbps,分組長(zhǎng)度為1 000字節(jié)。模擬運(yùn)行ns源程序,顯示結(jié)果如圖4。

      圖3 傳輸效率隨時(shí)間變化圖

      圖4 兩對(duì)節(jié)點(diǎn)同時(shí)傳輸模擬運(yùn)行顯示結(jié)果

      圖4中,1號(hào)、852號(hào)、860號(hào)、884號(hào)分組包被丟棄,顯示原因是它們超過了BEB的限制,也就是二進(jìn)制指數(shù)退避算法中沖突次數(shù)的限制。兩對(duì)節(jié)點(diǎn)在同一總線上同時(shí)傳輸數(shù)據(jù),分組包很容易發(fā)生沖突。發(fā)生沖突的分組包采用二進(jìn)制指數(shù)退避算法隨機(jī)選擇退避時(shí)間繼續(xù)重傳,但1號(hào)、852號(hào)、860號(hào)、884號(hào)分組包沖突的次數(shù)已達(dá)到16次,所以被丟棄。

      通過分析跟蹤文件,可以發(fā)現(xiàn)丟棄的分組包還有很多,如圖5所示。

      圖5 節(jié)點(diǎn)丟棄數(shù)據(jù)包情況

      圖5中,利用AWK工具分別對(duì)節(jié)點(diǎn)0和節(jié)點(diǎn)1之間、節(jié)點(diǎn)2和節(jié)點(diǎn)3之間傳輸數(shù)據(jù)時(shí)丟棄的分組包進(jìn)行統(tǒng)計(jì)。節(jié)點(diǎn)0向節(jié)點(diǎn)1共發(fā)送了8 570個(gè)分組包,丟棄了6 681個(gè);節(jié)點(diǎn)2向節(jié)點(diǎn)3發(fā)送了1 250個(gè)分組包,丟棄了2個(gè)。這表明數(shù)據(jù)傳輸中有些分組包的丟棄并不是由于沖突造成的。

      進(jìn)一步分析節(jié)點(diǎn)0和節(jié)點(diǎn)2兩個(gè)發(fā)送節(jié)點(diǎn)的隊(duì)列情況,如圖6和圖7所示。

      圖6 節(jié)點(diǎn)0的隊(duì)列情況

      在模擬程序中,已經(jīng)設(shè)定節(jié)點(diǎn)隊(duì)列大小為1 000,圖6顯示節(jié)點(diǎn)0在程序運(yùn)行到3 s左右時(shí)就已經(jīng)達(dá)到隊(duì)列最大值1 000,后面產(chǎn)生的分組包就會(huì)被丟棄。圖7顯示節(jié)點(diǎn)2的隊(duì)列空間始終沒有達(dá)到最大值1 000,所以節(jié)點(diǎn)2上不會(huì)由于隊(duì)列滿而丟棄分組包,圖5中顯示節(jié)點(diǎn)2丟棄的2個(gè)分組包,應(yīng)該都是由于沖突超過限制的次數(shù)而被丟棄。

      圖7 節(jié)點(diǎn)2的隊(duì)列情況

      4 結(jié)束語

      NS2可以很好地對(duì)網(wǎng)絡(luò)運(yùn)行情況進(jìn)行模擬,自動(dòng)生成的跟蹤文件可以使用AWK工具進(jìn)行行為和性能的分析,并能用gnuplot等工具圖形化展示結(jié)果,便于直觀理解網(wǎng)絡(luò)運(yùn)行過程。本文對(duì)以太網(wǎng)數(shù)據(jù)傳輸進(jìn)行了模擬,通過跟蹤文件的分析,直觀地說明了以太網(wǎng)的工作原理和性能影響因素,可以很好地應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)課程中協(xié)議內(nèi)容的教學(xué)。

      [1]徐雷鳴,龐博,趙耀.NS2與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2003:3-6.

      [2]段紹敏,盧豫開,陳永生.基于NS2的TCP性能仿真研究[J].微計(jì)算機(jī)信息,2010(22):135-136.

      [3]馬玉軍,胡可.NS2網(wǎng)絡(luò)模擬工具在計(jì)算機(jī)網(wǎng)絡(luò)課程教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)室科學(xué),2011(5):100-103.

      [4]王輝.NS2網(wǎng)絡(luò)模擬器的原理和應(yīng)用[M].西安:西北工業(yè)大學(xué)出版社,2008:54-56.

      [5]曾曉紅,胡忠旭,孫駿,等.NS2仿真結(jié)果分析方法的研究與實(shí)現(xiàn)[J].昆明學(xué)院學(xué)報(bào),2011(6):56-60.

      [6]劉桂江,孫家啟,王琦進(jìn),等.計(jì)算機(jī)網(wǎng)絡(luò)[M].合肥:安徽大學(xué)出版社,2008:99-102.

      [7]黃化吉,馮穗力,秦麗嬌,等.NS網(wǎng)絡(luò)模擬和協(xié)議仿真[M].北京:人民郵電出版社,2010:186-187.

      Simulation and Analysis of CSMA/CD Protocol Based on NS-2

      LIU Gui-jiang,DING Xiao-gui,PENG Zhang-jie,HU Lang-tao
      (School of Computer and Information,Anqing Teachers College,Anqing246133,China)

      NS2 is a kind of network simulation softwarewidely used in academic circles at present.It is often used in computer network course teaching.This paper introduces NS2 simulation network operation process and some of the commonly used analysis tools.It describes the working principle of Ethernet MAC layer protocol CSMA/CD.It explains Ethernet data transmission method and the factors of influencing performance by the simulation and analysis of trace file.These factors can be used for Ethernet protocol teaching in the computer network course.

      ethernet,NS2,CSMA/CD,binary exponential backoff

      G424

      A

      1007-4260(2014)03-0121-04

      時(shí)間:2014-9-15 16:07 網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/doi/10.13757/j.cnki.cn34-1150/n.2014.03.030.html

      2014-04-06

      安徽省教育廳重點(diǎn)科研項(xiàng)目(KJ2008A43ZC),安徽省重點(diǎn)教研項(xiàng)目(2012jyxm354)和安徽省精品資源共享課程(2013gxk067)資助。

      劉桂江,男,安徽懷寧人,碩士,安慶師范學(xué)院計(jì)算機(jī)與信息學(xué)院副教授,主要從事物聯(lián)網(wǎng)、下一代互聯(lián)網(wǎng)、無線網(wǎng)絡(luò)技術(shù)等方面的研究。

      猜你喜歡
      傳輸數(shù)據(jù)以太網(wǎng)分組
      基于單片機(jī)的物聯(lián)網(wǎng)傳輸數(shù)據(jù)高并發(fā)讀寫系統(tǒng)設(shè)計(jì)
      基于深度強(qiáng)化學(xué)習(xí)的物聯(lián)網(wǎng)傳輸數(shù)據(jù)實(shí)時(shí)調(diào)度方法
      基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      分組搭配
      蘋果專利可采用光纖輸出燈光并傳輸數(shù)據(jù)將光纖隱藏于車輛部件內(nèi)
      怎么分組
      分組
      談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
      電子制作(2017年24期)2017-02-02 07:14:44
      一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
      淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
      临夏市| 巴中市| 锦州市| 淮安市| 丰城市| 应城市| 中阳县| 沅江市| 隆子县| 永吉县| 康保县| 静海县| 康定县| 威信县| 寻乌县| 乐清市| 辰溪县| 肥城市| 西昌市| 历史| 久治县| 枝江市| 科技| 新化县| 巴彦县| 贺州市| 阿勒泰市| 射阳县| 鲁山县| 大关县| 黔西县| 普格县| 禹州市| 双桥区| 隆尧县| 永春县| 玉林市| 宝鸡市| 任丘市| 郯城县| 沙湾县|