摘要:提出了一種新型的移動Ad hoc網(wǎng)絡(luò)(MANET)可靠多播傳輸協(xié)議,可靠的自適應(yīng)擁塞控制傳輸協(xié)議(reliable adaptive congestion controlled transport protocol, ReACT)聯(lián)合了源擁塞錯誤控制和接收節(jié)點(diǎn)發(fā)起的局部修復(fù)機(jī)制,修復(fù)可能在MANET中發(fā)生的各種不同的丟失。通過仿真實(shí)驗對協(xié)議的性能作了分析,結(jié)果證明ReACT有較好的可靠性。
關(guān)鍵詞:移動無線自組織網(wǎng)絡(luò); 局部修復(fù)機(jī)制; 可靠的自適應(yīng)擁塞控制傳輸協(xié)議; 擁塞控制
中圖分類號:TP393文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)02-0581-03
MANET[1]沒有任何的固定基礎(chǔ)設(shè)施,主機(jī)通過彼此的無線電波通信。 由于有限的電波傳輸范圍,路徑通常是多跳的,每個主機(jī)可能充當(dāng)分組的轉(zhuǎn)發(fā)節(jié)點(diǎn)#65380;源節(jié)點(diǎn)或目的節(jié)點(diǎn)。因為它們易于使用,所以MANET很有吸引力。MANET的一些獨(dú)有特征使其可靠的多播傳輸機(jī)制設(shè)計具有相當(dāng)?shù)奶魬?zhàn)性。這些特征主要有以下幾點(diǎn):
a)移動性#65380;節(jié)點(diǎn)密度#65380;隨時可變的信道狀況等因素,使MANET具有異質(zhì)丟失特性。
b)較低層協(xié)議的影響。例如,固有的不公平和不可靠的控制以競爭為基礎(chǔ)的媒體接入?yún)f(xié)議(如IEEE 802.11使用簡單的CSMA進(jìn)行廣播分組,因此不提供可靠的廣播傳輸)。
c) MANET對負(fù)荷的極端敏感性。
這些特征使在有線網(wǎng)絡(luò)中的可靠多播協(xié)議的設(shè)計選擇不能適用于MANET環(huán)境。筆者認(rèn)為在MANET中的多播可靠性不能像在有線網(wǎng)絡(luò)中那樣獨(dú)自地重傳丟失的分組, 如可擴(kuò)展的可靠多播(SRM)[2]。ReACT[3]特征是:結(jié)合源節(jié)點(diǎn)為基礎(chǔ)的速率控制和局部錯誤修復(fù);使用丟失區(qū)分引起基于源節(jié)點(diǎn)的控制或局部修復(fù)。通過廣泛的仿真, 本文在MANET的大范圍條件下評估ReACT性能。在本文實(shí)驗中, 對于潛在的路由機(jī)制,使用基于mesh網(wǎng)的多播協(xié)議, 更確切地說是按需的多播路由協(xié)議(ODMRP)[4]。
1現(xiàn)有的幾種多播協(xié)議
1)SRM
SRM[2]是基于NACK(否定確認(rèn))的#65380;完全分布式的可靠多播協(xié)議,多播組內(nèi)的每個成員都定期地發(fā)送會話消息,里面含有自己已經(jīng)接收到的數(shù)據(jù)信息。
SRM的基本思想如下:
a)發(fā)送者多播的消息包含發(fā)送者的成員ID和消息ID。
b)接收通過兩種方式來檢測是否丟失消息,即檢查來自同一個發(fā)送者的消息ID是否有缺口;其他接收者多播的會話消息。
c)當(dāng)接收者檢測到消息丟失時,多播請求消息。組中其他有此消息的成員會多播恢復(fù)消息。
d)為避免請求和恢復(fù)消息的內(nèi)爆,每個成員在發(fā)送這些消息之前睡眠一段時間。睡眠時間的長短根據(jù)消息的請求者和發(fā)送者之間的距離來確定。
SRM在數(shù)據(jù)修復(fù)延遲性能上不穩(wěn)定,網(wǎng)絡(luò)規(guī)模變大時性能將顯著下降。數(shù)據(jù)修復(fù)延遲可能很大,導(dǎo)致吞吐量性能很不理想。SRM是擴(kuò)展性較好的多播協(xié)議,也是較簡單的協(xié)議。
2)TORM
TORM[5]是傳輸層多播協(xié)議,相對于其他多播協(xié)議有很多新的特性,能更好地支持實(shí)時的#65380;異構(gòu)網(wǎng)絡(luò)下大規(guī)模的交互應(yīng)用。TORM基于IP單播和多播兩種模式進(jìn)行混合的數(shù)據(jù)傳輸。TORM支持自適應(yīng)傳輸,較好地解決了異構(gòu)性問題。一方面TORM把相同能力的接收者劃分到不同域中,使其不會相互干擾,一個慢接收者不會拖慢整個會話;另一方面支持應(yīng)用層的數(shù)據(jù)變換,能夠?qū)Σ煌蛑械慕邮照甙l(fā)送與其能力相匹配質(zhì)量的數(shù)據(jù)。
TORM在數(shù)據(jù)修復(fù)延遲性能方面較好,比較適合實(shí)時性的應(yīng)用,它還有較好的可擴(kuò)展性。
3)MOSRM
MOSRM[6]實(shí)現(xiàn)了支持多層次次序性的可擴(kuò)展的可靠多播協(xié)議。一方面為應(yīng)用層提供可擴(kuò)展的可靠多播協(xié)議,同時為滿足不同的應(yīng)用需求提供可配置的次序性協(xié)議。應(yīng)用程序可以根據(jù)需要來選擇不同層次的次序性。MOSRM通過實(shí)現(xiàn)SRM協(xié)議作為底層的可靠多播協(xié)議,提高了系統(tǒng)的可擴(kuò)展性,并解決了消息的確認(rèn)內(nèi)爆問題。將消息傳遞的次序性與可靠性分離,使協(xié)議具有很好的靈活性。
2ReACT
2.1概述
設(shè)計ReACT[3]的前提是在無線環(huán)境中丟失可能由各種不同因素引起,應(yīng)該進(jìn)行不同的處理,沒有必要激發(fā)擁塞控制和減慢源節(jié)點(diǎn)的速率,因為這些丟失不代表全局性的擁塞。 此外,在那些受影響的鄰近區(qū)域通過局部性修復(fù)#65380;反饋和重傳,不占用源節(jié)點(diǎn)的信道,因此能改良協(xié)議的效率。另一方面,擁塞丟失報告給源節(jié)點(diǎn),激發(fā)降低發(fā)送率和錯誤修復(fù)。
2.2基于源節(jié)點(diǎn)的控制
ReACT使用一個基于速率的擁塞控制方案有兩個主要操作方法,即起始的速率建立(即決定起始發(fā)送速率)和擁塞控制。 ReACT嘗試決定適當(dāng)?shù)陌l(fā)送速率:避免速率太低,起始帶寬不夠用;速率太高又會導(dǎo)致?lián)砣?/p>
建立起始速率的一個方法是探尋整個網(wǎng)絡(luò),然后根據(jù)網(wǎng)絡(luò)的總體情況決定發(fā)送速率。 雖然該方式能提供關(guān)于網(wǎng)絡(luò)的全部狀態(tài)的信息, 但是它不是可擴(kuò)展的。對于ReACT,本文根據(jù)與源節(jié)點(diǎn)直接連接的成員確定起始速率,需提供源節(jié)點(diǎn)的鄰近區(qū)域當(dāng)前狀況的評估。 速率的決定是為了滿足鄰近區(qū)域中最壞的接收節(jié)點(diǎn)。
被多播源節(jié)點(diǎn)發(fā)送的第一個數(shù)據(jù)分組作為一個探尋分組,每個直接連接的成員用Probe reply回復(fù)。在發(fā)送第一個分組后,源節(jié)點(diǎn)等待probe wait time(探尋等待時間)接受對它的探尋答復(fù)。probe wait time是根據(jù)網(wǎng)絡(luò)直徑及由排隊和傳輸造成的延遲設(shè)定的。如果源節(jié)點(diǎn)沒有監(jiān)聽到任何接收節(jié)點(diǎn)探尋分組的消息,它將在每個探尋等待時間間隔內(nèi)繼續(xù)發(fā)送探尋分組。 然后源節(jié)點(diǎn)計算在起始期間報告的探尋的最大往返時間的倒數(shù),把它作為起始的發(fā)送速率。
速率通過直接連接的鄰近節(jié)點(diǎn)在每個探尋間隔期間定期地更新。 如果在最后探尋間隔時間內(nèi)沒有反饋發(fā)送到源節(jié)點(diǎn),接收節(jié)點(diǎn)將產(chǎn)生一個明確的探尋回復(fù)分組。如果它們檢測到獲取源節(jié)點(diǎn)分組的重要時間變化,接收節(jié)點(diǎn)只發(fā)送一個更新給源節(jié)點(diǎn)。探尋間隔被設(shè)置得足夠大以避免源節(jié)點(diǎn)中發(fā)送速率的波動以及減少探尋期間反饋開銷。本實(shí)驗指出, 設(shè)定開始的速率太高可能導(dǎo)致極端的(有時無法修復(fù))擁塞及很多分組會丟失(例如,如果從接收節(jié)點(diǎn)到源節(jié)點(diǎn)的反饋路徑阻塞)。源節(jié)點(diǎn)繼續(xù)以該速率發(fā)送, 直到它聽到一個否定的確認(rèn)(NACK)接收節(jié)點(diǎn)經(jīng)歷的擁塞。 在這種情況下,它反饋擁塞控制。
ReACT擁塞控制工作如下:源節(jié)點(diǎn)開始以最初探尋決定的速率多播數(shù)據(jù)分組,如上所述。在接收到NACK后,源節(jié)點(diǎn)把NACK發(fā)送者加入到它的接收節(jié)點(diǎn)名單中,進(jìn)入丟失修復(fù)機(jī)制。由NACK報告的丟失序列號被添加到全局性的重傳列表中。重傳列表是一個所有接收節(jié)點(diǎn)報告的丟失序列號的集合。無論源節(jié)點(diǎn)何時重傳,列表都被更新,避免再次重傳。除此之外,源節(jié)點(diǎn)跟蹤端到端的潛在信息和發(fā)送NACK的每個接收節(jié)點(diǎn)的關(guān)系。
源節(jié)點(diǎn)通過選擇來自接收節(jié)點(diǎn)列表的一個接收節(jié)點(diǎn),稱為反饋接收節(jié)點(diǎn),開始丟失修復(fù); 源節(jié)點(diǎn)再由反饋接收節(jié)點(diǎn)重傳被請求的一個丟失的分組,或多播一個新的分組(如果所有丟失的分組被請求,接收節(jié)點(diǎn)將被重傳)。分組報頭包括命令反饋接收節(jié)點(diǎn)回復(fù)信息,通過單播以(肯定的)確認(rèn)答復(fù)(ACK)指出所有分組成功地收到或敘述丟失分組的序列號。 所有的其他接收節(jié)點(diǎn)處理沒有回復(fù)源節(jié)點(diǎn)的分組。源節(jié)點(diǎn)重傳被請求的分組直到反饋接收節(jié)點(diǎn)接收所有的分組。 同時重傳一個分組的設(shè)計策略,當(dāng)檢測到擁塞時,減慢源節(jié)點(diǎn)的速率。 因為只有反饋接收節(jié)點(diǎn)能回復(fù)源節(jié)點(diǎn),所以ACK/NACK擁塞問題被避免。NACK速率受限能避免過度的反饋開銷。
一旦反饋接收節(jié)點(diǎn)獲得所有的分組, 它將對源節(jié)點(diǎn)單播ACK,表明所有分組的成功接收。 在接收ACK后,源節(jié)點(diǎn)將該節(jié)點(diǎn)從接收節(jié)點(diǎn)列表中除去,以循環(huán)的方式選擇一個新的反饋接收節(jié)點(diǎn), 重復(fù)這一過程,直到接收節(jié)點(diǎn)列表為空。當(dāng)接收節(jié)點(diǎn)列表為空時, 源節(jié)點(diǎn)根據(jù)周期的探尋分組回到最近的發(fā)送速率。然而如果源節(jié)點(diǎn)在規(guī)定的往返時間間隔內(nèi)沒有接收到來自反饋接收節(jié)點(diǎn)的NACK或ACK,從接收節(jié)點(diǎn)列表中刪除之前,源節(jié)點(diǎn)將嘗試最大次數(shù)。 刪除的接收節(jié)點(diǎn)以后可能通過正常的NACK機(jī)制再與源節(jié)點(diǎn)連接。
往返發(fā)送和等待方式不需要對每個接收節(jié)點(diǎn)多次重傳相同的丟失分組。 在最好的情況下,丟失的分組僅被源節(jié)點(diǎn)重傳一次,因為重傳是多播的方式。2.3基于接收節(jié)點(diǎn)的錯誤修復(fù)
ReACT基于接收節(jié)點(diǎn)的修復(fù)機(jī)制的主要目標(biāo)是檢測局部能修復(fù)的丟失,避免源節(jié)點(diǎn)擁塞(因此避免觸發(fā)擁塞控制)。擁塞丟失應(yīng)該被報告給源節(jié)點(diǎn)以便其減慢速率。為了修復(fù)局部性的丟失,節(jié)點(diǎn)一定要獲得潛在的修復(fù)節(jié)點(diǎn)的其他組成員的信息,多播信息分組在多播樹或mesh網(wǎng)上轉(zhuǎn)發(fā)時,收集成員信息。因此它不依賴于潛在的多播路由協(xié)議。本文只關(guān)心來自源節(jié)點(diǎn)的轉(zhuǎn)發(fā)路徑上的修復(fù)節(jié)點(diǎn)。
每個節(jié)點(diǎn)維持一張成員表,存儲當(dāng)前修復(fù)的節(jié)點(diǎn)。 由于路徑的不穩(wěn)定性, 成員表分配了一個終止時間(LR valid time)。 此外,每個節(jié)點(diǎn)維持一定量的可靠性,即它接受來自修復(fù)節(jié)點(diǎn)的多播數(shù)據(jù)分組的速率。如果存在多個節(jié)點(diǎn),將選擇一個修復(fù)節(jié)點(diǎn)使用。 每次登錄都有一個標(biāo)志表明修復(fù)節(jié)點(diǎn)的路徑是否擁塞。 這個標(biāo)志的設(shè)定依據(jù)是:如果任何的中間節(jié)點(diǎn)在修復(fù)節(jié)點(diǎn)的路徑中,而修復(fù)節(jié)點(diǎn)MAC隊列大小超過了congestion threshold(擁塞極限)。
在多播數(shù)據(jù)分組中,IP選項域用來攜帶路徑#65380;跳數(shù)和擁塞信息。當(dāng)分組被轉(zhuǎn)發(fā)給轉(zhuǎn)發(fā)組,這些域被更新。 路徑字段包括來自多播組成員的分組傳輸?shù)穆窂?跳數(shù)字段攜帶路徑的長度;擁塞字段表明路徑中的任何一個節(jié)點(diǎn)是否是擁塞的。 每當(dāng)一個節(jié)點(diǎn)決定執(zhí)行局部修復(fù)時,它選擇一個有最高的接受率#65380;最低的跳數(shù)和最近的時間標(biāo)記的非擁塞成員。 圖1和表1顯示了一張成員表樣本#65380;由成員節(jié)點(diǎn)F維護(hù)的使用基于樹狀或mesh狀的協(xié)議的成員表。基于mesh的協(xié)議可能因為路徑多余產(chǎn)生多個逆流的成員。基于樹狀的協(xié)議也使用廣播傳輸, 接收節(jié)點(diǎn)可能接收其父節(jié)點(diǎn)之外的一個節(jié)點(diǎn)的分組。 選擇一個以它的可靠性和鄰近性為基礎(chǔ)的逆流修復(fù)節(jié)點(diǎn)增加了局部分組修復(fù)成功的可能性。
反饋的產(chǎn)生是受限于每一個最小的反饋時間間隔,以避免過度的反饋開銷。 因此,在每一個最小的反饋間隔內(nèi),接收節(jié)點(diǎn)檢測它們是否需要發(fā)送NACK給鄰近的成員執(zhí)行錯誤恢復(fù)。 在設(shè)定最小反饋inteval(時間間隔)方面有一個折中。 當(dāng)使用較小時間間隔時, 筆者發(fā)現(xiàn)有較高的分組傳輸率,但是有較高的開銷和較低的吞吐量。一個NACK分組包括節(jié)點(diǎn)丟失的序列號。如果丟失在局部被發(fā)現(xiàn),NACK被發(fā)送到選中的修復(fù)節(jié)點(diǎn),節(jié)點(diǎn)使用緩存的源節(jié)點(diǎn)路徑與修復(fù)節(jié)點(diǎn)通信; 如果丟失是由于全局性的擁塞或如果節(jié)點(diǎn)發(fā)現(xiàn)它正在擁塞中,那么它發(fā)送NACK給源節(jié)點(diǎn),使用潛在的單播路由協(xié)議。
3仿真[3]
仿真工具為NS-2。使用的路由協(xié)議為ODMRP[4]#65380;AODV[7],分別為多播和單播路由協(xié)議。電波的傳輸范圍是447∶807M,數(shù)據(jù)傳輸率為2 Mbps。使用的MAC協(xié)議是IEEE 802.11。與簡單的可靠自適應(yīng)輕量級多播協(xié)議(RALM)[8]比較評估ReACT的性能,RALM協(xié)議是一個嚴(yán)格基于源節(jié)點(diǎn)的控制方案。 本文在大范圍的網(wǎng)絡(luò)情況下評估ReACT的性能, 特別地關(guān)注在各種不同負(fù)荷之下和節(jié)點(diǎn)移動性的影響下ReACT的性能。ReACT使用的參數(shù)值如表2所示。
3.1擁塞的影響
圖2顯示在不同負(fù)荷下可靠的傳輸率。當(dāng)負(fù)荷增加時,由于擁塞和隱藏終端沖突,丟包率也隨之增加。RALM和ReACT執(zhí)行錯誤修復(fù)和擁塞控制,它們能達(dá)到非常高的可靠性。RALM使用NACKs執(zhí)行嚴(yán)格的基于源節(jié)點(diǎn)的錯誤修復(fù)機(jī)制。當(dāng)新的數(shù)據(jù)分組到達(dá)后,發(fā)現(xiàn)丟失序列號時,產(chǎn)生NACKs。 因此,如果一個節(jié)點(diǎn)停止接收來自一個源節(jié)點(diǎn)的數(shù)據(jù),它將不會產(chǎn)生NACK來修復(fù)丟失的分組。當(dāng)與ReACT相比較,這會導(dǎo)致在低負(fù)荷下,RALM的可信度降低以及可信度不穩(wěn)定。另一方面, 由于ReACT強(qiáng)健的錯誤修復(fù)機(jī)制在各種不同的負(fù)荷下能達(dá)到較好的可信度。
圖3闡明了ReACT聯(lián)合局部和基于源節(jié)點(diǎn)的修復(fù)機(jī)制在吞吐量上的影響。與RALM相比較,觀察到ReACT達(dá)到非常高的(可靠的)吞吐量。 此外, ReACT甚至能夠在較高的負(fù)荷下保持其吞吐量的穩(wěn)定;而在較高的通信量下,RALM遭受嚴(yán)重的丟失。 這主要因為當(dāng)分組丟失被局部修復(fù)時,局部修復(fù)避免上報源節(jié)點(diǎn)。 它表明RALM開始以申請的速率發(fā)送,然后當(dāng)收到來自接收節(jié)點(diǎn)反饋時,執(zhí)行擁塞控制。 這先應(yīng)式的行為可能導(dǎo)致嚴(yán)重的擁塞,使接收節(jié)點(diǎn)的NACK不能到達(dá)源節(jié)點(diǎn)。當(dāng)增加負(fù)荷時,這是RALM的可靠吞吐量降低的理由。 另一方面, ReACT開始速率的設(shè)定應(yīng)該有利于可靠的吞吐量。圖3也闡明了擁塞門檻的效果, 被設(shè)定為80%和50%的最大MAC等待的隊列。
3.2節(jié)點(diǎn)移動的影響
在這些實(shí)驗中,筆者使用隨機(jī)—路徑—節(jié)點(diǎn)的移動性模型,使用連續(xù)時間和0 m/s的最小速度, 使最大速度在5~20 m/s變化。 在這些移動的場景中,總的網(wǎng)絡(luò)負(fù)荷是200 kbps。圖4表示在不同節(jié)點(diǎn)移動的速度下,RALM和ReACT達(dá)到的可靠傳輸率。甚至在高的移動性的情況下,RALM和ReACT都能夠達(dá)到好的可靠性。 如先前討論的, RALM的可靠傳輸率的微小變化是由于接收數(shù)據(jù)產(chǎn)生的NACK產(chǎn)生機(jī)制與預(yù)期的一致。
圖5顯示當(dāng)增加節(jié)點(diǎn)移動時,兩協(xié)議的吞吐量下降。 在ReACT中, 發(fā)送速率更新是基于接收節(jié)點(diǎn)的探尋分組的延遲報告。 當(dāng)增加節(jié)點(diǎn)移動性時,發(fā)生的延遲變得高度可變。 ReACT使用最高的延遲報告更新發(fā)送速率, 基本上能降低吞吐量。 因此,頻繁探尋在增加節(jié)點(diǎn)移動性的情況下,能改善吞吐量,但探尋回復(fù)增加了開銷。ReACT局部修復(fù)機(jī)制能修復(fù)局部移動產(chǎn)生的丟失,而且能達(dá)到比RALM更高的吞吐量。
4結(jié)束語
本文描述了自適應(yīng)擁塞控制的多播傳輸協(xié)議ReACT,它是在MANET中實(shí)現(xiàn)可靠和及時的多播傳輸協(xié)議。 ReACT的顯著特征是它基于源節(jié)點(diǎn)控制和局部修復(fù)的組合。ReACT基于源節(jié)點(diǎn)的控制包括開始的速率建立和基于接收節(jié)點(diǎn)反饋的擁塞修復(fù),使用停等協(xié)議調(diào)整發(fā)送速率。通過仿真, 本文評估了ReACT性能并將其與RALM協(xié)議作比較。 結(jié)果顯示ReACT能用比較低的開銷改善吞吐量和分組傳輸。通過它的擁塞控制機(jī)制, ReACT的傳輸能夠在多種情況下具有很好的可靠性;同時也顯示了ReACT局部修復(fù)機(jī)制的優(yōu)點(diǎn),即避免源節(jié)點(diǎn)不必要地減少它的速率而且限制接收節(jié)點(diǎn)反饋的范圍,減少協(xié)議開銷。在將來的工作中,筆者將通過擴(kuò)展?jié)撛诘膯尾ヂ酚蓪拥南嗷プ饔茫饕诒容^高的節(jié)點(diǎn)移動性場景下改良ReACT的效率,也會研究傳輸層與MAC層之間的交互作用。
參考文獻(xiàn):
[1]CORSON S,MACKER J.RFC 2501,Mobile Ad hoc networking(MANET):routing protocol performance issues and evaluation considerations[S], 1999.
[2]FLOYD S,JACOBSON V,LIU C, et a1. A reliable multicast framework for light weight sessions and application level framing[J].IEEE/ACM Trans on Networking,1997,5(6):784-803.
[3]RAJENDRAN V, OBRACZKA K,YI Y J, et al. Combining source and localized recovery to achieve reliable multicast in multi-h(huán)op Ad hoc networks[J]. Computer Science, 2005,24(6):112-124.
[4]LEE S J, SU W, GERLA M. On demand multicast routing protocol in multihop wireless mobile networks[J]. ACM/Kluwer Mobile Networks and Applications,2002,7(6):441-453.
[5]裴云彰,劉艷.全局有序的可靠多播協(xié)議[J].清華大學(xué)學(xué)報:自然科學(xué)版,2001,41(1):53-56.
[6]鄧廷軍,徐學(xué)硼.支持多層次次序性的可擴(kuò)展的可靠多播協(xié)議[J].計算機(jī)工程,2003,29(13):73-75.
[7]PERKINS C,BELDING-ROYER E,DAS S. RFC 3561,Ad hoc on-demand distance vector(AODV)routing[S]. 2003.
[8]TANGK, OBRACZKA K, LEE S J, et al. Reliable adaptive lightweight multicast protocol[J]. IEEE Communications Magazine,2003,2(5):1054-1058.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”