李向麗,王偉鋒,高艷紅,孫曉林
(鄭州大學(xué)信息工程學(xué)院,河南鄭州450001)
移動IPv6(Mobile IPv6,MIPv6)支持節(jié)點(diǎn)的移動性,但是在切換過程中移動節(jié)點(diǎn)(Mobile Node,MN)無法發(fā)送和接收數(shù)據(jù)分組,造成通信中斷,無法滿足實(shí)時通信的需求.為了在不同網(wǎng)絡(luò)間實(shí)現(xiàn)無縫切換,IETF提出了快速移動 IPv6(Fast Handovers for Mobile IPv6,F(xiàn)MIPv6)[1].FMIPv6旨在將第三層切換和第二層切換并行執(zhí)行,將部分網(wǎng)絡(luò)層操作提前到鏈路層切換之前進(jìn)行,并通過隧道轉(zhuǎn)發(fā)分組降低切換過程中的丟包率,但同時引入信令傳輸和路由器緩存的開銷,也存在綁定更新過程復(fù)雜的問題.現(xiàn)有的很多改進(jìn)算法,例如文獻(xiàn)[2]將快速層次切換結(jié)合,文獻(xiàn)[3]利用PAR提前注冊,都不同程度地提高了切換性能,但都沒有從根本上簡化綁定注冊的過程.
筆者提出一種新的跨層快速切換方案mSCFHS(mSCTP-based Cross_layer and Fast Handover Scheme),利用移動流控制傳輸協(xié)議(mobile Stream Control Transport Protocol,mSCTP)[4]實(shí)現(xiàn)快速切換,通過傳輸層和網(wǎng)絡(luò)層切換的結(jié)合,利用mSCTP的動態(tài)地址重配置(Dynamic Address Reconfiguration,DAR)[5]功能提前完成向通信對端(Correspondent Node,CN)的綁定注冊.仿真實(shí)驗(yàn)表明,該方案可以有效減少切換延遲和丟包率,提高數(shù)據(jù)的傳輸效率.
MIPv6[6]中,MN進(jìn)入新鏈路后需要進(jìn)行移動檢測、轉(zhuǎn)交地址配置和綁定更新操作,引起較長的切換延遲,并產(chǎn)生丟包現(xiàn)象.為加速M(fèi)IPv6的切換過程,IETF提出了FMIPv6,分為預(yù)測型和反應(yīng)型,筆者的改進(jìn)方案基于預(yù)測型快速切換.
預(yù)測型快速切換的操作流程描述如下:
(1)MN根據(jù)第二層觸發(fā)信號預(yù)測自己即將進(jìn)入新子網(wǎng)并發(fā)現(xiàn)新接入點(diǎn)(AP),于是向前接入路由器(PAR)發(fā)送路由器請求代理通告消息Rt-SolPr請求新接入路由器(NAR)的相關(guān)信息;
(2)PAR查找得到NAR的子網(wǎng)前綴信息并封裝在代理路由器通告消息PrRtAdv中,返回給MN;
(3)MN根據(jù)這些消息配置新轉(zhuǎn)交地址(New Coa-of Address,NCoA),向 PAR發(fā)送包含 NCoA的快速綁定更新FBU消息,開始網(wǎng)絡(luò)層切換;
(4)PAR向NAR發(fā)送切換初始化消息HI;
(5)NAR對NCoA進(jìn)行重復(fù)地址檢測(DAD)后,向PAR發(fā)送切換確認(rèn)消息HAck.此時,PAR與NAR之間的雙向隧道建立完畢,MN和CN通信的數(shù)據(jù)分組經(jīng)隧道轉(zhuǎn)發(fā)給NAR,NAR將對分組進(jìn)行緩存.
(6)PAR收到HAck后,向MN發(fā)送FBAck;
(7)二層切換后,MN檢測到自己到達(dá)NAR,主動向NAR發(fā)送快速鄰居通告消息FNA,NAR向MN轉(zhuǎn)發(fā)之前緩存的數(shù)據(jù)分組,NAR響應(yīng)給MN鄰居通告確認(rèn)消息;
(8)MN向家鄉(xiāng)代理(HA)和CN發(fā)送綁定更新BU消息注冊NCoA;
(9)MN收到HA和CN發(fā)送的綁定確認(rèn)BA消息表示綁定成功.至此,整個切換過程完成.
FMIPv6中MN與原鏈路斷開之前獲得NCoA,因此,一旦MN與新鏈路建立連接,就可以立即使用NCoA,從而減少了移動檢測、轉(zhuǎn)交地址配置和重復(fù)地址檢測的過程,減少了切換延遲.切換期間,MN和CN之間的數(shù)據(jù)分組經(jīng)隧道轉(zhuǎn)發(fā)給NAR,NAR對其進(jìn)行緩存,降低了丟包率.
但是該協(xié)議存在以下問題:①增加了信令負(fù)載,如 MN 與 PAR、NAR 之間的 FBU、HI、HAck、FBAck等消息的傳輸;②通過隧道傳輸數(shù)據(jù)增加了端到端的延遲,降低了數(shù)據(jù)的傳輸效率;③路由器需要增加空間存儲轉(zhuǎn)發(fā)數(shù)據(jù)分組,增加了路由器的負(fù)載;④向CN綁定更新前的返回路徑可達(dá)(RRP)對家鄉(xiāng)地址和新轉(zhuǎn)交地址進(jìn)行認(rèn)證的過程,產(chǎn)生較大的時延.
因此筆者提出一種改進(jìn)方案,不需要建立隧道,減少由隧道引起的一系列開銷;直接利用mSCTP的動態(tài)地址重配置協(xié)議,在斷開連接前向CN注冊,消除復(fù)雜的RRP認(rèn)證過程,減少切換延遲和通信中斷的時間.
為了實(shí)現(xiàn)平滑切換,F(xiàn)MIPv6協(xié)議通過網(wǎng)絡(luò)層切換增加了網(wǎng)絡(luò)的復(fù)雜度,而且加重了路由器的負(fù)擔(dān).而傳輸層切換把移動管理從網(wǎng)絡(luò)層提升至傳輸層,使參與通信的節(jié)點(diǎn)進(jìn)行移動切換管理,減少網(wǎng)絡(luò)層切換帶來的額外負(fù)載,加速切換的完成.
流控制傳輸協(xié)議SCTP[7-9]是IETF提出的一種端到端、面向消息流、面向連接的傳輸層協(xié)議.mSCTP是增加了動態(tài)地址配置功能的SCTP協(xié)議,將SCTP協(xié)議的多家鄉(xiāng)特性與動態(tài)地址配置相結(jié)合,更好地支持了端到端的移動性.
mSCTP中,MN有多個IP地址,其中一個為主地址,其余為備用地址.移動過程中MN通過設(shè)置動態(tài)地址配置消息(Address Configuration,ASCONF)及其確認(rèn)消息ASCONF-ACK的參數(shù)完成添加、刪除、改變主IP的操作[10].
筆者改進(jìn)方案是將mSCTP融合到FMIPv6的切換過程中,將網(wǎng)絡(luò)層和傳輸層的切換相結(jié)合,消除建立隧道的過程,并且利用DAR簡化綁定更新操作,其特點(diǎn)表現(xiàn)在以下幾個方面:①M(fèi)N仍在PAR時提前向HA綁定注冊;②鏈路層切換之前完成向CN的注冊過程;③消除對端注冊前的返回路徑可達(dá)過程,最大程度地減少綁定更新過程引起的切換延遲,優(yōu)化注冊過程.
mSCFHS的工作流程如圖1所示,分為以下3個階段.
圖1 mSCFHS切換流程Fig.1 Handover procedures in mSCFHS
2.2.1 切換準(zhǔn)備階段
當(dāng)MN預(yù)測即將進(jìn)入新鏈路時,向PAR發(fā)送RtSolPr消息,請求得到NAR所在鏈路的前綴信息.PAR將這些消息封裝在PrRtAdv中返回給MN.MN根據(jù)這些消息用無狀態(tài)地址自動配置方法[11]獲得 NCoA.
2.2.2 動態(tài)綁定更新階段
MN向CN發(fā)送ADD-IP ASCONF消息,通知CN自己的新地址,CN在關(guān)聯(lián)地址集中保存該地址,同時MN發(fā)送Set-Primary ASCONF消息,通知CN設(shè)置該地址為主地址.然后,CN向MN發(fā)送ASCONF-ACK,通知CN已經(jīng)成功動態(tài)添加新IP地址并設(shè)置主地址.此后,CN可以通過NCoA和MN進(jìn)行通信.MN向HA發(fā)送BU告知自己的當(dāng)前位置,將NCoA與家鄉(xiāng)地址進(jìn)行綁定.這時,MN開始進(jìn)行二層切換,而不必等到HA發(fā)送BA之后再進(jìn)行.如果MN移動過快,沒有向HA發(fā)送BU或者HA由于某些原因沒有收到該BU,當(dāng)MN進(jìn)入新鏈路后,按照MIPv6的方法,重新向HA發(fā)送BU進(jìn)行綁定更新.
該階段既完成了向CN綁定注冊,又發(fā)起向HA的綁定,將整個注冊過程都提前進(jìn)行,大大縮短了綁定更新時延.不需要建立隧道,減少了許多信令的交互及其產(chǎn)生的緩存開銷,同時也降低了端到端的延遲,提高了數(shù)據(jù)傳輸效率.
2.2.3 刪除原轉(zhuǎn)交地址階段
MN已經(jīng)完成鏈路層切換,到達(dá)新鏈路,由于已經(jīng)獲得NCoA,MN可以收到CN發(fā)送的數(shù)據(jù)包.當(dāng)MN感知不到先前鏈路信號時,則認(rèn)為自己已經(jīng)完全切換到新的鏈路,向CN發(fā)送Delete-IP ASCONF消息.CN收到該消息后從關(guān)聯(lián)地址集中刪除PCoA并向MN發(fā)送ASCONF-ACK消息作為應(yīng)答.MN收到該確認(rèn)消息后,同樣把PCoA從自己的關(guān)聯(lián)地址集中刪除.
切換延遲是衡量移動網(wǎng)絡(luò)性能的一項(xiàng)重要指標(biāo).
高校的眾多的業(yè)務(wù)系統(tǒng),大多是業(yè)務(wù)部門與二級學(xué)院自建設(shè)。平時對系統(tǒng)的日常管理與運(yùn)維,主要是部門自己來完成。信息主管部門不能對應(yīng)用業(yè)務(wù)系統(tǒng)自行統(tǒng)一管理,無法對所有的信息系統(tǒng)作出安全的評估,系統(tǒng)是否存在漏洞。加之,部分業(yè)務(wù)系統(tǒng)開發(fā)時,就重應(yīng)用輕安全。部門本身的運(yùn)維金費(fèi)與管理隊(duì)伍投入又不足,缺乏專業(yè)技術(shù)人員,導(dǎo)致有些應(yīng)用系統(tǒng)長期無人管理。這些系統(tǒng)往往就成了學(xué)校網(wǎng)絡(luò)的薄弱環(huán)節(jié),極易造成師生的個人信息泄露與被攻擊。往往都是在網(wǎng)絡(luò)安全事故發(fā)生以后,才能意識到存在著安全漏洞,再由信息的主管理部門或者運(yùn)維公司派人來維修,使整個學(xué)校的網(wǎng)絡(luò)安全工作一直處于較為被動的狀態(tài)。
FMIPv6的切換延遲為
式中:T(L2)表示二層切換的延遲;T(BU)表示向HA和CN綁定更新引起的切換延遲.
mSCFHS協(xié)議中,MN已提前利用DAR功能向CN注冊新CoA,在切換完成之后,不需向CN注冊和進(jìn)行RRP過程,并且在二層切換之前向HA發(fā)送BU,所以該方案的切換延遲為
如果MN進(jìn)入新鏈路向HA綁定注冊,則切換延遲為
式中:T(BU_HA)表示MN向HA進(jìn)行綁定更新所需的時間.
由上可知,改進(jìn)方案mSCFHS可以使綁定更新的代價最小化,減少切換延遲.由于T(BU)包括返回路徑可達(dá)過程所需的時間,所以必有T(BU)>T(BU_HA),可見即使在最壞情況下,mSCFHS的切換延遲仍低于FMIPv6.
因此,與FMIP6相比,mSCFHS減少了總切換時延和信令開銷,從而降低了通信中斷時間和傳輸延遲,提高了帶寬利用率.
使用Lawrence Berkeley實(shí)驗(yàn)室開發(fā)的NS2[12]作為仿真平臺,對FMIPv6和mSCFHS進(jìn)行模擬,仿真網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示.
圖2 仿真網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.2 Simulation network topology structure
仿真實(shí)驗(yàn)中有9個節(jié)點(diǎn),包括8個有線節(jié)點(diǎn)和1個移動節(jié)點(diǎn),均勻分布在正方形區(qū)域內(nèi).MAC協(xié)議采用IEEE 802.11,無線路由協(xié)議為NOAH.實(shí)驗(yàn)采用CBR(Constant Bit Rate)流量源,包的大小為1 000 Bytes,傳輸速率為100 kbps~1 Mbps.CN與UDP端相連,以特定的速率發(fā)送分組,MN與null接收器連接,接受數(shù)據(jù).仿真開始后,CN從第5 s開始向MN發(fā)送UDP數(shù)據(jù),一直到整個實(shí)驗(yàn)結(jié)束,總的模擬時間是80 s.
圖3描述了不同CBR流量時MN從PAR移動到 NAR所產(chǎn)生的切換延遲.由圖3可知,mSCFHS的切換延遲整體上明顯低于FMIPv6,改進(jìn)后的切換延遲比原協(xié)議減少將近50%,尤其CBR流量小于800 kbps時,mSCFHS切換延遲均小于200 ms,能夠更好地支持實(shí)時業(yè)務(wù),表現(xiàn)出更好的性能.
圖3 不同CBR流量下的切換延遲Fig.3 The handover latency under different CBR speed
圖4為不同CBR流量下MN從PAR移動到NAR的丟包情況.顯而易見,mSCFHS的丟包率大大減少,特別是CBR流量小于等于700 kbps時,丟包率幾乎為0,與圖3中切換延遲的表現(xiàn)一致,這是因?yàn)镃N直接通過NCoA向MN發(fā)送數(shù)據(jù)分組,減少了轉(zhuǎn)發(fā)過程的丟包率.
圖4 不同CBR流量下數(shù)據(jù)包丟失率Fig.4 The packet loss rate under different CBR speed
mSCFHS把網(wǎng)絡(luò)層切換和傳輸層切換有效結(jié)合,利用mSCTP的DAR向通信對端進(jìn)行注冊,使綁定更新過程得到簡化,同時消除了建立隧道的過程,減少了隨之產(chǎn)生的信令和緩存開銷.另外,該協(xié)議把向HA注冊的過程也提前到鏈路層切換之前進(jìn)行,減少綁定注冊產(chǎn)生的時延,實(shí)現(xiàn)了快速切換.仿真實(shí)驗(yàn)表明,改進(jìn)的mSCFHS協(xié)議的整體性能優(yōu)于FMIPv6協(xié)議.
[1]RFC4068,F(xiàn)ast handover for mobile IPv6[S].
[2]MUN Youngsong,LEE Kyunghye.Fast Macro Mobility Handovers in HMIPv6[C]//IETF draftmun-mipshopfhmacro-05.txt.October 14,Soongsil University.2010.
[3]LI Qiao-long,HUANG Kai-zhi,JIN Liang.Using Concurrently Executing Mechanism to Provide Secure Handoff Optimization for IPv6-based Wireless Networks[C].Barcelona,Spain:IEEE Press,2009:1-5.
[4]RIEGEL M,TUEXEN M.IETF draft:Mobile SCTP,draft-riegel-tuexen-mobile-sctp-09.txt[EB/OL].http://www.ietf.org,2007.
[5]RFC5061, Stream Control Transmission Protocal(SCTP)Dynamic Address Reconfiguration[S].
[6]RFC3775,Mobility support in IPv6[S].
[7]RFC 4960,Stream Control Transmission Protocol[S].
[8]RFC 2960,Stream Control Transmission Protocal[S].
[9]RFC3758, Stream Control Transmission Protocol(SCTP)Partial Reliability Extension[S].
[10]董德才.移動場景中基于mSCTP的多路傳輸技術(shù)研究[D].北京:北京郵電大學(xué)信息工程學(xué)院,2008:4-5.
[11]RFC4862,IPv6 Stateless Address Auto configuration[S].
[12]徐雷鳴,龐博,趙耀.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版社,2003.