移動(dòng)Internet正逐步成為現(xiàn)實(shí)。然而,由于Internet的互聯(lián)協(xié)議、IP的地址結(jié)構(gòu)和路由算法,限
制了移動(dòng)主機(jī)在移動(dòng)Internet中的靈活操作。IP協(xié)議中的網(wǎng)絡(luò)地址分為兩層結(jié)構(gòu):子網(wǎng)號(hào),用來(lái)
確定與主機(jī)相連的網(wǎng)絡(luò);主機(jī)號(hào),用來(lái)確定這個(gè)子網(wǎng)中的特定主機(jī)。如果一個(gè)主機(jī)改變了與
Internet的連接點(diǎn),移動(dòng)到了一個(gè)具有不同網(wǎng)絡(luò)前綴的子網(wǎng),那么發(fā)向它的數(shù)據(jù)包將不能正確地
到達(dá)它。另外,固定網(wǎng)、特別是移動(dòng)通信的引入,IP地址空間也存在著極大的不足。
為了解決這些問(wèn)題,IETF等組織開(kāi)始了在移動(dòng)IP上的研究,并在移動(dòng)IPv4和移動(dòng)IPv6方面取得了
一定的成績(jī)。
移動(dòng)IPv4
移動(dòng)IP定義了三種功能實(shí)體移動(dòng)主機(jī),家鄉(xiāng)代理和外地代理,家鄉(xiāng)代理和外地代理統(tǒng)稱為移動(dòng)代
理。
基本構(gòu)架
在移動(dòng)IP協(xié)議中,每個(gè)移動(dòng)主機(jī)在“家鄉(xiāng)鏈路”上有一個(gè)唯一的“家鄉(xiāng)地址”。與移動(dòng)主機(jī)通信的
主機(jī)被稱為“通信主機(jī)”,通信主機(jī)可以是移動(dòng)的,也可以是靜止的。通信主機(jī)與移動(dòng)主機(jī)通信
時(shí),通信主機(jī)總是把數(shù)據(jù)包發(fā)送到移動(dòng)主機(jī)的家鄉(xiāng)地址,而不考慮移動(dòng)主機(jī)的當(dāng)前位置情況。
在家鄉(xiāng)鏈路上每個(gè)移動(dòng)主機(jī)必須有一個(gè)“家鄉(xiāng)代理”來(lái)為自己維護(hù)當(dāng)前位置信息。這個(gè)位置由“轉(zhuǎn)
交地址”來(lái)確定,移動(dòng)主機(jī)的家鄉(xiāng)地址與它當(dāng)前轉(zhuǎn)交地址的聯(lián)合稱為“移動(dòng)綁定”,或簡(jiǎn)稱為“綁
定”。每當(dāng)一個(gè)移動(dòng)主機(jī)得到一個(gè)新的轉(zhuǎn)交地址時(shí),它必須生成一個(gè)新的綁定來(lái)向家鄉(xiāng)代理注冊(cè),
以使家鄉(xiāng)代理即時(shí)了解移動(dòng)主機(jī)的當(dāng)前位置信息。一個(gè)家鄉(xiāng)代理可以同時(shí)為多個(gè)移動(dòng)主機(jī)提供服
務(wù)。
當(dāng)一個(gè)移動(dòng)主機(jī)連接到家鄉(xiāng)鏈路之外的“外地鏈路” 時(shí),可以通過(guò)下述兩種方法來(lái)獲得轉(zhuǎn)交地
址。通常情況下移動(dòng)主機(jī)使用“代理發(fā)現(xiàn)”協(xié)議在外地鏈路上發(fā)現(xiàn)一個(gè)“外地代理”,然后移動(dòng)主
機(jī)向這個(gè)外地代理進(jìn)行注冊(cè),并使用此外地代理的IP地址作為自己的轉(zhuǎn)交地址。外地代理的主要功
能是為這個(gè)移動(dòng)主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)包。另外移動(dòng)主機(jī)也可以通過(guò)其他方法(如DHCP)在外地鏈路上獲
得一個(gè)臨時(shí)IP地址來(lái)作為自己的轉(zhuǎn)交地址,在這種情況下移動(dòng)主機(jī)可以作為自己的外地代理。
當(dāng)移動(dòng)主機(jī)離開(kāi)家鄉(xiāng)鏈路時(shí),它的家鄉(xiāng)代理把發(fā)往移動(dòng)主機(jī)的所有數(shù)據(jù)包轉(zhuǎn)發(fā)到移動(dòng)主機(jī)的當(dāng)前位
置。家鄉(xiāng)代理可以使用“代理ARP”或其他有效方法在家鄉(xiāng)鏈路上截獲發(fā)往移動(dòng)主機(jī)的數(shù)據(jù)包。對(duì)
于每個(gè)截獲的數(shù)據(jù)包,家鄉(xiāng)代理使用隧道技術(shù)把它們發(fā)送到移動(dòng)主機(jī)的當(dāng)前轉(zhuǎn)交地址。如果轉(zhuǎn)交地
址是外地代理的IP地址,那么這個(gè)外地代理是隧道的終端,此時(shí)外地代理從數(shù)據(jù)包中移走隧道報(bào)
頭,并把剩余部分發(fā)送到移動(dòng)主機(jī)。如果移動(dòng)主機(jī)使用一個(gè)臨時(shí)地址作為轉(zhuǎn)交地址,那么數(shù)據(jù)包將
直接通過(guò)隧道傳送到移動(dòng)主機(jī)。
在一個(gè)網(wǎng)絡(luò)上,一臺(tái)路由器可以同時(shí)具有家鄉(xiāng)代理和外地代理的功能,也可以用兩臺(tái)或多臺(tái)路由器
分別提供家鄉(xiāng)代理和外地代理服務(wù)。
代理發(fā)現(xiàn)
移動(dòng)IP通過(guò)擴(kuò)展現(xiàn)有的“ICMP路由器發(fā)現(xiàn)”機(jī)制來(lái)實(shí)現(xiàn)代理發(fā)現(xiàn)。代理發(fā)現(xiàn)機(jī)制能夠使移動(dòng)主機(jī)
檢測(cè)到自己是否從一個(gè)網(wǎng)絡(luò)移動(dòng)到了另外的網(wǎng)絡(luò),并且也能夠檢測(cè)到它是否回到了家鄉(xiāng)鏈路。當(dāng)移
動(dòng)主機(jī)移動(dòng)到一個(gè)新的外地鏈路時(shí),代理發(fā)現(xiàn)機(jī)制也能幫助移動(dòng)主機(jī)發(fā)現(xiàn)一個(gè)合適的外地代理。
在某些特定類型的網(wǎng)絡(luò)上,數(shù)據(jù)鏈路層可以完成代理發(fā)現(xiàn)的功能。但為了支持在數(shù)據(jù)鏈路層不具有
此功能的網(wǎng)絡(luò),必須為代理發(fā)現(xiàn)制定標(biāo)準(zhǔn)協(xié)議。通過(guò)制定這個(gè)標(biāo)準(zhǔn)協(xié)議,可以為移動(dòng)主機(jī)提供一種
適合所有網(wǎng)絡(luò)類型的代理發(fā)現(xiàn)機(jī)制。
家鄉(xiāng)代理和外地代理在自己所連接的網(wǎng)絡(luò)上定期地廣播“代理宣告”消息來(lái)宣告自己的存在。移動(dòng)
主機(jī)時(shí)刻監(jiān)聽(tīng)代理宣告消息,用來(lái)判斷有哪些家鄉(xiāng)代理或外地代理連接在它所在的網(wǎng)絡(luò)上。如果一
個(gè)移動(dòng)主機(jī)從自己的家鄉(xiāng)代理接收到一個(gè)代理宣告消息,它就能夠推斷已經(jīng)返回家鄉(xiāng)并直接向家鄉(xiāng)
代理進(jìn)行注冊(cè)。否則,移動(dòng)主機(jī)將選擇是保留當(dāng)前的注冊(cè)還是向新的外地代理進(jìn)行注冊(cè)。
當(dāng)移動(dòng)主機(jī)位于家鄉(xiāng)鏈路或者已經(jīng)向一個(gè)外地代理進(jìn)行了注冊(cè),那么它仍然希望從它的家鄉(xiāng)代理或
它的當(dāng)前外地代理繼續(xù)接收定期的宣告消息。如果移動(dòng)主機(jī)在一段時(shí)間內(nèi)沒(méi)有接收到一定數(shù)量的宣
告消息,那么它就認(rèn)為自己已經(jīng)移動(dòng)或者它的家鄉(xiāng)代理或當(dāng)前的外地代理發(fā)生了故障。如果移動(dòng)主
機(jī)最近接收到了其他的宣告消息,它就試圖向發(fā)送這個(gè)宣告消息的外地代理進(jìn)行注冊(cè)。否則,移動(dòng)
主機(jī)將向它所在的網(wǎng)絡(luò)上廣播一條“代理請(qǐng)求”消息,接收到這條請(qǐng)求消息的每個(gè)家鄉(xiāng)代理或外地
代理都應(yīng)當(dāng)用宣告消息進(jìn)行應(yīng)答。
代理宣告消息是ICMP路由器宣告消息的擴(kuò)展,在ICMP路由器宣告消息之后是“移動(dòng)代理宣告擴(kuò)
展”報(bào)頭,另外也可以可選地跟隨一個(gè)“前綴長(zhǎng)度擴(kuò)展”報(bào)頭,“一字節(jié)填充擴(kuò)展”報(bào)頭或者其他
將來(lái)需要定義的報(bào)頭等。移動(dòng)主機(jī)通過(guò)對(duì)代理宣告消息的處理,可以得到自己的位置信息和轉(zhuǎn)交地
址。
注冊(cè)
當(dāng)移動(dòng)主機(jī)發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點(diǎn)從一條鏈路切換到另一條鏈路時(shí),它就要進(jìn)行注冊(cè)。另外,由于注
冊(cè)信息有一定的生存時(shí)間,所以移動(dòng)主機(jī)在沒(méi)有發(fā)生移動(dòng)時(shí)也要進(jìn)行注冊(cè)。移動(dòng)IP的注冊(cè)功能是:
移動(dòng)主機(jī)通過(guò)注冊(cè)可以得到外地鏈路上外地代理的路由服務(wù);移動(dòng)主機(jī)通過(guò)注冊(cè)可以通知家鄉(xiāng)代理
它的轉(zhuǎn)交地址;可以使一個(gè)要過(guò)期的注冊(cè)重新生效;移動(dòng)主機(jī)在回到家鄉(xiāng)鏈路時(shí)要進(jìn)行反注冊(cè)。
注冊(cè)的另外一些功能還包括:同時(shí)注冊(cè)多個(gè)轉(zhuǎn)交地址,此時(shí)家鄉(xiāng)代理將發(fā)往移動(dòng)主機(jī)家鄉(xiāng)地址的數(shù)
據(jù)包通過(guò)隧道發(fā)往移動(dòng)主機(jī)的每個(gè)轉(zhuǎn)交地址;可以在注銷一個(gè)轉(zhuǎn)交地址的同時(shí)保留其他轉(zhuǎn)交地址;
在先前不知道它家鄉(xiāng)代理的情況下,移動(dòng)主機(jī)可以通過(guò)注冊(cè)動(dòng)態(tài)地得到家鄉(xiāng)代理的地址。
移動(dòng)IP的注冊(cè)過(guò)程一般在代理發(fā)現(xiàn)機(jī)制完成之后進(jìn)行。當(dāng)移動(dòng)主機(jī)發(fā)現(xiàn)自己返回家鄉(xiāng)鏈路時(shí),它就
向家鄉(xiāng)代理進(jìn)行注冊(cè),并開(kāi)始像固定主機(jī)或路由器那樣進(jìn)行通信。當(dāng)移動(dòng)主機(jī)位于外地鏈路時(shí),它
能夠得到一個(gè)轉(zhuǎn)交地址,并通過(guò)外地代理向家鄉(xiāng)代理注冊(cè)這個(gè)地址。移動(dòng)IP包括兩種注冊(cè)消息:注
冊(cè)請(qǐng)求和注冊(cè)應(yīng)答。
隧道技術(shù)
隧道技術(shù)在移動(dòng)IP中扮演了一個(gè)非常重要的角色。移動(dòng)IP中使用了三種隧道技術(shù):IP的IP封裝、
最小封裝和通用路由封裝GRE。
IP的IP封裝是一個(gè)Internet標(biāo)準(zhǔn),用于將IPv4包放在另一個(gè)IPv4包的凈荷部分。移動(dòng)IP要求家鄉(xiāng)
代理和外地代理實(shí)現(xiàn)IP的IP封裝,以實(shí)現(xiàn)從家鄉(xiāng)代理到轉(zhuǎn)交地址的隧道。IP的IP封裝非常簡(jiǎn)單明
了,只需把一個(gè)IP包放在一個(gè)新IP包的凈荷中。采用IP的IP封裝的隧道對(duì)穿過(guò)它們的數(shù)據(jù)包來(lái)說(shuō)
就像一條虛擬鏈路。例如,一個(gè)包到達(dá)第一臺(tái)路由器,通過(guò)從第一臺(tái)路由器開(kāi)始的隧道到達(dá)第二臺(tái)
路由器,并進(jìn)一步轉(zhuǎn)發(fā)到它的目的地址,這時(shí)這個(gè)包的生存時(shí)間域會(huì)被減小兩次,好象隧道只是連
接這兩臺(tái)路由器的一條鏈路一樣。
IP的最小封裝是移動(dòng)IP中的一種可選隧道方式。目的是減少實(shí)現(xiàn)隧道所需的額外字節(jié)數(shù),可通過(guò)
將IP的IP封裝中內(nèi)層IP報(bào)頭和外層IP報(bào)頭的冗余部分去掉來(lái)完成。最小封裝與IP的IP封裝相比可
以節(jié)省一些字節(jié)(一般是8字節(jié))但帶來(lái)了一些不利之處,即當(dāng)原始數(shù)據(jù)包已經(jīng)過(guò)分片時(shí),最小封
裝就無(wú)能為力了。由于在隧道內(nèi)的每一臺(tái)路由器上,原始包的生存時(shí)間域的值都會(huì)被減小,這使得
家鄉(xiāng)代理在采用最小封裝時(shí),移動(dòng)主機(jī)不可到達(dá)的概率增大。
最小封裝的包中可能不包含原始源地址域,從而不能保證隧道內(nèi)的ICMP報(bào)文可以到達(dá)原始數(shù)據(jù)包
源,這樣隧道入口只能仍然依靠軟狀態(tài)對(duì)報(bào)文進(jìn)行中繼,以便到達(dá)原始數(shù)據(jù)包源。由于以上原因,
移動(dòng)IP實(shí)現(xiàn)者應(yīng)集中精力保證IP原IP封裝正常工作,而可以不使用最小封裝。通用路由封裝GRE是
移動(dòng)IP采用的最后一種隧道技術(shù)。除了IP協(xié)議,GRE還支持其他網(wǎng)絡(luò)層協(xié)議,它允許一種協(xié)議的數(shù)
據(jù)包封裝在另一種協(xié)議數(shù)據(jù)包的凈荷中。而前兩種只要求使用IP協(xié)議。另外GRE防止遞歸封裝的機(jī)
制在某些應(yīng)用中也非常有吸引力。
移動(dòng)IPv6
移動(dòng)IPv6是在繼承移動(dòng)IPv4優(yōu)點(diǎn)的基礎(chǔ)上,利用了IPv6的許多新特點(diǎn)進(jìn)行設(shè)計(jì)的。協(xié)議中定義了
三種操作實(shí)體:移動(dòng)節(jié)點(diǎn)、通信節(jié)點(diǎn)和家鄉(xiāng)代理;四種新的IPv6目的地選項(xiàng):綁定更新、綁定認(rèn)
可、綁定請(qǐng)求和家鄉(xiāng)地址;為了實(shí)現(xiàn)“動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)”機(jī)制定義了兩種ICMP消息類型:
家鄉(xiāng)代理地址發(fā)現(xiàn)請(qǐng)求消息和家鄉(xiāng)代理地址發(fā)現(xiàn)應(yīng)答消息;定義了兩種“鄰居發(fā)現(xiàn)”選項(xiàng):宣告消
息間隔和家鄉(xiāng)代理信息選項(xiàng)。
基本操作
無(wú)論移動(dòng)節(jié)點(diǎn)在家鄉(xiāng)還是在外地,它總是通過(guò)家鄉(xiāng)地址來(lái)被尋址。當(dāng)移動(dòng)節(jié)點(diǎn)在家鄉(xiāng)時(shí),可以使用
通常的路由機(jī)制來(lái)對(duì)發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包進(jìn)行路由。由于移動(dòng)節(jié)點(diǎn)的子網(wǎng)前綴是移動(dòng)節(jié)點(diǎn)家鄉(xiāng)鏈
路的子網(wǎng)前綴,所以發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包將被路由到它的家鄉(xiāng)鏈路。
當(dāng)一個(gè)移動(dòng)節(jié)點(diǎn)連接在外地鏈路時(shí),它可以通過(guò)一個(gè)或多個(gè)轉(zhuǎn)交地址或它的家鄉(xiāng)地址來(lái)被尋址。轉(zhuǎn)
交地址是當(dāng)移動(dòng)節(jié)點(diǎn)訪問(wèn)外地鏈路時(shí)獲得的一個(gè)IP地址,此地址的子網(wǎng)前綴是移動(dòng)節(jié)點(diǎn)所訪問(wèn)的外
地鏈路的子網(wǎng)前綴。如果移動(dòng)節(jié)點(diǎn)使用此轉(zhuǎn)交地址連接在這個(gè)外地鏈路,那么發(fā)往這個(gè)轉(zhuǎn)交地址的
數(shù)據(jù)包將被直接路由到在這個(gè)外地鏈路上的移動(dòng)節(jié)點(diǎn)。
移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址和轉(zhuǎn)交地址的關(guān)聯(lián)叫做移動(dòng)節(jié)點(diǎn)的一個(gè)綁定。利用IPv6“鄰居發(fā)現(xiàn)”協(xié)議,
移動(dòng)節(jié)點(diǎn)可以通過(guò)有狀態(tài)的或無(wú)狀態(tài)的“地址自動(dòng)配置”機(jī)制來(lái)獲得轉(zhuǎn)交地址。另外,其他獲得轉(zhuǎn)
交地址的方法也是允許的(如由外地鏈路的網(wǎng)絡(luò)管理員事先分配一個(gè)IP地址給移動(dòng)節(jié)點(diǎn))。
當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)家鄉(xiāng)鏈路時(shí),它要向家鄉(xiāng)鏈路上的一個(gè)路由器注冊(cè)自己的一個(gè)轉(zhuǎn)交地址,并要求這
個(gè)路由器作為自己的家鄉(xiāng)代理。進(jìn)行注冊(cè)時(shí),移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理發(fā)送“綁定更新”消息;然后家
鄉(xiāng)代理要為移動(dòng)節(jié)點(diǎn)返回“綁定認(rèn)可”消息。移動(dòng)節(jié)點(diǎn)把這個(gè)“綁定更新”消息中的轉(zhuǎn)交地址向家
鄉(xiāng)代理注冊(cè),這個(gè)被注冊(cè)的轉(zhuǎn)交地址稱為移動(dòng)節(jié)點(diǎn)的“主轉(zhuǎn)交地址”。移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)代理在家鄉(xiāng)
鏈路上,利用“代理鄰居發(fā)現(xiàn)”來(lái)為移動(dòng)節(jié)點(diǎn)截獲發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包,并且把每個(gè)數(shù)據(jù)包通過(guò)
隧道傳送到移動(dòng)節(jié)點(diǎn)的主轉(zhuǎn)交地址。為了通過(guò)隧道傳送截獲的數(shù)據(jù)包,家鄉(xiāng)代理利用“IPv6封
裝”協(xié)議來(lái)封裝數(shù)據(jù)包,IPv6封裝的外部報(bào)頭的目的地址是移動(dòng)節(jié)點(diǎn)的“主轉(zhuǎn)交地址”。
移動(dòng)節(jié)點(diǎn)可以同時(shí)使用多于一個(gè)的轉(zhuǎn)交地址。移動(dòng)節(jié)點(diǎn)的“主轉(zhuǎn)交地址”必須是唯一的,因?yàn)榧亦l(xiāng)
代理只為每個(gè)移動(dòng)節(jié)點(diǎn)維護(hù)一個(gè)轉(zhuǎn)交地址,并且通常都是把數(shù)據(jù)包通過(guò)隧道傳送到移動(dòng)節(jié)點(diǎn)的“主
轉(zhuǎn)交地址”。這樣的話,家鄉(xiāng)代理使用隧道傳送數(shù)據(jù)包時(shí)就不用采取任何策略來(lái)決定要利用哪個(gè)轉(zhuǎn)
交地址作為隧道的出口,而把這項(xiàng)功能留給移動(dòng)節(jié)點(diǎn)去完成。
當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)家鄉(xiāng)時(shí),家鄉(xiāng)鏈路上的一些節(jié)點(diǎn)可能被重新配置,如原來(lái)作為移動(dòng)節(jié)點(diǎn)家鄉(xiāng)代理的
路由器可能被別的路由器所替換。在這種情況下,移動(dòng)節(jié)點(diǎn)可能不再知道它自己家鄉(xiāng)代理的IP地
址。為了解決這個(gè)問(wèn)題,移動(dòng)IPv6提供了“動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)”機(jī)制來(lái)允許移動(dòng)節(jié)點(diǎn)動(dòng)態(tài)地
在家鄉(xiāng)鏈路上發(fā)現(xiàn)一個(gè)家鄉(xiāng)代理的IP地址,發(fā)現(xiàn)之后,移動(dòng)節(jié)點(diǎn)可以向這個(gè)家鄉(xiāng)代理注冊(cè)自己的轉(zhuǎn)
交地址。
“綁定更新”、“綁定認(rèn)可”和“綁定請(qǐng)求”這三個(gè)目的地選項(xiàng)用于IPv6節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn)之間進(jìn)
行通信,也能夠使IPv6節(jié)點(diǎn)了解和緩存移動(dòng)節(jié)點(diǎn)的綁定。
移動(dòng)IPv6定義了一個(gè)附加的IPv6目的地選項(xiàng)叫“家鄉(xiāng)地址”選項(xiàng)。當(dāng)移動(dòng)節(jié)點(diǎn)在外地發(fā)送數(shù)據(jù)包
時(shí),通常它將使用當(dāng)前的轉(zhuǎn)交地址作為數(shù)據(jù)包報(bào)頭中的源地址,并且在數(shù)據(jù)包中包含一個(gè)“家鄉(xiāng)地
址”目的地選項(xiàng),用于給出移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址。許多路由器都有“入口過(guò)濾功能”,這種路由器
不允許“源地址”不正確的數(shù)據(jù)包通過(guò)。通過(guò)使用轉(zhuǎn)交地址作為IPv6報(bào)頭的源地址,數(shù)據(jù)包將能
正常地通過(guò)這些路由器,這些入口過(guò)濾規(guī)則也同樣能夠得到正確的拓?fù)湓唇Y(jié)構(gòu)。通過(guò)在每個(gè)數(shù)據(jù)包
中包含“家鄉(xiāng)地址”選項(xiàng),移動(dòng)節(jié)點(diǎn)可以利用包含在“家鄉(xiāng)地址”選項(xiàng)中的家鄉(xiāng)地址與通信節(jié)點(diǎn)進(jìn)
行通信,這樣就使轉(zhuǎn)交地址對(duì)IP層之上是透明的。在數(shù)據(jù)包中包含“家鄉(xiāng)地址”選項(xiàng)僅僅影響通信
節(jié)點(diǎn)對(duì)這個(gè)數(shù)據(jù)包的接收;接收這樣的數(shù)據(jù)包將不在通信節(jié)點(diǎn)中產(chǎn)生任何狀態(tài)或修改任何狀態(tài)。
綁定管理
當(dāng)一個(gè)移動(dòng)節(jié)點(diǎn)配置了一個(gè)新的轉(zhuǎn)交地址并且決定要使用這個(gè)新的地址作為它的主轉(zhuǎn)交地址時(shí),移
動(dòng)節(jié)點(diǎn)通過(guò)發(fā)送給家鄉(xiāng)代理一個(gè)“綁定更新”消息來(lái)注冊(cè)這個(gè)新的綁定。移動(dòng)節(jié)點(diǎn)指出這個(gè)“綁定
更新”消息是需要應(yīng)答的,并且它不斷的周期性地重發(fā)這個(gè)消息直到得到認(rèn)可為止。家鄉(xiāng)代理通過(guò)
向移動(dòng)節(jié)點(diǎn)返回一個(gè)“綁定認(rèn)可”消息來(lái)應(yīng)答綁定更新消息。
當(dāng)一個(gè)移動(dòng)節(jié)點(diǎn)接收到一個(gè)由它的家鄉(xiāng)代理通過(guò)隧道發(fā)送給它的數(shù)據(jù)包時(shí),移動(dòng)節(jié)點(diǎn)就認(rèn)為發(fā)送這
個(gè)數(shù)據(jù)包的通信節(jié)點(diǎn)沒(méi)有它的綁定緩存條目。如果有的話,通信節(jié)點(diǎn)就可以利用“路由報(bào)頭”直接
向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包,而不必經(jīng)過(guò)移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)鏈路。因此,移動(dòng)節(jié)點(diǎn)向通信節(jié)點(diǎn)返回一個(gè)
“綁定更新”消息,允許通信節(jié)點(diǎn)為這個(gè)移動(dòng)節(jié)點(diǎn)緩存一個(gè)綁定,以后通信節(jié)點(diǎn)就可以利用這個(gè)綁
定來(lái)發(fā)送以后的數(shù)據(jù)包。盡管移動(dòng)節(jié)點(diǎn)可以要求這個(gè)“綁定更新”消息被應(yīng)答,但這個(gè)應(yīng)答不是必
須的,因?yàn)閺倪@個(gè)通信節(jié)點(diǎn)發(fā)出的后續(xù)的數(shù)據(jù)包如果繼續(xù)被移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)代理所截獲并且通過(guò)隧
道發(fā)送到通信節(jié)點(diǎn),那么將激發(fā)移動(dòng)節(jié)點(diǎn)向通信節(jié)點(diǎn)重發(fā)“綁定更新”消息。當(dāng)某個(gè)綁定的生存時(shí)
間將要到期時(shí),具有這個(gè)“綁定緩存”條目的通信節(jié)點(diǎn)可以更新此綁定條目。通信節(jié)點(diǎn)通過(guò)發(fā)送一
個(gè)“綁定請(qǐng)求”消息到移動(dòng)節(jié)點(diǎn),來(lái)要求移動(dòng)節(jié)點(diǎn)向它發(fā)送“綁定更新”消息。例如,如果通信節(jié)
點(diǎn)正在與移動(dòng)節(jié)點(diǎn)進(jìn)行通信,并且正有一個(gè)打開(kāi)的TCP連接,并且以后還要繼續(xù)這個(gè)通信,那么在
這種情況下移動(dòng)節(jié)點(diǎn)可以刷新這個(gè)條目。當(dāng)移動(dòng)節(jié)點(diǎn)接收到一個(gè)“綁定請(qǐng)求”消息時(shí),它向發(fā)送這
個(gè)“綁定請(qǐng)求”消息的節(jié)點(diǎn)返回一個(gè)“綁定更新”消息。
移動(dòng)節(jié)點(diǎn)同時(shí)可以有一個(gè)或多個(gè)轉(zhuǎn)交地址,盡管僅僅有一個(gè)轉(zhuǎn)交地址被注冊(cè)為它的“主轉(zhuǎn)交地
址”。移動(dòng)節(jié)點(diǎn)使用多于一個(gè)的轉(zhuǎn)交地址是非常有用的。比如,當(dāng)移動(dòng)節(jié)點(diǎn)從一個(gè)無(wú)線鏈路移動(dòng)到
另外一個(gè)無(wú)線鏈路時(shí),可以提高切換的性能,F(xiàn)實(shí)世界中有與Internet通過(guò)單獨(dú)基站相聯(lián)的無(wú)線
鏈路,這樣的兩個(gè)鏈路的覆蓋范圍有可能重疊,在這種情況下,當(dāng)移動(dòng)節(jié)點(diǎn)在重疊區(qū)域的時(shí)候可能
與兩個(gè)鏈路同時(shí)保持連接。當(dāng)移動(dòng)節(jié)點(diǎn)移出舊鏈路的覆蓋范圍并與它斷開(kāi)連接之前,移動(dòng)節(jié)點(diǎn)可以
在新的鏈路上獲得一個(gè)新的轉(zhuǎn)交地址。這樣當(dāng)移動(dòng)節(jié)點(diǎn)更新家鄉(xiāng)代理和通信節(jié)點(diǎn)的“綁定緩存”的
時(shí)候,它仍然可以繼續(xù)使用舊的轉(zhuǎn)交地址來(lái)接收數(shù)據(jù)包。
由于通信節(jié)點(diǎn)能夠緩存綁定,所以通信節(jié)點(diǎn)能夠直接把數(shù)據(jù)包路由到移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,因此家
鄉(xiāng)代理很少參與對(duì)移動(dòng)節(jié)點(diǎn)數(shù)據(jù)包的傳送。這對(duì)于系統(tǒng)的可擴(kuò)展性和穩(wěn)定性是非常重要的,另外也
減少了網(wǎng)絡(luò)的負(fù)擔(dān)。通過(guò)緩存移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址能夠得到從通信節(jié)點(diǎn)到移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包的優(yōu)化
路徑。直接把數(shù)據(jù)包路由到移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址也減輕了家鄉(xiāng)代理和家鄉(xiāng)鏈路的交通阻塞。另外由
于家鄉(xiāng)鏈路上的節(jié)點(diǎn)和家鄉(xiāng)鏈路參與很少的對(duì)移動(dòng)節(jié)點(diǎn)數(shù)據(jù)包的轉(zhuǎn)發(fā),所以這些節(jié)點(diǎn)和家鄉(xiāng)鏈路的
失敗很少影響移動(dòng)節(jié)點(diǎn)的通信。
動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)
當(dāng)移動(dòng)節(jié)點(diǎn)向家鄉(xiāng)代理注冊(cè)“主轉(zhuǎn)交地址”時(shí),它可能不知道它的家鄉(xiāng)鏈路上能夠具有家鄉(xiāng)代理功
能的路由器的地址。舉例說(shuō)明,當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)家鄉(xiāng)鏈路之后,原來(lái)的家鄉(xiāng)代理可能被其他的路由
器所替代。
在這種情況下,移動(dòng)節(jié)點(diǎn)可以使用“動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)”機(jī)制,在自己的家鄉(xiāng)鏈路上來(lái)發(fā)現(xiàn)一
個(gè)合適的家鄉(xiāng)代理的地址。為了完成這項(xiàng)工作,移動(dòng)節(jié)點(diǎn)向“移動(dòng)IPv6家鄉(xiāng)代理”的“任意發(fā)
送”地址發(fā)送“ICMP家鄉(xiāng)代理地址發(fā)現(xiàn)請(qǐng)求”消息。這個(gè)數(shù)據(jù)包不能夠使用“家鄉(xiāng)地址”選項(xiàng),
而必須在數(shù)據(jù)包的IP報(bào)頭的源地址字段中使用移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址(這個(gè)數(shù)據(jù)包通過(guò)轉(zhuǎn)交地址發(fā)
送,而不使用移動(dòng)IP)。在家鄉(xiāng)鏈路上接收到請(qǐng)求消息的家鄉(xiāng)代理將返回“家鄉(xiāng)代理地址發(fā)現(xiàn)應(yīng)
答”消息,在消息中給出自己的全球唯一地址,另外也給出了家鄉(xiāng)鏈路上其他家鄉(xiāng)代理的列表。家
鄉(xiāng)鏈路上的每個(gè)家鄉(xiāng)代理都維護(hù)這樣一個(gè)列表。由于每個(gè)家鄉(xiāng)代理都周期性地廣播非請(qǐng)求“路由器
宣告”消息,而在這個(gè)消息中如果“家鄉(xiāng)代理”位被置位,那么發(fā)送這個(gè)消息的路由器就被認(rèn)為是
家鄉(xiāng)代理,所以根據(jù)這個(gè)消息每個(gè)家鄉(xiāng)代理都能了解自己所在鏈路上哪些路由器是家鄉(xiāng)代理。
移動(dòng)節(jié)點(diǎn)在接收到“ICMP家鄉(xiāng)代理地址發(fā)現(xiàn)應(yīng)答”消息之后,就向發(fā)送此消息的源地址發(fā)送“綁
定更新”以進(jìn)行家鄉(xiāng)注冊(cè);另外,由于移動(dòng)節(jié)點(diǎn)能夠從應(yīng)答消息中得到家鄉(xiāng)鏈路上其他家鄉(xiāng)代理的
地址,所以移動(dòng)節(jié)點(diǎn)也可以向其他家鄉(xiāng)代理發(fā)送“綁定更新”消息。例如移動(dòng)節(jié)點(diǎn)可以向所有的家
鄉(xiāng)代理進(jìn)行家鄉(xiāng)注冊(cè),然后等待能夠匹配的“綁定認(rèn)可”消息,直到它的注冊(cè)動(dòng)作被其中一個(gè)家鄉(xiāng)
代理所接受。移動(dòng)節(jié)點(diǎn)在試著向每個(gè)家鄉(xiāng)代理的地址發(fā)送“綁定更新”消息時(shí),應(yīng)當(dāng)按著家鄉(xiāng)代理
的列表順序來(lái)發(fā)送。如果返回“家鄉(xiāng)代理地址發(fā)現(xiàn)應(yīng)答”消息的家鄉(xiāng)代理沒(méi)有出現(xiàn)在家鄉(xiāng)代理列表
中,那么它應(yīng)該首先被發(fā)送“綁定更新”消息,否則,移動(dòng)節(jié)點(diǎn)就要按照家鄉(xiāng)代理列表中的順序去
發(fā)送。
如果家鄉(xiāng)鏈路上的某個(gè)家鄉(xiāng)代理上有一個(gè)合法的注冊(cè),那么移動(dòng)節(jié)點(diǎn)在進(jìn)行新的注冊(cè)時(shí),必須首先
對(duì)這個(gè)家鄉(xiāng)代理進(jìn)行注冊(cè)更新。如果這個(gè)注冊(cè)過(guò)程失敗或者被拒絕,那么移動(dòng)節(jié)點(diǎn)就要向家鄉(xiāng)鏈路
上其他的家鄉(xiāng)代理進(jìn)行注冊(cè)。如果移動(dòng)節(jié)點(diǎn)不知道家鄉(xiāng)鏈路上其他家鄉(xiāng)代理的地址,那么它就要執(zhí)
行“動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)”機(jī)制。
對(duì)所有IPv6節(jié)點(diǎn)的要求
移動(dòng)IPv6作為IPv6不可分割的一部分,對(duì)不同的IPv6節(jié)點(diǎn)提出了一些特殊要求。
由于每個(gè)IPv6節(jié)點(diǎn)在任何時(shí)刻都可以成為一個(gè)移動(dòng)節(jié)點(diǎn)的通信節(jié)點(diǎn),所以對(duì)所有的IPv6節(jié)點(diǎn)來(lái)說(shuō)
都必須滿足以下要求:
每個(gè)IPv6節(jié)點(diǎn)必須能夠處理包含在IPv6數(shù)據(jù)包中的“家鄉(xiāng)地址”選項(xiàng);
每個(gè)IPv6節(jié)點(diǎn)應(yīng)能處理接收到的“綁定更新”選項(xiàng),并且能返回“綁定認(rèn)可”選項(xiàng)來(lái)作為對(duì)“綁
定更新”的應(yīng)答(如果這個(gè)“綁定更新”需要應(yīng)答的時(shí)候);
每個(gè)IPv6節(jié)點(diǎn)應(yīng)能為接收到“綁定更新”維護(hù)一個(gè)“綁定緩存”條目。
所有的IPv6路由器應(yīng)能滿足以下要求,即使不是移動(dòng)IPv6中的“家鄉(xiāng)代理”:
每個(gè)IPv6路由器應(yīng)能在它的“路由器宣告”消息中包含一個(gè)“宣告時(shí)間間隔”選項(xiàng),來(lái)幫助移動(dòng)
節(jié)點(diǎn)進(jìn)行移動(dòng)檢測(cè)且必須是可配置的;
每個(gè)IPv6路由器應(yīng)當(dāng)能夠以更快的速率發(fā)送非請(qǐng)求“路由器宣告”廣播消息,這個(gè)速率的使用必
須是可配置的。
為了使移動(dòng)節(jié)點(diǎn)離開(kāi)家鄉(xiāng)時(shí)能夠正確地工作,在移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)鏈路上至少應(yīng)該有一個(gè)路由器作為
它的家鄉(xiāng)代理。以下的要求應(yīng)用到作為家鄉(xiāng)代理的所有IPv6路由器上:
每一個(gè)家鄉(xiāng)代理必須能夠在它的綁定緩存中為它所服務(wù)的每一個(gè)移動(dòng)節(jié)點(diǎn)維護(hù)一個(gè)條目。每一個(gè)綁
定緩存條目中記錄了移動(dòng)節(jié)點(diǎn)的綁定,在這個(gè)綁定中記錄有移動(dòng)節(jié)點(diǎn)的主轉(zhuǎn)交地址并且這個(gè)條目被
標(biāo)識(shí)為“家鄉(xiāng)注冊(cè)”的記號(hào);
當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)家鄉(xiāng)時(shí),在移動(dòng)節(jié)點(diǎn)家鄉(xiāng)鏈路上的家鄉(xiāng)代理必須能夠?yàn)橐苿?dòng)節(jié)點(diǎn)截獲發(fā)往移動(dòng)節(jié)點(diǎn)
的數(shù)據(jù)包;
每個(gè)家鄉(xiāng)代理必須能夠封裝被截獲的數(shù)據(jù)包,然后把它們通過(guò)隧道發(fā)往移動(dòng)節(jié)點(diǎn)的“主轉(zhuǎn)交地
址”;
當(dāng)家鄉(xiāng)代理接收到一個(gè)“應(yīng)答位”被設(shè)置的“綁定更新”消息時(shí),它必須能夠向這個(gè)移動(dòng)節(jié)點(diǎn)返回
一個(gè)“綁定認(rèn)可”消息;
每個(gè)家鄉(xiāng)代理必須能夠?yàn)樗⻊?wù)的每個(gè)鏈路上的所有家鄉(xiāng)代理維護(hù)多個(gè)單獨(dú)的家鄉(xiāng)代理列表;
每個(gè)家鄉(xiāng)代理必須能夠接收發(fā)往“移動(dòng)IPv6家鄉(xiāng)代理”任意發(fā)送地址的數(shù)據(jù)包,并且它必須能夠
參與到“動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)”機(jī)制中;
每個(gè)家鄉(xiāng)代理應(yīng)該支持一個(gè)可配置機(jī)制來(lái)允許系統(tǒng)管理員手動(dòng)地設(shè)置“家鄉(xiāng)代理信息”選項(xiàng)中“家
鄉(xiāng)代理優(yōu)先選擇權(quán)”字段的值。
移動(dòng)IPv4與
移動(dòng)IPv6的比較
移動(dòng)IPv6的設(shè)計(jì)汲取了移動(dòng)IPv4的設(shè)計(jì)經(jīng)驗(yàn),并且利用了IPv6的許多新的特征,所以提供了比移
動(dòng)IPv4更多的、更好的特點(diǎn)。移動(dòng)IPv6成為了IPv6協(xié)議不可分割的一部分。本文總結(jié)一下移動(dòng)
IPv6和移動(dòng)IPv4的主要的不同之處:
在移動(dòng)IPv4的基本協(xié)議中存在有“三角路由”問(wèn)題,對(duì)此“路由優(yōu)化”問(wèn)題的解決是由另外的協(xié)
議完成的,是基本協(xié)議的可選擴(kuò)展,并且不被移動(dòng)IPv4中的所有節(jié)點(diǎn)所支持;在移動(dòng)IPv6中,對(duì)
這個(gè)問(wèn)題的解決已經(jīng)成為協(xié)議的一個(gè)主要部分,并被所有的IPv6節(jié)點(diǎn)所支持。對(duì)這種路由優(yōu)化問(wèn)
題的整合允許任何通信節(jié)點(diǎn)和移動(dòng)節(jié)點(diǎn)之間直接路由數(shù)據(jù)包,而不再經(jīng)過(guò)移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)網(wǎng)絡(luò),也
不再需要家鄉(xiāng)代理的轉(zhuǎn)發(fā)功能,因此解除了在基本的移動(dòng)IPv4協(xié)議中存在的“三角路由”問(wèn)題。
這種整合也允許移動(dòng)IPv4中的“注冊(cè)”功能和路由優(yōu)化功能在單獨(dú)一個(gè)協(xié)議中完成,而不是在兩
個(gè)不同的協(xié)議中完成。
在移動(dòng)IPv6中可以允許移動(dòng)節(jié)點(diǎn)與具有“入口過(guò)濾”功能的路由器同時(shí)存在并有效工作而不互相
影響。在移動(dòng)IPv4中,當(dāng)連接在外地鏈路的移動(dòng)節(jié)點(diǎn)向通信節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí),在某些情況下為
了保證位置的透明性,移動(dòng)節(jié)點(diǎn)對(duì)所要發(fā)送數(shù)據(jù)包的源地址必須設(shè)置成自己的家鄉(xiāng)地址。由于家鄉(xiāng)
地址具有與外地鏈路不同的子網(wǎng)前綴,所以當(dāng)這些數(shù)據(jù)包通過(guò)具有“入口過(guò)濾”功能的路由器時(shí),
將被路由器過(guò)濾掉。在在移動(dòng)IPv6中移動(dòng)節(jié)點(diǎn)可以使用轉(zhuǎn)交地址作為它所發(fā)送數(shù)據(jù)包的IP報(bào)頭中
的源地址,這樣,數(shù)據(jù)包就能正常的通過(guò)具有“入口過(guò)濾”功能的路由器。移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址被
攜帶在數(shù)據(jù)包的“家鄉(xiāng)地址”目的地選項(xiàng)中,當(dāng)通信節(jié)點(diǎn)接收到包含這樣選項(xiàng)的數(shù)據(jù)包時(shí),能夠自
動(dòng)地把數(shù)據(jù)包的源地址替換成“家鄉(xiāng)地址”目的地選項(xiàng)中的家鄉(xiāng)地址,這樣就使得轉(zhuǎn)交地址的使用
對(duì)IP以上各層是透明的。所有IPv6節(jié)點(diǎn)都必須能夠正確處理數(shù)據(jù)包中的“家鄉(xiāng)地址”選項(xiàng),無(wú)論
這個(gè)節(jié)點(diǎn)是移動(dòng)的還是靜止的,是主機(jī)還是路由器。
在數(shù)據(jù)包的報(bào)頭中使用“轉(zhuǎn)交地址”作為源地址也簡(jiǎn)化了移動(dòng)節(jié)點(diǎn)發(fā)送廣播數(shù)據(jù)包的路由。在移動(dòng)
IPv4中,移動(dòng)節(jié)點(diǎn)不得不把廣播數(shù)據(jù)包通過(guò)隧道發(fā)送到家鄉(xiāng)代理,從而在家鄉(xiāng)鏈路上利用家鄉(xiāng)地
址作為廣播數(shù)據(jù)包的源地址。在移動(dòng)IPv6中,“家鄉(xiāng)地址“目的地選項(xiàng)的使用允許在廣播數(shù)據(jù)包
中使用“家鄉(xiāng)地址”作為源地址,這樣使得可以與依賴于數(shù)據(jù)包源地址的廣播路由相兼容。
在移動(dòng)IPv6中不再有“外地代理”的概念。移動(dòng)節(jié)點(diǎn)在離開(kāi)家鄉(xiāng)鏈路時(shí)可以利用IPv6的增強(qiáng)功能
(如“鄰居發(fā)現(xiàn)”和“地址自動(dòng)配置”機(jī)制)進(jìn)行獨(dú)立操作,而不需要任何來(lái)自于當(dāng)?shù)芈酚善鞯奶?br />殊支持。實(shí)質(zhì)上,移動(dòng)IPv6中“外地代理”與“家鄉(xiāng)代理”具有相同的功能,所以為了實(shí)現(xiàn)上的
方便在外地鏈路上也使用“家鄉(xiāng)代理”的概念。在移動(dòng)IPv4中,一般情況下“外地代理”具有為
移動(dòng)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包的功能。其實(shí)在移動(dòng)IPv6中也需要此功能,如當(dāng)移動(dòng)節(jié)點(diǎn)從外地鏈路A移動(dòng)到
外地鏈路B時(shí),如果在外地鏈路A上沒(méi)有一個(gè)路由器具有“家鄉(xiāng)代理”的功能,那么發(fā)往外地鏈路A
的數(shù)據(jù)包將丟失。在這種情況下,已經(jīng)移動(dòng)到外地鏈路B的移動(dòng)節(jié)點(diǎn)應(yīng)該向外地鏈路A上的某個(gè)路由
器發(fā)送“綁定更新”消息,來(lái)要求這個(gè)路由器作為自己臨時(shí)的“家鄉(xiāng)代理”,從這種意義上來(lái)說(shuō),
外地鏈路上也應(yīng)該具有“外地代理”,只是在移動(dòng)IPv6中這個(gè)“外地代理”具有與“家鄉(xiāng)代理”
相同的功能。
在安全性方面,移動(dòng)IPv6使用IPSec來(lái)滿足更新綁定時(shí)的所有安全需求(發(fā)送者認(rèn)證,數(shù)據(jù)完整性
保護(hù),重傳保護(hù)等),也就是說(shuō)移動(dòng)IPv6的安全性是建立在IPv6的安全機(jī)制之上的,這樣對(duì)移動(dòng)
IPv6就可以省去很多用來(lái)應(yīng)付安全性的工作。在移動(dòng)IPv4中必須依賴自己的安全機(jī)制,通過(guò)靜態(tài)
地配置“移動(dòng)安全關(guān)聯(lián)”來(lái)完成這些功能,增加了負(fù)擔(dān)。
當(dāng)移動(dòng)節(jié)點(diǎn)在當(dāng)前位置與它的缺省路由器進(jìn)行通信時(shí),移動(dòng)IPv6的“移動(dòng)檢測(cè)”機(jī)制為移動(dòng)節(jié)點(diǎn)
提供了雙向認(rèn)證的能力(雙向是指從路由器向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包和從移動(dòng)節(jié)點(diǎn)向路由器發(fā)送數(shù)據(jù)
包)。這種認(rèn)證對(duì)于“黑洞”問(wèn)題提供了一種檢測(cè)方法,在某些鏈路上路由器和移動(dòng)節(jié)點(diǎn)之間的鏈
路在雙向上工作狀況可能不一樣,這種情形可能存在于某些無(wú)線環(huán)境中,如移動(dòng)節(jié)點(diǎn)已經(jīng)移出了好
的無(wú)線傳輸范圍。如果移動(dòng)節(jié)點(diǎn)到它當(dāng)前路由器的鏈路工作狀況不是很好,那么移動(dòng)節(jié)點(diǎn)可以試圖
發(fā)現(xiàn)一個(gè)新的路由器并使用一個(gè)新的轉(zhuǎn)交地址。相反,在移動(dòng)IPv4中僅僅“前向”(從路由器向
移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包)的消息傳送被認(rèn)可;例如,如果移動(dòng)節(jié)點(diǎn)接收不到從路由器發(fā)送過(guò)來(lái)的數(shù)據(jù)
包,而移動(dòng)節(jié)點(diǎn)發(fā)送到路由器的數(shù)據(jù)包即使路由器接收到,也不能對(duì)移動(dòng)節(jié)點(diǎn)進(jìn)行認(rèn)可,所以這樣
就允許“黑洞”現(xiàn)象存在,即移動(dòng)節(jié)點(diǎn)與路由器失去了聯(lián)系。
在移動(dòng)IPv6中,對(duì)于發(fā)往離開(kāi)家鄉(xiāng)鏈路的移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包,使用IPv6的“路由報(bào)頭”進(jìn)行傳
送,而不使用IP封裝;在移動(dòng)IPv4中對(duì)于所有的數(shù)據(jù)包必須使用封裝技術(shù)。使用“路由報(bào)頭”需
要較少的附加報(bào)頭字節(jié),從而減少了移動(dòng)IP分發(fā)數(shù)據(jù)包的負(fù)擔(dān)。但是,為了防止在數(shù)據(jù)包發(fā)送的過(guò)
程中被修改,在移動(dòng)IPv6中,由移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)代理截獲并通過(guò)隧道發(fā)送到移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包必
須仍然使用封裝技術(shù)。
當(dāng)移動(dòng)節(jié)點(diǎn)離開(kāi)家鄉(xiāng)時(shí),它的家鄉(xiāng)代理使用IPv6的“鄰居發(fā)現(xiàn)”機(jī)制來(lái)截獲發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)
包,而不是使用IPv4中的ARP協(xié)議。為了截取數(shù)據(jù)包,家鄉(xiāng)代理必須代表這個(gè)移動(dòng)節(jié)點(diǎn)在家鄉(xiāng)鏈路
上廣播一條“無(wú)理由”的“鄰居廣播”消息。家鄉(xiāng)鏈路上接收到這樣一個(gè)“鄰居宣告”消息的任何
節(jié)點(diǎn),將修改自己的“鄰居緩存”,使移動(dòng)節(jié)點(diǎn)的地址與家鄉(xiāng)代理的鏈路層地址進(jìn)行關(guān)聯(lián),這樣將
來(lái)發(fā)向移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包直接發(fā)送到移動(dòng)節(jié)點(diǎn)IP地址,而不發(fā)向移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)代理!班従影l(fā)
現(xiàn)”的使用提高了協(xié)議的健壯性并且簡(jiǎn)化了移動(dòng)IP的實(shí)現(xiàn),因?yàn)樵谝苿?dòng)IPv6中不需要再考慮與ARP
相關(guān)的特定數(shù)據(jù)鏈路層的性質(zhì)。
在移動(dòng)IPv4中由于ICMP協(xié)議的局限性必須使用“隧道軟狀態(tài)”的概念,而在移動(dòng)IPv6中,由于使
用了“IPv6封裝”和“路由報(bào)頭”,從而不再需要“隧道軟狀態(tài)”。根據(jù)ICMPv6的定義,無(wú)論如
何都可以把“ICMP錯(cuò)誤消息”正確的傳送到數(shù)據(jù)包的初始發(fā)送者。
在移動(dòng)IPv6中,“動(dòng)態(tài)家鄉(xiāng)代理地址發(fā)現(xiàn)”機(jī)制使用IPv6的“任意發(fā)送”地址,并且家鄉(xiāng)鏈路上
只有一個(gè)家鄉(xiāng)代理向移動(dòng)節(jié)點(diǎn)返回一個(gè)應(yīng)答消息;由于在移動(dòng)IPv4中使用直接的廣播地址,所以
移動(dòng)節(jié)點(diǎn)家鄉(xiāng)鏈路上的每個(gè)家鄉(xiāng)代理均返回一個(gè)獨(dú)立的應(yīng)答消息。因?yàn)閮H僅只有一個(gè)數(shù)據(jù)包從家鄉(xiāng)
鏈路返回到移動(dòng)節(jié)點(diǎn),所以移動(dòng)IPv6的這種機(jī)制更加有效和可靠。
移動(dòng)IPv6中在“路由器宣告”消息(相當(dāng)于移動(dòng)IPv4中的“代理宣告”消息)中定義了一個(gè)“宣
告時(shí)間間隔”選項(xiàng),允許移動(dòng)節(jié)點(diǎn)自己可以決定在宣布它的當(dāng)前路由器不可達(dá)消息之前,可以略過(guò)
多少個(gè)“路由器宣告”消息。
由于使用了IPv6協(xié)議的“目的地選項(xiàng)”,所以允許移動(dòng)IPv6的流量控制消息附加在任何的IPv6數(shù)
據(jù)包中,這樣可以減少網(wǎng)絡(luò)的通信量;而在移動(dòng)IPv4中,對(duì)于每個(gè)控制消息都必須使用獨(dú)立的UDP
數(shù)據(jù)包進(jìn)行發(fā)送。
總之,移動(dòng)IPv6生逢其時(shí),剛好迎合了IP協(xié)議更新?lián)Q代的時(shí)機(jī),也滿足了移動(dòng)信息社會(huì)的需求。
它必將在IPv6時(shí)代,為人們帶來(lái)無(wú)時(shí)無(wú)地不在的網(wǎng)絡(luò)通信。 (闞志剛 羅軍 馬建 王剛)