[摘 要] IPv6在下一代互聯(lián)網(wǎng)中將被廣泛使用,IPv6支持移動的特性能夠?qū)⒐潭ňW(wǎng)絡(luò)和無線網(wǎng)絡(luò)緊密地結(jié)合起來。本文介紹了移動IPv6基本工作原理,并在此基礎(chǔ)上詳細(xì)介紹了移動IPv6的各種網(wǎng)絡(luò)切換方法,并對各種切換方法的優(yōu)劣進(jìn)行了分析和比較,最后對移動IPv6技術(shù)做出了展望。
[關(guān)鍵詞] 移動IPv6;平滑切換;快速切換;無縫切換
[中圖分類號]F724.6;TP393.03[文獻(xiàn)標(biāo)識碼]A[文章編號]1673-0194(2008)17-0101-04
1 引 言
隨著移動通信和互聯(lián)網(wǎng)行業(yè)的全面融合,可以實現(xiàn)在任何地方、任何地點能與任何人進(jìn)行通信,在移動中享受音樂、視頻和上網(wǎng)等服務(wù)。而實現(xiàn)這些服務(wù)的核心就是支持移動通信的IPv6協(xié)議。
2 移動IPv6的概述
2. 1移動IPv6的目標(biāo)
IETF所提出的基于IPv6移動通信的目標(biāo)在于:解決地址短缺的問題,使得所有的移動設(shè)備都能夠分配到一個全球有效的IPv6地址;減小路由表的長度;簡化路由協(xié)議,提高吞吐量與帶寬的利用;提供比IPv4更好的安全性能;更加關(guān)注服務(wù)類型,特別是實時數(shù)據(jù);通過指定允許范圍幫助實現(xiàn)組播;允許主機不改變地址而實現(xiàn)漫游;協(xié)議未來的可擴充性;允許新舊協(xié)議共存[1]。
2. 2節(jié)點的切換
移動IPv6的特點就是能在不同的網(wǎng)絡(luò)間進(jìn)行切換而保持連接節(jié)點的通信。其中的切換主要指的是節(jié)點從一個網(wǎng)絡(luò)移入到了另一個擁有不同網(wǎng)絡(luò)前綴的網(wǎng)絡(luò)中,主要包括兩個層面:鏈路層的切換和網(wǎng)絡(luò)層的切換。當(dāng)移動節(jié)點進(jìn)行網(wǎng)絡(luò)的切換時首先是鏈路層的切換,包括有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)。涉及了底層的通信技術(shù),主要包括無線通信中的鏈路層觸發(fā)機制[2]。網(wǎng)絡(luò)層的切換主要是通過網(wǎng)絡(luò)IP層地址綁定信息的交互來建立隧道,本文所討論的所有網(wǎng)絡(luò)切換算法的實現(xiàn)都是基于IP層的。
2. 3切換過程
圖1所示的是移動IPv6的工作模型,根據(jù)IETF的移動IPv6工作組對在草案[3]中提出的概念,移動節(jié)點在IPv6網(wǎng)絡(luò)中移動的過程如下:
移動前:當(dāng)移動節(jié)點(Mobile Node MN)沒有移動時,處于自己的網(wǎng)絡(luò)N1中時擁有本地IPv6地址,即移動前的地址(Previous Care of Address,PcoA)。此時當(dāng)對等節(jié)點(Correspondent Node CN)向MN發(fā)送數(shù)據(jù)時,數(shù)據(jù)通過MN所在網(wǎng)絡(luò)的接入路由( Previous Access Router,PAR)轉(zhuǎn)發(fā)到MN上。當(dāng)MN從網(wǎng)絡(luò)N1移動到網(wǎng)絡(luò)N2,此時地址PcoA將失效。
獲得轉(zhuǎn)交地址:當(dāng)移動節(jié)點移動到網(wǎng)絡(luò)N2后,必需在新網(wǎng)絡(luò)注冊且要獲得一個能在網(wǎng)絡(luò)N2中有效的唯一的IPv6地址,這時稱為新轉(zhuǎn)交地址(New Care of Address,NcoA),該地址的獲取算法在文獻(xiàn)[4]中介紹。
注冊:在移動節(jié)點獲得了轉(zhuǎn)交地址NcoA后,就會發(fā)送綁定更新消息(Binding Update,BU)向PAR去注冊這個地址, 本地代理也會返回一個(Binding Acknowledgement,BAK)確認(rèn)數(shù)據(jù)包信息,表示注冊成功。
攔截轉(zhuǎn)發(fā):注冊成功后,本地代理即N1中的默認(rèn)接入路由器將攔截發(fā)往MN的移動前的轉(zhuǎn)交地址的所有報文,并把這些報文轉(zhuǎn)發(fā)給MN的當(dāng)前有效地址NcoA。
直接通信:當(dāng)移動節(jié)點接收到本地代理轉(zhuǎn)發(fā)的由CN發(fā)送的報文后,移動節(jié)點可以發(fā)送BU消息給對等節(jié)點CN,通知CN自己當(dāng)前的地址。CN收到后就可以將之后的數(shù)據(jù)直接發(fā)送到MN上,從而實現(xiàn)了路由的優(yōu)化。
3 平滑切換
3. 1問題的提出
在移動的過程中,當(dāng)MN移入新的網(wǎng)絡(luò),還未將新地址向PAR和CN綁定時,如果此時正好有CN節(jié)點在和MN通信,則從CN發(fā)出的數(shù)據(jù)將到達(dá)MN移動前的網(wǎng)絡(luò)的接入路由PAR,由于PAR未收到MN的新地址綁定消息而直接將數(shù)據(jù)流發(fā)往MN在PAR中的所用地址PCoA,但由于MN已經(jīng)移出該網(wǎng)絡(luò),故將導(dǎo)致發(fā)出的數(shù)據(jù)丟失。如果綁定所用的時間過長則會導(dǎo)致丟失過多的數(shù)據(jù)報文而使通信性能下降。
3. 2切換的控制方式
節(jié)點在網(wǎng)絡(luò)中平滑切換的控制方式有兩種:移動節(jié)點控制切換網(wǎng)絡(luò)作為輔助(Mobie Controled Network Assist,MCNA)方式和網(wǎng)絡(luò)控制切換移動節(jié)點作為輔助(Network Controled Mobile Assistant,NCMA)方式。前者是由移動節(jié)點MN進(jìn)行引導(dǎo)來完成整個切換過程,后者則是由網(wǎng)絡(luò)進(jìn)行引導(dǎo)來完成整個切換過程。
3. 3平滑切換方法
IETF工作組提出了一種為解決移動切換丟失報文問題的平滑切換方法,其思想就是在網(wǎng)絡(luò)中的節(jié)點移出網(wǎng)絡(luò)后且尚未完成對新網(wǎng)絡(luò)的注冊的時候或是未完成在PAR上的地址綁定時, 從CN發(fā)出的數(shù)據(jù)報文在到達(dá)網(wǎng)絡(luò)后將存儲在網(wǎng)絡(luò)的接入路由PAR或NAR上,當(dāng)MN發(fā)出了綁定注冊消息后再將AR上緩存中的數(shù)據(jù)向MN發(fā)送。對于不同的切換控制方式,分別有相應(yīng)的切換算法。
在切換開始的時候移動節(jié)點還在PAR網(wǎng)絡(luò)中時會進(jìn)行兩步操作:一是PAR向移動節(jié)點MN發(fā)送路由通告信息RA,來告訴MN節(jié)點自己是否支持平滑切換的路由協(xié)議。二是 MN向PAR發(fā)送平滑切換的初始化消息,通知PAR進(jìn)行內(nèi)存的初始化分配工作。此后PAR將作為代理攔截由CN發(fā)往MN的報文,并存入緩存。
在MCNA方式下,MN利用包括像路由通告信息、鏈路層的一些信息等方法來判斷出自己的鏈路的更換信息。當(dāng)確定更換到了新的網(wǎng)絡(luò)后就會向NAR發(fā)送內(nèi)存初始化的消息,要求NAR根據(jù)消息進(jìn)行內(nèi)存的初始化工作,消息中含有緩存轉(zhuǎn)發(fā)的選項設(shè)置。當(dāng)NAR收到了該消息后會開辟內(nèi)存空間,并將緩存轉(zhuǎn)發(fā)消息發(fā)送至PAR。PAR收到后會返回一個確認(rèn)消息,然后將緩存數(shù)據(jù)轉(zhuǎn)發(fā)至NAR,并由NAR發(fā)送到MN的新地址。
在NCMA方式下,網(wǎng)絡(luò)可以通過各種元素判斷出MN何時在兩個AR之間的交換。這樣做的優(yōu)點就是NAR可以通過PAR得知切換之前的MN的狀態(tài)消息,由此來進(jìn)行緩存的初始化,進(jìn)而PAR緩存的報文將直接發(fā)送至NAR而不需要MN發(fā)送顯示的請求信息。當(dāng)MN移入NAR網(wǎng)絡(luò),注冊完之后,NAR就將其緩存的數(shù)據(jù)轉(zhuǎn)發(fā)給MN[5-6]。
平滑切換也存在某些不足之處,比如:高層協(xié)議的重傳問題,這樣會導(dǎo)致網(wǎng)絡(luò)資源的浪費和性能的不穩(wěn)定;報文亂序的問題;平滑切換由于沒有考慮到切換的時延,從而使其不適合用于對實時性要求較高的數(shù)據(jù)通信應(yīng)用中。
4 快速切換
4. 1問題的提出
IETF在移動IPv4的基礎(chǔ)上增加了路由優(yōu)化技術(shù)到移動IPv6技術(shù)中,解決了網(wǎng)絡(luò)的三角路由問題從而降低了網(wǎng)絡(luò)延遲,但仍然存在一些使數(shù)據(jù)延遲的因素,包括對節(jié)點的行為方向判斷,以及節(jié)點在新網(wǎng)絡(luò)中新地址的獲得和對HA,CN節(jié)點的注冊。過大的延時會導(dǎo)致數(shù)據(jù)報文的丟
失,使得TCP認(rèn)為是網(wǎng)絡(luò)的擁塞而導(dǎo)致重傳或停止通信。對一些實時性的應(yīng)用,要求數(shù)據(jù)傳輸?shù)难訒r低,否則就會降低整個通信的質(zhì)量。
4. 2快速切換方法
快速切換能降低網(wǎng)絡(luò)切換延時,交換協(xié)議開始是從MN向當(dāng)前所在網(wǎng)絡(luò)的接入路由PAR發(fā)出代理路由請求消息RtSolPr,這是通告網(wǎng)絡(luò)將要進(jìn)行快速切換,其中包含了新網(wǎng)絡(luò)的接入點的鏈路地址。作為回應(yīng),PAR將向MN發(fā)送一個代理路由通告信息PrRtAdv來告訴MN它所申請的地址是可知的、未知的或是連接PAR的另一條鏈路。如果是連接到同一個路由器上的不同鏈路那么就不需要做切換了,因為MN仍在PAR的網(wǎng)絡(luò)中,這種情況往往發(fā)生在同一路由中的MN從無線鏈路轉(zhuǎn)變到有線鏈路。
若RtSolPr消息中申請的鏈路地址是PAR已知的外部網(wǎng)絡(luò)信息,MN就會在PAR中完成新網(wǎng)地址的生成和配置,稱之為轉(zhuǎn)交地址的預(yù)先配置。交換的過程將如圖2所示。
這種方式下的PtRtAdv消息中包含了確認(rèn)的新網(wǎng)絡(luò)的地址前綴,MN可以通過該信息來形成在新網(wǎng)絡(luò)的有效地址NCoA[4],這樣MN就會向PAR發(fā)送快速切換的地址綁定消息FBU, 該消息使得PAR能夠?qū)N移動前的有效地址PCoA 和NCoA 地址綁定在PAR上,以便當(dāng)MN在移入新網(wǎng)絡(luò)后PAR可以將發(fā)往MN的報文轉(zhuǎn)發(fā)到MN的新地址。在PAR得到NCoA后需要進(jìn)行地址驗證,這時就會向NAR發(fā)送切換初始化消息HI,其中包含了NCoA。當(dāng)NAR收到這個地址后將會在本網(wǎng)中驗證這個地址是否為有效[4],然后通過HAck消息告知PAR。若地址無效,NAR將會產(chǎn)生一個有效的IPv6地址在HAck消息中返回。這樣PAR會得到一個最終有效的地址,然后通過FBAck消息通知到MN,同時也向NAR發(fā)送一個FBack消息來對最后地址綁定的一個確認(rèn)。這樣就在PAR和NAR之間建立起了一條隧道,之后發(fā)向MN的PCoA地址的數(shù)據(jù)就會在PAR上通過隧道到達(dá)NAR。當(dāng)MN移入新網(wǎng)絡(luò)向NAR發(fā)送了通告消息FNA進(jìn)行地址注冊后,NAR就會知道MN在本網(wǎng)絡(luò),并把從PAR發(fā)送過來的數(shù)據(jù)轉(zhuǎn)發(fā)到MN上。
如果PAR上沒有請求地址信息,或者M(jìn)N移動得太快,或者是FBACK消息在中途丟失等情況下,MN在移入新網(wǎng)絡(luò)之前就收不到FBACK消息。那么切換的方式就會變成如下圖3所示。
當(dāng)MN完成與PAR之間的RtSolPr和PrRtAdv消息的交換后就直接移到了NAR的網(wǎng)絡(luò)里,之后MN就將綁定消息FBU封裝在FNA消息中發(fā)向NAR。NAR從FNA消息中取出FBU消息然后將其中的MN的新地址進(jìn)行驗證,如果新生成的地址已經(jīng)被使用,則將由NAR返回一個NAACK消息,其中包含了一個由NAR生成的有效地址并且MN將使用此地址。然后NAR將向PAR發(fā)送FBU消息, 在PAR處將MN的新舊地址綁定。PAR會向NAR發(fā)送一個FBACK來確認(rèn)消息。PAR就可以將發(fā)向MN的PCoA地址的數(shù)據(jù)立即發(fā)向MN的NCoA。這樣就完成了MN的快速切換。
以上討論的是在由移動節(jié)點控制的情況下的切換。如果在網(wǎng)絡(luò)的控制下進(jìn)行切換,首先是由網(wǎng)絡(luò)判斷出MN即將發(fā)生切換,然后PAR就會直接向MN發(fā)送PrRtAdv消息,其中有NAR網(wǎng)絡(luò)的鏈路信息。MN通過該消息來生成新的轉(zhuǎn)交地址NCoA, 并會通過FBU消息向PAR進(jìn)行地址綁定。之后的操作與上述的基本相同[7]。
5 無縫的切換
無縫的切換能夠保證網(wǎng)絡(luò)切換的低延時,又能保證切換時的數(shù)據(jù)不丟失,但這是一種理想的情況,并不能徹底地將兩者完全地結(jié)合起來。Robert Hsieh等人提出了一種基于分層結(jié)構(gòu)和快速切換結(jié)構(gòu)下的網(wǎng)絡(luò)切換模型S-MIP,這就向無縫切換邁出了更大的一步,其切換的框架如圖4。
整個切換的過程如圖5所示。和快速切換相似,當(dāng)MN收到外部網(wǎng)絡(luò)鏈路信息時會主動向PAR發(fā)送RtSolPr消息來表示開始切換,其中包含了網(wǎng)絡(luò)的新轉(zhuǎn)交地址。PAR會向RtSolPr消息中的所有涉及的網(wǎng)絡(luò)的AR發(fā)送HI消息,并會收到回復(fù)的HACK消息并建立隧道。
移動節(jié)點在一個網(wǎng)絡(luò)中會周期性地將每次收到的所有L2層的鏈路信號的強弱和對應(yīng)網(wǎng)絡(luò)AR的ID號一起通過當(dāng)前跟蹤狀態(tài)消息CTS發(fā)送到?jīng)Q策引擎DE中去,DE可以根據(jù)該消息確定MN可能移入的網(wǎng)絡(luò)。通過設(shè)定L2信號閥值及根據(jù)信號強弱的變化來確定MN將要移入的網(wǎng)絡(luò)。當(dāng)DE發(fā)現(xiàn)MN的移動是隨機的運動時會向PAR和所有與MN有聯(lián)系的NAR上發(fā)送轉(zhuǎn)交決策信息HD,讓它們保留地址的綁定消息。這樣可以在MN發(fā)生“ping-ponging”運動時,盡量減少PCoA地址的注冊時間。當(dāng)MN停留在多個AR網(wǎng)絡(luò)的交界區(qū)時DE將通知MN和各AR之間進(jìn)行多重的地址綁定。而在MN線性的移動的情況下DE就會將MN要移入的網(wǎng)絡(luò)的信息告知MN。HD消息中包含了由DE決策出的MN所要移入網(wǎng)絡(luò)中的新轉(zhuǎn)交地址,并且通過PrRtAdv消息傳送給MN。
當(dāng)MN收到DE的通過消息后就會向PAR發(fā)送地址綁定更新消息FBU。然后PAR會向MAP發(fā)送同步播發(fā)消息Scast, MAP會將此后從CN發(fā)向MN的所有報文打上“s”標(biāo)志發(fā)給所有MN能感應(yīng)到的網(wǎng)絡(luò)的AR路由上,這可以使得一些無法預(yù)測的非規(guī)則運動如MN在線性移動過程中突然轉(zhuǎn)向移入別的網(wǎng)絡(luò),造成DE方向判斷失誤的可能。這種同步的報文發(fā)送機制可以減少由此引起的報文丟失。在S-MIP中NAR將開辟兩個內(nèi)存空間,分別存放著從PAR發(fā)送過來的帶有“f ”標(biāo)志的報文的緩存f-buffer和從MAP發(fā)送過來的帶有“s”標(biāo)志的報文的緩存s-buffer。當(dāng)MN在新的網(wǎng)絡(luò)中發(fā)送F-NA消息時,NAR就會將f-buffer和s-buffer中的數(shù)據(jù)依次發(fā)給MN,這樣可以減小報文的丟失率,同時也保證了在NAR上不會產(chǎn)生報文亂序問題。當(dāng)NAR發(fā)送完f-buffer中的消息后就會清空其中的內(nèi)容并向MAP發(fā)送Soff消息來結(jié)束整個切換過程,之后MAP就直接將報文傳送給MN了[8]。
S-MIP切換模型是一種由節(jié)點發(fā)起并由網(wǎng)絡(luò)控制的切換,在快速切換和分層網(wǎng)絡(luò)的基礎(chǔ)上通過增加DE決策機制,報文的同步播送以及在網(wǎng)絡(luò)接入路由中進(jìn)行雙緩存,減少了快速切換時帶來的數(shù)據(jù)丟失的現(xiàn)象,并保證了沒有報文亂序的問題。比較適合于應(yīng)用在具有小型蜂窩網(wǎng)絡(luò)結(jié)構(gòu)的大型建筑物內(nèi)。但是整個框架是針對低速的1M/S的移動速度而提出的,對于高速的節(jié)點運動則不適用于該模型。
6 總 結(jié)
本文對移動IPv6進(jìn)行切換時產(chǎn)生的問題進(jìn)行了分析探討,并詳細(xì)介紹了解決這些問題的各種切換方法,分析了各自的優(yōu)劣性,最后提出了一些在移動IPv6切換中值得研究的問題。結(jié)合IPv6的很多新特性,建議未來移動網(wǎng)絡(luò)應(yīng)首選移動IPv6協(xié)議。從目前的研究情況來看,要能夠?qū)崿F(xiàn)移動IPv6的商業(yè)化的應(yīng)用,還需要一套完善的切換機制來進(jìn)行支持,同時也要考慮到不同的應(yīng)用類型和不同的應(yīng)用環(huán)境,移動IPv6的安全問題也要得到很好的解決。
主要參考文獻(xiàn)
[1] 李毅,等. 關(guān)于移動IPv6技術(shù)的探討[J]. 武漢理工大學(xué)學(xué)報,2005,25(2):87-90.
[2] D Johnson,et al. Mobile Support in IPv6[S]. draft-ietf-mobileip-
ipv6-24. June,2003.
[3] S Thomson,et al. IPv6 Stateless Address Autoconfiguration[S]. RFC2462,December 1998:10-19.
[4] Rajeev Koodli,et al. A Framework for Smooth Handovers with Mobile IPv6[S]. IETF INTERNET-DRAFT,2000.
[5] Robert Hsieh.A Seamless Handoff Architecture for Mobile IP[R].INFOCOM, 2003.
[6] S Deering,et al.Internet Protocol, Version 6 (IPv6) Specification[S].RFC 2460, December,1998.
[7] J Loughney,et al. Context Transfer Protocol[S]. draft-ietf-seamoby-
ctp-05. October,2003.
[8] Rajeev Koodli. Fast Handovers for MobileIPv6[S]. draft-ietf-mipshop-fast-mipv6-01. January,2004.