深入探究移動(dòng)IPv6技術(shù)的實(shí)際應(yīng)用
移動(dòng)IPv6技術(shù)的發(fā)展非常迅猛,可能好多人還不了解移動(dòng)IPv6技術(shù)的實(shí)際應(yīng)用,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。1996年, IETF的移動(dòng)IP工作組(IP Routing for Wireless/Mobile Hosts)制訂了移動(dòng)IPv4的技術(shù)標(biāo)準(zhǔn)。但是,到目前為止,移動(dòng)IPv6技術(shù)的標(biāo)準(zhǔn)仍在制訂的過(guò)程中,并經(jīng)歷了多次版本更新。最新的草案(Draft)為第19版本的Mobility Support in IPv6。
移動(dòng)IPv6技術(shù)技術(shù)充分利用了IPv6協(xié)議對(duì)移動(dòng)性的內(nèi)在支持。首先,路由器在路由器廣播報(bào)文中指示了它是否能擔(dān)任本地代理。同一個(gè)子網(wǎng)內(nèi)允許多個(gè)本地代理存在,移動(dòng)節(jié)點(diǎn)可以向任意一個(gè)本地代理注冊(cè)。本地代理中保存有移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址和轉(zhuǎn)交地址的對(duì)照表,收到發(fā)送給移動(dòng)節(jié)點(diǎn)的報(bào)文后,根據(jù)對(duì)照表把報(bào)文轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。其次,每當(dāng)移動(dòng)節(jié)點(diǎn)收到其他主機(jī)發(fā)來(lái)的報(bào)文后,在響應(yīng)報(bào)文中以轉(zhuǎn)交地址作為源地址,并要附帶上移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址。其他主機(jī)的后續(xù)報(bào)文以移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址為目的地址,但是要附帶源路由選擇頭,報(bào)頭內(nèi)容為移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址。使用這種機(jī)制的目的是保證移動(dòng)節(jié)點(diǎn)在移動(dòng)過(guò)程中也不會(huì)丟失報(bào)文。最后,IPv6中定義了重定向過(guò)程。當(dāng)移動(dòng)節(jié)點(diǎn)在小區(qū)間切換時(shí),移動(dòng)節(jié)點(diǎn)重新登記成功后,基站應(yīng)該向原來(lái)的基站發(fā)重定向包文,使切換過(guò)程中路由有偏差的報(bào)文重新找到移動(dòng)節(jié)點(diǎn)。
移動(dòng)IPv6技術(shù)的主要目標(biāo)就是使得移動(dòng)節(jié)點(diǎn)總是通過(guò)家鄉(xiāng)地址尋址,不管是連接在家鄉(xiāng)鏈路還是移動(dòng)到外地網(wǎng)絡(luò)。移動(dòng)IPv6技術(shù)對(duì)于IP層以上的協(xié)議層是完全透明的,這使得移動(dòng)節(jié)點(diǎn)在不同子網(wǎng)間移動(dòng)時(shí),運(yùn)行在該節(jié)點(diǎn)上的應(yīng)用程序不需修改或配置仍然可用。
移動(dòng)IPv6技術(shù)的工作原理
移動(dòng)IPv6技術(shù)從移動(dòng)IPv4中借鑒了許多概念和術(shù)語(yǔ),例如IPv6中移動(dòng)節(jié)點(diǎn)(MN)、家鄉(xiāng)代理(HA)、家鄉(xiāng)地址、家鄉(xiāng)鏈路、轉(zhuǎn)交地址和外地鏈路等概念和移動(dòng)IPv4中的幾乎一樣,但兩者還是有差別的,具體比較如表格,移動(dòng)IPv6技術(shù)的操作可以總結(jié)如下:
⑴ 移動(dòng)節(jié)點(diǎn)采用IPv6版的路由器搜索確定它的轉(zhuǎn)交地址。
① 移動(dòng)節(jié)點(diǎn)連接在它的家鄉(xiāng)鏈路上時(shí)與任何固定的主機(jī)和路由器一樣工作。
② 當(dāng)移動(dòng)節(jié)點(diǎn)連接在它的外地鏈路上時(shí),它采用IPv6定義的地址自動(dòng)配置方法得到外地鏈路上的轉(zhuǎn)交地址。由于移動(dòng)IPv6技術(shù)沒(méi)有外地代理,因此移動(dòng)IPv6技術(shù)中唯一的一種轉(zhuǎn)交地址是配置轉(zhuǎn)交地址,移動(dòng)節(jié)點(diǎn)用接受的路由器廣播報(bào)文中的M位來(lái)決定采用哪一種方法。如果M位為0,那么移動(dòng)節(jié)點(diǎn)采用被動(dòng)地址自動(dòng)配置,否則移動(dòng)節(jié)點(diǎn)采用主動(dòng)地址自動(dòng)配置。
⑵ 移動(dòng)節(jié)點(diǎn)將它的轉(zhuǎn)交地址通知給家鄉(xiāng)代理。
⑶ 如果可以保證操作時(shí)的安全性,移動(dòng)節(jié)點(diǎn)也將它的轉(zhuǎn)交地址通知幾個(gè)通信節(jié)點(diǎn)。
移動(dòng)IPv6技術(shù)采用布告(Notification)過(guò)程通知移動(dòng)節(jié)點(diǎn)家鄉(xiāng)代理或其他節(jié)點(diǎn)它當(dāng)前的轉(zhuǎn)交地址。移動(dòng)IPv6技術(shù)中的布告和移動(dòng)IPv4 中的注冊(cè)有很大的不同。在移動(dòng)IPv4中,移動(dòng)節(jié)點(diǎn)通過(guò)UDP/IP包中攜帶的注冊(cè)信息將它的轉(zhuǎn)交地址告訴家鄉(xiāng)代理,相反地,移動(dòng)IPv6技術(shù)中的移動(dòng)節(jié)點(diǎn)用目的地址可選項(xiàng)(Destination Options)來(lái)通知其他節(jié)點(diǎn)它的轉(zhuǎn)交地址。為移動(dòng)IPv6技術(shù)布告所定義的三條消息為綁定更新(Binding Update)、綁定應(yīng)答(Binding Acknowledgment)和綁定請(qǐng)求(Binding Request)。這些消息都被放在目的地可選報(bào)頭中,這表明這些消息都只被最終目的節(jié)點(diǎn)檢查。移動(dòng)IPv6技術(shù)布告過(guò)程包括在移動(dòng)節(jié)點(diǎn)和家鄉(xiāng)代理或通信節(jié)點(diǎn)間交換綁定更新和綁定應(yīng)答。綁定應(yīng)答很可能是在移動(dòng)節(jié)點(diǎn)收到一個(gè)綁定請(qǐng)求后發(fā)出的。有時(shí),通信節(jié)點(diǎn)通過(guò)向移動(dòng)節(jié)點(diǎn)發(fā)送一個(gè)綁定請(qǐng)求啟動(dòng)布告過(guò)程,移動(dòng)節(jié)點(diǎn)則通過(guò)發(fā)送綁定更新(不是由任何綁定請(qǐng)求激起的)啟動(dòng)布告過(guò)程。在這兩種情況中,移動(dòng)節(jié)點(diǎn)都向家鄉(xiāng)代理或通信節(jié)點(diǎn)告知它當(dāng)前的轉(zhuǎn)交地址。移動(dòng)節(jié)點(diǎn)可以通過(guò)綁定更新中的應(yīng)答位(A)來(lái)要求接收者是否通過(guò)向移動(dòng)節(jié)點(diǎn)發(fā)送綁定應(yīng)答來(lái)響應(yīng),綁定應(yīng)答首先通知移動(dòng)節(jié)點(diǎn)綁定更新已收到,其次還告訴移動(dòng)節(jié)點(diǎn)綁定更新是否被接受。
⑷ 移動(dòng)IPv6技術(shù)中同時(shí)采用隧道和源路由技術(shù)向連接在外地鏈路上的移動(dòng)節(jié)點(diǎn)傳送數(shù)據(jù)包。
① 知道移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址的通信節(jié)點(diǎn)可以利用IPv6選路報(bào)頭直接將數(shù)據(jù)包發(fā)送給移動(dòng)節(jié)點(diǎn),這些包不需要經(jīng)過(guò)移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)代理,它們將經(jīng)過(guò)從始發(fā)點(diǎn)到移動(dòng)節(jié)點(diǎn)的一條優(yōu)化路由。
② 如果通信節(jié)點(diǎn)不知道移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,那么它就像向其他任何固定節(jié)點(diǎn)發(fā)送數(shù)據(jù)包那樣向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包。這時(shí),通信節(jié)點(diǎn)只是將移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址(也是它知道的唯一地址)放入目的IPv6地址域中,并將它自己的地址放在源IPv6地址域中,然后將數(shù)據(jù)包轉(zhuǎn)發(fā)到合適的下一跳上(這由它的IPv6路由表決定)。這樣發(fā)送的一個(gè)數(shù)據(jù)包將被送往移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)鏈路,就像移動(dòng)IPv4中那樣。在家鄉(xiāng)鏈路上,家鄉(xiāng)代理截獲這個(gè)數(shù)據(jù)包,并將它通過(guò)隧道送往移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址。移動(dòng)節(jié)點(diǎn)將送過(guò)來(lái)的包拆封,發(fā)現(xiàn)內(nèi)層數(shù)據(jù)包的目的地是它的家鄉(xiāng)地址,于是將內(nèi)層數(shù)據(jù)包交給高層協(xié)議處理。
⑸ 在相反方向,移動(dòng)節(jié)點(diǎn)送出的數(shù)據(jù)包采用特殊的機(jī)制被直接路由到它們的目的地。然而,當(dāng)存在入口方向的過(guò)濾時(shí),移動(dòng)節(jié)點(diǎn)可以將數(shù)據(jù)包通過(guò)隧道送給家鄉(xiāng)代理,隧道的源地址為移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址。
小結(jié)
目前世界上有很多組織或者機(jī)構(gòu)在對(duì)移動(dòng)IPv6技術(shù)進(jìn)行研究,并且已有了一些在不同操作系統(tǒng)上開(kāi)發(fā)出來(lái)的實(shí)驗(yàn)系統(tǒng)。例如Windows下的 Microsoft MIPv6 Project(MIPv6) 實(shí)驗(yàn)系統(tǒng),F(xiàn)ree BSD下的CMU Monarch Project,KAME Project實(shí)驗(yàn)系統(tǒng),以及Linux下的Lancaster 移動(dòng) IPv6,USAGI(UniverSAl playGround),MIPL移動(dòng)IPv6技術(shù)實(shí)驗(yàn)系統(tǒng)等等。移動(dòng)IPv6技術(shù)是一個(gè)龐雜的協(xié)議,包含的內(nèi)容非常多,而且目前還在繼續(xù)發(fā)展。移動(dòng)IPv6技術(shù)又是一個(gè)設(shè)計(jì)精巧的協(xié)議,雖然目前還有一些缺陷,但我們可以看到,移動(dòng)IPv6技術(shù)協(xié)議的前景是非常光明的。在可以預(yù)見(jiàn)的未來(lái),我們將可以解決移動(dòng)的這些缺陷,例如IPv6無(wú)縫切換和AAA問(wèn)題,充分享受移動(dòng) IPv6給我們帶來(lái)的便捷,自由徜徉在移動(dòng)信息的世界里。