移動(dòng)IP工作原理
移動(dòng)IP的核心思想是在用戶終端設(shè)備在不同子網(wǎng)間漫游的過程中仍保持使用一個(gè)固定的IP地址。移動(dòng)IP系統(tǒng)通常是由移動(dòng)IP協(xié)議,本地代理,外地代理構(gòu)成的,如圖1所示。移動(dòng)節(jié)點(diǎn)在初始時(shí)連接到一個(gè)本地網(wǎng)絡(luò),稱為本地子網(wǎng),其所連接的路由器稱為本地代理。移動(dòng)節(jié)點(diǎn)漫游到的新的子網(wǎng)稱為外地子網(wǎng),這時(shí)其連接的路由器稱為外地代理。由于移動(dòng)節(jié)點(diǎn)的IP地址未發(fā)生改變,則這一漫游過程并不會(huì)引起路由信息的更新。但是,由于移動(dòng)節(jié)點(diǎn)已經(jīng)不在物理的連接到本地代理上,則其它節(jié)點(diǎn)發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包將只能到達(dá)本地代理而無法最終到達(dá)已在別處的移動(dòng)節(jié)點(diǎn)。
圖1 移動(dòng)IP的實(shí)現(xiàn)機(jī)理
為此,當(dāng)移動(dòng)節(jié)點(diǎn)從本地網(wǎng)絡(luò)漫游到一個(gè)外地子網(wǎng)時(shí),將需要通過外地代理一起完成向本地代理的漫游注冊。注冊的結(jié)果是外地代理向本地代理通知移動(dòng)節(jié)點(diǎn)已經(jīng)漫游到外地子網(wǎng),并且可以通過一個(gè)中轉(zhuǎn)地址來訪問。從而本地代理建立一個(gè)到中轉(zhuǎn)地址的數(shù)據(jù)隧道(tunnel),將目的地址與移動(dòng)節(jié)點(diǎn)IP地址相同的數(shù)據(jù)包發(fā)送到數(shù)據(jù)隧道上去。中轉(zhuǎn)地址實(shí)際上是外地代理上與移動(dòng)節(jié)點(diǎn)連接的接口地址。因此,當(dāng)數(shù)據(jù)包到達(dá)數(shù)據(jù)隧道的終點(diǎn)(即外地代理)時(shí),外地代理可以根據(jù)移動(dòng)節(jié)點(diǎn)的MAC地址查詢自身維護(hù)的ARP表,從而通過二層轉(zhuǎn)發(fā)將數(shù)據(jù)包傳遞到移動(dòng)節(jié)點(diǎn)。舉一個(gè)日常生活中的例子,當(dāng)某人出門渡假時(shí),可以由其住在一起的父母將信件轉(zhuǎn)給渡假屋的收發(fā)室,后者再轉(zhuǎn)交本人。這樣的好處是顯而易見的,因?yàn)椴恍枰蛩械陌l(fā)信人通知新的郵寄地址。
在移動(dòng)IP技術(shù)方案中,其它向移動(dòng)節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的節(jié)點(diǎn)統(tǒng)稱為通信節(jié)點(diǎn)。(Correspondent node)。通信節(jié)點(diǎn)并不需要知道移動(dòng)節(jié)點(diǎn)的漫游信息,而只需將數(shù)據(jù)包發(fā)往移動(dòng)節(jié)點(diǎn)所屬的本地代理。本地代理再通過隧道轉(zhuǎn)發(fā)數(shù)據(jù)包到移動(dòng)節(jié)點(diǎn)。從移動(dòng)節(jié)點(diǎn)向通信節(jié)點(diǎn)的回復(fù)可以通過外地代理按照正常的路由尋址來實(shí)現(xiàn),除非啟用了“反向隧道”(reverse tunneling,這意味著回送數(shù)據(jù)包將從外地代理經(jīng)過本地代理到達(dá)通信節(jié)點(diǎn))。
為了實(shí)現(xiàn)上述的工作原理,首先需要在移動(dòng)節(jié)點(diǎn)上安裝支持移動(dòng)IP功能的協(xié)議棧,從而移動(dòng)節(jié)點(diǎn)可以發(fā)起漫游注冊。簡單說來,這其實(shí)是通過移動(dòng)節(jié)點(diǎn)與外地代理間的MAC地址“欺騙”來完成的。對(duì)于從移動(dòng)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)包,移動(dòng)節(jié)點(diǎn)動(dòng)態(tài)地將外地代理設(shè)置為缺省網(wǎng)關(guān),即使它們并使用同一個(gè)子網(wǎng)地址空間。對(duì)于數(shù)據(jù)包接收的情況,外地代理通過ARP代理功能和主機(jī)路由來強(qiáng)制接收并轉(zhuǎn)發(fā)目的地址為移動(dòng)節(jié)點(diǎn)地址的數(shù)據(jù)包。
移動(dòng)IP適用與許多應(yīng)用場合,比如,在基于IP技術(shù)的移動(dòng)通訊電話網(wǎng)絡(luò)中,IP電話的號(hào)碼通?偸桥cIP地址緊密相關(guān)的。當(dāng)用戶帶著移動(dòng)電話從一個(gè)城市到達(dá)另一城市時(shí),并不希望因?yàn)楸仨毟腎P地址而改用新的電話號(hào)碼。又比如,假設(shè)一個(gè)無線局域網(wǎng)用戶正在其筆記本電腦上利用FTP協(xié)議進(jìn)行文件傳輸,而此時(shí)又需要帶著電腦走到大樓另外一層的辦公室(通常這意味著通過另外一個(gè)局域網(wǎng)接入)。雖然WLAN技術(shù)可以保證物理的連接不被中斷,但如果需要配置一個(gè)新的IP地址,則必須中斷進(jìn)行中的文件傳輸而重新下載。移動(dòng)IP技術(shù)則可以很好的解決這些問題。
移動(dòng)路由器
前面介紹了移動(dòng)IP的基本工作原理,同時(shí)我們提到,移動(dòng)性的實(shí)現(xiàn)不僅需要本地代理與外地代理,同時(shí)還需要在移動(dòng)節(jié)點(diǎn)上的協(xié)議支持。這一方案在只有一個(gè)或幾個(gè)移動(dòng)節(jié)點(diǎn)的情況 并沒有什么問題。但是,當(dāng)同屬于一個(gè)子網(wǎng)的多個(gè)節(jié)點(diǎn)需要同時(shí)漫游時(shí),則需要為每一個(gè)節(jié)點(diǎn)安裝移動(dòng)IP協(xié)議棧,這就增加了系統(tǒng)管理的復(fù)雜性。為此,移動(dòng)路由器的引入就顯得相當(dāng)必要了。通過移動(dòng)路由器,子網(wǎng)中的節(jié)點(diǎn)無須任何改變就可以實(shí)現(xiàn)任意漫游。
這里,在本地子網(wǎng)的節(jié)點(diǎn)與本地代理之間加入了一個(gè)移動(dòng)路由器。當(dāng)子網(wǎng)中的多個(gè)節(jié)點(diǎn)漫游時(shí),移動(dòng)路由器而不是節(jié)點(diǎn)自身與外地代理完成向本地代理的漫游注冊過程。這時(shí),移動(dòng)路由器實(shí)現(xiàn)象一個(gè)普通的移動(dòng)節(jié)點(diǎn)一樣進(jìn)行注冊,從而本地代理可以建立一個(gè)到外地代理的數(shù)據(jù)隧道,這一隧道用于數(shù)據(jù)包從本地代理通過外地代理到達(dá)移動(dòng)路由器。與移動(dòng)節(jié)點(diǎn)不同的是,這里還需要另外建立一個(gè)從本地代理到移動(dòng)路由器的直接數(shù)據(jù)隧道,從而為移動(dòng)路由器連接的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。
換句話說,這里采用了雙重隧道的嵌套技術(shù)。通信節(jié)點(diǎn)發(fā)往移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)包首先到達(dá)本地代理,接下來本地代理通過直接到達(dá)移動(dòng)路由器的內(nèi)層隧道轉(zhuǎn)發(fā)數(shù)據(jù)到移動(dòng)節(jié)點(diǎn)。值得說明的是,隧道只是一個(gè)邏輯的概念,內(nèi)層隧道實(shí)質(zhì)上是有外層隧道(及本地代理到外地代理間的隧道)以及外地代理到移動(dòng)路由器的連接構(gòu)成的。具體的工作流程如圖2所示。本地代理為數(shù)據(jù)包插入兩個(gè)隧道報(bào)頭。外面的報(bào)頭指示數(shù)據(jù)從本地代理到達(dá)外地代理,在外地代理上,外層的報(bào)頭被移去,然后外地代理根據(jù)內(nèi)層的報(bào)頭將數(shù)據(jù)發(fā)送給移動(dòng)路由器。在移動(dòng)路由器上,再移去內(nèi)層報(bào)頭,然后根據(jù)還原的IP數(shù)據(jù)包中的目的地址信息將數(shù)據(jù)包最終發(fā)送給對(duì)應(yīng)的主機(jī)。從移動(dòng)子網(wǎng)向通信節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包則可以經(jīng)過移動(dòng)路由器和外地代理而直接發(fā)送到通信節(jié)點(diǎn),無須再經(jīng)過本地代理。
圖2中顯示了這一工作流程。本地代理對(duì)外廣播通過自身到達(dá)子網(wǎng)148.33.0.0 /16的路由信息。同時(shí),在本地代理的路由表內(nèi)建立以下幾個(gè)路由表項(xiàng)。第一個(gè)表項(xiàng)標(biāo)示到達(dá)148.33.0.0 /16子網(wǎng)需要經(jīng)由移動(dòng)虛擬網(wǎng)絡(luò)172.16.2.0 /24中的移動(dòng)路由器(地址為172.16.2.1)。 第二個(gè)表項(xiàng)則指明到達(dá)172.16.2.1的下一跳為外地代理提供的中轉(zhuǎn)地址。圖中的蘭色線顯示了移動(dòng)子網(wǎng)中的一個(gè)節(jié)點(diǎn)與通信節(jié)點(diǎn)間的數(shù)據(jù)包流動(dòng)過程。
圖2 基于移動(dòng)路由器的工作機(jī)理
移動(dòng)路由器配置舉例
下面給出了移動(dòng)路由器的配置舉例。具體的命令說明請(qǐng)參考CISCO IOS12。2的有關(guān)文獻(xiàn)及http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122t/122t4/ftmbrout.htm#xtocid29中的有關(guān)內(nèi)容。
本地代理配置
hostname HomeAgent
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface Ethernet0
ip address 172.16.100.1 255.255.255.0
!
interface Serial0
ip address 192.30.1.1 255.255.255.0
clockrate 4000000
!
router mobile
!
router eigrp 1
redistribute mobile metric 10 2000 255 1 1500
network 1.0.0.0
network 172.16.0.0
network 192.30.1.0
auto-summary
!
ip classless
ip mobile home-agent
ip mobile virtual-network 172.16.2.0 255.255.255.0
ip mobile host 172.16.2.1 virtual-network 172.16.2.0 255.255.255.0
ip mobile mobile-networks 172.16.2.1
network 148.33.0.0 255.255.0.0
ip mobile secure host 172.16.2.1 spi 100 key ascii cisco
外地代理配置
hostname ForeignAgent
!
interface Ethernet0
ip address 192.30.2.1 255.255.255.0
ip irdp
ip irdp maxadvertinterval 10
ip irdp minadvertinterval 7
ip irdp holdtime 30
ip mobile foreign-service
!
interface Ethernet1
ip address 192.30.3.1 255.255.255.0
ip irdp
ip irdp maxadvertinterval 10
ip irdp minadvertinterval 7
ip irdp holdtime 30
ip mobile foreign-service
!
interface Serial0
ip address 192.30.1.2 255.255.255.0
!
router mobile
!
router eigrp 1
network 192.30.1.0
network 192.30.2.0
network 192.30.3.0
auto-summary
!
ip classless
ip mobile foreign-agent care-of Serial0
移動(dòng)路由器配置
hostname MobileRtr
!
interface Ethernet0
ip address 148.33.2.129 255.255.255.192
!
interface Ethernet1
ip address 172.16.2.1 255.255.255.252
ip mobile router-service roam
ip mobile router-service solicit
no ip route-cache
!
router mobile
!
ip classless
ip mobile secure home-agent 1.1.1.1 spi 100 key ascii cisco
ip mobile router
address 172.16.2.1 255.255.255.0
home-agent 1.1.1.1
路由器冗余
冗余是為了提高網(wǎng)絡(luò)的可靠性,以免單個(gè)路由器的故障引起網(wǎng)絡(luò)服務(wù)的中斷。在移動(dòng)IP技術(shù)中,冗余可以從多方面來實(shí)現(xiàn)。
移動(dòng)路由器上可以同時(shí)支持多于一個(gè)的漫游接口(與移動(dòng)子網(wǎng)連接的接口),并且可以通過設(shè)置不同的優(yōu)先級(jí)別從而保證當(dāng)多個(gè)接口上同時(shí)收到IRDP廣播時(shí)選擇合適的接口來處理相關(guān)信息。
可以設(shè)置兩個(gè)外地代理來支持外地代理冗余,這樣當(dāng)一個(gè)外地代理失效時(shí),移動(dòng)路由器可以尋找另外一個(gè)來接替它的工作以實(shí)現(xiàn)移動(dòng)IP。
本地代理和移動(dòng)路由器都可以通過HSRP協(xié)議來實(shí)現(xiàn)冗余。兩個(gè)并存的支持本地代理功能的路由器通過其間運(yùn)行的HSRP來模擬成為一個(gè)虛擬的本地代理。其中的一個(gè)處于工作狀態(tài)而另一個(gè)處于熱備份狀態(tài)。當(dāng)工作路由器失效時(shí),HSRP可以保證透明的自動(dòng)切換到熱備份路由器,從而對(duì)移動(dòng)路由器和外地代理而言,本地代理保持工作的連續(xù)性。同理,移動(dòng)路由器也可以利用HSRP來提高可靠性。
本文編譯自 Peter J. Welcher,”Mobile Router” http://www.netcraftsmen.net/welcher .
作者介紹
常新杰,1998年畢業(yè)于西北工業(yè)大學(xué)航天工程學(xué)院,獲工學(xué)碩士學(xué)位。1998至1999年在新加坡南洋理工大學(xué)網(wǎng)絡(luò)技術(shù)研究中心從事有關(guān)無線ATM網(wǎng)絡(luò)的擁塞控制研究。1999年后曾先后在美國堪薩斯大學(xué)信息與通訊技術(shù)中心,西南貝爾公司(SBC)從事有關(guān)ATM,IP MPLS技術(shù)的研究與開發(fā)工作,F(xiàn)工作于美國CHIARO網(wǎng)絡(luò)公司,負(fù)責(zé)MPLS協(xié)議的開發(fā),測試工作
未經(jīng)授權(quán) 不得轉(zhuǎn)載