摘 要: 介紹了移動IPv6快速切換技術的原理,分析了快速切換技術的切換過程,指出了它的不足,并提出了快速切換技術的優(yōu)化方案。新的切換技術使用鏈路層觸發(fā)器和快速路由器通告來獲取接入路由器的IP地址信息,并且使用IP地址與MAC地址映射來加快獲得AR的IP地址。在切換過程中提前建立基站之間的隧道進行數據傳輸,進一步改善了快速切換的切換性能。
關鍵詞: 移動IPv6;預先式快速切換;分組丟失;切換延遲
移動IPv6(MIPv6)是未來網絡進行移動性操作的關鍵技術。在移動IP網絡中,實現對移動性的支持變得越來越重要,每一個移動節(jié)點都是由唯一的家鄉(xiāng)地址標識的,當移動節(jié)點離開家鄉(xiāng)的時候,就能獲得一個轉交地址來標示移動節(jié)點的當前位置。為了能夠保持通信雙方正常的通信,每次移動后,移動節(jié)點都要向家鄉(xiāng)代理和通信對端進行注冊。當移動節(jié)點從一個網絡移動到另一個網絡的時候,就要發(fā)生切換。在一般的切換過程中,在未建立通信對端與移動節(jié)點之間新的通信連接之前,通信對端發(fā)給移動節(jié)點的數據包往往被家鄉(xiāng)代理截獲,然后通過通信隧道發(fā)給移動節(jié)點。這種切換機制往往切換延時比較大,有大量的數據分組丟失。因此,IETF提出了快速切換技術[1](FMIPv6),目的是為了減少切換過程中的切換時延和數據分組丟失。本文對快速切換技術中的預先式快速切換技術進行性能分析,根據分析結果提出改進方案,并對改進的預先式快速切換協議進行仿真。
1 FMIPv6協議
1.1 FMIPv6協議簡述
FMIPv6協議的主要思想是移動節(jié)點(MN)利用掃描到的鏈路層信息預測可能發(fā)生的切換,在鏈路層切換進行之前,提前為將要發(fā)生的IP切換作好必要的準備,包括生成新的轉交地址(NCoA)等。在鏈路層切換開始之前,MN的前接入路由器(PAR)與新接入路由器(NAR)通過原通信子網進行通信,進行一系列消息交換。MN在NAR中檢測NCoA是否沖突并注冊建立雙向隧道,在鏈路層切換之前把進行IP切換所需相關工作完成,確保在最短時間內完成整個切換過程。在鏈路層切換完成后,使MN能迅速恢復正常的通信。保持數據包在切換過程中不丟失,在切換完成后可以使通信性能在最短的時間內恢復到正常狀態(tài)。
1.2 預先式快速切換
移動IPv6快速切換技術[2]是對IPv6協議的改進,可以加快IPv6移動節(jié)點的切換過程,減少已有通信連接的中斷時間,保證數據的實時傳輸。預先式快速切換是快速切換技術的一種。預先式快速切換是指當移動節(jié)點仍然和現在的路由器保持第2層連接時,就發(fā)起第3層的切換。預先式切換過程[3]如下:
(1)當MN檢測到子網將要進行切換時,就向PAR發(fā)送路由器請求代理消息RtSolPr。RtSolPr消息通知PAR,MN將要進行切換,并且請求進行切換所需要的信息。
(2)PAR收到RtSolPr后,根據新的接入點來判斷MN將要接入的NAR,并給MN回送一個代理路由器通告消息PrRtAdv。PrRtAdv消息中應該包含NAR的鏈路層地址、IP地址和子網前綴等信息。
(3)MN收到PrRtAdv消息后,根據其中包含的NAR的信息來配置MN的NCoA。隨后,MN向PAR發(fā)送快速綁定更新消息FBU。
(4)PAR收到FBU后,對NCoA和PCoA進行綁定,然后PAR向NAR發(fā)送一個切換發(fā)起消息HI。HI消息中包括MN的原轉交地址、鏈路層地址、新轉交地址以及請求和NAR建立隧道的信息。
(5)在NAR收到HI后,對NCoA進行重復地址檢測,檢驗是否可用。如果新轉交地址可用,則返回切換確認消息HACK:否則產生一個可用的新轉交地址,并返回HACK消息。
(6)PAR收到HACK后將分析此消息,如果不包含NAR給移動節(jié)點配置的新轉交地址,PAR會向MN發(fā)送一個快速綁定更新消息FBACK,告知MN,PAR將開始為MN轉發(fā)數據分組到新的轉交地址,并且建立一個PAR和NAR之間的雙向隧道。如果HACK消息中含有NAR給MN配置的NCoA,PAR會重新綁定新舊轉交地址,并將配置給MN的新轉交地址包含在FBACK消息中發(fā)給MN。
(7)FBACK消息發(fā)出之后,PAR便開始為MN將數據分組轉發(fā)到NAR,NAR利用代理地址緩存收到的轉發(fā)的數據分組。MN連接到NAR之后,立即向NAR發(fā)送快速鄰居通告消息FNA,告知NAR已連接到該網絡中。
(8)NAR收到FNA消息后,立即向MN發(fā)送為MN緩存的數據分組,并且刪除代理鄰居緩存表項,為MN轉發(fā)數據分組重新建立鄰居緩存表項。MN切換到NAR之后,在完成對家鄉(xiāng)代理和通信對端的綁定更新之前,可以利用PAR和NAR之間的雙向隧道接收和發(fā)送數據分組。
2 快速切換協議中存在的問題及分析
(1)當MN移入一個新的子網后,隨時可能離開這個子網,為保證切換過程隨時可能出現的需要,MN生成NCoA的時間應該盡可能地早。在快速切換協議中,請求生成NCoA要在通過鏈路層掃描得到結果之后才發(fā)送給PAR。[AP-ID,AR-Info]元組[4]是MN生成NCoA和進行切換所必需的,但在快速切換協議中,該元組的獲得是在MN發(fā)送請求后,造成了通信資源和時間的浪費。
在通信網絡的實際覆蓋范圍內,從掃描到網絡中存在某個可用的AP信號到當前已經不可用的AP信號MN必須馬上切換,留給MN的時間可能會很短暫。在這樣的情況下,要等到找到可用的AP信息才能發(fā)送RtSolPr消息,并要等到PrRtAdv消息后才生成NCoA,可能會不能很好地完成無縫切換的準備工作,導致無縫切換不能順利進行,并且在切換中產生數據丟包。
(2)在MN切換過程開始后,可以互不干擾并行進行MN和AR間的切換操作。并行進行可以保證在更短時間內完成切換,但是在快速切換協議中由于所有步驟都是順序執(zhí)行的,所以增加了延遲時間。
3 改進的算法
改進的算法是綜合利用鏈路層觸發(fā)器(LT)和快速路由器通告來獲得接入路由器的IP地址信息,并且還利用IP地址與MAC地址映射來加快獲取AR的IP地址,進一步加快了移動IPv6的預先式切換過程。
在本文提出的新的預先式快速切換方法中,MN與新的鏈路連接之后,馬上就會由LT產生觸發(fā)信號來觸發(fā)IP模塊,然后向當前接入路由器發(fā)送路由器請求代理消息。此時,要求接入路由器能立即發(fā)送應答路由器通告,因此這種路由器通告被稱為快速路由器通告。在LT中提供了MN當前連接的AP的鏈路地址信息,通過快速路由器通告消息,可以將AP的鏈路層地址映射成與它連接的接入路由器的IP信息。在移動節(jié)點中緩存這種映射關系,并且設置相應的有效期,當MN再次切換到此AP的覆蓋范圍內時,如果緩存中仍然存在此AP對應的接入路由器的IP信息,并且在有效期內,則就能直接使用,而不用再通過路由器通告消息來得到連接的接入路由器的IP信息。因此,通過緩存能夠加快快速切換過程,并且由于減少了路由器請求的發(fā)送而節(jié)省了無線帶寬,這對于在某些小區(qū)之間來回切換大量的MN特別有用。
在鏈路層切換之前,在MN的緩存中沒有當前連接的AP所對應的接入路由器的IP信息,MN的IP模塊通過NAR的IP地址和其中的AP的MAC地址的映射關系收到鏈路層的LT觸發(fā)信號后,首先向PAR發(fā)送RtSolPr,RtSolPr通知PAR移動節(jié)點將要進行切換,并且請求進行切換所需要的信息。因為路由器支持快速路由器通告功能,所以PAR立即向MN回送PrRtAdv。MN收到PrRtAdv后,等待。PAR收到RtSolPr之后,發(fā)送HI到將要切換到的NAR,并請求在這2個路由器之間建立雙向隧道。NAR收到HI后,根據初始化信息中的信息建立雙向隧道,并且檢驗MN產生的轉交地址是否可用,如果可用返回HACK消息,否則產生一個新的轉交地址返回HACK消息,PAR向MN再發(fā)送一個路由器通告消息,其中包括新的轉交地址。PAR收到NAR發(fā)送回來的HACK消息后,就可以使用此隧道向MN轉發(fā)數據包了。MN收到NAR發(fā)送的路由廣播后,發(fā)送相應的FBU消息,進行家鄉(xiāng)注冊和通信對端的注冊。PAR收到FBU之后,向MN和NAR發(fā)送快速綁定更新應答消息。MN收到快速綁定應答消息,表示快速切換過程完成,MN可以開始配置新的轉交地址,開始基本的移動IPv6切換過程。由于轉交地址可以一直有效,所以通信不會中斷。MN到達新的網絡、并與NAR建立第二層連接后,MN發(fā)出1條FNA,NAR就可以直接向MN轉發(fā)數據分組了。
4 仿真結果
本文采用ns-allinone-2.31為仿真平臺[5],在2.31版本中,通過移植Robert Hsieh在NS-2低版本中加載的移動IPv6模塊,然后修改配置腳本和源代碼來完成預先切換的仿真測試。CN(HA)至AR的鏈路配置是:分組的傳輸延遲為10 ms,帶寬為10 Mb/s;無線鏈路采用802.11協議,鏈路帶寬為2 Mb/s,延遲為64μs。預先式切換協議的網絡拓撲結構如圖1所示。

在數據包丟失方面,改進的預先式切換協議消除了在移動檢測和綁定注冊過程的數據丟失,減少了MN請求PAR轉發(fā)數據和原網絡與新網絡間建立雙向隧道過程的數據丟失,省去了在隧道建立的過程中MN的處理過程,減少了隧道建立時對MN的依賴。改進的預先式切換過程中,隧道建立的過程提前了,這樣可以使MN在切換過程中的移動速度進一步提高,也使數據分組的丟失減少,如圖2所示。隨著MN的移動速度的增加,數據分組的丟失率逐漸減少。由于提前建立了雙向隧道,因此丟包率隨著MN移動速度變化不大。

在切換延遲方面,通過鏈路層觸發(fā)機制將一般移動IPv6協議中的移動檢測延遲消除了,切換延遲[6]為:T=TL2+TCoa+TBU。其中TL2是指MN從發(fā)送路由器請求消息到收到路由器通告消息的延遲,如果MN利用路由器緩存機制,則TL2為0。TCoa是指MN通過接入路由器的IP地址和其中的AP的MAC地址之間轉換所用的時間,如果緩存機制起作用,則TCoa也可為0。TBU表示快速綁定延遲,它包括FBU到達MN第1次獲得轉交地址而連接的路由器的延遲加上該路由器和切換之后而連接的路由器之間建立連接的延遲。由計算式可以得出,切換延遲與路由器通告無關。由于移動節(jié)點不需要立刻生成新的轉交地址,不會由于地址重復檢測而造成通信中斷。
在改進的預先式切換協議中,隨著路由器通告間隔的增大,平均切換延遲基本保持不變,主要原因是在接入路由器上實現了回送快速路由器通告的功能,使接入路由器對路由器請求的響應時間變得很小。預先式切換協議的平均時延如圖3所示。

針對當前移動IPv6的快速切換算法存在的移動節(jié)點切換時延過長和數據分組丟失的問題,本文提出了一種改進的移動IPv6預先式快速切換方法,并對該方法進行了仿真和分析。與其他的切換方法相比,本文提出的方法具有如下特點:可以提前建立PAR和NAR之間的雙向隧道,達到進一步減少數據分組丟失的可能性,并且通過綜合使用鏈路層觸發(fā)器、快速路由器通告和緩存的IP地址與MAC地址的映射等機制,實現將移動節(jié)點所連接的無線接入點鏈路地址快速映射成其連接的接入路由器的IP信息,并且降低了移動節(jié)點在子網間的切換延遲,起到了節(jié)省無線帶寬資源的作用。由于鏈路層觸發(fā)機制的影響,使減少數據分組的丟失并不明顯,在今后的研究中,將進一步研究在切換時延減少的基礎上減少數據分組的丟失。
參考文獻
[1] DOMMETY G. Fast handover for mobile IPv6[S].2002.
[2] 李棟,趙瓏,張有志.移動IPv6快速切換的性能分析及優(yōu)化[J].計算機應用,2006,26(6):224-225.
[3] 孫利民,闞志剛,鄭建平.移動IP技術[M].北京:電子工業(yè)出版社,2003.
[4] 呂曉吾,蔣祥剛,欒新.一種應用于Mobile IPv6中切換算法的分析與改進[J].計算機工程,2005,21(11):107-109.
[5] 秦冀,姜雪松.移動IP技術與NS-2模擬[M].北京:機械工業(yè)出版社,2006.
[6] 胡斌,劉輝.一種新的基于移動IPv6的快速切換方案[J].信息技術與信息化,2007,2:20-22.
