国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無線Mesh網(wǎng)絡(luò)路由器的體系結(jié)構(gòu)研究

2009-03-23 02:40朱建楊朱英宏
計算機時代 2009年1期

朱建楊 朱英宏 程 甲 廖 平

摘要:多網(wǎng)卡多信道技術(shù)是當前無線Mesh網(wǎng)絡(luò)中的研究熱點。利用多網(wǎng)卡多信道的技術(shù)可以大大提高網(wǎng)絡(luò)的整體性能,但采用多網(wǎng)卡多信道技術(shù)的無線Mesh網(wǎng)絡(luò)存在容易受到來自網(wǎng)絡(luò)內(nèi)部的自身干擾等問題。文章設(shè)計了一種無線Mesh網(wǎng)絡(luò)的路由器體系結(jié)構(gòu),解決了兩個關(guān)鍵領(lǐng)域的問題:第一,給出了能夠使用一般硬件實現(xiàn)分離無線路由器(separated Wireless Router,簡稱SWR)的架構(gòu);第二,設(shè)計了一個集中式的信道分配算法,這個算法考慮了信道分配和路由的相互影響,從而能使網(wǎng)絡(luò)達到最大吞吐量。

關(guān)鍵詞:Mesh;分離無線路由器;RU;SWR;ETT

0引言

無線Mesh網(wǎng)絡(luò)(Wireless Mesh Network,簡稱WMN)是一種與傳統(tǒng)的無線網(wǎng)絡(luò)完全不同的網(wǎng)絡(luò),是一種高速率、高容量的多點對多點網(wǎng)絡(luò)。由于具有不需要集中式的網(wǎng)絡(luò)管理和基礎(chǔ)設(shè)施等特點,無線Mesh網(wǎng)在近年來受到越來越多的關(guān)注。為了提高WMN的穩(wěn)定性及容量等,多網(wǎng)卡多信道技術(shù)被普遍應(yīng)用,是當前WMN中的研究熱點。但是多接口多信道技術(shù)的應(yīng)用,也為研究工作帶來了許多新問題。例如,多接口多信道的WMN容易受到來自外界和網(wǎng)絡(luò)內(nèi)部其它相同頻率信道的無線干擾,導致網(wǎng)絡(luò)吞吐量和穩(wěn)定性的大幅度下降。如何有效地避免鄰節(jié)點的干擾以及如何進行信道分配,已經(jīng)成為當前WMN研究的關(guān)鍵技術(shù)之一。

Chandra和Bahl發(fā)明了一種被稱為Multinet的多網(wǎng)卡體系結(jié)構(gòu)。Multinet是專為有單一網(wǎng)卡的節(jié)點設(shè)計的。它把單一的物理網(wǎng)卡接到兩個虛擬網(wǎng)卡中,一個虛擬網(wǎng)卡用于連接網(wǎng)絡(luò)基礎(chǔ)設(shè)施,另—個用于連接Mesh網(wǎng)絡(luò)。但Multinet不能提供支持多信道間網(wǎng)卡轉(zhuǎn)換的所有條件,有其一定的局限性。

Chereddi等人建議利用Linux內(nèi)核的系統(tǒng)擴展來支持多網(wǎng)卡的信道切換。但是,他們沒有考慮到信道分配和多網(wǎng)卡Mesh網(wǎng)部署的系統(tǒng)評估。

由于802.11提供了正交多信道,WMN路由器可裝備多個網(wǎng)卡。通過把網(wǎng)卡調(diào)諧到正交信道上去,路由器之間可以進行受到最小干擾程度的通信,而且容量問題也可以得到減輕,本文以此設(shè)計了一種WMN路由器的體系結(jié)構(gòu)。該體系結(jié)構(gòu)包括硬件結(jié)構(gòu)和軟件結(jié)構(gòu)兩方面。

1硬件結(jié)構(gòu)

常用的802.11無線網(wǎng)卡的自身干涉問題之所以發(fā)生,是常用網(wǎng)卡對相鄰節(jié)點的影響,網(wǎng)卡內(nèi)部電路串話和輻射泄漏敏感等問題引起的,另外還有硬件不理想的原因。Raniwala等人通過將網(wǎng)卡之間的天線分離來減少干涉的影響。然而,實驗證明,當每個節(jié)點有多于兩個網(wǎng)卡工作于相同的頻率時,這個方法是無效的。

WMN硬件結(jié)構(gòu)源于市場上最新型的路由硬件。在這種硬件中,模塊化的設(shè)計使得一個路由單元可以支持不同的技術(shù),從而使得無線路由器也能使用不同的無線技術(shù),比如802.11和WiMAX。SWR是根據(jù)自身內(nèi)部的干擾問題得來的。每個SWR包含三個網(wǎng)卡,每個網(wǎng)卡位于一個獨立的處理節(jié)點(如圖1)。

我們將一個網(wǎng)卡和它的處理節(jié)點定義為一個網(wǎng)卡單元(Ru)。網(wǎng)卡間通過超寬帶無線技術(shù)(UWB)進行連接,從而構(gòu)成一個內(nèi)部回饋網(wǎng)絡(luò)。一個需要通過相鄰RU發(fā)送的包被回饋網(wǎng)絡(luò)發(fā)送到該RU,然后該節(jié)點通過無線媒介將其發(fā)送。據(jù)觀察,在SWR中安裝常用802.11無線網(wǎng)卡并在其之間有3厘米的間隔距離時,所獲得的吞吐量在信道間隔為40MHZ時只有51%,在信道間隔為最大的625MHZ時也低于80%。在大約0.5米或更大(由于硬件設(shè)計的需求,此距離應(yīng)小于1米)的物理分隔時,自身干涉的影響能夠有效地減小,而這種分隔在SWR中能很容易地實現(xiàn)。有了適當?shù)匚锢矸指?,能有效地減少相鄰干擾問題,并且電路串話和輻射泄漏等問題也能得到解決。通過測量,網(wǎng)卡之間間距大約為0.6米,頻帶間隔至少50MHZ時,吞吐量高于理想中的87%。因此,我們的SWR結(jié)構(gòu)使得多網(wǎng)卡路由器能夠裝置同頻帶的無線網(wǎng)卡。

2軟件結(jié)構(gòu)

在分離路由器的軟件體系結(jié)構(gòu)設(shè)計中我們有兩個目標。第一,每個分離路由器要作為一個獨立單元路由器并裝置著多個接口。這種抽象很重要,否則由于路由協(xié)議和網(wǎng)絡(luò)管理工具屬于分離無線路由器,就需要進行修改來識別個別的可視RU。第二個目標是支持現(xiàn)有軟件的運行,比如路由協(xié)議不需要改變。

SWR的軟件體系結(jié)構(gòu)如圖2所示。分離無線路由器中的一介RU被指定為主網(wǎng)卡單元。在分離無線路由器中,每個RU處理相應(yīng)的硬件抽象層。它運行在內(nèi)核層,以此將發(fā)現(xiàn)的RU作為本地接口告訴每個用戶空間的應(yīng)用程序。RU的動態(tài)發(fā)現(xiàn)過程如下:分離無線路由器的每個RU在回饋網(wǎng)絡(luò)上周期性地廣播它的身份使大家知道它的存在。在我們的實現(xiàn)中,廣播每分鐘一次。RU的列表由軟狀態(tài)保持,每三分鐘超時。

硬件抽象層還揭露了兩個基本的前置單元——為了單播和廣播發(fā)送——在無線路由器上運行著,沒有作更改。這個前置比如路由協(xié)議等是軟件的根本。單播單元確保去往下一跳路由器的包準確地通過分離無線路由器運送到一個鄰近的RU,然后該RU通過無線媒介將包傳送到下一跳。

為了支持這個前置單元,分離路由器里的所有RU周期性地通過回饋網(wǎng)絡(luò)改變它們觀察到的相鄰節(jié)點的設(shè)置。在我們的實現(xiàn)中,這種改變每秒一次。每個節(jié)點保持鄰節(jié)點信息作為軟狀態(tài)。這個狀態(tài)在鄰節(jié)點暫停時間后結(jié)束,我們將這個時間設(shè)置為2秒。同樣,廣播單元確保了那些要求mesh—wide分發(fā)的包由每個RU廣播和接收。

3實現(xiàn)

分離無線路由器通過Linux的Netfilter內(nèi)核模塊實現(xiàn),該內(nèi)核模塊支持ETT度量。ETT的計算公式是根據(jù)De Couto等人提出的期望傳輸次數(shù)(ETX,Expected Transmission Count)得來的:

ETT=ETX×S/B

式中,S表示數(shù)據(jù)包的大小(例如,1024比特),B表示鏈路的帶寬(原始數(shù)據(jù)率)。ETT計算的結(jié)果每5秒向信道分配服務(wù)器(CAS)報告一次,CAS位于Mesh網(wǎng)絡(luò)網(wǎng)關(guān)的位置。

我們使用SRCR作為路由協(xié)議,以WCETT作為路由選擇的度量。在實驗中,把WCETT的B參數(shù)設(shè)置為0.5。這樣就賦予了路徑的信道多樣化和其包傳輸延遲以同樣的權(quán)重。

我們用最短路徑算法(Dijkstra)實現(xiàn)信道分配。其算法描述如下:

1:輸入:

P=AP目錄;m=Mesh沖突圖:T=鄰居連通圖

2:while notAIIAPsFound{P}do

3:d=head(P)

4:n=findGateway(d)

5:從n到d的Dijkstra搜索中讓PQ成為優(yōu)先隊列

6:while true dO

7:

makePermanent(n)

8:for all ri such that ri is a radio Of n dO

9:

for all ri such that rj is a neighbor of n do

10:

neigh=getRelayContainingRadio(rj)

11:

使用m選擇沒有沖突的信道c作為鏈路(ri;rj)

12:

if c不存在then

13:

選擇一個隨機信道為鏈路(ri;rj)

14:

endif

15:

cost=computePathCostWithNewLink(d,(ri,rj)),c)

16:

if cost

17:

visit(neigh)

18:

setTentativeChannelForLink((ri;rj)),c)

19:

addToPriorityQueue(PQ,neigh)

20:

end if

21:

end for

22:end for

23:r=findMinimuminPriodtyQueue(PQ)

24: if r=d then

25:

finalizeChannelsOnPathTo(r)

26:

break

27:end if

28:end while

29:end while

30:給沒有被分配到持久的信道的網(wǎng)卡分配信道

CAS調(diào)用拓撲發(fā)現(xiàn)的周期為5分鐘(我們發(fā)現(xiàn),周期為5分鐘對了解鏈路長遠的性能特點是足夠的)。通過上述算法可以發(fā)現(xiàn),AP的次序可以影響到Mesh中信息之間的干擾。作為下一步的工作,我們計劃探索利用AP次序進一步優(yōu)化TIC性能的技術(shù)。

彭泽县| 晋州市| 原平市| 奉化市| 乌苏市| 唐山市| 九龙坡区| 高唐县| 奉贤区| 老河口市| 东乌| 平顶山市| 沾益县| 龙井市| 佛冈县| 石泉县| 永年县| 高淳县| 清苑县| 轮台县| 运城市| 玛纳斯县| 镇赉县| 闵行区| 石景山区| 曲阳县| 阳新县| 保定市| 海南省| 林甸县| 定结县| 珲春市| 延长县| 即墨市| 泾源县| 随州市| 张掖市| 五台县| 盖州市| 江源县| 临猗县|