摘要:對當前多信道中存在的功率控制問題加以研究,提出了一種基于接收方的多信道功率控制協(xié)議。該協(xié)議引入一種沖突抑制機制來制止其他節(jié)點對正在進行數(shù)據(jù)收發(fā)的節(jié)點產(chǎn)生干擾。仿真結果表明,利用本協(xié)議能較好地避免節(jié)點沖突,并提高網(wǎng)絡容量。
關鍵詞:無線自組織網(wǎng)絡; 多信道; 介質訪問控制; 功率控制; 沖突抑制
中圖分類號:TP393.04文獻標志碼:A
文章編號:1001-3695(2007)12-0348-04
0引言
802.11協(xié)議規(guī)定了多個不重疊的信道,但協(xié)議本身是單信道協(xié)議。如何充分利用這些多余的信道成為目前研究的課題。雖然出現(xiàn)了一系列的多信道協(xié)議以充分利用信道資源,但是單純的多信道協(xié)議對網(wǎng)絡容量的提升還很有限。如果能將信道上發(fā)送的數(shù)據(jù)包用合適的功率發(fā)送,那么信道在空間上就能達到復用的目的,并相應地提升網(wǎng)絡容量。于是多信道功率控制問題便成為研究的課題。
B欲接收A的DATA,然而這時有C發(fā)送RTS給D請求發(fā)送數(shù)據(jù)。CD的通信會對B的接收造成干擾,而此時B尚未轉入數(shù)據(jù)信道進行數(shù)據(jù)接收,所以B就在控制信道上發(fā)送OTS給C來避免即將出現(xiàn)的干擾。不過由于只有一個收發(fā)器,當B正在接收A的DATA包時,B就不能知道C即將進行通信,更不能知道是否此通信會影響B(tài)的接收。該協(xié)議用變功率的CTS來通知周圍節(jié)點可以使用的安全功率。通過將CTS分別用n種不同的功率來發(fā)送,即1,(n-1)/n,(n-2)/n,…,1/n倍的功率。這樣周圍節(jié)點可以憑借收到CTS信號的數(shù)目來決定可以使用的最大發(fā)射功率,并且該發(fā)射功率不會影響發(fā)送VP-CTS節(jié)點的接收。不過這需要發(fā)送VP-CTS的節(jié)點分階段地發(fā)送CTS,從而增加了占用控制信道的時間,并多消耗了能量。
文獻[4]提出了carrier sensing zone,即干擾距離減去發(fā)射距離的那部分環(huán)帶,進而提出使用合適的功率發(fā)送DATA包會帶來的問題,即當節(jié)點對A與B正在進行DATA包的收發(fā)時,由于DATA包以合適的功率發(fā)送,原來處于最大功率發(fā)送的RTS(或CTS)的carrier sensing zone的節(jié)點可能不會偵測到該DATA包的發(fā)送。這樣導致這些節(jié)點不能知道A與B何時完成DATA包的傳送,并可能干擾A與B的通信。本文提出了一種用周期性最大功率發(fā)送DATA包的方法來令處于CS區(qū)(carrier sensing zone)的節(jié)點保持靜默。顯然,這種方法解決了前面提到的CS區(qū)節(jié)點不能知道DATA包傳送完成的問題。但是該方法使原來以合適的功率發(fā)送DATA包時可以復用的信道不能再用,所以不能增加同時進行數(shù)據(jù)收發(fā)的節(jié)點對數(shù)目,而且亦未能節(jié)省能量。應該僅在CS區(qū)節(jié)點有引發(fā)沖突的行為時才加以制止,而不是一直用信號來表明避免CS區(qū)的節(jié)點引發(fā)沖突。
文獻[5]將功率控制與DBTMA(dual busy tone multiple access protocol,雙忙音多路協(xié)議)相結合。此協(xié)議使能同時進行數(shù)據(jù)收發(fā)的節(jié)點對增加,相應地提高了信道的復用率。但是DBTMA要求有兩個忙音信道且當某節(jié)點進行數(shù)據(jù)收發(fā)時要一直發(fā)送忙音信號。這樣增加了能量的消耗,并僅為了發(fā)送忙音信號額外增加兩個信道。協(xié)議沒有ACK機制,當信道條件不好時協(xié)議性能會有所下降。
1協(xié)議描述
1.1方案的確定
通過對前面文獻的分析,發(fā)現(xiàn)以前的協(xié)議通常采用由收發(fā)節(jié)點主動發(fā)出信號來告知其他節(jié)點有數(shù)據(jù)要收發(fā)以達到避免信號碰撞的目的。但是這種方法沒有考慮到節(jié)點主動發(fā)出的信號被干擾的情況。由于信號被干擾而造成其他節(jié)點對網(wǎng)絡狀態(tài)的錯誤感知,導致不必要的沖突,協(xié)議中應該引入一種被動避免節(jié)點碰撞的機制。在主動避免碰撞失效的情況下,該機制可以作為一種補償手段來達到二次避免碰撞的目的。如果是在單信道的情況下,這種二次避免沖突的方案會無法實現(xiàn)。但是在多信道的情況下,即節(jié)點在控制信道上協(xié)商所使用的數(shù)據(jù)信道時,節(jié)點可以一邊在數(shù)據(jù)信道進行數(shù)據(jù)收發(fā),一邊在控制信道發(fā)出避免沖突信號。當節(jié)點正在進行數(shù)據(jù)收發(fā)時,如果有其他節(jié)點發(fā)出有沖突的數(shù)據(jù)信道使用請求時,該節(jié)點可以立即發(fā)出信號來拒絕這種請求。由于事先有沖突節(jié)點發(fā)出請求,不存在前述的主動發(fā)出的信號被其他信號干擾的問題。如果同時有兩個節(jié)點發(fā)出拒絕信號,在沖突節(jié)點處產(chǎn)生強度較大的噪聲電平,則沖突節(jié)點直接就認為該請求會產(chǎn)生沖突并申請其他數(shù)據(jù)信道,從而達到二次避免碰撞的目的。
本協(xié)議是多信道中的功率控制協(xié)議,采用1+N,即一個控制信道和N個數(shù)據(jù)信道的形式,并通過在控制信道上發(fā)送RTS/CTS/RES的方式來協(xié)商和使用數(shù)據(jù)信道。
為了避免隱藏終端問題,RTS信號通常令其發(fā)射功率為最大值,從而保護下面的data和ACK的傳送。如果在協(xié)議中定義RTS發(fā)射功率不用最大值,而是用一個較小的固定值來代替以減小能量浪費(假如該值小于等于data的發(fā)射功率),則RTS不再具有保護data包的能力。假如取某個合適的大一點(比data的發(fā)射功率稍大)的固定值,則當兩節(jié)點間的距離處于最大值與該合適的固定值之間時,原本一跳可以解決的數(shù)據(jù)收發(fā),現(xiàn)在就要兩跳。如果RTS的發(fā)射功率是可變的,那么原本是單一型的網(wǎng)絡變成了多類型網(wǎng)絡(即每節(jié)點最大發(fā)射功率并不一致)。這樣隱藏終端的問題會更加嚴重。此外,RTS還能起到避免RES被碰撞的作用。綜上所述,RTS應該選取最大值。
CTS信號不能用合適功率發(fā)送。如果在1+N形式的多信道中令CTS用合適功率發(fā)送,會出現(xiàn)如圖2所示的問題。
首先A用最大功率發(fā)送RTS給B,然后B根據(jù)A與B之間的距離選擇合適的功率發(fā)送CTS。易見B的CTS并未對C起到警告作用。接著C回應D的RTS給CTS。而節(jié)點C、D可能會使用與A、B節(jié)點相同的數(shù)據(jù)信道(對C、D節(jié)點而言,并不知道節(jié)點A、B已經(jīng)使用了該信道)。當A在數(shù)據(jù)信道上發(fā)送數(shù)據(jù)給B時,D節(jié)點如果先發(fā)完data, C節(jié)點的ACK就有可能干擾A給B的data包(如果是C發(fā)送數(shù)據(jù)給D,則就可能為data間的沖突)。所以CTS也應該使用最大發(fā)射功率發(fā)送。
RES信號的作用是向周圍廣播已被預約的數(shù)據(jù)信道,所以也應采用最大功率發(fā)送。
Data和ACK由于有了控制信道上的協(xié)商,可以在數(shù)據(jù)信道上用最小必需功率發(fā)送。
c)在收到A的RTS后,B首先檢查自身的信道使用列表,將空閑的數(shù)據(jù)信道同樣列一個表。然后,B將自己的空閑數(shù)據(jù)信道列表與RTS中A周圍的空閑數(shù)據(jù)信道列表進行比較。如果兩者有公共空閑信道,則B根據(jù)信道優(yōu)先級,選取最高優(yōu)先級的信道,并將其放入CTS中。同時放入CTS中的還有B根據(jù)收到的RTS功率的大小按式(1)計算出來的最小必需功率值(在數(shù)據(jù)信道上使用)和占用該數(shù)據(jù)信道的時間間隔(根據(jù)A欲發(fā)送的數(shù)據(jù)包的長度算出),然后B用最大功率將CTS發(fā)送給A。如果兩者沒有公共空閑信道,則B回應一個CTS(wait)給A,其中放入B周圍有空閑數(shù)據(jù)信道的最小等待時間Twait。
d)A收到B的CTS后,首先檢查CTS。如果是普通的CTS,則A根據(jù)CTS中B選擇使用的數(shù)據(jù)信道,將該數(shù)據(jù)信道、占用該數(shù)據(jù)信道所需時間以及在該信道上使用的功率大小放入RES中,并以最大功率向周圍發(fā)送;如果是CTS(wait),則A等待Twait時間,回到a)再次向B發(fā)出請求。如果A在發(fā)送完RTS后,在規(guī)定時間內沒有收到B的CTS,則要重發(fā)RTS,并再次等待B的CTS回應,如此直至達到最大重試次數(shù)。
e)B周圍的節(jié)點(記為D,不包括A)收到CTS。如果D節(jié)點空閑,則將該數(shù)據(jù)信道和所占用時間加入到其自身的信道使用列表中;如果D節(jié)點正在進行數(shù)據(jù)收發(fā),則判斷該數(shù)據(jù)信道自己是否正在使用。如果是,則判斷B在數(shù)據(jù)信道上使用的功率是否會影響到自身已在進行的通信。如有影響,則D立即用最大功率對外發(fā)送一個DTS(其實是對B,但是用的是廣播的形式)。DTS中包括了D使用的數(shù)據(jù)信道和占用時間等信息。
f)A周圍的節(jié)點(記為C,不包括B)在控制信道上收到RES后,同樣進行判斷。如果C不忙,則僅將RES中包含的A所占用的數(shù)據(jù)信道和占用時間放入自身的信道使用列表。如果C同樣正在進行數(shù)據(jù)收發(fā),并且A將使用的數(shù)據(jù)信道正是C所使用的,而且A在數(shù)據(jù)信道上使用最小必需功率與B進行通信時會干擾C的正常通信,則C同樣以最大功率向周圍發(fā)送DTS以拒絕A對該數(shù)據(jù)信道的使用請求。該DTS與前面一樣包含了C使用的數(shù)據(jù)信道和占用該信道所需時間的信息。
g)B發(fā)送完CTS后,并沒有立即轉入到數(shù)據(jù)信道進行數(shù)據(jù)收發(fā)。B還要等待一個SIFS,看有沒有節(jié)點發(fā)送DTS,來拒絕B對數(shù)據(jù)信道的使用請求。如果收到了DTS,則B將回應A一個AOC(abort of connection)。AOC中同樣包含了所用數(shù)據(jù)信道的信息及占用時間的信息;如果B只收到一個達到正常信號強度的噪聲電平,則認為是A的RES與其他節(jié)點的DTS產(chǎn)生了碰撞,處理方法同前面針對收到DTS信號的處理。如果B在等待一個SIFS后并未收到DTS,則B轉入相應的數(shù)據(jù)信道,準備接收A的數(shù)據(jù)包。
h)A在發(fā)送完RES后,也同樣要偵測一個SIFS空閑時間。如果在SIFS這個時間段內A沒有收到DTS,則A轉入?yún)f(xié)商的數(shù)據(jù)信道,用最小必需功率發(fā)送data包給B。如果A收到了DTS,則根據(jù)DTS的內容更新其信道使用列表;然后構造一個AOC(在其中放入與B協(xié)商的數(shù)據(jù)信道和占用時間),再用最大功率向周圍發(fā)送并返回a)。如果A收到的是AOC,則直接轉發(fā)再返回到a)。
i)如果B在數(shù)據(jù)信道上等待一段時間(A發(fā)送data包的最大嘗試次數(shù)×(SIFS+data傳輸時間+2×傳播延時+ACK傳輸時間))后仍未收到A的data包,則表明A不能使用該數(shù)據(jù)信道,則終止連接(等待A的進一步請求);如果在B等待A傳送data包時,在控制信道上又收到A新的RTS請求,則B可以立即退出等待,重新協(xié)商新的數(shù)據(jù)信道。B在數(shù)據(jù)信道上接收完A的data后,B回應A一個ACK。
j)A在發(fā)送完data包后等待B的ACK。如果達到等待時間后還未收到B的ACK,則A重新發(fā)送data包,再次等待B的ACK回應,如此反復直至最大重試次數(shù)。
k)收到RES和CTS的節(jié)點分別設置自己的NAV。信道選擇有優(yōu)先級:首先是沒有節(jié)點占用的信道(即就算不用功率控制也可以進行通信而不會對其他節(jié)點造成干擾);其次是需要功率控制才能使用的信道。選定信道類型后,噪聲小的信道優(yōu)先級更高。
l)在A與B確定沒有周圍節(jié)點發(fā)出DTS拒絕發(fā)送信號后,A與B轉入?yún)f(xié)商的數(shù)據(jù)信道進行數(shù)據(jù)的發(fā)送和接收。當B接收完A的data后,B回應A一個ACK。如果這時B在接收完A的data后也想發(fā)送數(shù)據(jù)給A,則B再給A的ACK中加入特別的標志;然后A與B分別在控制信道上再次發(fā)送CTS(A發(fā)送)和RES(B發(fā)送)來重新聲明A與B占用該數(shù)據(jù)信道的時間。這樣,A與B可以直接繼續(xù)使用原先占用的數(shù)據(jù)信道。
m)如果A(或B)周圍的節(jié)點C(或D),收到A(或B)發(fā)送的AOC,則C(或D)根據(jù)AOC中的數(shù)據(jù)信道判斷自身的信道使用列表中,該數(shù)據(jù)信道是否被A(或B)使用。如果是,則除去該信道使用信息;否則忽略。
n)如果A(或B)周圍的節(jié)點C(或D),收到某一節(jié)點E發(fā)送的DTS,則C(或D)根據(jù)DTS中的數(shù)據(jù)信道判斷自身的信道使用列表中,該數(shù)據(jù)信道是否已被E使用。如果是,則檢查DTS中的占用時間與信道使用列表中該數(shù)據(jù)信道還要被E占用的時間是否一致。如果一致則忽略;否則更新占用時間。如果沒有關于E占用該數(shù)據(jù)信道的信息,則加入E使用該信道的信息。
o)在A與B進行數(shù)據(jù)收發(fā)的過程中,A與B還時刻偵測控制信道。只要有與AB所占用的數(shù)據(jù)信道沖突的其他節(jié)點的請求,A與B立即以最大功率發(fā)送DTS(DTS中有AB所用數(shù)據(jù)信道及尚需占用的時間等信息)以拒絕其他節(jié)點征用該數(shù)據(jù)信道。
2仿真
本協(xié)議仿真采用C++構建的無線環(huán)境進行仿真。協(xié)議所用參數(shù)如下:SIFS為10 μs,DIFS為50 μs,ACK、RTS、CTS包的大小為14 Byte,數(shù)據(jù)包的大小為1 000 Byte,節(jié)點的最大覆蓋范圍為300 m,干擾范圍為覆蓋范圍的兩倍,即600 m。仿真主要分析協(xié)議功率控制的應用所帶來的網(wǎng)絡吞吐量的提升。
首先來看一下節(jié)點間距對功率控制和非功率控制情況下吞吐量的影響。在圖5中,筆者構造了一個節(jié)點均勻分布的場景,使節(jié)點數(shù)目保持一定,即100個節(jié)點。考察當節(jié)點間距25~300 m以25 m遞增的情況下網(wǎng)絡吞吐量的變化。從圖中可以看到,當節(jié)點間距較小時,此時節(jié)點密度較大,節(jié)點間的碰撞較多,所以功率控制的效果不太明顯。隨著節(jié)點間距的增大,節(jié)點沖突減少,功率控制的效果逐漸增大。當節(jié)點間距大到一定程度時,能夠利用功率控制來進行信道復用的節(jié)點數(shù)變少,功率控制的優(yōu)勢不再明顯。當節(jié)點間距增大到300 m時,采用功率控制與沒有功率控制在網(wǎng)絡吞吐量上已經(jīng)沒有區(qū)別。
下面再來看一下功率控制級數(shù)對網(wǎng)絡吞吐量的影響。在圖6中構建一個1 000 m×1 000 m的無線環(huán)境,在其中均勻分布了50個節(jié)點。從圖中可以看到,當功率級數(shù)小于等于2時,功率控制的效果并不好。當功率控制級數(shù)大于等于3時,級數(shù)對網(wǎng)絡吞吐量的提升基本上相差不大。所以,功率控制級數(shù)并不是越高越好。
為了獲得數(shù)據(jù)包大小與吞吐量之間的關系,在1 000 m×1 000 m的范圍內,均勻地放置了49個點(圖7)。數(shù)據(jù)包的長度從500 Byte開始以500 Byte為單位遞增,直到4 000 Byte。為了能更好地看出結果,此處對數(shù)據(jù)進行了處理,以數(shù)據(jù)包長度500 Byte時的吞吐量作為1,將所有值進行歸一化處理。結果表明,吞吐量隨著數(shù)據(jù)包的增長逐漸增大。這是因為數(shù)據(jù)包越長,一次控制幀交換能夠發(fā)送更多的數(shù)據(jù)。這樣控制幀所帶來的額外消耗顯得更小,從而帶來吞吐量的上升。
3結束語
本文對無線自組織網(wǎng)絡信道接入層的功率控制協(xié)議加以研究,在對前人提出的功率控制協(xié)議進行深入分析的基礎上,比較各協(xié)議的優(yōu)點及存在的問題,在對前人的功率控制協(xié)議進行改進后,提出了一種多信道的功率控制協(xié)議。協(xié)議綜合考慮了暴露終端和隱藏終端問題,并考慮到了信號沖突導致節(jié)點不能正確認知網(wǎng)絡狀態(tài)的問題,給予節(jié)點第二次避免沖突的能力。仿真結果證明,該協(xié)議能較好地避免節(jié)點沖突并提高網(wǎng)絡容量。
參考文獻:
[1]TSENG Y C, WUT S L, LIN C Y, et al. A multi-channel MAC protocol with power control for multi-h(huán)op mobile Ad hoc networks[J]. Computer Journal, 2002,45(1):101-110.
[2]YEH C H, ZHOU H, HO P H, et al.A variable-radius multi-channel MAC protocol for high-throughput low-power heterogeneous Ad hoc networking[J]. IEEE, 2003,3(1-5):1284-1289.
[3]YEH C H.High-throught interference-aware MAC protocols for hetero-geneous Ad hoc networks and multihop wireless LANs[C]//Proc of IEEE GLOBECOM’03. 2003.
[4]JUNG E S, VAIDYA N. A power control MAC protocol for Ad hoc networks[C]//Proc of the 8th Annual International Conference on Mobile Computing and Networking. New York: ACM Press, 2002:36-47.
[5]WU S L, TSENT Y C, SHEU J P. Intelligent medium access for mobile Ad hoc networks with busy tones and power control[J]. IEEE Journal on Selected Areas in Communications, 2000,18(9):1647-1657.
[6]ANSI/IEEE Std 802.11a, Part 11: wireless LAN medium access control(MAC) and physical layer(PHY) specifications[S]. New York: IEEE, 1999.
[7]WU S L, LIN C Y, TSENG Y C, et al. A new multi-channel MAC protocol with on-demand channel assignment for multi-h(huán)op mobile Ad hoc networks[C]//Proc of International Symposium on Parallel Architectures Algorithms and Networks.[S.l.]: IEEE, 2000:232-237.
[8]YEH C H. IPMA:an interference/power-aware MAC scheme for he-terogeneous wireless networks[J]. Computers and Communication, 2003,2(12):849-854.
[9]CESANA M, MANIEZZO D, BERGAMO P, et al. Interference aware(IA) MAC: an enhancement to IEEE 802.11b DCF[C]//Proc of the 58th IEEE Vehicular Technology Conference.[S.l.]: IEEE Press, 2003.
[10]MUQATTASH A, KRUNZ M. A distributed transmission power control protocol for mobile Ad hoc networks[J]. IEEE Transactions on Mobile Computing, 2004,3(2):113-128.
[11]MONKS J P, BHARGHAVAN V, HWU W M. A power controlled multiple access protocol for wireless packet networks[C]//Proc of the 20th Annual Joint Conference of the IEEE Computer and Communications Societies.[S.l.]: IEEE Press, 2001:219-228.
[12]JAIN N, DAS S R, NASIPURI A. A multi-channel CSMA MAC protocol with receiver-based channel selection for multi-h(huán)op wireless networks[C]//Proc of the 10th International Conference on Computer Communications and Networks. 2001:432-439.
[13]KRUNZ M, MUQATTASH A. Transmission power control in wireless Ad hoc networks: challenges, solutions, and open issues[J]. IEEE Networks, 2004,18(9-10):8-14.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”