孫文勝 王宇飛
(杭州電子科技大學通信工程學院 浙江 杭州 310018)
?
一種層次型移動IPv6的MAP選擇機制的研究
孫文勝 王宇飛
(杭州電子科技大學通信工程學院 浙江 杭州 310018)
在MIPv6(Mobile IPv6,移動IPv6)的基礎上,學者們提出了HMIPv6 (Hierarchical MIPv6,層次移動IPv6)。但是HMIPv6的移動錨點MAP(Mobile Anchor Point)選擇機制存在MAP負載過于集中、MAP中路徑過長等問題。在HMIPv6的基礎上,提出一種基于位置區域的MAP選擇機制,使MN(Mobile Node)主動選擇最適合自己的MAP。仿真結果顯示,負載不再集中在某一MAP上,MN選擇了最適合的MAP,縮短了MAP到MN的路徑。
HMIPv6 MAP 負載均衡
隨著IPv6的普及和移動互聯網的迅速發展,互聯網工程共建組織IETF(Internet Engineering Task Force)在MIPv4和IPv6[3]的基礎上提出了MIPv6,滿足人們對于移動上網的需求。但是由于MIPv6還是存在著切換時延高、協議復雜等缺點,學者們相繼提出了FMIPv6快速移動IPv6(Fast-handover MIPv6)HMIPv6[10]等。FMIPv6的基本思想是在二層切換時提前配置轉交地址,因為提早進行檢測因此縮短了重復地址檢測DAD(Duplicate Address Detection)的時間,達到了減小切換延時的目的。同時在原先的接入路由器PAR(Previous Access Router)和新的接入路由器NAR(New Access Router)之間建立隧道傳輸切換過程中緩存的數據分組,降低了丟包率[5]。HMIPv6的基本思想是引入MAP對MN的移動進行管理,對于MN在MAP域內的移動能夠減少網絡中信令的傳輸,達到減小切換時延的目的。現在移動IP切換的研究熱點主要集中在DAD檢測時延的縮小[1]和MAP選擇機制的改進[2,7],都是為了達到MN在切換過程中減少延時和減少丟包率的目的。
在MIPv6的基礎上,HMIPv6引入了MAP進行域的管理。
MAP的作用就是幫助MN向HA(Home Agent,歸屬代理)進行注冊,并充當HA的角色進行數據的轉發,每個域中都有一個MAP或者多個MAP,每個MAP都有自己的管理域范圍。在HMIPv6中每個MN都有兩個轉交地址,即區域轉交地址RCoA(Regional Care-of Address,)和鏈路轉交地址LCoA(Link Care-of Address)。MN的LCoA是MAP內部的轉交地址,是MN根據AR的子網前綴進行計算出來的,而RCoA是MN向HA和通信對端CN(Correspondent Node)注冊的地址。LCoA和RCoA的綁定關系存儲在MN所選擇的MAP的緩存中,MAP根據綁定關系轉發數據分組到相應的MN。
HMIPv6對于MIPv6的改進主要體現在減少了綁定更新的報文,縮短了域內切換的時間。當MN在同一MAP管理域內的不同接入路由器AR(Access Router)之間進行微移動時,MN只需要重新配置LCoA就可以了。由于MN還在同一個MAP管理域內,因此MN的RCoA值不變,只需要更新相應MAP緩存中的綁定就可以,不需要向HA或者CN進行相應的綁定更新,減少了網絡中的信令負載。特別是當MN處于離HA或者CN的位置特別遠的情況時,能夠極大地縮短切換所需的時間[9]。
當MN接入到新的AR時,MN能夠接收到AR發出的路由通告RA(Router Advertisement)消息。RA消息包含了MAP的分層列表和各層MAP的信息。MN選擇不同的MAP,對于MAP的負載影響巨大,甚至能夠進一步影響到MN的通信延時和丟包率,因此MAP選擇機制的選擇是一項非常重要的課題。學者們也對MAP選擇機制進行了研究,現階段的MAP選擇機制主要有基于距離的MAP選擇機制、基于速度的MAP選擇機制和基于拓撲的MAP選擇機制。其中HMIPv6草案中規定的MAP選擇是基于距離的選擇機制,為了減少MAP域間切換的次數,選擇了距離MN最遠的MAP[6]。但是這樣就導致了最高級MAP的負載過于集中,同時MN到MAP之間的距離過長,增加了MN的延時。
2.1 改進的RA消息
根據HMIPv6標準,當MN進入AR的范圍內時,能夠接收到AR發送的RA消息[8]。AR的RA消息包含了該AR所屬的MAP分層列表。
由于MAP大多數是固定的,所以MAP的相關信息,比如MAP的所在位置、該MAP所管理域的大小基本是固定不變。基于位置區域的自適應選擇算法就是將MAP的這些相關消息存儲在AR中,利用RA消息發送到MN。MN可以接收到該AR所屬各層級的MAP的管理區域大小,應用于MAP的初選擇。
但是網絡的覆蓋有時也會進行優化,所以MAP的覆蓋區域可能會變化,這就需要MAP對AR中存儲的管理域范圍進行更新。但是這種變化不會是經常性的,當網絡的覆蓋變化時,MAP可以根據最新的覆蓋廣播報文,將AR中的MAP覆蓋區域進行更新,使得MN能夠獲得更準確的MAP覆蓋區域的信息。
2.2 基于速度的MAP初選擇
(1) MN當前速度、方向的獲取

(2) MN運動模式的判斷

當下一個時刻來臨的時候,我們可以根據實測地點和預測地點之間的距離,判斷MN是否屬于運動方向和速度大致不變。如果實測和預測地點之間距離大于預測半徑R,則判斷MN的運動是隨機的,否則判斷MN的運動方向、速度大致不變。

圖1 MN運動模式判斷
(3) MAP的初選擇模式
當MN的運動模式是隨機時,由于不能很好地預測MN下一時刻的移動方向和移動速度,該MN的MAP的選擇根據HMIPv6規定的,基于距離最遠的選擇模式,選擇最高層級的MAP。這意味著MAP的管理域能夠盡可能覆蓋大的范圍,對于隨機運動的MN來說是非常好的選擇,能夠盡可能減少MAP管理域間的域間切換,縮短了延時和丟包。
當MN的運動模式是移動方向和速度大致不變時,根據GPS測算出的MN的速度和運動方向,結合MN從RA消息中得到各層級MAP管理的域的范圍,能夠算出MN以當前速度、當前方向在各層級MAP的管理域中停留多少時間。綜合n級MAP停留時間,MN選擇停留時間大于Tthreshold-min的最小的那一級MAP,Tthreshold-min表示停留時間最小閾值,即MN能夠停留MAP的最短時間,停留時間過短會導致第二次MAP域間切換,多次切換會帶來嚴重的丟包和時延。
2.3 MN停留時間更新
MN能夠接收到AR發出RA消息,因此能夠通過RA消息知道當前各級MAP的具體情況。此時,MN會將各個層級的MAP相關信息保存下來,記錄的主要是用途是計算MN在該MAP的停留時間。
當MN進入一個新的AR時,能夠對收到的各層級MAP的消息和本地保存的上一個AR的各層級MAP消息進行對比。MN先保存新收到的MAP信息,將MAP的停留時間清零,然后遍歷上一個停留的AR記錄,如果和當前新接入的AR有相同的MAP,就在新的表更新這個MAP的停留時間,繼續在上一個AR的記錄基礎上統計停留時間。更新完MAP的停留時間,就可以丟棄上一個AR的MAP的相關消息,此時停留時間更新完成。如圖2所示。

圖2 MAP停留時間更新流程圖
2.4 根據MN停留時間的MAP再選擇
MN的MAP初選擇只是單純根據MN當時時刻的移動速度和移動方向進行判斷,根據當前數據估算在MAP內的停留時間。特別是當MN的移動速度或者方向隨機的時候,MN的MAP選擇只是單純的選擇最高層級的MAP,因此,MAP的初選擇是比較粗糙的選擇,單純從減少MAP域間切換的次數出發,選擇盡可能層級高的MAP,并沒有很好的從適合該MN或者MAP負載均衡方面進行考慮。
當MN在MAP域內停留一定時間后,MN就需要對MAP進行再次的選擇。這主要的根據是MN在各層級MAP域內的停留時間,因為MN內部保存著在當前MAP域內停留的具體時間。
MN根據RA消息更新當前MAP的停留時間,如果存在比當前層級MAP低層級的MAP的停留時間大于Tthreshold-max,即表示MN可以切換到更低層級的MAP。Tthreshold-max表示MN在某一層級MAP中停留的最大時間閾值,停留時間大于Tthreshold-max即可認為MN比較穩定。MN切換到更低層次的MAP的有利于緩解高層級的負載,同時使MN到MAP的距離變短,使MN選擇更適合自己的MAP。
2.5 MAP再選擇的切換優化
MAP的再選擇,由于是在不同的MAP進行注冊,屬于MAP域間的宏移動,而HMIPv6對于MAP間的宏移動相對于MIPv6,并沒有改進多少,甚至擁有比MIPv6更多的切換時延[4]。HMIPv6的宏移動的切換過程的延時主要在LCoA和RCoA的DAD檢測。要縮短MAP域間切換的延時和丟包,關鍵是要減少DAD檢測的時間。
雖然MAP再選擇的過程是屬于MAP的域間切換,但是MAP再選擇的切換過程和HMIPv6的切換過程不同。MAP再選擇過程由于不涉及二層切換,只是三層的切換,故可以省略二層切換的過程。本文改進的方案就是將DAD檢測提前到切換之前,使DAD檢測不再成為延時的主要原因。
當MN經過計算在各層MAP的停留時間,發現底層MAP的停留時間滿足Tthreshold-max的界限時,MN就決定進行MAP的再選擇過程。MN根據RA消息預先配置自己的LCoA和RCoA,并將結果發送給MAP進行DAD檢測,并等待返回檢測結果。如果檢測地址結果不沖突,即按照HMIPv6進行MAP切換,切換到低層級MAP,切換完成。
3.1 MAP選擇方式的分析
基于HMIPv6標準的MAP選擇方式是簡單選擇最高層級的MAP管理域,這帶來的好處是能夠盡可能減少MN在MAP管理域內的切換次數,但是帶來的不足也是顯而易見的,高層級MAP的負載會越來越大,最后甚至可能高層級MAP會成為整個網絡的瓶頸。
基于區域的MAP初選擇過程中,利用MN自帶的GPS功能,進行初步的MAP選擇。當MN移動的速度、方向基本保持不變的時候,我們可以根據MN當前的速度、方向進行預測,基于停留時間選擇最適合的MAP;但是還是存在著MN的速度、方向不穩定的情況,這時我們還是基于標準HMIPv6,選擇距離最遠的MAP,達到減少MAP域間切換的目的。
MAP再選擇中,利用MAP的停留時間更新,能夠計算出在各MAP管理域中停留的時間,當MN趨于穩定后,MN進行MAP的再選擇,能夠選擇更低層級的MAP進行通信。這樣能夠緩解高層級MAP的負載,同時又能夠縮短MAP到MN之間的距離。
3.2 MAP切換方式的分析
HMIPv6的切換延時主要由以下幾個方面組成:
Tdelay=TL2+TMD+TDAD+TLBU+TBU
(1)
其中,TL2表示二層切換的時間,TMD表示移動檢測的時間,TDAD表示DAD檢測的時間,TLBU本地綁定更新的時間,TBU是MN向HA或者CN綁定更新的時間。
在MAP再選擇切換的過程中,由于只需要三層切換,二層的連接并沒有斷開,所以二層切換時間和移動檢測時間可以不計算在內。因此,可以用以下的公式表示:
Tdelay=TDAD+TLBU+TBU
(2)
其中,DAD檢測所造成的延時最大,能夠達到1000 ms。因此本文提出了一種提前進行DAD檢測的方法,當MN檢測到在某個MAP域內停留時間大于閾值后,隨即進行DAD檢測,如果檢測結果顯示沒有沖突,然后進行MN的三層切換,因此切換時延主要由以下組成:
Tdelay=TLBU+TBU
(3)
因為DAD檢測是造成切換延時的主要原因,在提前檢測完后,切換的時候就不需要再進行DAD檢測,達到減小切換時延的目的。
3.3 仿真結果
本文使用NS2對提出的方案進行仿真,圖3為仿真拓撲圖。最高層級MAP為MAP0,第二層級MAP為MAP1、MAP3,最低層級MAP為MAP2。相鄰AR之間的距離為80米,AR的覆蓋范圍為45米,無線鏈路的帶寬為2 Mbps。

圖3 仿真拓撲圖
在MAP選擇機制仿真中,一共50個MN,在AR覆蓋范圍內進行隨機運動(即最遠不超出MAP0的管理域),MN不收發數據,只進行移動性管理的注冊和更新。圖4和圖5是HMIPv6標準和本文提出的改進方案的MAP選擇機制的比較。仿真結果顯示,HMIPv6標準的MAP選擇方案缺乏靈活性,高層級的MAP負載太重,并且不能自動調整,在經過一段時間后MN還是集中在最高層級的MAP上,缺乏靈活性。本文提出的方案在MN剛接入MAP域的時候雖然大部分選擇了高層級的MAP,但是在MN逐漸穩定下來以后,MN能夠選擇適合自己的較低層級的MAP,分擔了高層級MAP的負載,使得網絡更加健地運行。

圖4 HMIPv6的MAP選擇機制的MAP負載情況

圖5 改進的MAP選擇機制的MAP負載隨時間變化
在MAP再選擇的切換優化的仿真中,CN以不同的速率持續發送大小為512字節的UDP包到MN。為了創造MAP再選擇的條件,使MN移動速度突然降至0,觀察MN再選擇過程中收包的時延情況。圖6是MAP再選擇的時候MAP切換機制的對比,可以看出本文提出的提前進行DAD檢測能夠有效減少切換過程中的時延。

圖6 MAP再選擇切換優化
本文提出了一種新的MAP選擇機制,通過MN的運動速度、方向進行MAP的初步選擇,通過MN記錄的MAP停留時間,判斷MN是否處于穩定階段,然后進行MAP的再選擇。達到均衡MAP負載的目的。在MAP的再選擇中,提出了一種新的切換方案,將MN的DAD檢測時延提前,達到減小切換延時的目的。
[1] Manoj K R,Swarup M,Bhaskar S.Applications and Innovations in Mobile Computing:AIMoC 2015:Optimized HMIPv6 (O-HMIPv6):Reducing Handoff Latency in HMIPv6 Networks,Kolkata,Feb 12-14,2015[C].India:Kolkata,2015.
[2] 范祚至,張曦煌.基于動態負載均衡的層次性移動IPv6路由優化方案[J].計算機軟件與應用,2014:31(4):128-132.
[3] Joseph Davies.深入解析IPv6[M].汪海霖,譯.北京:人民郵電出版社,2014.
[4] 孫文勝,黃吉.基于一種新的移動錨點選擇算法的分層移動IPv6策略[J].計算機應用,2013,33(1):112-114,119.
[5] 李淵.基于Ad Hoc網絡的跨層移動IPv6切換技術的研究[D].杭州:杭州電子科技大學,2013.
[6] 白鑫茹.一種分級移動IPv6的MAP選擇機制[D].廣州:華南理工大學,2013.
[7] 陶銘.移動IPv6網絡智能切換管理技術研究[D].廣州:華南理工大學,2012.
[8] 黃吉.移動IPv6快速切換策略的研究[D].杭州:杭州電子科技大學,2012.
[9] 肖長水,姒茂新,沈萍萍,移動IPv6切換技術綜述[J].計算機軟件與應用,2010:27(4):158-161.
[10] Soliman H,Castelluccia C,El Malki K,et al. RFC4140 Hierarchical Mobile IPv6 Mobility Management (HMIPv6)[S],2005.
RESEARCH ON AN MAP SELECTION MECHANISM IN HIERARCHICAL MOBILE IPv6
Sun Wensheng Wang Yufei
(SchoolofCommunicationEngineering,HangzhouDianziUniversity,Hangzhou310018,Zhejiang,China)
On the basis of MIPv6 (Mobile IPv6) the scholars proposed HMIPv6 (Hierarchical MIPv6).But the selection mechanism of MAP (mobile anchor point) in HMIPv6 has some weakness,such as the load of MAP is too concentrated,and the path of MAP is too long,etc.Based on HMIPv6 we propose a location region-based MAP selection mechanism,it makes the MN (mobile node) actively select the MAP suitable for itself the most.Simulation result shows that the loads are no longer to concentrate on a certain MAP,the MN selects the most suitable MAP and shortens the path between the MAP and MN.
HMIPv6 MAP Load-balancing
2015-09-20。孫文勝,副教授,主研領域:網絡通信。王宇飛,碩士生。
TP393
A
10.3969/j.issn.1000-386x.2016.11.024