摘要:著重研究了應用在分層分布式無線網(wǎng)絡中的隨機接入FAMA協(xié)議,F(xiàn)AMA協(xié)議是應用在高速戰(zhàn)術無線分組網(wǎng)絡的協(xié)議,通過對FAMA協(xié)議的深入研究,表明FAMA-NCS協(xié)議使用包序列方式就可以大大提高性能。
關鍵詞:FAMA協(xié)議;分層分布式無線網(wǎng)絡;算法
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2009)05-1081-02
The Application of FAMA Protocol in Tiered Distributed Wireless Network
ZHANG Li-cheng
(Guangdong Pharmacy College Modern Education Technology Center, Guangzhou 510006, China)
Abstract:This paper focuses on the application of random access FAMA protocol in tiered distributed wireless networks, which is used in tactical high-speed wireless packet networks. The in-depth study of FAMA protocol shows that FAMA-NCS agreement means the use of packet sequence will greatly improve performance.
Key words:FAMA protocol;tiered distributed wireless networks;algorithm
1 引言
FAMA協(xié)議于1995年由美國科學家提出,用于無線分組網(wǎng)絡,F(xiàn)AMA協(xié)議提出的目的是為了更好地解決多址接入沖突避免協(xié)議(MACA)中仍然存在的終端隱藏問題,F(xiàn)AMA代表了一類MAC層協(xié)議,這種方案分為兩個階段,首先獲取信道(通過發(fā)出大量的確認數(shù)據(jù)包),然后就是實際的發(fā)送數(shù)據(jù)包。這樣就可以比較有效的避免沖突,因為每次都能保證該信道被分配后能成功傳送數(shù)據(jù)而沒有沖突。FAMA是通過延長RTS和CTS控制報文的長度來消除控制報文的沖突,比較好地解決了隱終端問題。FAMA還允許一次RTS- CTS交互成功,結(jié)點可發(fā)送多個報文,從而增加了網(wǎng)絡的吞吐量。FAMA是基于單信道的分布式無線網(wǎng)絡信道接入?yún)f(xié)議中較成功的一種。美軍在無線互聯(lián)網(wǎng)網(wǎng)關(WINGS)中使用的信道接入?yún)f(xié)議就是FAMA協(xié)議,國內(nèi)已用于寬帶數(shù)字電臺中,但還未對該協(xié)議的性能作定性定量分析。
2 FAMA協(xié)議的算法機制
FAMA協(xié)議的接入過程分兩個階段:首先獲取信道的控制權(FLOOR)(通過發(fā)出大量的控制包),然后就是實際的發(fā)送數(shù)據(jù)包。所謂“FLOOR”捕獲,是指有數(shù)據(jù)發(fā)送的站點在發(fā)送數(shù)據(jù)前,先要獲得接收方周圍的信道控制權,這樣可以確保傳送數(shù)據(jù)包時不會被碰撞。為了確保FLOOR捕獲成功,CTS信號持續(xù)時間必須比RTS信號持續(xù)時間長,這樣才能保證來自接收端的CTS信號足夠長,讓跟發(fā)送端互為隱藏的終端收到這個禁止發(fā)送的信號。雖然諸如MACA, IEEE802.11 DFWMAC, MACAW等協(xié)議均采用了RTS/CTS握手協(xié)議來解決CSMA中的隱藏終端問題,但是我們可以很容易就用例子來顯示它們并不能很好解決隱藏終端問題,而會在發(fā)送DATA期間,產(chǎn)生碰撞。
FAMA協(xié)議中的“CTS Dominance”運行機制如下:站點B發(fā)送CTS期間,站點A也試圖發(fā)送RTS獲取信道。A可以比CTS發(fā)送晚T秒,否則A就可以聽到CTS信號。T的最大值就是CTS在空氣中的傳播時間。因為CTS持續(xù)時間大于RTS長度加發(fā)送接收轉(zhuǎn)換時間(終端從發(fā)送完畢再轉(zhuǎn)換到接收狀態(tài)準備偵聽信道所需時間),A發(fā)完RTS后就能夠偵聽到信道有噪聲,從而主動選擇退避。另一方面,A開始發(fā)送RTS的時刻可以比B開始發(fā)CTS的時刻早T秒,因為如果超過T秒,B就會偵聽到RTS,而不會發(fā)送CTS。在這種情況,CTS到達A點的時刻比發(fā)RTS的時刻晚2T秒,此時由于CTS長,A同樣可以聽到信道有噪聲選擇退避。
3 FAMA-NCS協(xié)議的實現(xiàn)過程
FAMA-NCS協(xié)議的具體實現(xiàn)過程是:已初始化的用戶站必須等待段時間,這個時間為在信道上發(fā)送最長信息包所花的時間以及在整個信道上的來回時間之和,它使任意一個正在接收數(shù)據(jù)包的相鄰站順利完成接收。這個初始化時間也使該用戶站能了解進行中的無線信道信息傳輸情況,如果在初始化時間內(nèi)沒有檢測到載波,用戶站便轉(zhuǎn)向無源(PASSIVE)狀態(tài),否則轉(zhuǎn)向遠端(REMOTE)狀態(tài)。如果初始化正確(如,沒有信息包發(fā)送,又偵聽到空閑信道),用戶站才能處于無源(PASSIVE)狀態(tài)。在所有其它狀態(tài)下,用戶站必須用一段時間偵聽信道,足以讓相鄰站有時間完成數(shù)據(jù)接收。處于PASSIVE狀態(tài),并偵聽到載波的用戶站轉(zhuǎn)向REMOTE狀態(tài)。另一方面,在PASSIVE狀態(tài)下,收到信息包準備發(fā)送時,用戶站必須發(fā)出一個請求發(fā)送的信號( RTS)然后轉(zhuǎn)向RTS狀態(tài),發(fā)送信息的用戶站須等足夠長時間讓對方發(fā)回CTS信號。如果在允許時間沒有收到CTS,發(fā)送轉(zhuǎn)向BACKOFF狀態(tài)。如果發(fā)送者在發(fā)出RTS后聽到信道上有噪音,假定與相鄰的RTS相碰撞,那么須等足夠長時間,讓相鄰站接收最大長度的數(shù)據(jù)包。也就是說,收到CTS以后,發(fā)送者才發(fā)送自己的數(shù)據(jù)包,由于CTS在發(fā)送端會被污染,所以一旦目標用戶站發(fā)出自己的CTS,它只需等最長的來回時間,偵聽源臺發(fā)出的數(shù)據(jù)包首部。如在規(guī)定的時間內(nèi)沒有收到,則目的站用戶轉(zhuǎn)向BACKOFF狀態(tài)或轉(zhuǎn)向PASSIVE狀態(tài)。
對于各站點偵聽到信道忙時,根據(jù)不同情況采取不同退避時間,具體做法如下:
1) 當偵聽到非本站的RTS信號后,站點必須等足夠長時間讓目的站點發(fā)送給源站點CTS信號。
2) 聽到非本站的CTS信號后,站點必須等足夠長時間讓其它站點接收數(shù)據(jù)包。
3) 當偵聽到DATA信號后,也需要等待一個時間,讓目的站點處理數(shù)據(jù)。
4) 當偵聽到噪聲(控制包碰撞了)后,等待數(shù)據(jù)要足夠長,使得其它站點能夠在此時間內(nèi)接收到最大數(shù)據(jù)包。
為了提高信道的利用率,一個站點成功獲取FLOOR后,可以動態(tài)地發(fā)送多個數(shù)據(jù)包,發(fā)送個數(shù)可以設置一個最大限額,這就是所謂的包序列發(fā)送,使用一個簡單的握手機制就可以支持包序列的發(fā)送。當有多個數(shù)據(jù)包要發(fā)送時,在DATA數(shù)據(jù)幀中,增加一個“MORE”標志位,當目的站點接收到DATA幀,要查看“MORE\"標志位,如果置位了,就立即返回一個CTS,用以通知周圍站點發(fā)送者還有數(shù)據(jù)要發(fā)送,請它們繼續(xù)推延發(fā)送。如果沒有置位,就不用返回CTS.
4 FAMA協(xié)議在分層分布式無線網(wǎng)絡中的應用
FAMA協(xié)議非常適用于單信道網(wǎng)絡。對于平面結(jié)構(gòu)的全分布式網(wǎng)絡,就是單信道網(wǎng)絡。而當網(wǎng)絡的規(guī)模增大時,需要采用分層分布式網(wǎng)絡。分層分布式網(wǎng)絡往往是多信道網(wǎng)絡。我們來看一下FAMA協(xié)議在雙層分布式網(wǎng)絡中的應用。在雙層分布式無線網(wǎng)絡中,經(jīng)常采用如下信道分配方案:1) Fl頻率用于控制信道;2) F2頻率用于群首間的數(shù)據(jù)通信;3) F3頻率用于群成員間的數(shù)據(jù)通信。美軍在其戰(zhàn)術互聯(lián)網(wǎng)中使用近期數(shù)字電臺就是采用該方案。因此需要將FAMA協(xié)議進行修改才能實現(xiàn)此方案。
在分層分布式網(wǎng)絡中修改的FAMA協(xié)議如下:公共F1信道發(fā)送RTS控制包,來建立數(shù)據(jù)包發(fā)送的信道申請。RTS控制包包含申請數(shù)據(jù)發(fā)送采用的數(shù)據(jù)信道。CTS包響應RTS包,DATA包和CTS包均在數(shù)據(jù)信道發(fā)送。RTS-CTS握手成功就可以發(fā)送DATA。
對于分層分布式移動無線網(wǎng)絡,隱藏終端問題不可避免,采用發(fā)送包序列的FAMA-NCS協(xié)議可以得到更好的吞吐量。對比802.11的MAC層協(xié)議和修改的FAMA協(xié)議,兩者均使用RTS/CTS協(xié)議、載波偵聽機制,它們的不同之處是802.11使用了分布式協(xié)調(diào)算法(DCF),而修改的FAMA協(xié)議使用長一點的CTS控制包來控制信道使用權的獲得。所以,修改的FAMA方案的存在著CTS的錯誤探測缺點。在數(shù)據(jù)分組傳輸期間,偵聽沖突分組載波的節(jié)點必須保持靜默,即便沖突是RTS報文造成也是如此。這樣一來,共享信道就因空閑而被浪費掉了。CTS的錯誤探測導致了共享信道的不必要的長時間空閑,降低了信道的吞吐量。而修改的FAMA協(xié)議使用包序列方式就可以大大提高性能,在重負載或包到達比較密集時,使用包序列的修改的FAMA協(xié)議的性能遠遠超過802.11,所以在重負載或包達到比較密集時,采用發(fā)送包序列方式可以大大提高網(wǎng)絡性能,可以在分層分布式無線網(wǎng)絡中推廣使用。
5 結(jié)論
FAMA協(xié)議于1995年由美國科學家提出,用于無線分組網(wǎng)絡,解決隱藏終端問題,是一種用于分布式無線網(wǎng)絡的隨機接入?yún)f(xié)議。FAMA協(xié)議是美軍在1997年研制的無線互聯(lián)網(wǎng)關(WING)中使用的MAC協(xié)議。本文研究了FAMA協(xié)議在分層分布式無線網(wǎng)絡中的應用,闡述了FAMA協(xié)議的算法機制和實現(xiàn)過程。
參考文獻:
[1] 潭齊.分組無線網(wǎng)的介質(zhì)訪問控制分析及220B的MAC協(xié)議仿真[D].西南交通大學碩士論文,2003.
[2] 張文柱,李建東,劉凱.UPMA協(xié)議在多跳分布式無線網(wǎng)絡中的性能研究[J].西安電子科技大學學報(自然科學版),2002,29(2).
[3] YOUSEFI Saleh,F(xiàn)ATHY Mahmood,BENSLIMANE Abderrahim. Performance of beacon safety message dissemination in Vehicular Ad hoc NETworks (VANETs)[J]. Journal of Zhejiang University(Science A:An International Applied Physics Engineering Journal),2007,(12).
[4] 翟秋生,任庭熹.Ad Hoc網(wǎng)絡802.11 DCF性能分析[J].微計算機信息,2007,(33).
[5] 馮軍煥,范平志.移動Ad hoc網(wǎng)絡改進型FAMA多址接入?yún)f(xié)議[J].計算機應用研究, 2007,(12):342-344.
[6] 劉艷,李德識,陶維亮.無線傳感器網(wǎng)絡MAC協(xié)議的設計研究[J].傳感器與微系統(tǒng),2007,(03):24-27.