移動(dòng)IP技術(shù)
北方交通大學(xué)現(xiàn)代通信研究所 熊可成 王剛
摘 要: 本文詳細(xì)介紹了移動(dòng)IP技術(shù)的工作原理及其代理搜索、注冊(cè)、路由技術(shù),并介紹了
移動(dòng)IP目前的最新進(jìn)展以及將來(lái)的發(fā)展方向。
關(guān)鍵詞: 移動(dòng)IP 家鄉(xiāng)代理 外地代理 移動(dòng)節(jié)點(diǎn)
一、前言
過(guò)去幾年中,筆記本電腦的數(shù)目迅速增加。因特網(wǎng)也正在以驚人的速度發(fā)展。越來(lái)越多的人
成為移動(dòng)辦公的一分子。這些都是移動(dòng)計(jì)算和連網(wǎng)技術(shù)標(biāo)準(zhǔn)創(chuàng)立的推動(dòng)力量。本文介紹了這
樣一個(gè)標(biāo)準(zhǔn)__移動(dòng)IP。
移動(dòng)IP允許移動(dòng)節(jié)點(diǎn)在不重新啟動(dòng)和不中斷任何正在進(jìn)行的因特網(wǎng)通信,而同時(shí)能夠移動(dòng)自
己的位置。當(dāng)前的因特網(wǎng)協(xié)議簇尚不能提供這些功能。移動(dòng)IP用來(lái)增強(qiáng)現(xiàn)存的IP協(xié)議以便提
供移動(dòng)性。目前IETF的移動(dòng)IP標(biāo)準(zhǔn)正處于研究開(kāi)發(fā)階段。
二、移動(dòng)IP原理概述
移動(dòng)IP是一種在全球因特網(wǎng)上提供移動(dòng)功能的方案,它提供了一種特殊的IP路由機(jī)制,使移
動(dòng)節(jié)點(diǎn)可以以一個(gè)永久的IP地址連結(jié)到任何鏈路上。事實(shí)上,移動(dòng)IP可以看作是一個(gè)路由協(xié)
議,只是它與其它因特網(wǎng)路由協(xié)議相比,它可以將數(shù)據(jù)包路由到可能一直在快速地改變位置
的移動(dòng)節(jié)點(diǎn)上。
2.1移動(dòng)IP的功能實(shí)體
1、移動(dòng)節(jié)點(diǎn):一種能夠從一條鏈路切換到另一條鏈路接入因特網(wǎng)而仍保持正在進(jìn)行的通信,
并且只使用它的家鄉(xiāng)地址(Home Adress)的節(jié)點(diǎn)。移動(dòng)接點(diǎn)的家鄉(xiāng)地址是指“永久”地分
配給該節(jié)點(diǎn)的地址。
2、家鄉(xiāng)代理(Home Agent):有一個(gè)端口與移動(dòng)節(jié)點(diǎn)家鄉(xiāng)鏈路相連的路由器,它保留有移動(dòng)
節(jié)點(diǎn)的家鄉(xiāng)地址。
3、外地代理(Foreign Agent):在移動(dòng)節(jié)點(diǎn)的外地鏈路上的路由器。
2.2移動(dòng)IP的工作機(jī)制
當(dāng)移動(dòng)節(jié)點(diǎn)連接在家鄉(xiāng)鏈路上時(shí),即鏈路的網(wǎng)絡(luò)前綴和移動(dòng)節(jié)點(diǎn)家鄉(xiāng)地址的網(wǎng)絡(luò)前綴相等時(shí),
移動(dòng)節(jié)點(diǎn)就和固定主機(jī)或路由器一樣工作,不運(yùn)用任何其它移動(dòng)IP功能。
對(duì)于連接在外地鏈路上的移動(dòng)節(jié)點(diǎn),它通過(guò)一個(gè)稱為代理搜索的規(guī)程,判定自己的當(dāng)前位置,
并得到一個(gè)在外地鏈路上的轉(zhuǎn)交地址。當(dāng)移動(dòng)節(jié)點(diǎn)改換外地鏈路時(shí),轉(zhuǎn)交地址隨之改變。隨
后,移動(dòng)節(jié)點(diǎn)通過(guò)注冊(cè)的規(guī)程把自己的轉(zhuǎn)交地址告訴家鄉(xiāng)代理。當(dāng)有發(fā)往移動(dòng)節(jié)點(diǎn)家鄉(xiāng)地址
的數(shù)據(jù)包時(shí),家鄉(xiāng)代理便截取這個(gè)包,并根據(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ù)。對(duì)所有
來(lái)訪的移動(dòng)節(jié)點(diǎn)發(fā)出的包來(lái)說(shuō),外地代理完成路由器的功能。
三、代理搜索
代理搜索就是移動(dòng)節(jié)點(diǎn)判斷它是連接在家鄉(xiāng)鏈路還是外地鏈路上以及找到所在鏈路上的代理
的過(guò)程。
3.1代理搜索的消息
代理搜索由兩條簡(jiǎn)單的消息構(gòu)成。第一條消息是代理廣播消息(Agent Advertisement)。家
鄉(xiāng)代理或外地代理在鏈路上廣播這條消息可以使得這條鏈路上的移動(dòng)節(jié)點(diǎn)判定該鏈路上是否
有代理存在。第二條消息是代理請(qǐng)求消息(Agent Solicitation)當(dāng)移動(dòng)節(jié)點(diǎn)沒(méi)有耐心等待
下一周期的代理廣播時(shí),它可以發(fā)送代理請(qǐng)求消息,以便讓鏈路上的所有代理立即發(fā)送代理
廣播消息。移動(dòng)節(jié)點(diǎn)可以從代理廣播消息的轉(zhuǎn)交地址域得到它的轉(zhuǎn)交地址。
3.2 移動(dòng)節(jié)點(diǎn)如何判定自己的移動(dòng)
1、用生存時(shí)間域作移動(dòng)檢測(cè)
這種方法利用代理廣播消息中ICMP路由器廣播部分的生存時(shí)間域,這個(gè)域告訴移動(dòng)節(jié)點(diǎn),每
過(guò)多長(zhǎng)時(shí)間它就可以從同一個(gè)代理那里收到一個(gè)廣播。但實(shí)際發(fā)送廣播的頻率要快二倍。因
此,如果移動(dòng)節(jié)點(diǎn)注冊(cè)到一個(gè)外地代理上,但在生存時(shí)間域規(guī)定的時(shí)間內(nèi)卻沒(méi)有收到來(lái)自那
個(gè)代理的廣播,那么移動(dòng)節(jié)點(diǎn)則認(rèn)為它已移動(dòng)到另一鏈路上了。無(wú)論怎樣,移動(dòng)節(jié)點(diǎn)都要向
下一個(gè)發(fā)來(lái)代理廣播的外地代理注冊(cè)。
2、用網(wǎng)絡(luò)前綴作移動(dòng)檢測(cè)
假設(shè)移動(dòng)節(jié)點(diǎn)向一條外地代理注冊(cè)了。并記錄了它的代理廣播消息。現(xiàn)在我們假設(shè)移動(dòng)節(jié)點(diǎn)
又收到了另一個(gè)外地代理的代理廣播,即來(lái)自另一個(gè)源IP地址的廣播。移動(dòng)節(jié)點(diǎn)通過(guò)比較兩
個(gè)廣播消息的網(wǎng)絡(luò)前綴判定它們是否來(lái)自同一鏈路。如果是,它就不必向新的外地代理注冊(cè);
如果不是,即廣播消息來(lái)自另一條鏈路,移動(dòng)節(jié)點(diǎn)就肯定改變了位置。要向新鏈路上的外地代
理注冊(cè)。
四、注冊(cè)
當(dāng)移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點(diǎn)從一條鏈路切換到另一條鏈路上時(shí),它就要進(jìn)行注冊(cè)。注冊(cè)
過(guò)程如下:
1、移動(dòng)節(jié)點(diǎn)可以通過(guò)注冊(cè)得到外地鏈路上的外地代理的路由服務(wù)。
2、移動(dòng)節(jié)點(diǎn)可以通知家鄉(xiāng)代理它的轉(zhuǎn)交地址。
3、可以使一個(gè)要過(guò)期的注冊(cè)重新生效。
4、在先前不知道家鄉(xiāng)代理的情況下,移動(dòng)節(jié)點(diǎn)可以通過(guò)注冊(cè)動(dòng)態(tài)地得到一個(gè)可能的家鄉(xiāng)代理
的地址。
4.1注冊(cè)消息及種類
移動(dòng)IP注冊(cè)包括兩種消息的交互:注冊(cè)請(qǐng)求(Registration Request)和注冊(cè)應(yīng)答
(Registration
Reply)。注冊(cè)消息放在UDP的數(shù)據(jù)部分,UDP數(shù)據(jù)段則放在IP包的凈荷中。圖2表明了這些協(xié)議間
的關(guān)系。
注冊(cè)過(guò)程包括移動(dòng)節(jié)點(diǎn)和它的家鄉(xiāng)代理間一次注冊(cè)請(qǐng)求和注冊(cè)應(yīng)答的交互,可能還會(huì)牽涉到一
個(gè)外地代理。三種可能的注冊(cè)如下:
(1)移動(dòng)節(jié)點(diǎn)用外地代理轉(zhuǎn)交地址注冊(cè)在一條外地鏈路上。
(2)移動(dòng)節(jié)點(diǎn)用配置轉(zhuǎn)交地址注冊(cè)在一條外地鏈路上。
(3)移動(dòng)節(jié)點(diǎn)在回到家鄉(xiāng)鏈路后進(jìn)行注銷。
4.2注冊(cè)的安全認(rèn)證
由于移動(dòng)IP注冊(cè)過(guò)程是用于通知家鄉(xiāng)代理通過(guò)隧道向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的。所以它提供了一
易受攻擊的環(huán)節(jié)。攻擊者只要發(fā)送一條假注冊(cè)請(qǐng)求給家鄉(xiāng)代理,則所有數(shù)據(jù)包都送到了攻擊者
那里。
為了對(duì)付這種拒絕服務(wù)攻擊,移動(dòng)IP要求對(duì)注冊(cè)消息進(jìn)行認(rèn)證。它通過(guò)注冊(cè)消息中的認(rèn)證擴(kuò)展
部分來(lái)完成。
五、隧道技術(shù)和路由
5.1隧道技術(shù)
移動(dòng)IP中使用三種隧道技術(shù):IP的IP封裝、最小封裝和通用路由封裝GRE(Generic Routing
Encapsulation)。IP的IP封裝由RFC2003定義,用于將整個(gè)IPV4包放在另一個(gè)IPV4包的凈荷部
分。
移動(dòng)IP要求家鄉(xiāng)代理和外地代理實(shí)現(xiàn)IP的IP封裝,以實(shí)現(xiàn)從家鄉(xiāng)代理到轉(zhuǎn)交地址的隧道。
IP的最小封裝在RFC2004中定義,是移動(dòng)IP中的可選隧道方式。最小封裝的目的是減少實(shí)現(xiàn)隧
道所需的額外字節(jié)數(shù),可通過(guò)將IP的IP封裝中內(nèi)層IP報(bào)頭和外層IP報(bào)頭的冗余部分去掉來(lái)完成。
由于最小轉(zhuǎn)發(fā)報(bào)頭中沒(méi)有任何信息保存了原始包有關(guān)分片的情況,因此最小封裝不能用于已經(jīng)
經(jīng)過(guò)分片的原始數(shù)據(jù)包。
通用路由封裝GRE[RFC 1701]是移動(dòng)IP采用的最后一種隧道技術(shù)。除了IP協(xié)議,GRE還支持其他
網(wǎng)絡(luò)層協(xié)議。它允許采用一種協(xié)議的數(shù)據(jù)包封裝在采用另一種協(xié)議的數(shù)據(jù)包的凈荷中。
在GRE中有P+D種文檔。P個(gè)文檔描述如何將各種凈荷包封裝進(jìn)GRE中。D個(gè)文檔表明如何將GRE封
裝進(jìn)各種分發(fā)包中。
5.2移動(dòng)IP的路由
由通信對(duì)端送給連接在外地鏈路上的移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包先被路由到它的家鄉(xiāng)代理上,然后經(jīng)隧
道送到移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,然而,由移動(dòng)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)包卻被直接路由到了通信對(duì)端,這樣
構(gòu)成了一個(gè)三角形,如圖5所示。
但移動(dòng)節(jié)點(diǎn)為什么不象圖6那樣直接告訴通信對(duì)端它的轉(zhuǎn)交地址,這樣對(duì)端就可以繞過(guò)家鄉(xiāng)代理,
直接將數(shù)據(jù)包通過(guò)隧道送給移動(dòng)節(jié)點(diǎn)了。這種經(jīng)過(guò)優(yōu)化的路由比三邊路由效率更高。但只有在
移動(dòng)節(jié)點(diǎn)與它的家鄉(xiāng)代理距離較遠(yuǎn)而與通信對(duì)端較近時(shí)路由優(yōu)化猜可以大大節(jié)省資源。采用優(yōu)
化路由的主要障礙是安全問(wèn)題。如果移動(dòng)節(jié)點(diǎn)對(duì)轉(zhuǎn)交地址通知對(duì)端的消息沒(méi)有有力的認(rèn)證機(jī)制,
那么就很容易受到簡(jiǎn)單的拒絕服務(wù)攻擊。目前IETF的移動(dòng)IP工作組中有關(guān)路由優(yōu)化的工作正在
進(jìn)行中,最新的信息可以參閱[draft-ietf-mobileip-optim-09.txt]。
六、發(fā)展動(dòng)態(tài)及應(yīng)用前景
移動(dòng)IP目前正處于發(fā)展階段,IETF的移動(dòng)IP工作組的議事日程上還有很多項(xiàng)目,除了前面提到
的路由優(yōu)化外,還有反向隧道、蜂窩IP、移動(dòng)IP對(duì)Ipv6的支持以及其在第三代移動(dòng)通信中的應(yīng)
用等。最后我們期望所有的路由器都可以完成家鄉(xiāng)代理或外地代理的功能,所有新的筆記本電腦
和掌上型電腦都預(yù)置移動(dòng)節(jié)點(diǎn)軟件。進(jìn)一步,我們還希望ISP們也采用這種技術(shù),這樣就有可能
實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)以任何方式、在任何地方、通過(guò)任何媒介進(jìn)行連接。
參考文獻(xiàn)
1.James D.Solomon, MobileIP:TheInternet Unplugged, Prentice Hall,Inc,1999.
2.IP Mobility Support [RFC2002],1996.
3.Minimal Encapsulation Within IP [RFC2004],1996.
4.IP Encapsulation Within IP [RFC2003],1996.