NS2 速率控制

2021-06-15 11:24:41 字數 2216 閱讀 9647

無線網路實驗106:速率控制(rate control)

1、簡介

該練習旨在**在多跳網路中速率控制和載波偵聽閾值的變化如何影響空間重用(以及總吞吐量)。

接收端能夠成功接收資料所要求的訊號干擾雜訊比(signal-to-interference noise ratio,sinr)依賴於使用的傳輸速率。頻寬為b的通道理想容量可以有夏農定理給出:w=blog(1+sinr),可推導出sinr(reqd)>=(2^(w/b)-1)。然而,最常用的調製機制都採用比理想值更大的sinr。因為ns2無法建模累積干擾(cumulative interference),我們在其限制(以犧牲準確性為代價)下進行實驗,並使用接收器靈敏度(receiver sensitivity,rxthresh)和捕捉閾值(capture threshold,cpthresh)(注釋1)代替。前者給出了接收並解碼乙個分組所必需的最小接收訊號電量。後者指明了相對訊號級別,在該級別時將無法接收新分組,我們將其解釋為最小sinr。我們使用如下靈敏度值(取自cisco aironet350介面卡):

表1 速率:接收器靈敏度 

rates(mbps) sinr(dbm)1 -94 2 -91 5.5 -89 11 -85

對於capture threshold,我們使用如下最小值。sinr值(取自wee et al, understanding wireless lan performance trade-offs, comm. systems design, nov. 2002):

表2 速率:接收器靈敏度  

rates(mbps) sinr(db)1 -2.92 2 -1.59 5.5 -5.98 11 -6.99

當使用物理載波偵聽時,需要傳送分組的節點必須評估通道。如果檢測到通道上的能量大於載波偵聽閾值,該節點就認為通道忙,並推遲傳送。較小的載波偵聽閾值(csthresh)意味著即使其他節點離正在傳送資料的節點很遠,他們仍然會認為通道忙,並推遲傳送。相反,較大的載波偵聽閾值意味著只有離傳送節點很近的節點才會檢測到通道忙。載波偵聽範圍(csrange)指的是從發射器到其他節點能夠檢測到通道忙的最大距離,所以csthresh和csrange兩者的關係是相反的。較大的csrange意味著有更多的空間被傳送者「保留」作為「警戒區」,以避免干擾/衝突。較小的csrange意味著可以併發更多的傳送行為,但衝突的機會也更大。

注意到更大的傳輸速率意味著要求接收器有更大的rxthresh,並減少了覆蓋範圍。捕捉閾值的增加可以增加對衝突的靈敏度。較低的速率有更大的抗干擾能力,但占用通道的時間更長。

下面是該練習的背景:較小的csrange意味著更大的併發和更多的干擾。我們希望**能否通過降低傳輸速率(提高抗干擾能力)來彌補上述不足。

注釋1:capture threshhold

在下面這種情況下我們就說capture threshhold為10db:

如果乙個節點不久前收到乙個能量級別為pa的分組a,而後有個能量級別為pb的分組到達,則在確定能否捕捉到該包之前需要進行比較:

10*log(pa) - 10*log(pb) > 10db, 或者等價於pa/pb>10

2、ns2實驗指導

(2)指令碼為「rcs_sim.tcl」。該指令碼建立了乙個由100個節點構成的分布在10x10網格中的網路,每個網格邊長為150公尺。使用了802.11b協議,並關閉了rts/cts機制(通過將rtsthreshold設定為乙個合適的大值)。在隨機選擇的源-目的節點對間建立起25個cbr會話。該指令碼的引數是tx-rate(bps)、rxthresh(watts)、cpthresh(比例值,無單位)和csthresh(watts)。指令碼用法為:

ns rcs-sim.tcl -rate -rxthresh -cpthresh -csthresh

(3)tx-rate取值可以是1.0mbps、2.0mbps、5.5mbps和11mbps,相應的rxthresh值和cpthresh值取表2中的值。對於每乙個rxthresh值,使用csthresh=0.9*rxthresh、0.5*rxthresh、0.1*rxthresh、0.05*rxthresh。注意適當轉換單位。

(4)執行所有tx-rate+rxthresh和csthresh組合的**。獲得每輪的總計cbr吞吐量。在一張圖中畫出針對每個(rxthresh/csthresh)的吞吐量與tx-rate關係圖。

NS2學習筆記

國慶假期用來研究ns2,基於socket的網路程式設計和演算法 現在看的差不多了,每天陸續寫些筆記,用來複習,也用來交流 本人也是初學者,如果有什麼錯誤,希望也可以指出 讀完了這個再去讀ns2的手冊,這個對於高階式相當重要的,而且因為有中文版的,需要的也可以留郵箱。ns2的安裝,建議安裝在linux...

從Linux學到NS2 (二)搭建NS2中重要元件

本篇問題 1.1 cc是linux下c 原始檔的預設字尾,cpp是c 語言檔案的字尾名,採用.cc字尾 執行 g poisson.cc o poisson.o std c 11 後生成檔案 poisson.o 其中.o是編譯的中間目標檔案,可以將多個中間目標檔案鏈結成可執行檔案。2.ns 的唯一記錄...

NS 2跨層設計

ns 2技巧第 一篇 cross layer design 近期我會間斷的寫一些ns2修改 的小技巧,其中有的是網上蒐集出來的,有的則是自己寫的 不過所有的 都是已經經過測試並改良後的,以保 證其正常使用。希望對大家有幫助,互相交流,共同進步!怎樣在任意層訪問下層的資訊 包括 netif,mac,i...