技術(shù)背景
認(rèn)識(shí)移動(dòng)IP技術(shù)
什么是移動(dòng)IP
移動(dòng)IP技術(shù)是移動(dòng)節(jié)點(diǎn)(PC/交換機(jī)/路由等)使用基于TCP/IP協(xié)議的網(wǎng)絡(luò)時(shí),不用修改網(wǎng)絡(luò)IP地址,跨網(wǎng)絡(luò)隨意移動(dòng)和漫游的技術(shù);同時(shí),繼續(xù)享有原網(wǎng)絡(luò)中一切權(quán)限。
簡(jiǎn)單的說(shuō),移動(dòng)IP就是實(shí)現(xiàn)網(wǎng)絡(luò)全方位的移動(dòng)或者漫游。
移動(dòng)IP能做什么
移動(dòng)IP應(yīng)用于所有基于TCP/IP網(wǎng)絡(luò)環(huán)境中,它為人們提供了無(wú)限廣闊的網(wǎng)絡(luò)漫游服務(wù)。譬如:在用戶離開(kāi)北京總公司,出差到上海分公司時(shí),只要簡(jiǎn)單的將移動(dòng)終端(便攜筆記本電腦、PDA等所有基于IP的設(shè)備)連接至上海分公司網(wǎng)絡(luò)上,那么用戶就可以享受到跟在北京總公司里一樣的所有操作。用戶依舊能使用北京總公司的相關(guān)打印機(jī),或者可以依舊訪問(wèn)北京總公司同事電腦里的share文件及相關(guān)數(shù)據(jù)庫(kù)資源;諸如此類的種種操作,讓用戶感覺(jué)不到自己身在外地,同事也感覺(jué)不到你是否出差了。換句話說(shuō):移動(dòng)IP的應(yīng)用讓用戶的“家”網(wǎng)絡(luò)隨處可以安“家”,不再忍受移動(dòng)終端因“出差”帶來(lái)的所有不便之苦等等。
引 言
當(dāng)今世界,Internet規(guī)模正以驚人的速度不斷擴(kuò)大,同時(shí)移動(dòng)通信也在突飛猛進(jìn)的向前發(fā)展。越來(lái)越多的移動(dòng)用戶都希望能夠以一種更加靈活的方式接入到Internet中去,而不受到時(shí)空的限制。移動(dòng)IP技術(shù)正是適應(yīng)這種需求而產(chǎn)生的一種新的支持移動(dòng)用戶和Internet連接的互聯(lián)技術(shù),它能夠使移動(dòng)用戶在移動(dòng)自己位置的同時(shí)無(wú)需中斷正在進(jìn)行的Internet通信,因此成為當(dāng)前業(yè)界研究的熱點(diǎn)問(wèn)題。
工作原理
傳統(tǒng)的IP技術(shù)是針對(duì)固定節(jié)點(diǎn)之間的相互通信而言的,不能適用于移動(dòng)節(jié)點(diǎn),因此IETF的網(wǎng)絡(luò)工作組在1996年10月提出了RFC2002標(biāo)準(zhǔn),較為詳細(xì)地闡述了移動(dòng)IP的原理、實(shí)現(xiàn)以及各種細(xì)節(jié)問(wèn)題。簡(jiǎn)單地講,移動(dòng)IP就是能讓網(wǎng)絡(luò)節(jié)點(diǎn)在移動(dòng)的同時(shí)不斷開(kāi)連接,并且還能正確收發(fā)數(shù)據(jù)包。
(1)功能實(shí)體
在移動(dòng)IP中定義了三種功能實(shí)體:
移動(dòng)節(jié)點(diǎn):一個(gè)主機(jī)或路由器,當(dāng)它在切換鏈路時(shí)可以不改變IP地址而仍能保持正在進(jìn)行的通信。
本地代理:一個(gè)連接到移動(dòng)節(jié)點(diǎn)本地網(wǎng)絡(luò)的主機(jī)或路由器,它保存有移動(dòng)節(jié)點(diǎn)的位置信息,當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)本地網(wǎng)絡(luò)時(shí)能夠?qū)l(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包傳給移動(dòng)節(jié)點(diǎn)。
外地代理:移動(dòng)節(jié)點(diǎn)當(dāng)前所在的外地網(wǎng)絡(luò)上的一個(gè)主機(jī)或路由器,它能夠把由本地代理送來(lái)的數(shù)據(jù)包轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。
(2)工作機(jī)制
在移動(dòng)IP協(xié)議中,每一個(gè)移動(dòng)節(jié)點(diǎn)都有一個(gè)唯一的本地地址,當(dāng)移動(dòng)節(jié)點(diǎn)移動(dòng)時(shí)它的本地地址是不變的,在本地網(wǎng)絡(luò)鏈路上每一本地節(jié)點(diǎn)還必須有一個(gè)本地代理來(lái)為維護(hù)當(dāng)前的位置信息,這就需要引入轉(zhuǎn)交地址。當(dāng)移動(dòng)節(jié)點(diǎn)連接到外地網(wǎng)絡(luò)鏈路上時(shí),轉(zhuǎn)交地址就用來(lái)標(biāo)識(shí)移動(dòng)節(jié)點(diǎn)現(xiàn)在所處的位置,以便進(jìn)行路由選擇。移動(dòng)節(jié)點(diǎn)的本地地址與當(dāng)前轉(zhuǎn)交地址的聯(lián)合稱作移動(dòng)綁定或簡(jiǎn)稱綁定。當(dāng)移動(dòng)節(jié)點(diǎn)得到一個(gè)新的轉(zhuǎn)交地址時(shí),通過(guò)移動(dòng)綁定向本地代理進(jìn)行注冊(cè),以便讓本地代理即時(shí)了解移動(dòng)節(jié)點(diǎn)的當(dāng)前位置。
當(dāng)移動(dòng)節(jié)點(diǎn)連接在本地網(wǎng)絡(luò)鏈路上時(shí),移動(dòng)節(jié)點(diǎn)的工作機(jī)制和固定節(jié)點(diǎn)一樣,不運(yùn)用移動(dòng)IP功能。當(dāng)移動(dòng)節(jié)點(diǎn)到外地網(wǎng)絡(luò)鏈路上時(shí),它通常情況下使用一個(gè)我作“代理發(fā)現(xiàn)”的規(guī)程在外地鏈路上發(fā)現(xiàn)一個(gè)外地代理,并向這個(gè)外地代理進(jìn)行注冊(cè),把這個(gè)外地代理的IP地址作為自己的轉(zhuǎn)交地址,移動(dòng)節(jié)點(diǎn)通過(guò)這種方式獲得轉(zhuǎn)交地址的情況較為普遍。但在有些子網(wǎng)中可能沒(méi)有配備代理節(jié)點(diǎn),這時(shí)就需要采用其它方法如DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)或是手工配置的方法在外地鏈路上獲得一個(gè)臨時(shí)IP地址作為自己的轉(zhuǎn)交地址。移動(dòng)節(jié)點(diǎn)通過(guò)上述兩種方法獲得轉(zhuǎn)交地址后,再通過(guò)注冊(cè)規(guī)程把自己的轉(zhuǎn)交地址告訴本地代理。這樣當(dāng)有發(fā)往移動(dòng)節(jié)點(diǎn)本地地址的數(shù)據(jù)包時(shí),本地代理便截取該數(shù)據(jù)包,并根據(jù)注冊(cè)的轉(zhuǎn)交地址,通過(guò)隧道將數(shù)據(jù)包傳送給移動(dòng)節(jié)點(diǎn)。但是由移動(dòng)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)包是可以直接選路到目的的節(jié)點(diǎn)上的,無(wú)需隧道技術(shù)。
代理發(fā)現(xiàn)
移動(dòng)IP是使用擴(kuò)展的“ICMP路由器發(fā)現(xiàn)”機(jī)制作為代理發(fā)現(xiàn)的主要機(jī)制。代理發(fā)現(xiàn)機(jī)制能夠使移動(dòng)節(jié)點(diǎn)檢測(cè)出它是在本地網(wǎng)絡(luò)鏈路上還是外地網(wǎng)絡(luò)鏈路上時(shí),代理發(fā)現(xiàn)機(jī)制還能為它找到一個(gè)合適的外地代理。代理發(fā)現(xiàn)有兩種消息,另一種是移動(dòng)節(jié)點(diǎn)發(fā)送的代理請(qǐng)求消息。
本地代理和外地代理在自己所連接的網(wǎng)絡(luò)上周期性地廣播代理廣告消息,以聲明自己的存在。移動(dòng)節(jié)點(diǎn)監(jiān)聽(tīng)到這些消息后,就可以判斷自己是在本地網(wǎng)絡(luò)上還是在外地網(wǎng)絡(luò)上,并且判斷有哪些本地代理或是外地代理連接在它目前所在的網(wǎng)絡(luò)上,如果移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)自己仍在本地網(wǎng)絡(luò)上,即收到本地代理發(fā)來(lái)的代理廣告消息,則不啟動(dòng)移動(dòng)IP功能。如果是從外地網(wǎng)絡(luò)返回本地網(wǎng)絡(luò),則向本地代理進(jìn)行注冊(cè)。如果移動(dòng)節(jié)點(diǎn)檢測(cè)到它已移動(dòng)到一個(gè)新的外地網(wǎng)絡(luò)上,則通過(guò)注冊(cè)獲得轉(zhuǎn)交地址,移動(dòng)節(jié)點(diǎn)得到這人轉(zhuǎn)交地址后再通過(guò)綁定向本地代理進(jìn)行注冊(cè),以便讓本人代理存儲(chǔ)移動(dòng)節(jié)點(diǎn)的當(dāng)前位置。
如果移動(dòng)節(jié)點(diǎn)在一段時(shí)間內(nèi)沒(méi)有收到相應(yīng)的代理廣告消息,則應(yīng)向它所在的網(wǎng)絡(luò)發(fā)送代理請(qǐng)求消息,以便讓鏈路上的所有代理立即廣播代理廣告消息。
移動(dòng)IP注冊(cè)
移動(dòng)IP的注冊(cè)過(guò)程一般是在代理發(fā)現(xiàn)機(jī)制完成之后進(jìn)行的。一旦移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點(diǎn)從一條鏈路切換到另一條鏈路時(shí),它就要進(jìn)行注冊(cè)。另外,由于注冊(cè)信息有一定的生存時(shí)間,所以即使移動(dòng)節(jié)點(diǎn)沒(méi)有發(fā)生移動(dòng)也要進(jìn)行注冊(cè)。
移動(dòng)IP的注冊(cè)功能有:1、移動(dòng)節(jié)點(diǎn)通過(guò)注冊(cè)可以得到外地鏈路上外地理代代理的路由服務(wù);2、移動(dòng)節(jié)點(diǎn)通過(guò)注冊(cè)可以把它的轉(zhuǎn)交地址通知本地代理;3、移動(dòng)節(jié)點(diǎn)通過(guò)注冊(cè)可以使一個(gè)要過(guò)期的注冊(cè)重新生效;4、在先前不知道本地代理的情況下,移動(dòng)節(jié)點(diǎn)可以通過(guò)注冊(cè)動(dòng)態(tài)地得到本地代理的地址;5、移動(dòng)節(jié)點(diǎn)可以同時(shí)注冊(cè)多個(gè)轉(zhuǎn)交地址,此時(shí)本地代理將把發(fā)往移動(dòng)節(jié)點(diǎn)本地地址的數(shù)據(jù)包通過(guò)隧道發(fā)往移動(dòng)節(jié)點(diǎn)的每個(gè)轉(zhuǎn)交地址。
移動(dòng)IP注冊(cè)包括兩種注冊(cè)消息:注冊(cè)請(qǐng)求和注冊(cè)應(yīng)答。注冊(cè)消息放在UDP的數(shù)據(jù)部分,UDP數(shù)據(jù)段則放在IP包的凈荷中。
移動(dòng)IP的注冊(cè)過(guò)程是用于通知本地代理通過(guò)隧道向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的。如果不采用安全保障措施,當(dāng)有惡意主機(jī)用戶故意發(fā)送一條假注冊(cè)請(qǐng)求消息給本地代理時(shí),那么所有的數(shù)據(jù)包就有可能全部送到惡意用戶那里。因此安全性問(wèn)題就成為移動(dòng)IP技術(shù)中的重要組成部分,它通過(guò)注冊(cè)消息結(jié)構(gòu)中的擴(kuò)展字段對(duì)注冊(cè)消息進(jìn)行安全認(rèn)證。
隧道技術(shù)
隧道技術(shù)是移動(dòng)IP技術(shù)中的重要內(nèi)容,隧道技術(shù)有三種:IP的IP封裝、IP的最小封裝和通用路由封裝。
IP的IP封裝由RFC2003定義,用于將整個(gè)原始IPv4數(shù)據(jù)包放在另一個(gè)IPv4數(shù)據(jù)包凈荷部分中。它在原始IPv4數(shù)據(jù)包的現(xiàn)有報(bào)頭前插入了一個(gè)外層IP報(bào)頭,外層報(bào)頭中的源地址和目的地址分別標(biāo)識(shí)隧道中的兩個(gè)邊界節(jié)點(diǎn)。內(nèi)層IP報(bào)頭(即原始IPv4數(shù)據(jù)包報(bào)頭)中的源地址和目的地址則分別標(biāo)識(shí)原始數(shù)據(jù)包的發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)。移動(dòng)IP要求本地代理和外地代理實(shí)現(xiàn)IP的IP封裝,以實(shí)現(xiàn)從本地代理至轉(zhuǎn)交地址的隧道。
IP的最小封裝由RFC2004定義,是移動(dòng)IP中可選的隧道方式。它通過(guò)將IP的IP封裝中內(nèi)層IP報(bào)頭和外層IP報(bào)頭的冗余部分去掉,以減少實(shí)現(xiàn)隧道所需的額外字節(jié)數(shù)。但使用這種封裝技術(shù)有一個(gè)前提,就是原始的數(shù)據(jù)包不能已經(jīng)被分片,因?yàn)镮P的最小封裝技術(shù)在新的IP報(bào)頭和凈荷之間插入了一個(gè)最小轉(zhuǎn)發(fā)報(bào)頭,它不保存有關(guān)分片的情況。
通用路由封裝由RFC1701定義,是移動(dòng)IP采用的最后一種隧道技術(shù)。除了IP協(xié)議,它還可以支持其它網(wǎng)絡(luò)層協(xié)議,它允許一種協(xié)議的數(shù)據(jù)包封裝在另一種協(xié)議數(shù)據(jù)包的凈荷中。
路由選擇
通過(guò)以上的介紹,我們已經(jīng)知道移動(dòng)IP的路由選擇方式。當(dāng)一個(gè)移動(dòng)節(jié)點(diǎn)移動(dòng)到外地網(wǎng)絡(luò)上時(shí)收發(fā)數(shù)據(jù)的情況:
(1)首先通信節(jié)點(diǎn)發(fā)送數(shù)據(jù)包到移動(dòng)節(jié)點(diǎn)的本地代理;
(2)本地代理根據(jù)轉(zhuǎn)交地址將數(shù)據(jù)包經(jīng)隧道轉(zhuǎn)發(fā)到移動(dòng)節(jié)點(diǎn)的外地代理;
(3)最后外地代理將數(shù)據(jù)包交給移動(dòng)節(jié)點(diǎn);
(4)由移動(dòng)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)包發(fā)送到外地代理;
(5)外地代理直接將數(shù)據(jù)包路由到通信節(jié)點(diǎn)。
但是我們不難發(fā)現(xiàn),如果通信節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)都在同一個(gè)外地網(wǎng)絡(luò)上時(shí),通信節(jié)點(diǎn)發(fā)現(xiàn)的數(shù)據(jù)包就要繞一個(gè)大彎,因此要進(jìn)行網(wǎng)絡(luò)路由的優(yōu)化。采用路由優(yōu)化的主要障礙是安全問(wèn)題,如果移動(dòng)節(jié)點(diǎn)直接將轉(zhuǎn)交地址告訴通信節(jié)點(diǎn),而沒(méi)有進(jìn)行有力的安全認(rèn)證,那么很容易遭到簡(jiǎn)單的拒絕服務(wù)。因此IETF的移動(dòng)IP工作組在IPv6中對(duì)各個(gè)方面進(jìn)行了補(bǔ)充和完善。
移動(dòng)IPv6技術(shù)
移動(dòng)IPv6技術(shù)是在IPv4的基礎(chǔ)上發(fā)展起來(lái)的,因此它有許多新的特點(diǎn)。
移動(dòng)IPv6在協(xié)議中定義了三種操作實(shí)體:移動(dòng)節(jié)點(diǎn)、通信節(jié)點(diǎn)和本地代理,不再有外地代理的概念。當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)本地鏈路時(shí),可利用IPv6的增強(qiáng)功能來(lái)所訪問(wèn)的外地鏈路的子網(wǎng)前綴。移動(dòng)節(jié)點(diǎn)的本地代理得到轉(zhuǎn)交地址后,使用IP得到轉(zhuǎn)交地址。轉(zhuǎn)交地址是在移動(dòng)節(jié)點(diǎn)訪問(wèn)外地鏈路時(shí)獲得的IP地址,它的子網(wǎng)前綴就是它所訪問(wèn)的外地鏈路的子網(wǎng)前綴。移動(dòng)節(jié)點(diǎn)的本地代理得到轉(zhuǎn)交地址后,使用IPv6的“鄰居發(fā)現(xiàn)”機(jī)制來(lái)截獲發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包。它在本地鏈路上廣播無(wú)理由的鄰居廣播消息,接收到這個(gè)消息的其它節(jié)點(diǎn)就要修改自己的鄰居緩存,使移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址與本地代理的鏈路層地址進(jìn)行關(guān)聯(lián),這樣將來(lái)發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包就可以直接被路由到移動(dòng)節(jié)點(diǎn)上,而不再發(fā)向移動(dòng)節(jié)點(diǎn)的本地代理,因此可以減輕網(wǎng)絡(luò)的負(fù)擔(dān),也解決了IPv4協(xié)議中存在的路由遷回問(wèn)題。
移動(dòng)IPv6中還新增了四種目的地選項(xiàng):綁定更新、綁定認(rèn)可、綁定請(qǐng)示和本地地址。當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)本地鏈路時(shí),它要向本地鏈路上的一個(gè)路由器注冊(cè)自己的一個(gè)轉(zhuǎn)交地址,并把它作為自己的本地代理。進(jìn)行注冊(cè)時(shí),移動(dòng)節(jié)點(diǎn)先向本地代理發(fā)送綁定更新消息。綁定更新消息中的轉(zhuǎn)交地址就是移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包利用IPv6中的“動(dòng)態(tài)本地代理地址發(fā)現(xiàn)”機(jī)制動(dòng)態(tài)地在本地鏈路上發(fā)現(xiàn)一個(gè)新的本地代理的IP地址。當(dāng)移動(dòng)節(jié)點(diǎn)在外地鏈路上發(fā)送數(shù)據(jù)包時(shí),它就把當(dāng)前的轉(zhuǎn)交地址作為數(shù)據(jù)包報(bào)頭中的源地址,并在數(shù)據(jù)包中增加本地地址這個(gè)目的地選項(xiàng)。這樣由于轉(zhuǎn)交地址與外地鏈路具有相同的子網(wǎng)前綴,移動(dòng)節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包就可以順利通過(guò)具有入口濾功能的路由器。當(dāng)通信節(jié)點(diǎn)接收包含這一選項(xiàng)的數(shù)據(jù)包時(shí),能夠自動(dòng)地把源地址替換成本地地址目的選項(xiàng)中的本地地址,這樣就可以保證移動(dòng)節(jié)點(diǎn)位置的透明性。
結(jié)束語(yǔ)
目前移動(dòng)IP技術(shù)還處在發(fā)展階段,還有許多需要完善的地方。但是它的出現(xiàn)將無(wú)疑帶來(lái)一次新的通信領(lǐng)域的革新,它帶給人們的將是無(wú)所不在無(wú)時(shí)不有的網(wǎng)絡(luò)通信服務(wù),因此它的發(fā)展前景相當(dāng)樂(lè)觀。
摘自《人民郵電報(bào)》