摘要:為了加速基于IP移動(dòng)性管理的部署,分析研究了IPsec安全防護(hù)體系,提出了代理IPv6上的安全防護(hù)措施,并設(shè)計(jì)實(shí)現(xiàn)了代理移動(dòng)IPv6在真實(shí)試驗(yàn)臺(tái)的實(shí)現(xiàn),該實(shí)現(xiàn)有利于與MIPL集成,尊重標(biāo)準(zhǔn)規(guī)范,同時(shí)降低切換延遲并為通信安全提供保障。具有簡(jiǎn)化移動(dòng)節(jié)點(diǎn)協(xié)議棧的顯著優(yōu)點(diǎn)。
關(guān)鍵詞:代理IPv6協(xié)議;移動(dòng)節(jié)點(diǎn);安全防護(hù)
中圖分類號(hào):TP393.4 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 17-0000-02
在過(guò)去的幾年中,已經(jīng)有兩種方法解決了移動(dòng)管理問(wèn)題,一種是被多數(shù)IETF協(xié)議使用的基于主機(jī)的方法,例如層次型移動(dòng)IPv6(Hierarchical Mobile IPv6,HMIPv6),另一種是在不同子網(wǎng)的無(wú)線局域網(wǎng)(Wireless Local Area Networks,WLAN)轉(zhuǎn)換中使用私人無(wú)線局域網(wǎng)轉(zhuǎn)換的方法。但是這兩種方法都沒(méi)有完全解決問(wèn)題。于是互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)的基于網(wǎng)絡(luò)的移動(dòng)性管理協(xié)議管理工作組(Network-based Localized Mobility Management Working Group,NETLMM WG)提出了代理移動(dòng)(Proxy Mobile ,PMIPv6)作為一種新型的基于網(wǎng)絡(luò)的移動(dòng)協(xié)議[1],在這個(gè)協(xié)議中IPv6節(jié)點(diǎn)不需要主機(jī)的參與。
1 PMIPv6的基本思想
PMIPv6擴(kuò)展了移動(dòng)IPv6信令和重用了許多概念[2],比如家鄉(xiāng)代理(Home Agent,HA)功能。作為PMIPv6旨在提供基于網(wǎng)絡(luò)的一個(gè)本地拓?fù)溆驅(qū)σ苿?dòng)節(jié)點(diǎn)(Mobile Node,MN)的移動(dòng)管理支持,它的創(chuàng)新點(diǎn)在于它免除了MN參與任何移動(dòng)相關(guān)信令并且用代理移動(dòng)代理來(lái)代表MN在服務(wù)網(wǎng)絡(luò)中執(zhí)行移動(dòng)相關(guān)信令。一旦MN進(jìn)入PMIPv6域和執(zhí)行訪問(wèn)認(rèn)證,服務(wù)網(wǎng)絡(luò)確保MN相信它總是在其家鄉(xiāng)網(wǎng)絡(luò)以及在任何接入網(wǎng)絡(luò)可以獲得其家鄉(xiāng)地址。這個(gè)服務(wù)網(wǎng)絡(luò)分配一個(gè)獨(dú)有的家鄉(xiāng)網(wǎng)絡(luò)前綴(Home Network Prefix,HNP)給每個(gè)MN,只要MN在PMIPv6域內(nèi)移動(dòng),這個(gè)前綴始終跟隨著MN。因此,整個(gè)PMIPv6域就顯示為MN的家鄉(xiāng)網(wǎng)絡(luò)。PMIPv6架構(gòu)的核心功能實(shí)體主要分為兩個(gè)部分,一個(gè)是本地移動(dòng)錨點(diǎn)(Local Mobility Anchor,LMA),另一個(gè)是移動(dòng)接入網(wǎng)關(guān)(Mobile Access Gateway,MAG)。
本地移動(dòng)錨點(diǎn)(LMA)作為MN家庭網(wǎng)絡(luò)前綴的拓?fù)溴^點(diǎn),接收所有從通信節(jié)點(diǎn)(Correspondent Node,CN)發(fā)給MN的數(shù)據(jù)包,并將這些數(shù)據(jù)包通過(guò)雙向隧道轉(zhuǎn)發(fā)給正在等待接收的移動(dòng)接入網(wǎng)關(guān)。移動(dòng)接入網(wǎng)關(guān)在隧道另一端接收到數(shù)據(jù)包后,除去外部標(biāo)頭,并且通過(guò)接入鏈路轉(zhuǎn)發(fā)給MN。
移動(dòng)接入網(wǎng)關(guān)(MAG)在接入鏈路上基本扮演者默認(rèn)路由的角色。它截獲所有MN發(fā)往任何CN的數(shù)據(jù)包,并且同過(guò)雙向隧道將這些數(shù)據(jù)包發(fā)送給本地移動(dòng)錨點(diǎn)。本地移動(dòng)錨點(diǎn)在隧道另一端接收到數(shù)據(jù)包后,除去外部標(biāo)頭并發(fā)送到目標(biāo)地址。
2 IPSec安全防護(hù)
移動(dòng)IP技術(shù)可以讓用戶在不中斷網(wǎng)絡(luò)連接的情況下隨意漫游,給用戶帶來(lái)了極大的方便。但在移動(dòng)IP環(huán)境中,終端可以隨意移動(dòng),這一特征引入了諸多安全問(wèn)題。并且對(duì)PMIPv6的LMA與MAG之間的雙向隧道中來(lái)說(shuō),安全性考慮機(jī)制也是非常重要的。移動(dòng)IPv6采用了IPSec協(xié)議為移動(dòng)終端的通信提供了安全保護(hù)[3]149-150。IPsec提供的安全服務(wù)包括對(duì)網(wǎng)絡(luò)單元的訪問(wèn)控制,數(shù)據(jù)源認(rèn)證,提供用于無(wú)連接服務(wù)的協(xié)議(如UDP協(xié)議)的無(wú)連接完整性檢驗(yàn),對(duì)重放數(shù)據(jù)報(bào)進(jìn)行監(jiān)測(cè)和拒絕,使用加密來(lái)提供數(shù)據(jù)流保密。由于IPsec服務(wù)是在網(wǎng)絡(luò)層提供的,任何上層協(xié)議,如TCP、UDP、ICMP和IGMP,或者任何應(yīng)用層協(xié)議都可以使用這些服務(wù)。因此本文提出對(duì)不同LMA之間以及LMA和MAG之間的傳送消息同樣使用IPSec來(lái)進(jìn)行安全防護(hù),且在PMIPv6中IPSec的應(yīng)用方法應(yīng)與移動(dòng)IPv6協(xié)議應(yīng)用的方法相同。
3 PMIPv6的實(shí)現(xiàn)
本文研究PMIPv6的設(shè)計(jì)實(shí)現(xiàn)是基于Linux vanilla kernel 2.6.2.內(nèi)核,重用移動(dòng)IPv6 Linux (Mobile IPv6 for Linux,MIPL)2.0.2版本[4]21-24,在真實(shí)試驗(yàn)臺(tái)來(lái)完成實(shí)現(xiàn)的。在該設(shè)計(jì)實(shí)現(xiàn)中,使用了多線程來(lái)實(shí)現(xiàn)移動(dòng)IPv6:一個(gè)用來(lái)處理互聯(lián)網(wǎng)控制消息協(xié)議(Internet Control Message Protocol Version 6,ICMPv6)消息,一個(gè)用于處理移動(dòng)頭信息,另一個(gè)用于處理任務(wù)和時(shí)間事件。為了支持PMIPv6,我們對(duì)已有的線程進(jìn)行了擴(kuò)展,在設(shè)計(jì)中分別定義兩個(gè)不同的有限狀態(tài)機(jī),一個(gè)是LMA,另一個(gè)是MAG。它們提供一個(gè)正確的預(yù)定義協(xié)議行為,來(lái)負(fù)責(zé)做出適當(dāng)?shù)臎Q定和控制所有其他元素。PMIPv6的綁定緩存中存儲(chǔ)著所有有關(guān)MN點(diǎn)的附著信息并且保持著MN的流動(dòng)性的更新。
具體實(shí)現(xiàn)過(guò)程為圖中為一個(gè)沒(méi)有做過(guò)任何修改的MN,用自己帶有網(wǎng)件無(wú)線網(wǎng)卡接入支持IEEE 802.11a/g標(biāo)準(zhǔn)的兩個(gè)接入點(diǎn)(Access point,AP)中的任何一個(gè)。每個(gè)接入點(diǎn)直接與一個(gè)MAG相連。MAG所執(zhí)行的功能包括附加功能和修改MIPL來(lái)處理代理綁定更新(PBU)和代理綁定確認(rèn)報(bào)告(Proxy Binding Acknowledge,PBA)消息和流動(dòng)性選擇問(wèn)題,以及一個(gè)修正的路由通告守護(hù)進(jìn)程(Router Advertisement daemon,RADVD)用每個(gè)MN所特有的家庭網(wǎng)絡(luò)前綴(HNP)來(lái)單播路由通告。MAG都與LMA相連。LMA是由MIPL中的HA修改后配置而成的,它為每個(gè)MN在BCE中存儲(chǔ)著唯一的HNP,可以處理PUB和PBA消息。最后一個(gè)沒(méi)有經(jīng)過(guò)修改的CN與LMA相連。在試驗(yàn)臺(tái)中各個(gè)獨(dú)立的部分都是在Ubentu 7.10中實(shí)現(xiàn)的,其中LMA和MAG使用的是Linux vanilla 2.6.20內(nèi)核,MN和CN使用的是Linux2.6.22-15通用內(nèi)核。
在面對(duì)實(shí)施標(biāo)準(zhǔn)PMIPv6時(shí),考慮了最重要的現(xiàn)實(shí)約束,現(xiàn)在總結(jié)如下:
(1)附著和分離階段:
標(biāo)準(zhǔn)PMIPv6[1]對(duì)這兩個(gè)階段沒(méi)有指定任何功能,它的主要目的是確認(rèn)只有元素和信令消息在PMIPv6域內(nèi)??紤]到這點(diǎn),為我們建議在MN-MAG上提供接口[4]。一種可能性是使用IP層解決,另一種可能性是開發(fā)一個(gè)特定的鏈路層機(jī)制。我們選擇了最新的方法是使用觸發(fā)器在2層允許更快的運(yùn)動(dòng)檢測(cè)。我們通過(guò)由接入點(diǎn)(APs)向移動(dòng)接入網(wǎng)關(guān)(MAG)發(fā)送的包含有“相關(guān)聯(lián)”,“解除關(guān)聯(lián)”,“重新關(guān)聯(lián)”內(nèi)容的日志消息來(lái)檢測(cè)MN是附著還是分離在PMIPv6域。
(2)單播RA:
對(duì)于每個(gè)MN來(lái)說(shuō),只有一個(gè)獨(dú)一無(wú)二的家庭網(wǎng)絡(luò)前綴(HNP),HNP要被MAG發(fā)送一個(gè)單播RA消息,發(fā)送給特定的MN。我們?yōu)镸AG在PMIPv6域開發(fā)并集成了一個(gè)功能,這個(gè)方法是基于路由通告守護(hù)進(jìn)程來(lái)單播RA。MN的地址通過(guò)IPv6無(wú)狀態(tài)地址的自動(dòng)配置而自動(dòng)配置。
(3)在MN的接入鏈路上,MAG指定為IPv6的默認(rèn)路由
然而,當(dāng)移動(dòng)節(jié)點(diǎn)從一個(gè)接入鏈路移動(dòng)到另一個(gè)時(shí),正在為其服務(wù)的MAG對(duì)各自的鏈接將發(fā)送路由廣告消息。如果這些路由廣告消息是喲不同的本地鏈路地址或是不同的鏈路層地址發(fā)送的,MN在每次切換后將會(huì)一直檢測(cè)到個(gè)新的默認(rèn)路由,為了解決這個(gè)問(wèn)題,標(biāo)準(zhǔn)PMIPv6要求所有的MAG在域內(nèi)使用相同的本地鏈路和鏈路層地址,無(wú)論MN在哪里接入哪個(gè)鏈路接入。為了符合這項(xiàng)重要規(guī)范,我們按要求為所有MAG配置相同的本地鏈路地址。
(4)隧道:
雙向隧道是用來(lái)路由傳輸數(shù)據(jù)進(jìn)出于MAG和LMA之間的MN的通道。一條隧道隱藏著拓?fù)浣Y(jié)構(gòu),使MN在PMIPv6域內(nèi)的任何訪問(wèn)鏈接使用帶有其HNP的地址。一條隧道可以動(dòng)態(tài)地在需要時(shí)產(chǎn)生,在不需要時(shí)移除。然而,本實(shí)現(xiàn)選擇使用預(yù)建立靜態(tài)隧道來(lái)代替基于需要的可以建立和移除的動(dòng)態(tài)隧道。我們實(shí)施一條靜態(tài)的和共享隧道在每個(gè)MAG和LMA之間,為了服務(wù)所有接入相同MAG的MN來(lái)使用相同的隧道。
4 小結(jié)
本文詳細(xì)闡述了基于IPSec安全保護(hù)和代理移動(dòng)IPv6協(xié)議的實(shí)現(xiàn)過(guò)程。然而PMIPv6是一個(gè)龐雜的協(xié)議,當(dāng)前的技術(shù)發(fā)展還處在初級(jí)階段,目前的移動(dòng)解決方案僅僅只是基于基礎(chǔ)理論的試驗(yàn)臺(tái)上的實(shí)現(xiàn),且流動(dòng)性IPv6管理的最終目標(biāo)是實(shí)現(xiàn)全球范圍真正的移動(dòng)網(wǎng)絡(luò)。因此PMIPv6的真正推廣,不但需要借助下一代網(wǎng)絡(luò)的快速發(fā)展,還需盡快克服目前存在的諸多問(wèn)題。如增加移動(dòng)終端系統(tǒng)的支持,進(jìn)一步完善IPSec協(xié)議等,才能真正解決服務(wù)質(zhì)量和安全性等問(wèn)題。
參考文獻(xiàn):
[1]S.Gundavelli et al.IETF RFC 5213,\"Proxy Mobile IPv6\"[S],August 2008.
[2]D.Johnson,C.Perkins,andJ.Arkko.IETFRFC 3775,\"Mobility Support in IPv6\"[S],June 2004.
[3]劉耀東,戴冠中.移動(dòng)IPv6協(xié)議及其安全機(jī)制分析[J].計(jì)算機(jī)應(yīng)用研究,2005,6(5):149-150.
[4]周金和,焦瑞莉,李丹.移動(dòng)IPv6的嵌入式系統(tǒng)實(shí)現(xiàn)[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),2006,21(3):21-24.
計(jì)算機(jī)光盤軟件與應(yīng)用2012年18期