戴 璐, 姜勝明, 許彬楠, 徐增輝
(上海海事大學信息工程學院,上海 201306)
海洋互聯(lián)網(wǎng)的目的是為海洋用戶提供經(jīng)濟、可靠的海洋互聯(lián)網(wǎng)服務[1]。如今,衛(wèi)星通信系統(tǒng)在海洋通信中占有極其重要的地位。具有延遲長和成本高的缺點[2]??缣窖蟮年懙仉娫捦ㄔ捗糠昼姵杀緸?.2元,在海洋中類似的電話通話成本可能會高出30多倍[3]。為解此窘境需建立如圖1所示的混合網(wǎng)絡結(jié)構(gòu),該結(jié)構(gòu)主要由岸基網(wǎng)絡(CLNs)、無線自組網(wǎng)(WANETs)、高空通信平臺(HAPs)和衛(wèi)星系統(tǒng)(SATs)構(gòu)成[4]。圖1顯示了海洋互聯(lián)網(wǎng)中船舶之間可以建立無線多跳網(wǎng)絡[5]。船舶可以通過兩種方式連接岸基網(wǎng)絡基站,第一種為無線多跳網(wǎng)絡中的船舶通過中繼船舶間接連接到岸基網(wǎng)絡基站;另一種是在低密度船舶的地方通過衛(wèi)星連接岸基網(wǎng)絡基站[6-8]。
圖1 海洋互聯(lián)網(wǎng)網(wǎng)絡結(jié)構(gòu)
海洋互聯(lián)網(wǎng)的研究近年來取得了一定的成果,但由于船舶移動較快,會導致船舶的通信鏈路結(jié)構(gòu)變化大易斷開、船舶間頻繁發(fā)生切換等。移動性管理源于蜂窩網(wǎng)絡,是地面蜂窩移動通信系統(tǒng)比較成熟的技術之一[9]。在移動通信系統(tǒng)中,網(wǎng)絡系統(tǒng)需要實時記錄移動終端的位置,這樣才能保證用戶在移動過程中的通信得到維持。為使海洋互聯(lián)網(wǎng)用戶享受高質(zhì)量的通信服務,對海洋互聯(lián)網(wǎng)用戶的移動性管理成為重中之重。
在海洋互聯(lián)網(wǎng)中對用戶進行移動性管理的技術難點:
(1)用戶所連基站具有移動性。海洋互聯(lián)網(wǎng)用戶是與船舶基站相連接,船舶基站是移動的。用戶主要通過所在船舶的船舶基站與岸基基站連接,移動性問題隨著用戶所在船舶與岸基之間中繼船舶的移動變得復雜。
(2)船舶自組網(wǎng)結(jié)構(gòu)變化大。由于船舶的高速移動,可能導致船舶在任何時間離開或者重新加入某個網(wǎng)絡,導致網(wǎng)絡結(jié)構(gòu)變化頻繁。
這些原因給海洋互聯(lián)網(wǎng)中用戶的移動性管理帶來巨大挑戰(zhàn)。海洋互聯(lián)網(wǎng)中船舶進行網(wǎng)絡通信主要包含兩種主要場景:船舶與岸基基站(Ship-to-Base station,S-B)通信的網(wǎng)絡場景和船舶與船舶之間(Ship-to-Ship,S-S)進行通信的場景。
由于S-S和S-B兩種場景的不同,對船舶移動性管理技術也不同。在S-B場景中,船舶基站與岸基基站直接建立通信連接,與傳統(tǒng)的通信場景類似,采用的移動性管理技術基于傳統(tǒng)MIPv6;對于S-S場景,船舶需要連接中繼船舶與岸基基站通信,中繼船舶是動態(tài)變化的,在這種情況下使用傳統(tǒng)的方法會導致位置更新開銷過大,容易造成網(wǎng)絡擁塞。本文采取的方法是當多個船舶處于無線傳呼范圍之內(nèi)形成船舶自組網(wǎng),每一艘船舶都可以作為路由器進行消息的轉(zhuǎn)發(fā)保證消息經(jīng)過多跳后仍能準確到達目的節(jié)點[10-12],由于船舶的移動速度較大,為防止移動性管理過程中頻繁切換導致網(wǎng)絡的擁塞,本文采用基于群的移動性管理機制,并提出基于空間依賴度的群首選擇算法。
移動性管理包含位置管理和切換管理[13]。位置管理包括兩個階段。
(1)位置注冊。MT需要周期性位置注冊、更新,使得本地網(wǎng)絡實時掌握MT的網(wǎng)絡位置。
(2)會話傳遞。在數(shù)據(jù)包到來時,查詢目標MT的位置信息,將數(shù)據(jù)包發(fā)給該終端[14]。切換管理為了使MT移動到新的網(wǎng)絡覆蓋區(qū)仍能保持通信連接[15]。
在傳統(tǒng)移動IP技術中,需要使用兩個地址對用戶進行位置的管理。一個是用戶固定的本地地址;另一個是轉(zhuǎn)交地址(Care of Address,CoA),標記用戶移動到的網(wǎng)絡位置。移動IP技術基于兩種類型的位置數(shù)據(jù)庫,主位置寄存器(HLR)和訪客位置寄存器(VLR)。HLR是用戶本地寄存器,用于存儲更新注冊用戶的位置信息。VLR是訪客用戶寄存器,用于給到訪用戶終端分配CoA,并且將CoA轉(zhuǎn)發(fā)給這個用戶的HLR[16]。
海洋互聯(lián)網(wǎng)用戶終端的接入點是船舶基站,在網(wǎng)絡中對用戶的位置進行管理需要:①用戶向船舶基站進行登記注冊;②對用戶所在的船舶進行移動性管理。
當用戶連接到船舶基站時,用戶終端向該基站進行登記,并獲得該基站分配的、與該基站網(wǎng)絡地址相配的臨時性網(wǎng)絡地址,同時將該臨時性地址及該船舶基站的網(wǎng)絡地址報告給用戶的HLR。
就S-B場景的通信而言,海洋環(huán)境的特殊性,海岸線的岸基基站分布不密集,船舶從一個岸基基站切換到另一個岸基基站并不頻繁,故采用的船舶移動性解決方法是基于MIPv6設計的;針對S-S通信來說,由于船舶移動速度較快導致船舶間切換頻率較高,如果采用傳統(tǒng)的位置管理,中繼船舶的移動性會導致通信鏈路切換頻繁,在網(wǎng)絡中產(chǎn)生大量的位置更新信令[17],容易導致網(wǎng)絡擁塞,為減少位置管理開銷提高網(wǎng)絡性能,采用分群移動性管理策略,提出基于依賴度的群首選擇算法,保證了群首與群成員間最好的連接性。
場景1S-B場景的移動性管理策略
位置管理的基本過程如圖2所示。船舶從VLR0的位置區(qū)域移動到VLR1的新位置區(qū)域,會執(zhí)行位置更新操作:
(1)船舶向VLR1發(fā)起注冊請求消息,VLR1收到消息后分配給移動船舶與該網(wǎng)絡相配的CoA;
(2)VLR1將該船舶注冊的CoA發(fā)送給本地HLR,HLR更新記錄;
(3)HLR向VLR0發(fā)送注銷船舶注冊消息。
圖2 船舶位置更新流程
場景2S-S場景的移動性管理策略
在海洋互聯(lián)網(wǎng)中,當船舶無法與岸基基站進行直接信令消息傳輸時,會與基站之間形成多跳網(wǎng)絡[17]。但是需要對多跳網(wǎng)絡進行結(jié)構(gòu)管理,主要目標是提升鏈路和網(wǎng)絡的穩(wěn)定性,減少冗余鏈路導致的網(wǎng)絡擁塞和丟包[18]。海洋互聯(lián)網(wǎng)中船舶的移動速度較快,導致船舶間的切換較頻繁,在網(wǎng)絡中產(chǎn)生大量的位置更新信令,為減少位置管理的開銷,采用分群的方法進行移動性管理。
分群的依據(jù)有很多,文獻[19]中介紹將網(wǎng)絡進行網(wǎng)格劃分,每一個網(wǎng)格組成一個群組,網(wǎng)格與網(wǎng)格之間通過基礎設施進行通信,海洋環(huán)境無法建設如此多通信設施,這種方法并不適用海洋互聯(lián)網(wǎng)的場景[20]。本文采取的方法將那些相對移動差異較小的船舶歸屬為一個群組,保證群組內(nèi)網(wǎng)絡結(jié)構(gòu)變化減小,通過對群首的位置管理實現(xiàn)對群內(nèi)所有船舶進行統(tǒng)一的位置管理,為保證群首與群內(nèi)其他成員之間良好的連通性與穩(wěn)定性,最重要的是群首的選擇。
選擇群首的方法有很多,常用的方法有根據(jù)每個節(jié)點的鄰居節(jié)點數(shù)量,數(shù)量最大的作為群首,但該方法沒有考慮移動性的問題,可能會導致船舶剛?cè)肴壕碗x群,群組的穩(wěn)定性不高,仍會引起由于切換頻繁導致的位置更新頻繁;為使群更大概率的形成穩(wěn)定鏈路,還有選擇移動速率最慢的節(jié)點為群首,但該算法并不適用與海洋互聯(lián)網(wǎng)中節(jié)點移動速率較高的場景,會導致與群首速率差較大的群成員很快脫離群組。針對海洋互聯(lián)網(wǎng)獨特的場景,本文采用基于空間依賴度的群首選擇算法。
空間依賴度是描述兩個節(jié)點移動特征的相似度。根據(jù)船舶間的速度方向夾角和速度差提出新的群首選擇算法,目的是利用船舶間移動的相似性來提高節(jié)點間的連接性。根據(jù)每艘船舶航行的方向角θ與航行的速度v,可以計算出某一船舶與其所有一跳通信范圍內(nèi)的鄰居船舶的空間依賴值的總和(Total Spatial Dependence,TSD)以及該船舶的群體關系值(Cluster Relation,CR),具體計算方法如下:
每個船舶將自己的航跡向θ與航行的速度封裝在HELLO內(nèi),廣播給一跳通信范圍內(nèi)的所有鄰居船舶;每個船舶接收到HELLO包后,計算自己與鄰居船舶的相對角度和相對速度。
例如,船舶i與j的相對角度定義為
船舶i與j的相對速度定義為
式中,vmax為船舶的最大速度。
因此,船舶i與j之間的空間依賴度(Spatial Dependence,SD)為
由此可得船舶i的TSD可以定義為船舶i一跳鄰居節(jié)點SD的和:
通過TSD可以得到船舶i的CR為:
式中,n為某一船舶的一跳范圍內(nèi)的船舶個數(shù)。
求出船舶的CR值越高,表示該船舶群體關系越強,更能代表群組的移動特征。
分群的移動性管理方法具體步驟如下:
步驟1入群/建群
(1)當船舶想加入群組時,如果在一跳范圍內(nèi)存在群首,該船舶向群首發(fā)送請求加入消息,群首判斷該船舶的群體關系值,如果大于門限值,則允許該船舶加入群組。
(2)如果在一跳范圍內(nèi)沒有群首,執(zhí)行建群操作,該船舶向所有鄰居船舶發(fā)送請求,鄰居船舶收到請求命令后會進行回復,每個船舶計算自己的群體關系值CR,將篩選出的船舶建立群后,需要選擇群首,比較各船舶CR值,選擇最大的為群首。
步驟2群組位置更新。當船舶進入群組后,群首會將自己IP發(fā)送給新入群船舶的HLR,該HLR修改船舶屬性為群內(nèi),并將該船舶的位置信息指向群首,如圖3所示。
圖3 群成員位置更新
當主叫終端呼叫某海洋互聯(lián)網(wǎng)用戶,呼叫信令先到達該用戶HLR,HLR返回被叫用戶臨時網(wǎng)絡號與所在船舶的船舶基站網(wǎng)絡地址。主叫終端根據(jù)船舶IP向船舶的HLR發(fā)送位置查詢請求命令,具體流程如圖4所示。
圖4 呼叫船舶流程
(1)主叫終端根據(jù)船舶B的網(wǎng)絡地址向移動交換中心(MSC)發(fā)起呼叫請求。
(2)移動交換中心向船舶B的HLR發(fā)起查詢船舶B的信令。
(3)HLR查詢到船舶B屬性為群內(nèi)成員,位置信息指向群首,通過群首的HLR繼續(xù)查詢?nèi)菏椎奈恢眯畔?;如果船舶B屬于群外成員,HLR保存船舶B的臨時網(wǎng)絡地址,直接可以查詢到船舶B的網(wǎng)絡位置信息。
(4)如果船舶B為群內(nèi),向主叫終端返回群首的位置信息。
(5)根據(jù)返回的網(wǎng)絡位置信息可以判斷所屬的岸基網(wǎng)絡;實現(xiàn)從岸基網(wǎng)絡到群首到船舶B到用戶的通信路徑。
通過EXata仿真平臺來驗證海洋互聯(lián)網(wǎng)用戶移動性管理方法的可行性。在平臺中建立海洋互聯(lián)網(wǎng)場景,場景范圍為80 km×80 km。為了生成真實的船舶運動模式,根據(jù)船訊網(wǎng)中的衛(wèi)星地圖來部署船舶分布,建立如圖5所示的海洋互聯(lián)網(wǎng)仿真場景,該場景由兩個岸基網(wǎng)絡、19艘船舶和路由器和文件服務器組成。場景內(nèi)船舶移動速度隨機分布,速率分布范圍為12~28 kn;場景的仿真時間為900 s;應用類型為CBR;源節(jié)點向目的節(jié)點發(fā)送數(shù)據(jù)包的數(shù)量為100個。
圖5 海洋互聯(lián)網(wǎng)仿真場景
在圖5的仿真場景中,根據(jù)船舶的移動相似性組成兩組群。根據(jù)式(3)~(5)計算群組的CR值,比較得出群1中11號船舶的CR值最大,群組2中17號船舶CR值最大。群首11、17向陸地文件服務器4發(fā)送數(shù)據(jù),船舶15按照傳統(tǒng)的方法單獨向服務器發(fā)送數(shù)據(jù)。
該場景下的仿真運行結(jié)果如下所述,從圖6綠色箭頭可以看出,群首11、17與各自的群成員完成通信過程,群首代替群成員向陸地文件服務器發(fā)送位置更新數(shù)據(jù)。船舶12、13與15由于CR值太小無法加入或建立群組,將根據(jù)路由協(xié)議選擇合適的路徑通過中繼船舶與岸基基站進行連接。通過平均時延將分群算法與傳統(tǒng)的移動性管理方法進行對比。
圖6 仿真結(jié)果
由圖7可知,基于群的移動性管理方法平均時延明顯低于傳統(tǒng)的移動性管理方法。因為基于群的移動性管理方法中進行位置更新的僅有群首,但傳統(tǒng)的移動性管理方法每艘船舶都需要獨立進行位置更新,這種方法可能會導致網(wǎng)絡擁塞。
圖7 平均時延
根據(jù)群組平均生存時間與節(jié)點平均切換次數(shù),分別對最小速率(Min-velocity)、最大節(jié)點度(Maxdegree)與空間依賴度(CR)3種群首選擇算法進行對比。
在EXata4.1平臺上進行20次仿真實驗,將得出的群組生存時間和各時間段發(fā)生切換的次數(shù),取平均值得到3個算法的平均生存時間與平均切換次數(shù)。
圖8反映了3個算法群平均生存時間。圖9反映3個算法隨著時間的變化,群內(nèi)發(fā)生切換的變化趨勢?;贑R的群首選擇算法的群生存時間較久且切換次數(shù)變化較慢,因為該算法考慮了海洋互聯(lián)網(wǎng)中船舶的移動特征,選擇群組中與其余船舶移動相似度最高的為群首,因此被選擇的船舶最能代表整個群的移動特征。
圖8 平均生存時間
圖9 平均切換次數(shù)
基于CR值選擇的群首較為準確的代表整個群的移動特性,群組穩(wěn)定效果最好。
本文以海洋互聯(lián)網(wǎng)為研究背景,提出了適用于海洋互聯(lián)網(wǎng)的分群移動性管理算法,該算法考慮了海洋場景的特殊性以及船舶的移動特征,根據(jù)群體關系值作為群首選擇的依據(jù)。由于該算法結(jié)合了船舶的移動特性,群組網(wǎng)絡的穩(wěn)定性得到了提升,提高了群組的生存時間,并且與傳統(tǒng)的移動性管理方法相比,分群算法能有效避免了由于船舶移動速率高導致的頻繁切換、信令開銷大與網(wǎng)絡擁塞現(xiàn)象,提升了用戶體驗,讓用戶得到了高質(zhì)量的通信服務。