鐘 秋 陳曉華 劉丹譜
摘要:移動組播技術(shù)是近幾年來無線互聯(lián)網(wǎng)領(lǐng)域的一個研究熱點,其相當一部分應(yīng)用要求移動環(huán)境下也能提供相當于有線鏈路的可靠性。但是移動環(huán)境下的突出特點就是鏈路差錯率高,組播成員位置動態(tài)變化,這給移動組播尤其是可靠移動組播提出了很大的挑戰(zhàn)?;贗Pv4的可靠移動組播算法具有兩種不同的設(shè)計思想,其中一部分算法是針對現(xiàn)有的移動組播算法存在的問題,進行可靠性方面的改進,另一部分算法是專門用于實現(xiàn)可靠移動組播的,它們大都引入了新的功能實體來保證可靠性。
關(guān)鍵詞:移動IP;移動組播;可靠組播;安全組播
近年來,隨著GPRS、EDGE、3G和Wi-Fi等無線技術(shù)的成熟和實施,越來越多的人希望在移動中借助筆記本或智能手機接入Internet。所以,讓現(xiàn)有的Internet支持移動就成為一個很迫切的需求。另外,在很多具體應(yīng)用,例如網(wǎng)絡(luò)視頻會議、網(wǎng)絡(luò)游戲中,不僅需要支持移動性,還需要有一定服務(wù)質(zhì)量(Qos)保證的組播技術(shù)與之結(jié)合。
在移動環(huán)境中,移動節(jié)點常常要使用無線鏈路,其最顯著的特征是受限的鏈路帶寬和較高的錯誤率;另外,移動節(jié)點體積較小,處理能力和存儲能力有限,而IP組播節(jié)省資源的高效特性,恰恰對移動節(jié)點十分重要。移動和組播的結(jié)合將具有十分廣泛的發(fā)展空間。
固定網(wǎng)絡(luò)的組播技術(shù)中,有兩種最重要的協(xié)議,分別是組播路由協(xié)議和成員組管理協(xié)議。在移動和組播的結(jié)合中,組播不僅要管理動態(tài)組播組成員,建立和維護組播樹,還需要解決成員位置動態(tài)變化的問題。IETF提出了雙向隧道和遠程簽署協(xié)議來實現(xiàn)移動網(wǎng)絡(luò)環(huán)境中的組播,但它們存在嚴重的缺陷。研究者在此基礎(chǔ)上提出了許多改進協(xié)議,例如移動組播協(xié)議(MoM)、基于范圍的移動組播協(xié)議(RBMoM)、路由優(yōu)化的移動組播協(xié)議(MMROP)等,下文將對這些協(xié)議的性能進行簡要討論。
移動IP組播中的一個重要方面是提供可靠性組播,這對于軟件分發(fā)、社區(qū)白板等應(yīng)用意義重大。可靠移動組播要解決的問題是組播數(shù)據(jù)包的丟失、錯誤、重復(fù)、失序,本文的重點是討論移動環(huán)境中可靠組播面臨的新問題,并對一些比較典型的可靠移動組播協(xié)議進行介紹和分析。
1現(xiàn)有的移動組播協(xié)議
在雙向隧道算法中,移動節(jié)點(MN)和家鄉(xiāng)代理(HA)之間需建立雙向隧道,隧道的建立需要外地代理(FA)的幫助。需要注意的是,家鄉(xiāng)代理是有一個端口與移動節(jié)點家鄉(xiāng)鏈路相連的路由器。外地代理是在移動節(jié)點的外地鏈路上的路由器。家鄉(xiāng)代理代替移動節(jié)點加入組播組,移動節(jié)點通過隧道經(jīng)家鄉(xiāng)代理收發(fā)組播數(shù)據(jù)。這個算法的實質(zhì)是把移動節(jié)點的移動性隱藏了起來,這樣做的優(yōu)點是移動對于組播協(xié)議是透明的,組播樹無須因移動節(jié)點位置的改變和重構(gòu)。但是雙向隧道算法也存在著嚴重的缺陷:
·存在三角路由問題。鏈路開銷較大,當移動節(jié)點遠離家鄉(xiāng)網(wǎng)絡(luò)加入外地鏈路的本地組播組時,時延和開銷巨大。
·存在隧道匯聚問題,如圖1所示(圖1中MN1-1及MN1-2歸屬于HA1MN2-1歸屬于HA2,MN3-1及MN3-2歸屬于HA)。當外地鏈路有多個屬于同一組播組的移動節(jié)點,并且這些移動節(jié)點屬于不同的家鄉(xiāng)網(wǎng)絡(luò)時,每個移動節(jié)點的家鄉(xiāng)代理都與同一個外地鏈路建立雙向隧道,并通過這些隧道傳輸相同的組播數(shù)據(jù)包,造成網(wǎng)絡(luò)資源的浪費。
IETF提出的另一種移動組播算法是遠程簽署,當移動節(jié)點離開外地代理時獲取一個轉(zhuǎn)交地址,用新獲得的轉(zhuǎn)交地址重新加入原組播組,繼續(xù)接受該組播組的服務(wù)。該算法實現(xiàn)簡單,可以直接使用現(xiàn)有的組播協(xié)議,無須建立任何隧道,因此不會有隧道匯聚問題,組播包轉(zhuǎn)發(fā)路徑達到最優(yōu),不存在三角路由問題。該算法的缺陷主要有:
·當移動節(jié)點每次移動到新的鏈路都要重新申請加入組播組,引起組播樹的重構(gòu),當移動節(jié)點移動頻繁時,樹的重構(gòu)開銷巨大。
·即使切換可以做到非常迅速,但是由于網(wǎng)絡(luò)的動態(tài)性,各個子網(wǎng)接收組播包的時延不同,因此產(chǎn)生了移動環(huán)境特有的“同步丟失”問題。
目前的移動組播協(xié)議大都基于雙向隧道和遠程簽署進行改進,其中主要包括MoM、RBMoM、MMROP算法。
MoM算法基于雙向隧道進行改進,算法的核心是引入了指定組播服務(wù)提供者(DMSP)。每個外地代理都有且僅有一個DMSP負責(zé)給它建立隧道轉(zhuǎn)發(fā)數(shù)據(jù),這樣能防止外地代理收到同一份數(shù)據(jù)的多個拷貝。MoM解決了隧道匯聚問題,但還是存在著雙向隧道固有的三角路由問題。同時,對于由于移動節(jié)點在不同外地鏈路間移動所引起的DMSP切換,MoM并沒有很好的解決方法[2]。
RBMoM方案在MoM的基礎(chǔ)上進行改進,主要技術(shù)特點是引入了基于服務(wù)范圍的組播。RBMoM為每個移動節(jié)點選擇一個組播家鄉(xiāng)代理(MHA),負責(zé)將組播數(shù)據(jù)包轉(zhuǎn)發(fā)給移動節(jié)點所在的外地代理。MHA只給其服務(wù)范圍內(nèi)的移動節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)。RBMoM的實質(zhì)是雙向隧道和遠程簽署的結(jié)合,具有組播包轉(zhuǎn)發(fā)路徑接近最優(yōu)和組播樹更新開銷相對較小的特點。整體而言,RBMoM是一個具有創(chuàng)新性的算法,但是它并沒有提出如何確定服務(wù)范圍。因此,如何根據(jù)網(wǎng)絡(luò)環(huán)境自適應(yīng)確定MHA的服務(wù)范圍,是一個值得關(guān)注的研究方向_5_。另外在RBMoM中,如果FA下的多臺移動節(jié)點分別由不同的MHA來服務(wù),那么會引入類似于雙向隧道的隧道匯聚問題,RBMoM解決這一問題的方法是在MHA中選擇出一個DMSP,但是這樣卻帶來了DSMP選擇和切換問題:如何選擇DMSP,以及DMSP切換時發(fā)生的服務(wù)中斷問題。
MMROP以遠程簽署為基礎(chǔ),主要解決了移動節(jié)點移動到新外地鏈路存在的同步丟失問題,這部分丟失的數(shù)據(jù)包將由舊的外地代理通過隧道提供給新的外地代理。MMROP保持了遠程簽署的轉(zhuǎn)發(fā)路徑最優(yōu)的特點,同時解決了切換丟包問題,但是MMROP沒有解決遠程簽署中組播樹更新頻繁的問題。
2可靠移動組播
可靠組播可以定義為每個接收者都能正確接收到所有的組播包,一般還要求組播包按序到達,無丟失,無重復(fù)。組播采用的是不可靠的無連接的方式,為了達到組播可靠性的要求,出現(xiàn)了可靠的組播協(xié)議,其中通常要用到自動重發(fā)請求(ARQ)和前向糾錯(FEC)兩種機制。ARQ需要錯誤反饋,因此時延較大。FEC需要使用冗余信息,增加了網(wǎng)絡(luò)流量,也不能保證完全正確??煽拷M播一般采用FEC和ARQ相結(jié)合的方式。
典型的可靠組播協(xié)議有可擴展的可靠組播(sRM)、可靠多播傳輸協(xié)議(RMTP)、可靠多播協(xié)議(RMP)等。這些協(xié)議有各自不同的適用范圍,如RMTP協(xié)議基于樹的拓撲結(jié)構(gòu)、RMP基于環(huán)的拓撲結(jié)構(gòu),這些協(xié)議在固定網(wǎng)絡(luò)中都有不錯的性能。
需要指出的是,移動網(wǎng)絡(luò)的特殊性對可靠組播提出了更大的挑戰(zhàn)。首先,無線鏈路帶寬有限,數(shù)據(jù)傳輸錯誤率較高;另外,由于移動節(jié)點動態(tài)變化位置,因此移動環(huán)境中還存在著切換丟包和同步丟失問題。移動節(jié)點從舊的鏈路移動到新的鏈路,存在著注冊轉(zhuǎn)交地址和重新加入組播組的過程,這期間會存在組播服務(wù)的短暫中斷。另外,原有的可靠組播協(xié)議沒有考慮到主機頻繁移動會給組播樹帶來頻繁重構(gòu)??紤]到以上因素,一系列針對移動環(huán)境設(shè)計的可靠組播協(xié)議逐漸被提出,其中包括以下幾個協(xié)議。
2.1主機視圖成員關(guān)系協(xié)議
主機視圖成員關(guān)系協(xié)議(HVMP)方案中使用了移動支持站點(Mss)為移動節(jié)點提供可靠組播。MMS會緩存所有的組播分組。這樣,當某移動節(jié)點剛剛移動到某條新鏈路上時,依然能從MSS處獲得切換可能丟失的包,從而解決了切換丟包問題。但是該協(xié)議對MSS的緩存的要求很高,尤其當數(shù)據(jù)傳輸量大時,MSS更會不堪重負。因此,HVMP實用性并不好。
2.2可靠移動組播協(xié)議
可靠移動組播協(xié)議(RMMP)在MMROP的基礎(chǔ)上對可靠性進行了改進。MMROP協(xié)議基于遠程簽署。主要優(yōu)點是使用最優(yōu)路由,同時把切換時的丟包問題減少到最低。RMMP協(xié)議繼承了這些優(yōu)點,同時采用了包確認機制。在RMMP中,移動代理(家鄉(xiāng)代理和外地代理)不僅提供移動管理功能,而且提供可靠性組播支持。
RMMP的基本思想:在遠程簽署算法中引入隧道機制,當移動節(jié)點發(fā)生切換時,由舊的代理補充切換時丟失的組播包到新的代理中,從而解決“同步丟失”問題;與此同時,移動代理除了要代表子網(wǎng)內(nèi)的移動節(jié)點加入組播組,還要收集子網(wǎng)內(nèi)的移動節(jié)點的數(shù)據(jù)接收確認(ACK),并向可靠組播代理轉(zhuǎn)發(fā)這些ACK。
如圖2,每個移動代理維護一張表格,其中包含3個主要部分:服務(wù)列表,記錄子網(wǎng)中加入到該組播組的移動節(jié)點;隧道列表,記錄那些曾經(jīng)在該子網(wǎng)注冊、但現(xiàn)在已經(jīng)離開并請求該移動代理對丟失的組播包進行恢復(fù)的移動節(jié)點;數(shù)據(jù)包傳送狀態(tài)列表(PDSL),記錄在其管理下的所有移動節(jié)點對每個組播數(shù)據(jù)包的接收狀態(tài)反饋。
在收到一個序列號為一的組播數(shù)據(jù)包時,移動代理在緩存區(qū)中增加一項PDSL記錄,服務(wù)列表中每個主機都將加入其中。只有當PDSL中的所有主機都已經(jīng)確認接收這一序列號為n的組播數(shù)據(jù)包,緩存區(qū)才會刪除該數(shù)據(jù)包。另外,為了解決同步丟失問題,當移動節(jié)點移動到新的鏈路后,需要向新外地代理發(fā)送互聯(lián)網(wǎng)組成員管理協(xié)議(IGMP)消息請求加入組播組,然后外地代理代表移動節(jié)點加入組播組G。同時移動節(jié)點需要檢查新舊鏈路中組播包的序號差。如果發(fā)現(xiàn)丟包,則向舊外地代理發(fā)送攜帶偏移量的離開消息,由舊移動代理通過隧道把這部分數(shù)據(jù)補充過來。
2.3可靠的基于范圍的移動組播協(xié)議
可靠的基于范圍的移動組播協(xié)議(RRBMoM)。是在RBMoM上提出的可靠移動組播協(xié)議。它在RBMoM的兩種特性,即轉(zhuǎn)發(fā)路徑最短和組播樹更新頻繁之間進行了折中。通過制定服務(wù)范圍,MHA只為其服務(wù)范圍內(nèi)的移動鏈路上的移動節(jié)點服務(wù)。在可靠性方面,它提供了基于ACK的可靠性和發(fā)送者負責(zé)的錯誤恢復(fù)機制。為了防止ACK爆炸,它使用了基于樹的分層確認架構(gòu),與每個組播接收者都發(fā)送ACK的方式不同,此時由MHA作為其服務(wù)范圍內(nèi)所有移動節(jié)點的代理向組播發(fā)送者發(fā)送ACK。
服務(wù)范圍的概念如圖3所示,其中MHA,、MHA2是組播樹上的兩個組播路由器。組播樹見圖3中粗線,假設(shè)服務(wù)范圍為1跳,MHA T加入組播樹從組播源收到數(shù)據(jù)后,把組播數(shù)據(jù)包轉(zhuǎn)發(fā)給服務(wù)范圍內(nèi)的FA3、FAT、FA9;類似的,MHA2把數(shù)據(jù)包轉(zhuǎn)發(fā)給FA17、FA19、FA23。
在協(xié)議中需要確定由哪些節(jié)點來備份組播數(shù)據(jù)包以便恢復(fù)。MHA負責(zé)收集服務(wù)范圍內(nèi)的FA的ACK,并向組播接收者重傳丟失的數(shù)據(jù)包。所以,協(xié)議中很自然地選擇把數(shù)據(jù)包備份在MHA中。
當移動節(jié)點到達一個新的外地網(wǎng)絡(luò)時,它向該FA注冊,同時上報數(shù)據(jù)包的序列號信息。如果該FA上已經(jīng)有主機加入到組播組中,F(xiàn)A就會向MHA轉(zhuǎn)發(fā)該信息。然后該MHA會向組播樹的根轉(zhuǎn)發(fā)該信息。為了減輕發(fā)送者的負擔(dān),處理這種信息和負責(zé)重傳的任務(wù)可由樹中的其他節(jié)點負責(zé)。
RRBMoM使用基于樹的分層架構(gòu)來處理ACK爆炸問題。如圖4,由MHA負責(zé)向樹中的父節(jié)點發(fā)送這些ACK信息。樹的節(jié)點收集所有下游節(jié)點的ACK信息后,再向其父節(jié)點發(fā)送自己的狀態(tài)信息。由此形成了分層的樹狀架構(gòu)。注意,在狀態(tài)信息中,一個接收到的數(shù)據(jù)包意味著所有的下游節(jié)點都已正確接收到該包。
相對于遠程簽署算法,RRBMoM減少了組播轉(zhuǎn)發(fā)樹的更新頻率,同時,它的組播轉(zhuǎn)發(fā)路徑也是接近最優(yōu)的。同時,在RBMoM中引入了分層的ACK確認機制,提高了可靠性。
但是RRBMoM仍然沒有提出如何根據(jù)網(wǎng)絡(luò)狀況選擇服務(wù)范圍。同時,由于MHA要負責(zé)其服務(wù)范圍內(nèi)所有主機的數(shù)據(jù)恢復(fù),當服務(wù)范圍較大時,MHA負擔(dān)會很重,效率下降明顯。
2.4基于范圍的可靠移動組播協(xié)議
基于范圍的可靠移動組協(xié)議(RRBMM)在RBMoM的基礎(chǔ)上提出了另一種提高可靠性的方案,當節(jié)點移動時采用在移動代理間建立隧道的方式補充數(shù)據(jù)包,這實際上是利用了MMROP的方法。
類似于RBMoM的MHA,協(xié)議中使用組播外部代理(MFA),由它負責(zé)把組播包轉(zhuǎn)發(fā)給MH的外地代理。當節(jié)點移動到一個新的外地鏈路時,如果新的FA中已經(jīng)有該組播組的MFA記錄,則直接用此MFA更新MH中的MFA信息。如果新的FA中還沒有屬于該組播組的MFA,則從MH處獲得其原來的MFA,然后依此計算FA與MFA之間的距離。如果距離大于服務(wù)范圍,則需要重新選擇MFA。比較簡單的方式就是直接指定新的FA作為新的MFA。新的MFA需要加入到組播組中,相應(yīng)的更新組播轉(zhuǎn)發(fā)樹。
為了減少切換時候丟失的組播包,MH需要檢查新、老鏈路中組播包的序號差,如果老鏈路值大于新鏈路值,則MH向原FA發(fā)送離開消息,同時指明序號偏移量為0;否則,MH在發(fā)送離開消息的同時指明組播包偏移量,原FA通過隧道的形式向新的FA補充這部分組播包。
MFA和MHA存在著概念上的區(qū)別。MHA的信息保存在HA中,一個外地鏈路的所有節(jié)點可能具有不同的MHA,只有作為DMSP的MHA才能向FA轉(zhuǎn)發(fā)數(shù)據(jù)包。而MFA信息保存在MH中,一個外地鏈路的所有節(jié)點具有相同的MFA,即只有唯一的MFA向FA轉(zhuǎn)發(fā)數(shù)據(jù)包,所以不會產(chǎn)生隧道匯聚問題。
圖5描述了RRBMM的數(shù)據(jù)結(jié)構(gòu)。
該算法解決了RBMoM的DMSP問題,同時又通過隧道緩解了同步丟失問題,另外,和MMROP相比,在保持可靠性的同時,可通過改變服務(wù)范圍在最優(yōu)轉(zhuǎn)發(fā)路徑和組播樹重構(gòu)頻率間尋求平衡。
算法的缺陷在于沒有能夠解決由于無線鏈路引起的數(shù)據(jù)包丟失問題,同時依然沒有提出如何根據(jù)網(wǎng)絡(luò)情況選擇服務(wù)范圍。
2.5支持可擴展性的多層可靠移動
組播協(xié)議
在SRM中,所有的成員地位相等,它能夠適用的組規(guī)模的范圍很寬,同時能適應(yīng)動態(tài)拓撲,但是不支持移動性。支持可擴展性的多層可靠移動組播協(xié)議(MRMoM)提供了對移動組播和多級可靠性的支持。
為支持移動組播,MRMoM采取了移動IP區(qū)域注冊技術(shù),把移動節(jié)點的移動相對于主組播樹隔離開來。這樣可以把由于主機移動引起的組播樹重構(gòu)機率縮小到最小。在MRMoM中。移動節(jié)點被分成一個個區(qū)域。每個區(qū)域有一個網(wǎng)關(guān)外地代理(GFA)負責(zé)區(qū)域性注冊,并作為組播代理。
為支持分級可靠性,當移動節(jié)點作為接收者時,MRMoM提供了端到端的可靠性。
·從組播源到GFA:使用SRM。
·從GFA到FA:GFA向FA轉(zhuǎn)發(fā)收到的組播源的數(shù)據(jù)報。這是點到點的傳輸,所以使用基于NACK的反饋機制來保證可靠性。
·從FA到移動節(jié)點:使用基于NACK的重傳機制。當FA向組成員轉(zhuǎn)發(fā)數(shù)據(jù),每個移動節(jié)點將檢查組播數(shù)據(jù)包的序列號,如果發(fā)現(xiàn)數(shù)據(jù)丟失,移動節(jié)點將向FA發(fā)送NACK,由FA負責(zé)重傳。
MRMoM是一個性能相對較好的可靠移動組播算法,能夠適應(yīng)組播源移動的情況。同時數(shù)據(jù)傳遞效率高,端到端時延小。
2.6各種協(xié)議的比較
各種協(xié)議的比較如表1所示。
3未來的研究方向
可靠移動組播是一個嶄新的研究方向。目前還沒有一個算法能夠做到性能比較均衡,適用于可靠組播的各類情況。所以,需要研究人員做進一步的研究和改進。
現(xiàn)有的很多研究是基于移動組播協(xié)議進行改進,不過如果像MRMoM那樣適當?shù)厥褂霉潭ňW(wǎng)絡(luò)可靠組播的一些技術(shù),反而能在一定情況達到比較好的性能。另外,考慮到實際的應(yīng)用,比如視頻流和軟件分發(fā)需要的QoS,如何區(qū)分這些業(yè)務(wù),并采取不同的策略,是一個值得深入研究的問題。可靠移動組播未來的研究還需要考慮IPv6和MIPv6帶來的不同,這是因為MIPv6中取消了外地代理的概念,同時組播組成員管理協(xié)議也有所不同。
4結(jié)束語
可靠移動組播是移動組播研究的一個重要組成部分,也是最近的研究熱點。在此,本文分析了移動環(huán)境給可靠組播帶來的挑戰(zhàn),對幾種比較典型的移動組播協(xié)議進行了討論,并在最后指出了可靠移動組播未來的研究方向。