Adhoc網(wǎng)絡(luò)仿真_第1頁
Adhoc網(wǎng)絡(luò)仿真_第2頁
Adhoc網(wǎng)絡(luò)仿真_第3頁
Adhoc網(wǎng)絡(luò)仿真_第4頁
Adhoc網(wǎng)絡(luò)仿真_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Harbin Institute of Technology無線自組織網(wǎng)絡(luò)課程報告姓名: 李煥英 學(xué)號: 1130510205 班級: 1305102 指導(dǎo)教師: 張文彬 院系: 電子與信息工程學(xué)院 時間:2016年12月 RTS/CTS機(jī)制下802.11b的最大吞吐量仿真一、 背景知識1、Ad hoc網(wǎng)絡(luò)中MAC協(xié)議(1)IEEE 802.11的分布式協(xié)調(diào)功能(DCF)DCF的基本思路:在無線網(wǎng)絡(luò)上不可能進(jìn)行沖突檢測,故不設(shè)置沖突檢測機(jī)制,采用規(guī)則延遲來處理,以保證MAC控制的可操作性和公平性?;驹瓌t為:節(jié)點要發(fā)送MAC幀,首先監(jiān)聽無線信道,若空閑,則可以發(fā)送該幀;否則延遲等待,再次競爭發(fā)

2、送。(2)面臨的主要問題:“隱藏”終端問題假設(shè):A正在向B傳輸數(shù)據(jù),C也要向B發(fā)送數(shù)據(jù)隱藏終端:在接收者的通信范圍內(nèi)而在發(fā)送者的通信范圍外的終端。帶來的問題是A向B發(fā)送報文,C聽不到A的發(fā)送。C也發(fā)送報文時在B發(fā)生碰撞。單頻網(wǎng)絡(luò)的信道接入控制協(xié)議,使用RTS-CTS握手機(jī)制,力求解決Ad hoc網(wǎng)絡(luò)中的隱藏終端和暴露終端問題,是構(gòu)成其他機(jī)制的基礎(chǔ)。(3)解決隱藏終端的方法RTS/CTSa) 節(jié)點A向節(jié)點B發(fā)送RTS,表明A需要向B發(fā)送數(shù)據(jù)。RTS 幀有兩個目的:預(yù)約無線鏈路的使用權(quán),并要求接收到這一消息的其他的工作站停止發(fā)送。(發(fā)送端清場) b) B接收到A的RTS后,向周邊所有節(jié)點發(fā)出CTS

3、信號,表明已準(zhǔn)備就緒,A可以發(fā)送。而其他欲向B發(fā)送數(shù)據(jù)的節(jié)點則暫停發(fā)送。(接收端清場)c) 在A、B雙方成功交換RTS/CTS信號后,即完成握手后A向B開始發(fā)送數(shù)據(jù)。這種機(jī)制保證了多個互不可見的發(fā)送節(jié)點同時向一個接受節(jié)點發(fā)送信息時,實際上只能是收到接受節(jié)點回應(yīng)CTS的那個節(jié)點能夠發(fā)送,避免了沖突發(fā)生。實際上,沖突還是有可能發(fā)生,即A、C同時向B發(fā)送RTS時,兩者的RTS在B上沖突,B無法接收準(zhǔn)確的信息,則不發(fā)送任何回應(yīng)的CTS。這樣,A和C都收不到B的CTS消息,則采用退避競爭機(jī)制分配一個隨機(jī)定時值,再競爭發(fā)送RTS,直到成功為止。(4) RTS-CTS握手機(jī)制a) 當(dāng)一個終端要發(fā)送數(shù)據(jù)給另一

4、個終端時,它首先發(fā)送一個RTS給目標(biāo)終端。b) 接收節(jié)點準(zhǔn)備好接收工作,則回復(fù)一個CTS。c) 發(fā)送者確認(rèn)來自接收節(jié)點的CTS,則開始發(fā)送報文。d) 如果發(fā)送者沒有收到接收節(jié)點的CTS,則重發(fā)RTS,并等待回應(yīng)。e) 其他接收到RTS或CTS的節(jié)點采用二進(jìn)制指數(shù)退避算法延遲數(shù)據(jù)發(fā)送,以避免沖突。(5)分析偵聽到RTS或CTS控制報文的其他終端的反應(yīng)過程a) 偵聽到RTS控制報文的任何其他終端均向A關(guān)閉,而且在足夠長的時間保持沉默,使A可以無沖突的收到CTS控制報文。b) 所有偵聽到CTS控制報文的終端均向B關(guān)閉,而且在后繼數(shù)據(jù)到來期間保持沉默,時間長短可以從CTS報文中得到??赡軟_突:C、B同

5、時向A發(fā)送RTS,則二進(jìn)制指數(shù)退避。每次沖突退避加倍,每次成功發(fā)送后,減少到最小的退避窗口。在多終端單一小區(qū)環(huán)境下,將會總有利于成功發(fā)送的節(jié)點再次發(fā)送,從而影響公平性。2、帶有RTS/CTS的擴(kuò)展DCF(1)RTS/CTS機(jī)制機(jī)制的使用是可選的,每個802.11節(jié)點必須實現(xiàn)該功能。明確預(yù)留信道,避免“隱藏”終端沖突a) 發(fā)送者發(fā)送短的RTS(請求發(fā)送);b) 接收者用短的CTS(清除發(fā)送);c) CTS為發(fā)送者預(yù)留了帶寬同時通告所有的站點(包括隱藏站點);d) RTS/CTS長度很短,沖突的概率小;(2)帶RTS/CTS的DCF機(jī)制工作過程當(dāng)發(fā)射端希望發(fā)送數(shù)據(jù)時,首先檢測信道是否空閑,若是信道

6、為空閑時,送出RTS,RTS信號包括發(fā)射端的地址、接收端的地址、下一筆數(shù)據(jù)將持續(xù)發(fā)送的時間等信息。接收端收到RTS信號后,將響應(yīng)短信號,CTS信號上也包含根據(jù)RTS內(nèi)記錄修正后的剩余的持續(xù)發(fā)送的時間。當(dāng)發(fā)射端收到CTS包后,隨即開始發(fā)送數(shù)據(jù)包。接收端收到數(shù)據(jù)包后,將以包內(nèi)的CRC的數(shù)值來檢驗包數(shù)據(jù)是否正確,若結(jié)果正確,接收端將響應(yīng)ACK包,告知發(fā)射端數(shù)據(jù)已經(jīng)被成功地接收。當(dāng)發(fā)射端沒有收到接收端的ACK包時,將認(rèn)為包在傳輸過程中丟失,而一直重新發(fā)送包。3、吞吐量隨著物理層傳輸速率的提高,系統(tǒng)中的吞吐量是否也會成正比的提高呢?其實不然。首先,無線網(wǎng)絡(luò)中存在一些無法避免的開銷,如采用CSMA/CA策

7、略時,傳送前必須先等待DIFS的時間,這意味著通道并不是時時刻刻都在傳送數(shù)據(jù)。其次,像RTS/CTS、ACK等控制包也會帶來額外的開銷。下面分析PLCP的long preamble、short preamble對吞吐量的影響。(1)802.11b物理層(Physical Layer)首先,802.11b的物理層是由兩個部分組成的,分別為Physical Layer Convergence Protocol(PLCP)和Physical Medium Dependent(PMD)。PMD主要負(fù)責(zé)無線信號的調(diào)制和解調(diào),PLCP則負(fù)責(zé)將MAC層傳下來的數(shù)據(jù)包傳給PMD,以及檢測通道的狀態(tài)是處于忙碌還

8、是閑置,然后將結(jié)果返回給MAC層,即Clear Channel Assessment(CCA)。在PLCP里提供兩種類型的preamble Long preamble和short preamble,在標(biāo)準(zhǔn)中,長前導(dǎo)是必須提供的,短前導(dǎo)則為可有可無的選項,主要用來縮減開銷,提升傳輸效果。(2)IEEE 802.11b的MAC層在MAC層也有header,如下圖所示,header加CRC占了34bytes,此部分即為開銷。但大部分時候只會用到Address1到Address3,Address4不會用到,所以一般來說,MAC層的開銷都會設(shè)為28bytes。二、 實驗內(nèi)容1、802.11b RTS/C

9、TS模式下的吞吐量推導(dǎo)接下來推導(dǎo)在802.11b的基本模式的環(huán)境的基礎(chǔ)上推導(dǎo)RTS/CTS模式系統(tǒng)能達(dá)到的最大的吞吐量。下表是推導(dǎo)時使用的符號及其含義。2、計算結(jié)果在基本模式下,數(shù)據(jù)包傳送的周期是要先等待Channel idle和TDIFS,然后傳送數(shù)據(jù)包,再等待一個TSIFS,由接收端送出ACK,才完成整個數(shù)據(jù)的傳送過程。在最理想情況下,如果傳送的數(shù)據(jù)包沒有發(fā)生碰撞,則:如果是LDATA為2000B,數(shù)據(jù)傳輸速率為11Mbps,且使用long preamble時,傳送DATA的延遲時間為:三、傳送ACK的延遲時間為:四、傳送RTS的延遲時間為:五、傳送CTS的延遲時間為:六、最大可達(dá)到的吞吐

10、量為:如果使用short preamble時:七、八、九、十、最大可達(dá)到的吞吐量:十一、三、仿真驗證使用長導(dǎo)時的結(jié)果:四、程序代碼# This script is created by NSG2 beta1# <proc getopt argc argv global opt lappend optlist nn for set i 0 $i < $argc incr i set opt($i) lindex $argv $igetopt $argc $argv#opt(0):封包的大小#opt(1):選擇是long preamble還是short preamble#remove

11、useless headersremove-all-packet-headers ;# removes all except commonadd-packet-header IP LL Mac ARP TCP ;# needed headersMac/802_11 set CWMin_ 31Mac/802_11 set CWMax_ 1023Mac/802_11 set SlotTime_ 0.000020 ;# 20usMac/802_11 set SIFS_ 0.000010 ;# 10usMac/802_11 set PreambleLength_ 72 ;# 144 bitMac/80

12、2_11 set ShortPreambleLength_ 72 ;# 72 bitMac/802_11 set PreambleDataRate_ 1.0e6 ;# 1MbpsMac/802_11 set PLCPHeaderLength_ 48 ;# 48 bitsMac/802_11 set PLCPDataRate_ 1.0e6 ;# 1MbpsMac/802_11 set ShortPLCPDataRate_ 2.0e6 ;# 2MbpsMac/802_11 set RTSThreshold_ 1000 ;# bytes Disable RTS/CTSMac/802_11 set S

13、hortRetryLimit_ 7 ;# retransmissionsMac/802_11 set LongRetryLimit_ 4 ;# retransmissionsMac/802_11 set newchipset_ false ;# use new chipset,allowing a more recent packet to be correctly received in # place of the first sensed packetMac/802_11 set dataRate_ 11Mb ;# 802.11 data transmission rateMac/802

14、_11 set basicRate_ 1Mb ;# 802.11 basic transmission rate#Mac/802_11 set aarf_ false ;# 802.11 Auto Rate Fallback#opt(1) 1: short preamble 0:long preamble# if $opt(1) > 0 # ErrorModel80211 shortpreamble 1 ;# toggle 802.11 short preamble on/off# #=# Simulation parameters setup#=set val(chan) Channe

15、l/WirelessChannel ;# channel typeset val(prop) Propagation/TwoRayGround ;# radio-propagation modelset val(netif) Phy/WirelessPhy ;# network interface typeset val(mac) Mac/802_11 ;# MAC typeset val(ifq) Queue/DropTail/PriQueue ;# interface queue typeset val(ll) LL ;# link layer typeset val(ant) Anten

16、na/OmniAntenna ;# antenna modelset val(ifqlen) 10 ;# max packet in ifqset val(nn) 2 ;# number of mobilenodesset val(rp) DSDV ;# routing protocolset val(stop) 100.0 ;# time of simulation end# 產(chǎn)生一個仿真的對象set ns_ new Simulator# 定義一個記錄文件,用來記錄封包傳送的過程set tracefd open simple.tr w$ns_ trace-all $tracefd# 打開一個

17、 NAM trace文件set nf open out.nam w$ns_ namtrace-all-wireless $nf 100 100# set up topography object# 建立一個拓?fù)鋵ο髎et topo new Topography# 拓?fù)涞姆秶鸀?100m x 100m$topo load_flatgrid 100 100# Create Godcreate-god $val(nn)set chan_1_ new $val(chan)# 設(shè)置結(jié)點參數(shù) $ns_ node-config -adhocRouting $val(rp) -llType $val(ll)

18、-macType $val(mac) -ifqType $val(ifq) -ifqLen $val(ifqlen) -antType $val(ant) -propType $val(prop) -phyType $val(netif) -channel $chan_1_ -topoInstance $topo -agentTrace ON -routerTrace OFF -macTrace ON -movementTrace OFF for set i 0 $i < $val(nn) incr i set node_($i) $ns_ node $node_($i) random-

19、motion 0 ;# disable random motion set rng new RNG$rng seed 1set rand1 new RandomVariable/Uniformfor set i 0 $i < $val(nn) incr i puts "wireless node $i created ." set x expr 50+$rand1 value*50 set y expr 50+$rand1 value*50 $node_($i) set X_ $x $node_($i) set Y_ $y $node_($i) set Z_ 0.0

20、puts "X_:$x Y_:$y"for set i 0 $i < $val(nn) incr i set udp_($i) new Agent/UDP $udp_($i) set packetSize_ 2000 $ns_ attach-agent $node_($i) $udp_($i) set null_($i) new Agent/LossMonitor $ns_ attach-agent $node_($i) $null_($i)for set i 0 $i < $val(nn) incr i if $i = ($val(nn)-1) $ns_ co

21、nnect $udp_($i) $null_(0) else set j expr $i+1 $ns_ connect $udp_($i) $null_($j) set cbr_($i) new Application/Traffic/CBR $cbr_($i) attach-agent $udp_($i) $cbr_($i) set type_ CBR #使用者所使用的packet size包含了IP header,所以要先扣除20bytes $cbr_($i) set packet_size_ expr $opt(0)-20 $cbr_($i) set rate_ 5Mb $cbr_($i

22、) set random_ falsefor set i 0 $i < $val(nn) incr i $ns_ at 1.1 "$cbr_($i) start" $ns_ at 5.1 "$cbr_($i) stop"# Tell nodes when the simulation endsfor set i 0 $i < $val(nn) incr i $ns_ at 100.0 "$node_($i) reset"$ns_ at 100.0 "stop"$ns_ at 100.01 "puts "NS EXITING." ; $ns_

溫馨提示

  • 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

提交評論