OPNET對CSMA協(xié)議的仿真研究_第1頁
OPNET對CSMA協(xié)議的仿真研究_第2頁
OPNET對CSMA協(xié)議的仿真研究_第3頁
OPNET對CSMA協(xié)議的仿真研究_第4頁
OPNET對CSMA協(xié)議的仿真研究_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1 緒論2l10pnet網(wǎng)絡(luò)仿真器21丄1 opnet軟件介紹21.1.2 opnet主要特性21.2 0pnet層次建模31.2.1 進(jìn)程建模(processm odeling)31.2.2 節(jié)點(diǎn)建模(nodem odeling)31.2.3 網(wǎng)絡(luò)建模(network modeling)31.3 opnet modeler 仿真步驟32.opnet網(wǎng)絡(luò)仿真軟件應(yīng)用42.1問題捉出42.2csma協(xié)議的基本思想43. csma/cd模型設(shè)計63.1工作站節(jié)點(diǎn)模型設(shè)計63.2進(jìn)程模型設(shè)計73.3建立網(wǎng)絡(luò)模型94. 運(yùn)行仿真95 結(jié)論10參考文獻(xiàn)111緒論在一個使用廣播信道的網(wǎng)絡(luò)屮,當(dāng)存在多方競爭

2、使用信道時,難免會引起多個用戶 在同一信道上產(chǎn)生數(shù)據(jù)沖突,這樣就會導(dǎo)致數(shù)據(jù)幀被破壞,從而使網(wǎng)絡(luò)的性能也隨z減 弱。因此,選擇一個完善有效的多路訪問協(xié)議來解決網(wǎng)絡(luò)信道沖突的問題是十分必要的。冃前,關(guān)于分配一個多路訪問信道的i辦議有很多,比較有代表性的協(xié)議有:aloha 協(xié)議、載波檢測多路訪問協(xié)議(csma)、無沖突的協(xié)議、以及波分多路訪問協(xié)議(wdma)o 本文主耍介紹了 csma協(xié)議。為了反映和預(yù)測網(wǎng)絡(luò)的性能,網(wǎng)絡(luò)仿真技術(shù)成為對現(xiàn)有網(wǎng)絡(luò)進(jìn)行優(yōu)化設(shè)計和規(guī)劃不 可缺少的工具。網(wǎng)絡(luò)仿真是在計算機(jī)中構(gòu)造虛擬的環(huán)境來反映現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境,通過數(shù) 學(xué)方法來模擬現(xiàn)實(shí)屮的網(wǎng)絡(luò)行為,從而可以有效地提高網(wǎng)絡(luò)規(guī)劃和設(shè)

3、計的可靠性和準(zhǔn)確 性,并降低網(wǎng)絡(luò)投資風(fēng)險,減少不必要的投資浪費(fèi)。本文利用opnet仿真軟件來模擬分別使用aloha和1 持續(xù)的csma協(xié)議的網(wǎng)絡(luò), 這樣有助于仿真和比較不同多路訪問協(xié)議的性能。仿真時以信道吞吐量作為網(wǎng)絡(luò)中評價 使用不同協(xié)議的網(wǎng)絡(luò)性能的典型參數(shù)。1.1 opnet網(wǎng)絡(luò)仿真器ll1 opnet軟件介紹opnet是一種商業(yè)軟件,是美國opnettechnologies ins公司的產(chǎn)品。它是一種優(yōu)秀 的網(wǎng)絡(luò)仿真和建模的丄具。它支持面向?qū)ο蟮慕7绞?,并提供圖形化的編輯界面,更 便于用戶使用。在新網(wǎng)絡(luò)項(xiàng)目的設(shè)計以及對現(xiàn)有網(wǎng)絡(luò)的分析方面都有卓越表現(xiàn),它為通 信協(xié)議和路由算法的研究提供了與

4、真實(shí)網(wǎng)絡(luò)相同的環(huán)境。此外,功能完善的結(jié)果分析器 為網(wǎng)絡(luò)性能的分析提供了有效而又直觀的工具。1.1.2 opnet主要特性opnet modeler作為一種主流網(wǎng)絡(luò)仿真軟件,為通信網(wǎng)絡(luò)和分布式系統(tǒng)的建模提供 了全面的模擬仿真開發(fā)環(huán)境。在網(wǎng)絡(luò)仿真軟件上,它具有豐富的技術(shù)、協(xié)議、設(shè)備模型 庫和適合各個層次的建模工具以及靈活強(qiáng)大的仿真分析工具。opnet modeler是一個大 型軟件包,支持各種網(wǎng)絡(luò)建模和仿真,具有以下一些主要特性:1、采用面向?qū)ο蟮募夹g(shù):對象的屬性可以任意配置,每一對象屬于相應(yīng)行為和功能 的類,可以通過定義新的類來滿足不同的系統(tǒng)要求。2、特別適合于通信網(wǎng)絡(luò)和信息系統(tǒng)的結(jié)構(gòu)化模塊:o

5、pnet提供了各種通信網(wǎng)絡(luò)和 信息系統(tǒng)的處理構(gòu)件和模塊,如tcp模塊、atm模塊等,用戶可以直接調(diào)用這些模塊。3、圖形化:opnet采用圖形化界面建模,為使用者提供三層(網(wǎng)絡(luò)層、節(jié)點(diǎn)層、進(jìn) 程層)建模機(jī)制來描述現(xiàn)實(shí)的系統(tǒng),opnet modeler的兒個編輯器提供了用戶編輯模型及 opnet本身內(nèi)置模型的直觀化模型。并且提供了豐富的編程函數(shù)供用戶調(diào)用。4、有限狀態(tài)機(jī):在過程層次屮使用有限狀態(tài)機(jī)來對其它協(xié)議和過程進(jìn)行建模,用戶 模型及opnet內(nèi)置模型將會口動生成用c語言實(shí)現(xiàn)可執(zhí)行的高效、高離散事件的模擬 流程。5、強(qiáng)大的統(tǒng)計性和集成分析功能:opnet內(nèi)建了很多性能統(tǒng)計器,它會自動釆集 模擬過

6、程的結(jié)果數(shù)據(jù),同時opnet也允許用戶自定義程序來增強(qiáng)這些統(tǒng)計器的性能。并 且對這些采集的數(shù)據(jù)進(jìn)行大量的分析,同時以文件和圖形的方式輸出。1.2 opnet層次建模opnet中的建模工作在3種不同的環(huán)境中完成,提供了 3層建模機(jī)制。最底層為進(jìn) 程模型,由狀態(tài)機(jī)來描述協(xié)議;其次為節(jié)點(diǎn)模型,由和應(yīng)的協(xié)議模型構(gòu)成,反映設(shè)備特 性;最上層為網(wǎng)絡(luò)模型。3層模型和實(shí)際的網(wǎng)絡(luò)、設(shè)備、協(xié)議層次完全對應(yīng),全面反映了 網(wǎng)絡(luò)的相關(guān)特性。121 進(jìn)程建模(processm odeling)模擬單個對象的行為,使用有限狀態(tài)機(jī)進(jìn)行建模。每個狀態(tài)內(nèi)寫人任意的c/c+十代 碼以及專門為協(xié)議編程設(shè)計的庫函數(shù),用于定義節(jié)點(diǎn)內(nèi)功能

7、模塊屮各事件之間的控制流, 使用符合工業(yè)標(biāo)準(zhǔn)的狀態(tài)圖來描述功能模塊內(nèi)的狀態(tài)和狀態(tài)間的控制流。1.2.2 節(jié)點(diǎn)建模(nodem odeling)建立由相應(yīng)協(xié)議模型構(gòu)成的節(jié)點(diǎn)模型,該層建模將進(jìn)程建模屮的各個進(jìn)程互限聯(lián)成 設(shè)備,可以反映設(shè)備的特性。用于定義網(wǎng)絡(luò)節(jié)點(diǎn)的結(jié)構(gòu)和描述節(jié)點(diǎn)中模塊間的數(shù)據(jù)流。 通過節(jié)點(diǎn)編輯器(node editor)可以描述協(xié)議的層次結(jié)構(gòu),并通過描述功能模塊之間的數(shù)據(jù) 流來實(shí)現(xiàn)一個網(wǎng)絡(luò)器件或系統(tǒng)的體系結(jié)構(gòu)。1.2.3 網(wǎng)絡(luò)建模(network modeling)負(fù)責(zé)將節(jié)點(diǎn)建模屮建立起來的設(shè)備互聯(lián)成網(wǎng)絡(luò),編輯網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),通過將模型 庫中的各種通信實(shí)體拖放工作區(qū)可以方便地配置網(wǎng)

8、絡(luò)拓?fù)洌⒖蓪υO(shè)備的屬性進(jìn)行設(shè)置。opnet通過三層建模機(jī)制建立起來的三層模型和實(shí)際的協(xié)議、設(shè)備、網(wǎng)絡(luò)層次完全 對應(yīng),能全面反映實(shí)際網(wǎng)絡(luò)的相關(guān)特性。1.3 opnet modeler 仿真步驟使用modele:仿真步驟如圖1.1所示,大體可以分為以下6個步驟:1、配置網(wǎng)絡(luò)拓?fù)洌?、配置業(yè)務(wù);3、收集結(jié)果統(tǒng)計量;4、運(yùn)行仿真;5、調(diào)試模塊再次仿真;6、發(fā)布結(jié)果和拓?fù)鋱蟾妗D1.1 modeler的仿真步驟2 opnet網(wǎng)絡(luò)仿真軟件應(yīng)用2.1冋題提出在多個競爭用戶z間分配單個廣播信道的傳統(tǒng)做法是利用靜態(tài)信道分配方法,如頻 分多路復(fù)用(fdm)和時分多路復(fù)用(tdm)o但是使用這些方法普遍存在的基本

9、問題在于: 當(dāng)某些用戶停止通信時,他們所分配到的帶寬實(shí)際上就浪費(fèi)了,即當(dāng)他們自己不使用這 些帶寬時,其他的用戶也不允許使用。而且大多數(shù)計算機(jī)系統(tǒng)屮,數(shù)據(jù)流量往往是突發(fā) 性的。因此,大多數(shù)數(shù)據(jù)信道在大多數(shù)時間是空閑的。出于傳統(tǒng)的靜態(tài)信道分配方法不 能適應(yīng)突發(fā)性流量,所以提出了多種動態(tài)信道分配方法,例如:aloha協(xié)議、csma協(xié) 議、無沖突協(xié)議和wdma協(xié)議等。下面將介紹利用opnet仿真csma協(xié)議。仿真的內(nèi)容是:利用opnet對csma這種信道訪問協(xié)議建模。通過在總線型信道 上建立csma模型,來分析csma協(xié)議的共享信道訪問機(jī)制。2.2 csma協(xié)議的基本思想該協(xié)議是在aloha隨機(jī)信道訪

10、問的基礎(chǔ)上增加了載波監(jiān)聽的功能。當(dāng)站點(diǎn)有數(shù)據(jù)發(fā) 送,先監(jiān)聽信道;若站點(diǎn)發(fā)現(xiàn)信道空閑,則發(fā)送數(shù)據(jù);若信道忙,則繼續(xù)監(jiān)聽直至發(fā)現(xiàn) 信道空閑,然后完成發(fā)送;若產(chǎn)生沖突,該站等待一段隨機(jī)的時間,然后重新開始發(fā)送 過程。在本協(xié)議屮,當(dāng)一個站發(fā)現(xiàn)信道宇閑時,它傳輸數(shù)據(jù)成功的概率為1。carrier sense multiple access,載波偵聽多路訪問。采用分布式控制方法,附接 總線的各個結(jié)點(diǎn)通過競爭的方式,獲得總線的使用權(quán)。只有獲得使用權(quán)的結(jié)點(diǎn)才可 以向總線發(fā)送信息幀,該信息幀將被附接總線的所有結(jié)點(diǎn)感知。包括以下三個要點(diǎn): 載波偵聽一一發(fā)送結(jié)點(diǎn)在發(fā)送信息幀之前,必須偵聽媒休是否處于空閑狀態(tài);多路

11、訪問一一具有兩種含義,既表示多個結(jié)點(diǎn)可以同時訪問媒體,也表示一個結(jié)點(diǎn)發(fā)送 的信息幀可以被多個結(jié)點(diǎn)所接收;沖突檢測一一發(fā)送結(jié)點(diǎn)在發(fā)出信息幀的同時,還 必須監(jiān)聽媒體,判斷是否發(fā)生沖突(同一時刻,有無其他結(jié)點(diǎn)也在發(fā)送信息幀)。 ieee 802.3 或者 iso 8802/3 定義了 csma/cd 的標(biāo)準(zhǔn)。csma是載波檢測(偵聽)多路訪問,它檢測具他站的活動情況,據(jù)此調(diào)整自己 的行為分為以下幾類:1、1 持續(xù)csma (1-persistent csma):當(dāng)信道忙或發(fā)生沖突時,要發(fā)送幀的站, 不斷持續(xù)偵聽,一有空閑便可發(fā)。其中,長的傳播延遲和同時發(fā)送幀,會導(dǎo)致多次 沖突,降低系統(tǒng)性能?;舅枷?/p>

12、:該協(xié)議是在aloha隨機(jī)信道訪問的基礎(chǔ)上增加了載波監(jiān)聽的功能。當(dāng)站 點(diǎn)有數(shù)據(jù)發(fā)送,先監(jiān)聽信道;若站點(diǎn)發(fā)現(xiàn)信道空閑,則發(fā)送數(shù)據(jù);若信道忙,則繼續(xù)監(jiān) 聽直至發(fā)現(xiàn)信道空閑,然后完成發(fā)送;若產(chǎn)生沖突,該站等待一段隨機(jī)的時間,然后重 新開始發(fā)送過程。在本協(xié)議中,當(dāng)一個站發(fā)現(xiàn)信道空閑時,它傳輸數(shù)據(jù)成功的概率為1。2、非持續(xù)csma:它并不持續(xù)偵聽信道,而是在沖突時:等待隨機(jī)的一段時間. 它有更好的信道利用率,但導(dǎo)致更長延遲。基木思想:當(dāng)一個節(jié)點(diǎn)要發(fā)送數(shù)據(jù)時,首先監(jiān)聽信道;如果信道空閑就立即發(fā) 送數(shù)據(jù);如果信道忙則放棄監(jiān)聽,隨機(jī)等待一段時間,再開始監(jiān)聽信道。非持續(xù) csma會減少發(fā)送數(shù)據(jù)導(dǎo)致沖突的概率,但

13、會使得數(shù)據(jù)在網(wǎng)絡(luò)屮的平均延時時間增 加。3、p持續(xù)csma:它應(yīng)用于分槽信道,按照p概率發(fā)送幀。即信道空閑時,這 個時槽,欲發(fā)送的站p概率發(fā)送,q=l-p概率不發(fā)送若不發(fā)送,下一時槽仍空閑, 同理進(jìn)行發(fā)送。若信道忙則等待下一時槽,若沖動則等待隨機(jī)的一段時間,重新開 始。p持續(xù)csma用于時分信道,其基本思想是:當(dāng)一個節(jié)點(diǎn)要發(fā)送數(shù)據(jù)時,首先 監(jiān)聽信道;如果信道忙則堅(jiān)持監(jiān)聽到下一個時隙;如果信道空閑,便以概率p發(fā)送 數(shù)據(jù),以概率lp推遲到卜一個時隙;如果下一個時隙信道仍然空閑,則仍以概率 p發(fā)送數(shù)據(jù),以概率lp推遲到下一個時隙;這樣一直持續(xù)下去,直到數(shù)據(jù)被發(fā)送 出去,或因其他節(jié)點(diǎn)發(fā)送而檢測到信道貌

14、岸然忙為止,若是后者,則等待一段隨機(jī) 的時間后重新開始監(jiān)聽。p持續(xù)csma的性能依賴于概率p的選取。以上都是對aloha的改進(jìn),當(dāng)信道忙時,所有站都不傳輸幀。4、帶沖突檢測的 csma(csma/cd:csma with collision detection):它一旦檢 測到?jīng)_突,立即終止當(dāng)前傳輸屮的幀,節(jié)省時間和帶寬,并等待一段時間,重新嘗 試。它廣泛用于lan中mac子層,是當(dāng)前以太網(wǎng)lan的基礎(chǔ)。其概念時間模型 分為三個時期:傳輸周期,競爭周期和空閑周期。值得一提的是,監(jiān)聽的機(jī)制:傳 輸數(shù)據(jù)時,他的硬件進(jìn)行監(jiān)聽電纜,如呆讀回來的信息與發(fā)送的不一致,便知發(fā)送 沖突了。這里,當(dāng)然需要一種特

15、殊的信號編碼方案,能夠檢測出兩個ov信號沖突 (或者在此沖突下,故意不檢測,因信號沒有損壞)。在有線網(wǎng)中,沖突檢測的最核心內(nèi)容是幀碎片(即檢測到網(wǎng)絡(luò)中有小于這個大 小的幀就認(rèn)為是幀碎片,因?yàn)閭鬏攦啥硕荚趥鬏斣斐蓻_突,兩端數(shù)據(jù)在網(wǎng)絡(luò)中都只 有1部分)。在無線網(wǎng)中由于有隱藏結(jié)點(diǎn)(即每個結(jié)點(diǎn)不知道也不可能知道整個網(wǎng)絡(luò)的實(shí)時 情況),因此無法“檢測”所以 csma/ca (csma with collision avoidance)載波 偵聽多路訪問沖突檢測就應(yīng)運(yùn)而生了,它是利用rts/cts (即類似tcp的握手協(xié) 議)的應(yīng)答策略來保證在傳輸中結(jié)點(diǎn)不會再接受請求,從而解決了無線網(wǎng)中的沖突。3 csm

16、a/cd模型設(shè)計3.1工作站節(jié)點(diǎn)模型設(shè)計網(wǎng)絡(luò)采用總線拓?fù)浣Y(jié)構(gòu),每一個節(jié)點(diǎn)代表一個工作站。節(jié)點(diǎn)的模型設(shè)計如圖3.1。hi 1edli. t.工 xxt. ear jedu e 三qt> j « c t. sw i xxdlow smelpv1bmiuimmj.astml研于訊田喙喙底星i圖3.1工作站節(jié)點(diǎn)模型工作站節(jié)點(diǎn)模型:工作站節(jié)點(diǎn)包含四個處理器模塊,一個隊(duì)列模塊和一對收發(fā)信模 塊。工作站節(jié)點(diǎn)模型實(shí)現(xiàn)了 osi數(shù)據(jù)鏈路層的部分功能,即mac子層功能??偩€發(fā)射機(jī)和總線接收機(jī)模型作為總線鏈路的接口。這兩個模型用以太網(wǎng)標(biāo)準(zhǔn)的數(shù) 據(jù)速率10mbit/s發(fā)射和接收數(shù)據(jù)。sink模型表示更

17、高層,它簡單的接收從mac傳輸來的數(shù)據(jù)包。defer模型獨(dú)立的監(jiān)視鏈路的狀態(tài)和標(biāo)記,mac從狀態(tài)線讀取不同值,這個值用來決 定是否允許發(fā)射機(jī)進(jìn)行發(fā)送。bursty_gen模型表示更高層用戶,這個用戶向發(fā)射機(jī)提供數(shù)據(jù)。它通過on/off模擬 方式來控制包發(fā)送量。mac模塊處理要接收和發(fā)送的包。接收到的包被解封并傳送到更高一層。要發(fā)送的 包被封裝并且當(dāng)統(tǒng)計標(biāo)志從大的數(shù)值變?yōu)樾〉臄?shù)值時,一個包通過發(fā)射機(jī)發(fā)送出去。這 個模型也檢測是否發(fā)生了碰撞,假如發(fā)生一次,那么發(fā)信機(jī)就停止發(fā)送,并且稍后再從新 發(fā)送。3.2進(jìn)程模型設(shè)計1、mac模塊的進(jìn)程用來管理發(fā)射和接收包。mac進(jìn)程模型設(shè)計如圖3.2。圖3.2

18、mac進(jìn)程模型它可以分為三個功能:封裝并對耍發(fā)送的包進(jìn)行排隊(duì)解封并傳送接收到的包決定是否重新進(jìn)行發(fā)送2、eth_mac_intf模塊把應(yīng)用數(shù)據(jù)轉(zhuǎn)換成適合mac處理的格式。它從數(shù)據(jù)源得到數(shù)據(jù), 標(biāo)志-個允許的h標(biāo)地址(假設(shè)是隨機(jī)的分配地址),然后把數(shù)據(jù)送到mac模塊。它也同 時接收從mac來的包,并把包傳送到更高一層的sink模塊。進(jìn)程設(shè)計如圖3.3所示。圖3.3 eth_mac_intf進(jìn)程模型3、defer模塊用來判斷狀態(tài)標(biāo)志值是升高還是降低。標(biāo)志值被mac模塊讀取以用來 決定發(fā)射機(jī)是否被允許發(fā)送或者信道是否被分配給另外的用戶。進(jìn)程模型設(shè)計如圖3.4。圖3.4 defei進(jìn)程模型3.3建立網(wǎng)絡(luò)模型為了對前面建立的節(jié)點(diǎn)進(jìn)行仿真,需要把它們放在網(wǎng)絡(luò)模型中,在網(wǎng)絡(luò)中我們建立一 個有十個工作站的總線拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò),連路模型的數(shù)據(jù)傳輸速率為10mbit/so如圖3.5 所示。圖3.5網(wǎng)絡(luò)模型4運(yùn)行仿真查看運(yùn)行結(jié)果如圖4所示。圖4.1信道吞吐量和信道利用率雖然兩個圖形的趨勢是相同的,但是他們的縱坐

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論