摘要:對當前多信道中存在的功率控制問題加以研究,提出了一種基于接收方的多信道功率控制協議。該協議引入一種沖突抑制機制來制止其他節點對正在進行數據收發的節點產生干擾。仿真結果表明,利用本協議能較好地避免節點沖突,并提高網絡容量。
關鍵詞:無線自組織網絡; 多信道; 介質訪問控制; 功率控制; 沖突抑制
中圖分類號:TP393.04文獻標志碼:A
文章編號:1001-3695(2007)12-0348-04
0引言
802.11協議規定了多個不重疊的信道,但協議本身是單信道協議。如何充分利用這些多余的信道成為目前研究的課題。雖然出現了一系列的多信道協議以充分利用信道資源,但是單純的多信道協議對網絡容量的提升還很有限。如果能將信道上發送的數據包用合適的功率發送,那么信道在空間上就能達到復用的目的,并相應地提升網絡容量。于是多信道功率控制問題便成為研究的課題。
B欲接收A的DATA,然而這時有C發送RTS給D請求發送數據。CD的通信會對B的接收造成干擾,而此時B尚未轉入數據信道進行數據接收,所以B就在控制信道上發送OTS給C來避免即將出現的干擾。不過由于只有一個收發器,當B正在接收A的DATA包時,B就不能知道C即將進行通信,更不能知道是否此通信會影響B的接收。該協議用變功率的CTS來通知周圍節點可以使用的安全功率。通過將CTS分別用n種不同的功率來發送,即1,(n-1)/n,(n-2)/n,…,1/n倍的功率。這樣周圍節點可以憑借收到CTS信號的數目來決定可以使用的最大發射功率,并且該發射功率不會影響發送VP-CTS節點的接收。不過這需要發送VP-CTS的節點分階段地發送CTS,從而增加了占用控制信道的時間,并多消耗了能量。
文獻[4]提出了carrier sensing zone,即干擾距離減去發射距離的那部分環帶,進而提出使用合適的功率發送DATA包會帶來的問題,即當節點對A與B正在進行DATA包的收發時,由于DATA包以合適的功率發送,原來處于最大功率發送的RTS(或CTS)的carrier sensing zone的節點可能不會偵測到該DATA包的發送。這樣導致這些節點不能知道A與B何時完成DATA包的傳送,并可能干擾A與B的通信。本文提出了一種用周期性最大功率發送DATA包的方法來令處于CS區(carrier sensing zone)的節點保持靜默。顯然,這種方法解決了前面提到的CS區節點不能知道DATA包傳送完成的問題。但是該方法使原來以合適的功率發送DATA包時可以復用的信道不能再用,所以不能增加同時進行數據收發的節點對數目,而且亦未能節省能量。應該僅在CS區節點有引發沖突的行為時才加以制止,而不是一直用信號來表明避免CS區的節點引發沖突。
文獻[5]將功率控制與DBTMA(dual busy tone multiple access protocol,雙忙音多路協議)相結合。此協議使能同時進行數據收發的節點對增加,相應地提高了信道的復用率。但是DBTMA要求有兩個忙音信道且當某節點進行數據收發時要一直發送忙音信號。這樣增加了能量的消耗,并僅為了發送忙音信號額外增加兩個信道。協議沒有ACK機制,當信道條件不好時協議性能會有所下降。
1協議描述
1.1方案的確定
通過對前面文獻的分析,發現以前的協議通常采用由收發節點主動發出信號來告知其他節點有數據要收發以達到避免信號碰撞的目的。但是這種方法沒有考慮到節點主動發出的信號被干擾的情況。由于信號被干擾而造成其他節點對網絡狀態的錯誤感知,導致不必要的沖突,協議中應該引入一種被動避免節點碰撞的機制。在主動避免碰撞失效的情況下,該機制可以作為一種補償手段來達到二次避免碰撞的目的。如果是在單信道的情況下,這種二次避免沖突的方案會無法實現。但是在多信道的情況下,即節點在控制信道上協商所使用的數據信道時,節點可以一邊在數據信道進行數據收發,一邊在控制信道發出避免沖突信號。當節點正在進行數據收發時,如果有其他節點發出有沖突的數據信道使用請求時,該節點可以立即發出信號來拒絕這種請求。由于事先有沖突節點發出請求,不存在前述的主動發出的信號被其他信號干擾的問題。如果同時有兩個節點發出拒絕信號,在沖突節點處產生強度較大的噪聲電平,則沖突節點直接就認為該請求會產生沖突并申請其他數據信道,從而達到二次避免碰撞的目的。
本協議是多信道中的功率控制協議,采用1+N,即一個控制信道和N個數據信道的形式,并通過在控制信道上發送RTS/CTS/RES的方式來協商和使用數據信道。
為了避免隱藏終端問題,RTS信號通常令其發射功率為最大值,從而保護下面的data和ACK的傳送。如果在協議中定義RTS發射功率不用最大值,而是用一個較小的固定值來代替以減小能量浪費(假如該值小于等于data的發射功率),則RTS不再具有保護data包的能力。假如取某個合適的大一點(比data的發射功率稍大)的固定值,則當兩節點間的距離處于最大值與該合適的固定值之間時,原本一跳可以解決的數據收發,現在就要兩跳。如果RTS的發射功率是可變的,那么原本是單一型的網絡變成了多類型網絡(即每節點最大發射功率并不一致)。這樣隱藏終端的問題會更加嚴重。此外,RTS還能起到避免RES被碰撞的作用。綜上所述,RTS應該選取最大值。
CTS信號不能用合適功率發送。如果在1+N形式的多信道中令CTS用合適功率發送,會出現如圖2所示的問題。
首先A用最大功率發送RTS給B,然后B根據A與B之間的距離選擇合適的功率發送CTS。易見B的CTS并未對C起到警告作用。接著C回應D的RTS給CTS。而節點C、D可能會使用與A、B節點相同的數據信道(對C、D節點而言,并不知道節點A、B已經使用了該信道)。當A在數據信道上發送數據給B時,D節點如果先發完data, C節點的ACK就有可能干擾A給B的data包(如果是C發送數據給D,則就可能為data間的沖突)。所以CTS也應該使用最大發射功率發送。
RES信號的作用是向周圍廣播已被預約的數據信道,所以也應采用最大功率發送。
Data和ACK由于有了控制信道上的協商,可以在數據信道上用最小必需功率發送。
c)在收到A的RTS后,B首先檢查自身的信道使用列表,將空閑的數據信道同樣列一個表。然后,B將自己的空閑數據信道列表與RTS中A周圍的空閑數據信道列表進行比較。如果兩者有公共空閑信道,則B根據信道優先級,選取最高優先級的信道,并將其放入CTS中。同時放入CTS中的還有B根據收到的RTS功率的大小按式(1)計算出來的最小必需功率值(在數據信道上使用)和占用該數據信道的時間間隔(根據A欲發送的數據包的長度算出),然后B用最大功率將CTS發送給A。如果兩者沒有公共空閑信道,則B回應一個CTS(wait)給A,其中放入B周圍有空閑數據信道的最小等待時間Twait。
d)A收到B的CTS后,首先檢查CTS。如果是普通的CTS,則A根據CTS中B選擇使用的數據信道,將該數據信道、占用該數據信道所需時間以及在該信道上使用的功率大小放入RES中,并以最大功率向周圍發送;如果是CTS(wait),則A等待Twait時間,回到a)再次向B發出請求。如果A在發送完RTS后,在規定時間內沒有收到B的CTS,則要重發RTS,并再次等待B的CTS回應,如此直至達到最大重試次數。
e)B周圍的節點(記為D,不包括A)收到CTS。如果D節點空閑,則將該數據信道和所占用時間加入到其自身的信道使用列表中;如果D節點正在進行數據收發,則判斷該數據信道自己是否正在使用。如果是,則判斷B在數據信道上使用的功率是否會影響到自身已在進行的通信。如有影響,則D立即用最大功率對外發送一個DTS(其實是對B,但是用的是廣播的形式)。DTS中包括了D使用的數據信道和占用時間等信息。
f)A周圍的節點(記為C,不包括B)在控制信道上收到RES后,同樣進行判斷。如果C不忙,則僅將RES中包含的A所占用的數據信道和占用時間放入自身的信道使用列表。如果C同樣正在進行數據收發,并且A將使用的數據信道正是C所使用的,而且A在數據信道上使用最小必需功率與B進行通信時會干擾C的正常通信,則C同樣以最大功率向周圍發送DTS以拒絕A對該數據信道的使用請求。該DTS與前面一樣包含了C使用的數據信道和占用該信道所需時間的信息。
g)B發送完CTS后,并沒有立即轉入到數據信道進行數據收發。B還要等待一個SIFS,看有沒有節點發送DTS,來拒絕B對數據信道的使用請求。如果收到了DTS,則B將回應A一個AOC(abort of connection)。AOC中同樣包含了所用數據信道的信息及占用時間的信息;如果B只收到一個達到正常信號強度的噪聲電平,則認為是A的RES與其他節點的DTS產生了碰撞,處理方法同前面針對收到DTS信號的處理。如果B在等待一個SIFS后并未收到DTS,則B轉入相應的數據信道,準備接收A的數據包。
h)A在發送完RES后,也同樣要偵測一個SIFS空閑時間。如果在SIFS這個時間段內A沒有收到DTS,則A轉入協商的數據信道,用最小必需功率發送data包給B。如果A收到了DTS,則根據DTS的內容更新其信道使用列表;然后構造一個AOC(在其中放入與B協商的數據信道和占用時間),再用最大功率向周圍發送并返回a)。如果A收到的是AOC,則直接轉發再返回到a)。
i)如果B在數據信道上等待一段時間(A發送data包的最大嘗試次數×(SIFS+data傳輸時間+2×傳播延時+ACK傳輸時間))后仍未收到A的data包,則表明A不能使用該數據信道,則終止連接(等待A的進一步請求);如果在B等待A傳送data包時,在控制信道上又收到A新的RTS請求,則B可以立即退出等待,重新協商新的數據信道。B在數據信道上接收完A的data后,B回應A一個ACK。
j)A在發送完data包后等待B的ACK。如果達到等待時間后還未收到B的ACK,則A重新發送data包,再次等待B的ACK回應,如此反復直至最大重試次數。
k)收到RES和CTS的節點分別設置自己的NAV。信道選擇有優先級:首先是沒有節點占用的信道(即就算不用功率控制也可以進行通信而不會對其他節點造成干擾);其次是需要功率控制才能使用的信道。選定信道類型后,噪聲小的信道優先級更高。
l)在A與B確定沒有周圍節點發出DTS拒絕發送信號后,A與B轉入協商的數據信道進行數據的發送和接收。當B接收完A的data后,B回應A一個ACK。如果這時B在接收完A的data后也想發送數據給A,則B再給A的ACK中加入特別的標志;然后A與B分別在控制信道上再次發送CTS(A發送)和RES(B發送)來重新聲明A與B占用該數據信道的時間。這樣,A與B可以直接繼續使用原先占用的數據信道。
m)如果A(或B)周圍的節點C(或D),收到A(或B)發送的AOC,則C(或D)根據AOC中的數據信道判斷自身的信道使用列表中,該數據信道是否被A(或B)使用。如果是,則除去該信道使用信息;否則忽略。
n)如果A(或B)周圍的節點C(或D),收到某一節點E發送的DTS,則C(或D)根據DTS中的數據信道判斷自身的信道使用列表中,該數據信道是否已被E使用。如果是,則檢查DTS中的占用時間與信道使用列表中該數據信道還要被E占用的時間是否一致。如果一致則忽略;否則更新占用時間。如果沒有關于E占用該數據信道的信息,則加入E使用該信道的信息。
o)在A與B進行數據收發的過程中,A與B還時刻偵測控制信道。只要有與AB所占用的數據信道沖突的其他節點的請求,A與B立即以最大功率發送DTS(DTS中有AB所用數據信道及尚需占用的時間等信息)以拒絕其他節點征用該數據信道。
2仿真
本協議仿真采用C++構建的無線環境進行仿真。協議所用參數如下:SIFS為10 μs,DIFS為50 μs,ACK、RTS、CTS包的大小為14 Byte,數據包的大小為1 000 Byte,節點的最大覆蓋范圍為300 m,干擾范圍為覆蓋范圍的兩倍,即600 m。仿真主要分析協議功率控制的應用所帶來的網絡吞吐量的提升。
首先來看一下節點間距對功率控制和非功率控制情況下吞吐量的影響。在圖5中,筆者構造了一個節點均勻分布的場景,使節點數目保持一定,即100個節點。考察當節點間距25~300 m以25 m遞增的情況下網絡吞吐量的變化。從圖中可以看到,當節點間距較小時,此時節點密度較大,節點間的碰撞較多,所以功率控制的效果不太明顯。隨著節點間距的增大,節點沖突減少,功率控制的效果逐漸增大。當節點間距大到一定程度時,能夠利用功率控制來進行信道復用的節點數變少,功率控制的優勢不再明顯。當節點間距增大到300 m時,采用功率控制與沒有功率控制在網絡吞吐量上已經沒有區別。
下面再來看一下功率控制級數對網絡吞吐量的影響。在圖6中構建一個1 000 m×1 000 m的無線環境,在其中均勻分布了50個節點。從圖中可以看到,當功率級數小于等于2時,功率控制的效果并不好。當功率控制級數大于等于3時,級數對網絡吞吐量的提升基本上相差不大。所以,功率控制級數并不是越高越好。
為了獲得數據包大小與吞吐量之間的關系,在1 000 m×1 000 m的范圍內,均勻地放置了49個點(圖7)。數據包的長度從500 Byte開始以500 Byte為單位遞增,直到4 000 Byte。為了能更好地看出結果,此處對數據進行了處理,以數據包長度500 Byte時的吞吐量作為1,將所有值進行歸一化處理。結果表明,吞吐量隨著數據包的增長逐漸增大。這是因為數據包越長,一次控制幀交換能夠發送更多的數據。這樣控制幀所帶來的額外消耗顯得更小,從而帶來吞吐量的上升。
3結束語
本文對無線自組織網絡信道接入層的功率控制協議加以研究,在對前人提出的功率控制協議進行深入分析的基礎上,比較各協議的優點及存在的問題,在對前人的功率控制協議進行改進后,提出了一種多信道的功率控制協議。協議綜合考慮了暴露終端和隱藏終端問題,并考慮到了信號沖突導致節點不能正確認知網絡狀態的問題,給予節點第二次避免沖突的能力。仿真結果證明,該協議能較好地避免節點沖突并提高網絡容量。
參考文獻:
[1]TSENG Y C, WUT S L, LIN C Y, et al. A multi-channel MAC protocol with power control for multi-hop 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-hop 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-hop 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格式閱讀原文”