李慧芹,高仲合,胡廣昌
(曲阜師范大學(xué) 計算機科學(xué)學(xué)院,山東 日照 276826)
移動IPv6(MIPv6)是未來網(wǎng)絡(luò)進行移動性操作的關(guān)鍵技術(shù)。在移動IP網(wǎng)絡(luò)中,實現(xiàn)對移動性的支持變得越來越重要,每一個移動節(jié)點都是由唯一的家鄉(xiāng)地址標(biāo)識的,當(dāng)移動節(jié)點離開家鄉(xiāng)的時候,就能獲得一個轉(zhuǎn)交地址來標(biāo)示移動節(jié)點的當(dāng)前位置。為了能夠保持通信雙方正常的通信,每次移動后,移動節(jié)點都要向家鄉(xiāng)代理和通信對端進行注冊。當(dāng)移動節(jié)點從一個網(wǎng)絡(luò)移動到另一個網(wǎng)絡(luò)的時候,就要發(fā)生切換。在一般的切換過程中,在未建立通信對端與移動節(jié)點之間新的通信連接之前,通信對端發(fā)給移動節(jié)點的數(shù)據(jù)包往往被家鄉(xiāng)代理截獲,然后通過通信隧道發(fā)給移動節(jié)點。這種切換機制往往切換延時比較大,有大量的數(shù)據(jù)分組丟失。因此,IETF提出了快速切換技術(shù)[1](FMIPv6),目的是為了減少切換過程中的切換時延和數(shù)據(jù)分組丟失。本文對快速切換技術(shù)中的預(yù)先式快速切換技術(shù)進行性能分析,根據(jù)分析結(jié)果提出改進方案,并對改進的預(yù)先式快速切換協(xié)議進行仿真。
FMIPv6協(xié)議的主要思想是移動節(jié)點(MN)利用掃描到的鏈路層信息預(yù)測可能發(fā)生的切換,在鏈路層切換進行之前,提前為將要發(fā)生的IP切換作好必要的準備,包括生成新的轉(zhuǎn)交地址(NCoA)等。在鏈路層切換開始之前,MN的前接入路由器(PAR)與新接入路由器(NAR)通過原通信子網(wǎng)進行通信,進行一系列消息交換。MN在NAR中檢測NCoA是否沖突并注冊建立雙向隧道,在鏈路層切換之前把進行IP切換所需相關(guān)工作完成,確保在最短時間內(nèi)完成整個切換過程。在鏈路層切換完成后,使MN能迅速恢復(fù)正常的通信。保持數(shù)據(jù)包在切換過程中不丟失,在切換完成后可以使通信性能在最短的時間內(nèi)恢復(fù)到正常狀態(tài)。
移動IPv6快速切換技術(shù)[2]是對IPv6協(xié)議的改進,可以加快IPv6移動節(jié)點的切換過程,減少已有通信連接的中斷時間,保證數(shù)據(jù)的實時傳輸。預(yù)先式快速切換是快速切換技術(shù)的一種。預(yù)先式快速切換是指當(dāng)移動節(jié)點仍然和現(xiàn)在的路由器保持第2層連接時,就發(fā)起第3層的切換。預(yù)先式切換過程[3]如下:
(1)當(dāng)MN檢測到子網(wǎng)將要進行切換時,就向PAR發(fā)送路由器請求代理消息RtSolPr。RtSolPr消息通知PAR,MN將要進行切換,并且請求進行切換所需要的信息。
(2)PAR收到RtSolPr后,根據(jù)新的接入點來判斷MN將要接入的NAR,并給MN回送一個代理路由器通告消息PrRtAdv。PrRtAdv消息中應(yīng)該包含NAR的鏈路層地址、IP地址和子網(wǎng)前綴等信息。
(3)MN收到PrRtAdv消息后,根據(jù)其中包含的NAR的信息來配置MN的NCoA。隨后,MN向PAR發(fā)送快速綁定更新消息FBU。
(4)PAR收到FBU后,對NCoA和PCoA進行綁定,然后PAR向NAR發(fā)送一個切換發(fā)起消息HI。HI消息中包括MN的原轉(zhuǎn)交地址、鏈路層地址、新轉(zhuǎn)交地址以及請求和NAR建立隧道的信息。
(5)在NAR收到HI后,對NCoA進行重復(fù)地址檢測,檢驗是否可用。如果新轉(zhuǎn)交地址可用,則返回切換確認消息HACK:否則產(chǎn)生一個可用的新轉(zhuǎn)交地址,并返回HACK消息。
(6)PAR收到HACK后將分析此消息,如果不包含NAR給移動節(jié)點配置的新轉(zhuǎn)交地址,PAR會向MN發(fā)送一個快速綁定更新消息 FBACK,告知 MN,PAR將開始為MN轉(zhuǎn)發(fā)數(shù)據(jù)分組到新的轉(zhuǎn)交地址,并且建立一個PAR和NAR之間的雙向隧道。如果HACK消息中含有NAR給MN配置的NCoA,PAR會重新綁定新舊轉(zhuǎn)交地址,并將配置給MN的新轉(zhuǎn)交地址包含在FBACK消息中發(fā)給MN。
(7)FBACK消息發(fā)出之后,PAR便開始為MN將數(shù)據(jù)分組轉(zhuǎn)發(fā)到NAR,NAR利用代理地址緩存收到的轉(zhuǎn)發(fā)的數(shù)據(jù)分組。MN連接到NAR之后,立即向NAR發(fā)送快速鄰居通告消息FNA,告知NAR已連接到該網(wǎng)絡(luò)中。
(8)NAR收到FNA消息后,立即向MN發(fā)送為MN緩存的數(shù)據(jù)分組,并且刪除代理鄰居緩存表項,為MN轉(zhuǎn)發(fā)數(shù)據(jù)分組重新建立鄰居緩存表項。MN切換到NAR之后,在完成對家鄉(xiāng)代理和通信對端的綁定更新之前,可以利用PAR和NAR之間的雙向隧道接收和發(fā)送數(shù)據(jù)分組。
(1)當(dāng)MN移入一個新的子網(wǎng)后,隨時可能離開這個子網(wǎng),為保證切換過程隨時可能出現(xiàn)的需要,MN生成NCoA的時間應(yīng)該盡可能地早。在快速切換協(xié)議中,請求生成NCoA要在通過鏈路層掃描得到結(jié)果之后才發(fā)送給 PAR。[AP-ID,AR-Info]元組[4]是 MN生成NCoA和進行切換所必需的,但在快速切換協(xié)議中,該元組的獲得是在MN發(fā)送請求后,造成了通信資源和時間的浪費。
在通信網(wǎng)絡(luò)的實際覆蓋范圍內(nèi),從掃描到網(wǎng)絡(luò)中存在某個可用的AP信號到當(dāng)前已經(jīng)不可用的AP信號MN必須馬上切換,留給MN的時間可能會很短暫。在這樣的情況下,要等到找到可用的AP信息才能發(fā)送RtSolPr消息,并要等到PrRtAdv消息后才生成NCoA,可能會不能很好地完成無縫切換的準備工作,導(dǎo)致無縫切換不能順利進行,并且在切換中產(chǎn)生數(shù)據(jù)丟包。
(2)在MN切換過程開始后,可以互不干擾并行進行MN和AR間的切換操作。并行進行可以保證在更短時間內(nèi)完成切換,但是在快速切換協(xié)議中由于所有步驟都是順序執(zhí)行的,所以增加了延遲時間。
改進的算法是綜合利用鏈路層觸發(fā)器(LT)和快速路由器通告來獲得接入路由器的IP地址信息,并且還利用IP地址與MAC地址映射來加快獲取AR的IP地址,進一步加快了移動IPv6的預(yù)先式切換過程。
在本文提出的新的預(yù)先式快速切換方法中,MN與新的鏈路連接之后,馬上就會由LT產(chǎn)生觸發(fā)信號來觸發(fā)IP模塊,然后向當(dāng)前接入路由器發(fā)送路由器請求代理消息。此時,要求接入路由器能立即發(fā)送應(yīng)答路由器通告,因此這種路由器通告被稱為快速路由器通告。在LT中提供了MN當(dāng)前連接的AP的鏈路地址信息,通過快速路由器通告消息,可以將AP的鏈路層地址映射成與它連接的接入路由器的IP信息。在移動節(jié)點中緩存這種映射關(guān)系,并且設(shè)置相應(yīng)的有效期,當(dāng)MN再次切換到此AP的覆蓋范圍內(nèi)時,如果緩存中仍然存在此AP對應(yīng)的接入路由器的IP信息,并且在有效期內(nèi),則就能直接使用,而不用再通過路由器通告消息來得到連接的接入路由器的IP信息。因此,通過緩存能夠加快快速切換過程,并且由于減少了路由器請求的發(fā)送而節(jié)省了無線帶寬,這對于在某些小區(qū)之間來回切換大量的MN特別有用。
在鏈路層切換之前,在MN的緩存中沒有當(dāng)前連接的AP所對應(yīng)的接入路由器的IP信息,MN的IP模塊通過NAR的IP地址和其中的AP的MAC地址的映射關(guān)系收到鏈路層的LT觸發(fā)信號后,首先向PAR發(fā)送Rt-SolPr,RtSolPr通知PAR移動節(jié)點將要進行切換,并且請求進行切換所需要的信息。因為路由器支持快速路由器通告功能,所以PAR立即向MN回送PrRtAdv。MN收到PrRtAdv后,等待。PAR收到RtSolPr之后,發(fā)送 HI到將要切換到的NAR,并請求在這2個路由器之間建立雙向隧道。NAR收到HI后,根據(jù)初始化信息中的信息建立雙向隧道,并且檢驗MN產(chǎn)生的轉(zhuǎn)交地址是否可用,如果可用返回HACK消息,否則產(chǎn)生一個新的轉(zhuǎn)交地址返回HACK消息,PAR向MN再發(fā)送一個路由器通告消息,其中包括新的轉(zhuǎn)交地址。PAR收到NAR發(fā)送回來的HACK消息后,就可以使用此隧道向MN轉(zhuǎn)發(fā)數(shù)據(jù)包了。MN收到NAR發(fā)送的路由廣播后,發(fā)送相應(yīng)的FBU消息,進行家鄉(xiāng)注冊和通信對端的注冊。PAR收到FBU之后,向MN和NAR發(fā)送快速綁定更新應(yīng)答消息。MN收到快速綁定應(yīng)答消息,表示快速切換過程完成,MN可以開始配置新的轉(zhuǎn)交地址,開始基本的移動IPv6切換過程。由于轉(zhuǎn)交地址可以一直有效,所以通信不會中斷。MN到達新的網(wǎng)絡(luò)、并與NAR建立第二層連接后,MN發(fā)出1條FNA,NAR就可以直接向MN轉(zhuǎn)發(fā)數(shù)據(jù)分組了。
本文采用 ns-allinone-2.31為仿真平臺[5],在 2.31版本中,通過移植Robert Hsieh在NS-2低版本中加載的移動IPv6模塊,然后修改配置腳本和源代碼來完成預(yù)先切換的仿真測試。CN(HA)至AR的鏈路配置是:分組的傳輸延遲為10 ms,帶寬為10 Mb/s;無線鏈路采用802.11協(xié)議,鏈路帶寬為 2 Mb/s,延遲為 64 μs。 預(yù)先式切換協(xié)議的網(wǎng)絡(luò)拓撲結(jié)構(gòu)如圖1所示。
圖1 快速切換協(xié)議的網(wǎng)絡(luò)拓撲結(jié)構(gòu)
在數(shù)據(jù)包丟失方面,改進的預(yù)先式切換協(xié)議消除了在移動檢測和綁定注冊過程的數(shù)據(jù)丟失,減少了MN請求PAR轉(zhuǎn)發(fā)數(shù)據(jù)和原網(wǎng)絡(luò)與新網(wǎng)絡(luò)間建立雙向隧道過程的數(shù)據(jù)丟失,省去了在隧道建立的過程中MN的處理過程,減少了隧道建立時對MN的依賴。改進的預(yù)先式切換過程中,隧道建立的過程提前了,這樣可以使MN在切換過程中的移動速度進一步提高,也使數(shù)據(jù)分組的丟失減少,如圖2所示。隨著MN的移動速度的增加,數(shù)據(jù)分組的丟失率逐漸減少。由于提前建立了雙向隧道,因此丟包率隨著MN移動速度變化不大。
圖2 仿真結(jié)果
在切換延遲方面,通過鏈路層觸發(fā)機制將一般移動IPv6協(xié)議中的移動檢測延遲消除了,切換延遲[6]為:T=TL2+TCoa+TBU。其中TL2是指MN從發(fā)送路由器請求消息到收到路由器通告消息的延遲,如果MN利用路由器緩存機制,則TL2為0。TCoa是指MN通過接入路由器的IP地址和其中的AP的MAC地址之間轉(zhuǎn)換所用的時間,如果緩存機制起作用,則TCoa也可為0。TBU表示快速綁定延遲,它包括FBU到達MN第1次獲得轉(zhuǎn)交地址而連接的路由器的延遲加上該路由器和切換之后而連接的路由器之間建立連接的延遲。由計算式可以得出,切換延遲與路由器通告無關(guān)。由于移動節(jié)點不需要立刻生成新的轉(zhuǎn)交地址,不會由于地址重復(fù)檢測而造成通信中斷。
在改進的預(yù)先式切換協(xié)議中,隨著路由器通告間隔的增大,平均切換延遲基本保持不變,主要原因是在接入路由器上實現(xiàn)了回送快速路由器通告的功能,使接入路由器對路由器請求的響應(yīng)時間變得很小。預(yù)先式切換協(xié)議的平均時延如圖3所示。
圖3 改進的預(yù)先切換協(xié)議中不同路由器通告間隔的移動檢測和地址重復(fù)檢測的平均時延
針對當(dāng)前移動IPv6的快速切換算法存在的移動節(jié)點切換時延過長和數(shù)據(jù)分組丟失的問題,本文提出了一種改進的移動IPv6預(yù)先式快速切換方法,并對該方法進行了仿真和分析。與其他的切換方法相比,本文提出的方法具有如下特點:可以提前建立PAR和NAR之間的雙向隧道,達到進一步減少數(shù)據(jù)分組丟失的可能性,并且通過綜合使用鏈路層觸發(fā)器、快速路由器通告和緩存的IP地址與MAC地址的映射等機制,實現(xiàn)將移動節(jié)點所連接的無線接入點鏈路地址快速映射成其連接的接入路由器的IP信息,并且降低了移動節(jié)點在子網(wǎng)間的切換延遲,起到了節(jié)省無線帶寬資源的作用。由于鏈路層觸發(fā)機制的影響,使減少數(shù)據(jù)分組的丟失并不明顯,在今后的研究中,將進一步研究在切換時延減少的基礎(chǔ)上減少數(shù)據(jù)分組的丟失。
[1]DOMMETY G.Fast handover for mobile IPv6[S].2002.
[2]李棟,趙瓏,張有志.移動IPv6快速切換的性能分析及優(yōu)化[J].計算機應(yīng)用,2006,26(6):224-225.
[3]孫利民,闞志剛,鄭建平.移動 IP技術(shù)[M].北京:電子工業(yè)出版社,2003.
[4]呂曉吾,蔣祥剛,欒新.一種應(yīng)用于 Mobile IPv6中切換算法的分析與改進[J].計算機工程,2005,21(11):107-109.
[5]秦冀,姜雪松.移動IP技術(shù)與 NS-2模擬[M].北京:機械工業(yè)出版社,2006.
[6]胡斌,劉輝.一種新的基于移動IPv6的快速切換方案[J].信息技術(shù)與信息化,2007,2:20-22.