999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MANET中動態自適應DCF的仿真研究

2016-03-17 03:51:37黃鏡清
計算機應用與軟件 2016年2期
關鍵詞:機制活動

蔣 華 黃鏡清 王 鑫

(桂林電子科技大學計算機科學與工程學院 廣西 桂林 541004)

?

MANET中動態自適應DCF的仿真研究

蔣華黃鏡清王鑫

(桂林電子科技大學計算機科學與工程學院廣西 桂林 541004)

摘要MANET由于節點的易接入性和移動性,容易導致數據發送沖突嚴重,或者因鏈路斷開而誤認為是沖突,影響網絡TCP協議的性能。為此設計一種動態估計無線網絡中的活動節點數來調整MAC層的初始競爭窗口的大小,并根據活動節點數及節點的活動特性調整競爭窗口尺寸的DCF機制。通過使用NS2進行仿真,實驗結果驗證了該改進的DCF機制的有效性,并表明相對于標準DCF機制,在可接受的端到端延遲下,吞吐量得到10%到15%的提升。

關鍵詞MANETDCF動態估計活動節點數競爭窗口吞吐量時延

ON SIMULATING DYNAMICALLY SELF-ADAPTIVE DCF IN MANET

Jiang huaHuang JingqingWang Xin

(School of Computer Science and Engineering,Guilin University of Electronic Technology,Guilin 541004,Guangxi,China)

AbstractIn MANET, it’s easy to lead to severe collision in data transmission, for the nodes are easily accessed and are mobile. Or, it may be misunderstood as the conflict caused by the breakdown of link. These situations affect the performance of TCP protocol. In light of this problem, we designed a distributed coordination function (DCF) mechanism, it adjusts the size of initial contention window on MAC layer by dynamically estimating the active nodes in wireless network, and adjusts contention window size based on the number of active nodes and the active feature of nodes. Simulation is conducted by using NS2, and the experimental results verify the effectiveness of the improved DCF mechanism, moreover, it is indicated that in contrast to standard DCF mechanism, the throughput gains an increase of 10% to 15% under the acceptable end-to-end delay.

KeywordsMANETDCFDynamic estimationActive nodesContention windowThroughputDelay

0引言

MANET網絡是由一系列相互通信的無線移動節點組成的,不需要已有的網絡設施、訪問點或者網絡中心控制的互聯互通網絡[1]。節點可以很容易地接入到網絡中,且任意移動,因此網絡的拓撲結構會快速且不可預見的變化。另外,因為傳輸范圍的限制,一些節點相互之間不能夠直接通信,所以采取多跳路由的方式通信[2]。節點移動和無線多跳的特性,很大程度上影響了MANET的網絡性能。MANETE網絡的很多應用仍然使用可靠傳輸協議,很多學者都提出了各種適合于MANET的改進TCP類協議,而TCP協議的擁塞控制機制依賴于數據鏈路層的可靠傳輸。目前MANET的數據鏈路層使用基于IEEE 802.11的標準MAC協議中的DCF等機制。然而IEEE 802.11 MAC協議最先是應用于無線局域網的,這相對于MANET的節點頻繁移動和多跳的性能而言,并不能保證網絡性能維持在較好的程度。所以需要考慮MAC和TCP協議之間的影響[3,4],綜合考慮在MANET網絡特性下的MAC協議與TCP協議綜合性能(特別是吞吐量和端到端時延),設計一種較好的DCF改進機制。

本文在深入理解IEEE 802.11的DCF機制的基礎上,設計和實現了一種適于MANET網絡多跳和節點移動特性的能改善網絡TCP性能的DCF機制。

1相關工作

MANET面臨的一大挑戰是對于共享信道的MAC協議的設計。傳統的IEEE 802.11 MAC協議基于無線局域網設計,現在MANET網絡的背景下使用,需改進以適應MANET網絡的特性。由于MANET網絡沒有訪問點,DCF機制的應用受到青睞。該領域的研究主要集中在退避算法、DCF機制,跨層分析研究等方面。文獻[5,6]利用了DCF機制來提高TCP的性能,但都是基于MAC層的反饋信息來直接對TCP的擁塞策略來進行改進,不是對MANET中DCF機制的改進,提供了跨層設計的思路。文獻[7]提出一種設定閾值的方法來決定MANET網絡在競爭信道使用的退避策略。擁塞嚴重時,使用指數增長競爭窗口,之后采取線性增大競爭窗口的策略,成功傳輸一次數據后,采用線性減小的方法,而不是直接使用最小競爭窗口值。文獻對網絡吞吐量、包傳遞速率和端到端時延等指標進行了分析。文獻[8]提出根據動態估計無線網絡中活動節點數調整MAC層的初始競爭窗口的方法。每個節點每隔一段時間統計與其通信的鄰居節點作為活動節點,然后根據活動節點數調整初始競爭窗口到近似最優值。該DCF機制能較好估計活動節點數,降低信道競爭時間,提高信道的利用率和網絡的吞吐率,但沒有考慮節點移動特性對網絡性能的影響。文獻[9]研究了MAC和TCP協議之間的相互作用,認為節點數和節點移動特性影響TCP的性能。提出根據網絡中的節點數和節點的移動速率和移動方向動態調整競爭窗口最大值,并說明調整競爭窗口尺寸能提高傳輸協議TCP性能指標。

本文設計出一種根據動態調整MAC層的初始競爭窗口大小和競爭窗口的最大限制值的方法。將該方法運用到DCF機制中的RTS/CTS,分析MANET網絡的性能。實驗結果驗證了該改進的DCF機制有效性,并表明相對于標準DCF機制在吞吐量、端到端時延等TCP性能方面有所改善。

2解決方案

IEEE 802.11協議標準給出了無線網絡的物理層和MAC層協議規范。本文針對MAC層協議的DCF機制的RTS/CTS訪問方法進行改進。

2.1動態調整初始競爭窗口

MANET網絡中,節點的沖突概率除了依賴于競爭窗口的大小,與網絡中的活動節點數也相關。活動節點數即正在發送數據包的節點數。MAC協議中,每一個節點都可以與其鄰居節點直接相互通信,并從發送的幀數據中獲取到重要的鏈路信息(源/目地址、NAV值等)。本文采用動態估算網絡中的活動節點的方法。讓每個節點都保存有一張記錄其處于活動狀態的鄰居節點及與鄰居節點最后通信時間的列表。若在一定的時間間隔ATO(Active TimeOut)內節點沒有收到鄰居節點的數據,則判定該鄰居節點不再是活動節點,將其從列表中刪除。關鍵是確定ATO的值,ATO的值應該隨活動節點數的變化而變化,因為一個活動節點越多,沖突的概率就越大,導致節點連續成功傳輸兩個數據幀的時間間隔就越大。而當數據幀的大小不變時,對于相同數量的活動節點,介質訪問延遲的大小是固定的,可以提前計算出該延遲的大小[10]:

(1)

其中,τ表示一個節點在某一時間的傳輸速率;σ表示一個空slot間隔。

Ts=DIFS+RTS+σ+SIFS+CTS+σ+SIFS

(2)

TC=DIFS+RTS+σ+SIFS+CTS

(3)

通過分析式(1)-式(3),并根據本文提供的網絡環境中的各項參數(見第3節),如圖1可以看出介質訪問延遲與節點數目大致呈8倍線性關系。故可以給出ATO隨活動節點數變化的簡便公式[8]:

ATO = k×n(n≥1)

(4)

圖1 介質訪問延遲-節點數目

其中,n為網絡中的活動節點數,k為常量。結合網絡中的各項參數,我們分別取ATO為1到10倍的介質訪問延遲,通過仿真結果分析,當ATO為5~6倍介質訪問延遲時,吞吐量效果最好(本文取k=48,即ATO為6倍D)。

確定ATO時間間隔后,考慮根據估算到的活動節點數來調整初始競爭窗口的大小。標準DCF機制中初始競爭窗口大小是固定的,隨著網絡站點數量增加,沖突概率會大大增加,導致退避頻繁,最終是網絡在時延、吞吐量及公平性等性能上顯著下降。并且考慮到活動節點的移動特性會對網絡連接造成較大影響,而導致丟包,但在MAC層這種丟包的情況會被認為是數據沖突導致的,所以為了削弱節點移動性對退避窗口的影響,在本設計的DCF改進機制中,節點每監聽到一個數據幀之后,更新并查詢其ATO表,估算網絡中的活動節點數且結合節點移特性調節機制,動態調整初始競爭窗口為:

(5)

其中,σ為傳播延遲。F(n,W,α)表示移動特性對初始競爭窗口的調節機制。該機制函數在下個部分作詳細說明。

2.2動態調整競爭窗口尺寸

本文根據估算到的活動節點數和移動特性在原有退避算法的最大值的基礎上來適當增大窗口選擇范圍。網絡中的節點增加時,網絡性能會降低。因為多個節點在一個較小的時間間隔內選擇相同的時間長度可能性較大。所以CWmax與節點數目n存在一定的正比關系。當節點數到達一定數目時,對TCP性能的影響趨于穩定,故取log(n)來調整窗口尺寸[9]。

另外節點的移動易導致鏈路連接的中斷,從而導致TCP包的丟失,TCP誤判為擁塞導致丟包,降低網絡性能。所以根據移動性來調整退避的窗口大小[9]。節點移動速度的度量:

(6)

節點移動方向的度量:

(7)

注意,當W=0時,G(W,α)=1。

其中,W表示移動節點的速度;α表示兩個節點的連線與該節點的移動方向的角度。

通常丟包率增大會導致退避間隔增大,但如果是因為節點移動導致的丟包,則不應該讓退避間隔增大,節點移動速度與移動方向這兩個因素是移動導致丟包的標志,所以需取其倒數,降低其對退避時間間隔的影響。

綜合考慮,以下給出CWmax的計算公式:

(8)

其中,CWmax0表示802.11 MAC協議設定的最大窗口值,一般為1024。

綜上所述,本節設計的窗口動態改變機制如下(各參數如前所述):

(9)

該機制考慮了節點移動性對初始競爭窗口的影響,削弱因為鏈路中斷而被誤認為沖突的影響,并且進一步增大了競爭窗口的尺寸,使得站點選擇同樣的退避間隔的概率降低,從而信道沖突減小。節點每監聽到一個數據幀之后,更新并查詢其ATO表,估算網絡中的活動節點數,并根據活動節點的移動特性來動態調節競爭窗口尺寸,更適應于MANET網絡的易接入性和隨機移動性。

3仿真過程與結果分析

在NS2中,IEEE802.11協議時由Mac802_11類模塊實現的。該類模塊定義了標準DCF機制的所有操作方法[11],本文對NS2-2.35版本中的Mac802_11類模塊修改和擴展,以實現MANET中動態自適應DCF機制的仿真。

3.1仿真環境設置

為了驗證該改進DCF機制的有效性及在性能上的提高,仿真場景為:環境中共有60個節點,隨機分布在2200 m×600 m的范圍內,以25 m/s速率移動,仿真時間為400秒,每隔20秒增加10個節點通信(偶數編號節點發送數據,奇數編號節點接收數據)。分析網絡吞吐量隨時間變化情況及受節點數和節點移動性的影響。另外進行不同個數節點場景下的仿真,分析節點個數對時延的影響。基本的仿真參數如表1所示。

表1 基本參數

3.2代碼的修改與擴展

通過第2節的說明,對原Mac802_11模塊進行一定的修改與擴展,以下給出主要代碼。

首先需要創建一張ATO表(在mac-802_11.h文件中添加),結構如下:

struct ATO_table{

u_int32_t neighbor_addr;

double lastcom_time;

}

并在Mac802_11類中聲明為private私有變量,在內存中建立副本:

private :

struct ATO_table *ato_list;

std::list ato_list1;

double atotime=0.0;//

創建一個更新ATO表的函數,用于在每監聽到一個數據幀后,用來更新ATO列表中活躍節點及其最后通信時間:

void Mac802_11::update_ATO_table(u_int32_t nodaddr,double now)

{

std:list::iterator it;

for(it=ato_list1.begin();it!=ATO_list1.end();it++){

if((*it).neighbor_addr==nodaddr){

(*it).lastcom_time=now;

break;

}}

if(it==ATO_list1.end()){

ato_list=(struct ATO_table*)malloc(sizeof(struct ATO_table);

ato_list->neighbor_addr=nodaddr;

ato_list->lastcom_time=now;

free(ato_list);

}

創建一個計時器ATOTimer(在mac-timer.h文件中添加),并將其聲明為Mac802_11類的友元類:

class ATOTimer:public Handlerr{

public:

ATOTimer(Mac802_11 *m) {

mac=m;}

virtual void start(double time) {

Scheduler::instance().schedule(this,&intr,time);}

virtual void handle(Event *e);

private:

Mac802_11 *mac;

Event intr;

}

在mac-timer.cc文件中添加:

void ATOTimer::handle(Event *)

{

mac->ATOHandler();

}

創建一個在ATOTimer計時器超時時,刪除非活躍節點的函數:

void delete_ato_table(double rtime,double now)

{

std:list::iterator it;

for(it=ato_list1.begin();it!=ATO_list1.end();it++){

if(now-(*it).lastcom_time>rtime){

ato_list1.erase(it);

break;

}}

}

在Mac-802_11.cc文件中添加定時器到期時的行為,這里用于刪除非活動節點:

void Mac-802_11::ATOHandler(){

Event intr;

Scheduler &s-Sheduler::instance();

double now=s.clock();

delete_ato_table(atotime,now);//

atotime=(double)(ato_list1.size()+1)*48.0/1000.0

//atotime去毫秒為單位

if((now+atotime)<400)

atotimer.start(atotime);

}

創建一個調整CWMin和CWMax的函數:

void adjust_cw(W,α )

{

int n=ato_list1.size();

cw_=CWMin(n,W,a);

//設置初始窗口

u_int32_t cwmax=CWMax(n,W,a);

phymib_.setCWMin(cw_);

phymib_.setCWMax(cwmax);

}

以下是兩個調整競爭窗口的函數,會被調用:

u_int32_t CWMin(int n, double W, double a)

{

u_int32_t cw;

double tc;

//計算Tc

tc=phymib_.getDIFS()+txtime(phymib_.getRTSlen(),basicRate_)+phymib_.getSIFS()+txtime(phymib_.getCTSlen(),basicRate_)+DSSS_MaxPropagationDelay)

if(W=0)

cw=n*sqrt(tc)-log(n);

else{

if(-sqrt(2)/2<=a<=sqrt(2)/2)

cw=n*sqrt(tc)-log(n)/log(W);

else

cw=n*sqrt(tc)-log(n)/(log(W)*sqrt(W));

}

return cw;

}

u_int32_t CWMax(int n, double W, double a)

{

u_int32_t cw;

if(W=0)

cw=log(n);

else{

if(-sqrt(2)/2<=a<=sqrt(2)/2)

cw=log(n)/log(W);

else

cw=log(n)/(log(W)*sqrt(W));

}

return 1024+cw;

}

通過閱讀源碼,站點成功發送一個數據幀后,會收到目的站點的確認幀,所以可以在recvACK()函數中調用Adjust_cw( )函數來根據估算的活動節點數及動態特性來調整初始競爭窗口及其尺寸。另外,MAC802.11模塊是通過recv_Data( )函數來接收來自上層或者下層的數據包并進行處理的。所以在該函數中調用update_ATO_table函數來完成更新ATO表。

3.3仿真結果及分析

本文通過NS2仿真實現,主要考慮網絡的吞吐量和端到端平均時延。在相同的仿真環境中,將本文改進的DCF機制與標準的DCF機制比較。

圖2 時延

圖2說明了在不同數目規模的網絡環境下網絡平均時延變化。圖中的數據是通過計算每種節點規模下400秒內的每個數據包的延時,然后取數據包的平均延時。從圖中可以看出隨著網絡中節點數量的增加,標準DCF機制與改進的DCF機制平均時延都呈增大趨勢,但改進的DCF機制的平均時延相對小于標準DCF機制,并且波動變化。

圖3 吞吐量

圖3是在60個節點規模下的網絡平均吞吐量的仿真結果,表明了吞吐量隨時間的變化。整體來看,在該網絡環境下,整個網絡的吞吐量有所提高,大約10%到15%。從圖中可以看出在標準DCF機制下,參與通信的節點數和節點的移動對網絡吞吐量的影響較大,在圖中的0到200秒之間表現比較明顯,因為在這段時間內,每隔20秒會增加固定數量的數據流(本文增加5條數據流),從而導致網絡內的活動節點數變化,并且網絡環境設置使得節點每2秒就會隨機移動,從而導致鏈路連接和路由狀態的變化。

圖4 單個包的延時

圖4用來說明網絡獲得好的吞吐量性能時,是否導致大的延遲代價。圖中表示60個節點的網絡環境中,發送包與其對應的延時。從圖中可以看出使用改進的DCF機制,會有個別的包的延時比較大,但大多數的包的延時比使用標準DCF機制的延時要小。通過計算,使用改進DCF機制的平均包延時為0.211,使用標準的DCF機制平均包延時為0.201。雖然平均延時變大了,但只增大了0.5%,這對于增大吞吐量而言是很值得的,并且我們可以很明顯地看到改進的DCF機制能夠發送更多的包。

4結語

本文設計了一種動態估計無線網絡中的活動節點數來調整MAC層的初始競爭窗口的大小,并根據活動節點數及節點的活動特性調整競爭窗口尺寸的DCF機制,更好適合MANET節點的易接入性和移動性的特征。文中基于NS2進行仿真,結果驗證了該改進的DCF機制有效性,表明相對于標準DCF機制在保持端到端時延等TCP性能下提高吞吐量,并且能夠動態適應網絡環境。

參考文獻

[1] Kumar J.802.11 DCF in Dynamic MANET On-demand Routing[J].International Journal of Informatics and Communication Technology (IJ-ICT),2013,2(2):85-92.

[2] Narsimha V B,Sujatha B,SampathKumar T.A Survey of Wireless Mobile Adhoc Networks (MANET)[J].International Journal of Science and Advanced Technology,2011,1(5):189-192.

[3] Jiang R,Gupta V,Ravishankar C V.Interactions between TCP and the IEEE 802.11 MAC Protocol[C]//DARPA Information Survivability Conference and Exposition,2003.Proceedings.IEEE,2003,1:273-282.

[4] Nahm K,Helmy A,Kuo C C J.On Interaction between MAC and Transport Layers for Media Streaming in 802.11 Ad hoc Networks[C]//Optics East.International Society for Optics and Photonics,2004:99-110.

[5] 張棟,高龍.基于跨層協同的MANET網絡擁塞控制算法仿真研究[J].云南大學學報(自然科學版),2013,35(1):26-30.

[6] 王慶輝,潘學松,王光興.基于帶寬估計的ad hoc網絡擁塞控制機制[J].通信學報,2006,27(4):42-48.

[7] Bani Yassein M,Mardini W,AbuTaye Z.Thresholds Determination for new Backoff Algorithm in MANETs[C]//ICWMC 2011,The Seventh International Conference on Wireless and Mobile Communications,2011:285-288.

[8] 劉巖,舒炎泰,張亮,等.無線網絡中分布式協調功能的改進[J].計算機應用,2004,24(7):162-166.

[9] Hamrioui S,Lalam M.Improving Transport Protocol Performance in MANET by exploiting the Backoff Algorithm of MAC Protocol[J].International Journal of New Computer Architectures and their Applications (IJNCAA),2011,1(1):149-161.

[10] Wang G,Shu Y,Zhang L,et al.Delay Analysis of the IEEE 802.11 DCF[C]//Personal,Indoor and Mobile Radio Communications,2003.PIMRC 2003.14th IEEE Proceedings on.IEEE,2003,2:1737-1741.

[11] 宋軍,金艷華,宋文.基于NS2的網絡負載自適應DCF實現及性能分析[J].計算機科學,2009,36(3):112-115.

中圖分類號TP393

文獻標識碼A

DOI:10.3969/j.issn.1000-386x.2016.02.023

收稿日期:2014-06-04。國家自然科學基金重點項目(61262074)。蔣華,教授,主研領域:數據庫系統,信息安全。黃鏡清,碩士生。王鑫,副教授。

猜你喜歡
機制活動
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
構建“不敢腐、不能腐、不想腐”機制的思考
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
牛年到,節日活動可以這么“牛”
少先隊活動(2021年1期)2021-03-29 05:26:36
“拍手歌”活動
快樂語文(2020年30期)2021-01-14 01:05:38
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
主站蜘蛛池模板: 丁香六月激情综合| 成人毛片免费观看| 国产麻豆91网在线看| 久久99国产乱子伦精品免| 亚洲综合色婷婷| 九九久久精品国产av片囯产区| 成人免费视频一区二区三区| 在线综合亚洲欧美网站| 欧美日韩国产系列在线观看| 国产精品尹人在线观看| 尤物成AV人片在线观看| 日韩欧美91| 精品人妻系列无码专区久久| 国产又色又刺激高潮免费看| 97亚洲色综久久精品| 被公侵犯人妻少妇一区二区三区| 久久国产黑丝袜视频| 91福利免费视频| 亚洲国产成人精品一二区| 最新国语自产精品视频在| 亚洲视频二| 久久婷婷国产综合尤物精品| 日本一区二区三区精品国产| 亚洲成网777777国产精品| 国产男女免费视频| 国产欧美日韩va另类在线播放| h视频在线观看网站| 久久情精品国产品免费| 久久精品电影| 午夜啪啪网| 天天爽免费视频| 小13箩利洗澡无码视频免费网站| 久久a级片| 在线视频精品一区| 99偷拍视频精品一区二区| 丝袜国产一区| 午夜国产在线观看| 久久综合亚洲色一区二区三区| 亚洲无码视频喷水| 中文一区二区视频| 亚洲性视频网站| 亚洲AⅤ综合在线欧美一区| 国产精品视频系列专区| 国产精品手机视频| 暴力调教一区二区三区| 国产亚卅精品无码| 色成人综合| 免费无码在线观看| 亚洲精品无码日韩国产不卡| A级全黄试看30分钟小视频| 人妻一区二区三区无码精品一区| 九九香蕉视频| 欧美中文字幕第一页线路一| 亚洲精品天堂自在久久77| 激情国产精品一区| 免费看久久精品99| 欧美激情视频二区三区| 久久不卡国产精品无码| 日韩国产 在线| 亚洲无限乱码| 国产精品成人第一区| a欧美在线| 国产综合网站| 2020国产精品视频| 国产福利免费在线观看| 亚洲午夜福利精品无码| 欧美成人一级| 久久久久无码精品| 国产青榴视频在线观看网站| 狼友视频国产精品首页| 性色生活片在线观看| 国产一在线观看| 国禁国产you女视频网站| 先锋资源久久| 久久综合亚洲鲁鲁九月天| 欧美中文字幕在线视频| 欧美三级自拍| 亚洲人成网7777777国产| 日韩一级毛一欧美一国产| 久久综合AV免费观看| 国产成人精品免费视频大全五级| 九九九九热精品视频|