移動(dòng)IP路由方案研究

朱健 楊庚

(南京郵電學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 南京210003)

  摘 要 本文對(duì)移動(dòng)IP技術(shù)中的各種路由方案進(jìn)行了分析研究。首先,我們介紹了移動(dòng)IP的功能實(shí)體和基本的通信過(guò)程;然后對(duì)三角路由和反向隧道兩種路由方案做了測(cè)試分析,并指出了他們的不足。在此基礎(chǔ)上,我們提出了一種路由優(yōu)化方案并引入了可靠的安全機(jī)制。

  關(guān)鍵詞 移動(dòng)IP 三角路由 反向隧道 對(duì)端代理

1 引言

  現(xiàn)有的IP路由體系有一個(gè)重要的規(guī)則:路由選擇只依據(jù)目的IP地址的網(wǎng)絡(luò)部分,而不是整個(gè)IP地址,即路由是針對(duì)網(wǎng)絡(luò)的。若主機(jī)從一個(gè)子網(wǎng)移動(dòng)到一個(gè)新的子網(wǎng)并保持IP地址不變,則它的IP地址就不能反映出它的當(dāng)前位置,由此引發(fā)的后果就是現(xiàn)有的IP路由體系不能把報(bào)文投遞給該主機(jī)。在這種情況下,主機(jī)必須配置一個(gè)新的屬于當(dāng)前子網(wǎng)的IP地址來(lái)反映它的新位置。而對(duì)于一個(gè)TCP連接來(lái)說(shuō),有四個(gè)元素來(lái)唯一地標(biāo)識(shí)它:源IP地址、目的IP地址、TCP源端口號(hào)、TCP目的端口號(hào),改變其中任何一個(gè)都會(huì)導(dǎo)致TCP連接的中斷或丟失。因此,要保持移動(dòng)主機(jī)移動(dòng)時(shí)傳輸層的連接,必須保持IP地址不變。根據(jù)這些要求,IETF提出了移動(dòng)IP技術(shù)。近年來(lái),隨著對(duì)移動(dòng)IP技術(shù)的理論探討不斷深入,人們發(fā)現(xiàn)它存在著一些不足,尤其在路由機(jī)制和安全機(jī)制方面還不能滿足現(xiàn)代通信的需求。

2 移動(dòng)IP路由

2.1 基本原理

2.1.1 功能實(shí)體

  移動(dòng)IP定義了三個(gè)功能實(shí)體: 家鄉(xiāng)代理(HA,Home Agent)、外地代理(FA,F(xiàn)oreign Agent)和移動(dòng)節(jié)點(diǎn)(MN,Mobile Node)。

 。1)移動(dòng)節(jié)點(diǎn)(MN):當(dāng)接入點(diǎn)從一條鏈路切換到另一條鏈路上時(shí)仍能保持所有正在進(jìn)行的通信的移動(dòng)主機(jī)。它有兩個(gè)IP地址,一個(gè)是家鄉(xiāng)地址(Home address),用來(lái)標(biāo)識(shí)TCP連接的永久地址;另一個(gè)是轉(zhuǎn)交地址(COA,Care of Address),是當(dāng)移動(dòng)節(jié)點(diǎn)漫游到其他子網(wǎng)時(shí)所獲得的供IP包選路使用的臨時(shí)地址。轉(zhuǎn)交地址可以由外地代理提供,也可以由外地網(wǎng)絡(luò)的DHCP服務(wù)器分配。

 。2)家鄉(xiāng)代理(HA):移動(dòng)節(jié)點(diǎn)本地網(wǎng)絡(luò)上的路由器。其作用是負(fù)責(zé)維護(hù)移動(dòng)節(jié)點(diǎn)當(dāng)前的位置信息,并且把送往移動(dòng)節(jié)點(diǎn)家鄉(xiāng)地址的數(shù)據(jù)包通過(guò)隧道發(fā)往移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址! 

 。3)外地代理(FA):移動(dòng)節(jié)點(diǎn)當(dāng)前連接到的外地網(wǎng)絡(luò)上的路由器。其作用是在為移動(dòng)節(jié)點(diǎn)提供路由服務(wù),并且對(duì)經(jīng)家鄉(xiāng)代理封裝后發(fā)給移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包進(jìn)行解封裝,然后轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。

2.1.2 工作機(jī)制

  移動(dòng)IP的工作機(jī)制如下。

  (1)家鄉(xiāng)代理和外地代理周期性發(fā)廣播報(bào)文,以此來(lái)向它們所在的網(wǎng)絡(luò)中的節(jié)點(diǎn)宣告它們的存在。

 。2)移動(dòng)節(jié)點(diǎn)收到廣播報(bào)文后,檢查報(bào)文的內(nèi)容來(lái)判斷它所連接的是家鄉(xiāng)網(wǎng)絡(luò)還是外地網(wǎng)絡(luò)。當(dāng)連在家鄉(xiāng)網(wǎng)絡(luò)上時(shí),采用傳統(tǒng)的IP通信方式而不使用移動(dòng)IP的功能。

 。3)當(dāng)移動(dòng)節(jié)點(diǎn)移動(dòng)到外地網(wǎng)絡(luò)時(shí),它可以從當(dāng)前網(wǎng)絡(luò)的外地代理發(fā)出的代理廣播消息中獲得轉(zhuǎn)交地址,或者通過(guò)DHCP服務(wù)器配置獲得,但在目前的移動(dòng)IPv4中一般采用外地代理轉(zhuǎn)交地址。

 。4)移動(dòng)節(jié)點(diǎn)通過(guò)外地代理向家鄉(xiāng)代理注冊(cè)轉(zhuǎn)交地址,注冊(cè)可以通過(guò)移動(dòng)IP中定義的注冊(cè)消息來(lái)完成。

 。5)家鄉(xiāng)代理對(duì)移動(dòng)節(jié)點(diǎn)的注冊(cè)請(qǐng)求進(jìn)行鑒權(quán)、認(rèn)證,認(rèn)證通過(guò)則發(fā)注冊(cè)成功消息到移動(dòng)IP的轉(zhuǎn)交地址,外地代理收到消息后再轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。

 。6)此后所有發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)會(huì)先發(fā)往移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)網(wǎng)絡(luò),然后由家鄉(xiāng)代理通過(guò)IP in IP隧道封裝,發(fā)往移動(dòng)節(jié)點(diǎn)注冊(cè)的轉(zhuǎn)交地址。

 。7)外地代理收到數(shù)據(jù)包后先解封裝,再轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。而移動(dòng)節(jié)點(diǎn)發(fā)往與它通信的其他主機(jī)的數(shù)據(jù)會(huì)直接經(jīng)過(guò)外地代理轉(zhuǎn)發(fā)到相應(yīng)主機(jī)。這就形成了一個(gè)“三角路由”。

2.2 反向隧道

  目前,在很多局域網(wǎng)中采用了入口過(guò)濾路由器來(lái)防止拒絕服務(wù)攻擊,即路由器在轉(zhuǎn)發(fā)數(shù)據(jù)包之前檢查IP數(shù)據(jù)報(bào)的源地址域,對(duì)于來(lái)自內(nèi)部網(wǎng)絡(luò)而源地址不是內(nèi)部網(wǎng)絡(luò)的報(bào)文,路由器會(huì)直接將它丟棄。采用這樣的方法對(duì)傳統(tǒng)的IP網(wǎng)絡(luò)不會(huì)帶來(lái)影響,但是將導(dǎo)致移動(dòng)節(jié)點(diǎn)不能進(jìn)行正常通信。因?yàn)楫?dāng)移動(dòng)節(jié)點(diǎn)連接在外地網(wǎng)絡(luò)上時(shí),它發(fā)出的報(bào)文要經(jīng)過(guò)外地網(wǎng)絡(luò)的路由器。路由器會(huì)檢查報(bào)文的源地址和目的地址,而報(bào)文的源地址是移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址不屬于本網(wǎng)絡(luò),于是報(bào)文被丟棄。

  為了解決這個(gè)問(wèn)題,IETF在移動(dòng)IP中引入了反向隧道技術(shù)。反向隧道是指以移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址為源地址,以家鄉(xiāng)代理為目的地址的隧道。如果移動(dòng)節(jié)點(diǎn)要向通信對(duì)端發(fā)送數(shù)據(jù)包,首先要將數(shù)據(jù)包送到外地代理,并由外地代理進(jìn)行IP in IP封裝,然后通過(guò)隧道發(fā)送給家鄉(xiāng)代理,再由家鄉(xiāng)代理轉(zhuǎn)發(fā)給通信對(duì)端。這樣一來(lái),對(duì)外地網(wǎng)絡(luò)的路由器來(lái)講,它收到的數(shù)據(jù)包的源地址是移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,轉(zhuǎn)交地址屬于路由器所在的網(wǎng)絡(luò)。所以,數(shù)據(jù)包的源地址和目的地址在拓?fù)渖隙际钦_的,不會(huì)被丟棄。

  反向隧道技術(shù)的引入解決了入口過(guò)濾路由器給移動(dòng)IP通信帶來(lái)的問(wèn)題,但是它對(duì)通信的速率產(chǎn)生了一定的影響。我們搭建了一個(gè)移動(dòng)IP模擬平臺(tái),并對(duì)三角路由和反向隧道的傳輸速率做了測(cè)試,表1是我們所做的一些測(cè)試結(jié)果。

  可以看出,當(dāng)移動(dòng)主機(jī)漫游到外地網(wǎng)絡(luò)時(shí),如果使用三角路由,ping程序中的ICMP包平均往返時(shí)間從0.827ms激增至2.598ms,網(wǎng)絡(luò)延遲明顯增加。這是因?yàn)樵谒淼赖钠瘘c(diǎn)和終點(diǎn)處對(duì)數(shù)據(jù)包的封裝和解封裝會(huì)引入延遲,降低速度,更為重要的一個(gè)原因是,傳統(tǒng)的移動(dòng)IP使用三角路由,即通信節(jié)點(diǎn)發(fā)送數(shù)據(jù)包到移動(dòng)節(jié)點(diǎn)時(shí),需要通過(guò)其家鄉(xiāng)代理,而移動(dòng)節(jié)點(diǎn)根據(jù)標(biāo)準(zhǔn)IP路由規(guī)則將數(shù)據(jù)包直接發(fā)送到通信節(jié)點(diǎn),這個(gè)三角形的路由過(guò)程與直接路由相比,網(wǎng)絡(luò)開(kāi)銷大大增加。另外,三角路由還存在一些潛在的危害,例如增加引入流量的時(shí)候容易引起家鄉(xiāng)代理處的路由瓶頸。而反向隧道的通信效率更低,因?yàn)樗热锹酚稍黾恿烁喾庋b、解封過(guò)程,而且數(shù)據(jù)包多走了從外地代理到家鄉(xiāng)代理的通信鏈路。

2.3 路由優(yōu)化

  根據(jù)測(cè)試結(jié)果可以看出采用三角路由和反向隧道會(huì)產(chǎn)生一定延遲,加重網(wǎng)絡(luò)負(fù)擔(dān),所以它們都不是好的報(bào)文傳輸方式。實(shí)際上,我們可以很容易想到最佳的路由方案就是讓移動(dòng)節(jié)點(diǎn)和通信對(duì)端之間直接進(jìn)行通信,而不經(jīng)過(guò)家鄉(xiāng)代理轉(zhuǎn)發(fā)。

  要實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)和通信對(duì)端之間直接通信,通信對(duì)端必須要記錄下移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址,并且必須要將移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址和家鄉(xiāng)地址對(duì)應(yīng)。通常,通信對(duì)端是采用綁定表來(lái)記錄和它通信的移動(dòng)節(jié)點(diǎn)的信息,這種表有兩個(gè)表項(xiàng),分別是移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址和轉(zhuǎn)交地址。當(dāng)通信對(duì)端有能力記錄移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址后,剩下的問(wèn)題就是如何將轉(zhuǎn)交地址告訴它,這個(gè)任務(wù)通常是由家鄉(xiāng)代理來(lái)完成的。在通信對(duì)端不知道移動(dòng)節(jié)點(diǎn)的轉(zhuǎn)交地址時(shí),它就會(huì)向移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址發(fā)送數(shù)據(jù)包,這個(gè)數(shù)據(jù)包會(huì)路由到移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)網(wǎng)絡(luò)。家鄉(xiāng)代理收到這個(gè)數(shù)據(jù)包后就會(huì)利用和外地代理之間的隧道發(fā)往外地代理,然后它會(huì)檢查移動(dòng)節(jié)點(diǎn)的注冊(cè)請(qǐng)求中的P比特?cái)?shù),看移動(dòng)節(jié)點(diǎn)是否允許將轉(zhuǎn)交地址發(fā)給其他節(jié)點(diǎn)。如果允許,則發(fā)綁定更新報(bào)文給通信對(duì)端。綁定更新報(bào)文中包括了以下一些信息:移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址、轉(zhuǎn)交地址以及一個(gè)生存時(shí)間值。其中生存時(shí)間值用于告訴通信對(duì)端多長(zhǎng)時(shí)間要重新更新綁定表表項(xiàng),如果為零,則表示要將有關(guān)這個(gè)移動(dòng)節(jié)點(diǎn)的表項(xiàng)刪除,也就意味著通信對(duì)端不能和移動(dòng)節(jié)點(diǎn)用優(yōu)化的路由通信,而只能采用三角路由或反向隧道。

  采用這種方案,顯然可以提高數(shù)據(jù)包的傳輸效率,但是值得注意的是這對(duì)與移動(dòng)節(jié)點(diǎn)通信的每一臺(tái)主機(jī)都提出了很高的要求。因?yàn)檫@些主機(jī)各自需要維護(hù)一個(gè)綁定表,也就是說(shuō)要對(duì)Internet上的幾乎所有的主機(jī)的軟件做出修改,這是不太現(xiàn)實(shí)的。

  為此,我們對(duì)上述方法進(jìn)行了改進(jìn)。在同一個(gè)子網(wǎng)中,我們選擇用一個(gè)專門的節(jié)點(diǎn)來(lái)維護(hù)這個(gè)子網(wǎng)中所有其他主機(jī)的綁定表,姑且把它叫做對(duì)端代理CA(Correspondent Agent), 與通信對(duì)端(Corres-

pondent Node)對(duì)應(yīng)。這樣一來(lái),如果這個(gè)子網(wǎng)中的某一臺(tái)主機(jī)A要與一個(gè)連接在外地鏈路上的移動(dòng)節(jié)點(diǎn)B通信,它會(huì)首先發(fā)數(shù)據(jù)包到移動(dòng)節(jié)點(diǎn)B的家鄉(xiāng)網(wǎng)絡(luò),正常情況下B的家鄉(xiāng)代理會(huì)發(fā)綁定更新消息給A,告訴它移動(dòng)節(jié)點(diǎn)B當(dāng)前的轉(zhuǎn)交地址。A然后發(fā)請(qǐng)求給對(duì)端代理,請(qǐng)求建立綁定表。以后,從A發(fā)出的數(shù)據(jù)包就根據(jù)B的轉(zhuǎn)交地址直接發(fā)往移動(dòng)節(jié)點(diǎn)所連接的外地鏈路。

  這種改進(jìn)方案大大縮短了傳輸路徑,減小了傳輸延遲,可為綜合業(yè)務(wù)提供很好的支持,減輕了家鄉(xiāng)代理處的負(fù)擔(dān)。更關(guān)鍵的是,這種方案的實(shí)現(xiàn)并不是很困難。

  對(duì)于優(yōu)化的路由來(lái)說(shuō),最大的問(wèn)題在于它的安全性。相對(duì)與傳統(tǒng)的移動(dòng)IP來(lái)講,它需要對(duì)更多的實(shí)體進(jìn)行認(rèn)證。為了提高路由優(yōu)化后移動(dòng)IP網(wǎng)絡(luò)中實(shí)體之間通信的安全性,我們采用了IPSec協(xié)議對(duì)數(shù)據(jù)進(jìn)行封裝。對(duì)家鄉(xiāng)代理、外地代理和對(duì)端代理三對(duì)實(shí)體間的通信采用IPSec中的ESP協(xié)議封裝,選擇通道模式。

  采用通道模式的原因是可以穿過(guò)家鄉(xiāng)網(wǎng)絡(luò)和外地網(wǎng)絡(luò)的防火墻,而且可以對(duì)整個(gè)IP數(shù)據(jù)包進(jìn)行保護(hù)。假如通信對(duì)端要發(fā)數(shù)據(jù)包到移動(dòng)節(jié)點(diǎn),則由對(duì)端代理進(jìn)行封裝。外層IP頭的源IP地址為對(duì)端代理地址,目的地址為外地代理的地址。內(nèi)層IP頭的源IP地址為通信對(duì)端地址,而目的地址為移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址。采用ESP協(xié)議可以確保IP數(shù)據(jù)包的機(jī)密性、數(shù)據(jù)的完整性以及對(duì)數(shù)據(jù)源的身份驗(yàn)證。

  在這三對(duì)實(shí)體間采用IPSec加密可以保證數(shù)據(jù)包在Internet上的安全傳遞,再加上移動(dòng)IP自身的認(rèn)證、鑒權(quán)以及加密機(jī)制,已經(jīng)可以滿足移動(dòng)IP通信的安全性要求。

3 結(jié)束語(yǔ)

  通過(guò)以上的路由優(yōu)化方案,縮短了傳輸路徑,減小了傳輸延遲,顯著提高了移動(dòng)IP的通信效率,解決家鄉(xiāng)代理網(wǎng)絡(luò)瓶頸的問(wèn)題,保證了移動(dòng)IP用戶的業(yè)務(wù)質(zhì)量。而且,還引入了可靠的安全機(jī)制,保證了通信的安全。我們相信這種方案的提出,會(huì)對(duì)移動(dòng)IP技術(shù)的發(fā)展產(chǎn)生積極的意義。

----《中國(guó)數(shù)據(jù)通信》


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息