百科解釋
目錄·移動(dòng)IP的目的·移動(dòng)IPv4的典型操作過程·移動(dòng)IPv4 代理發(fā)現(xiàn)機(jī)制·移動(dòng)IPv4注冊(cè)過程·移動(dòng)IPv4的安全性問題·移動(dòng)IPv4中的路由和隧道·Care-of地址·移動(dòng)IPv4與ICMP·移動(dòng)IPv4對(duì)本地網(wǎng)絡(luò)的配置·移動(dòng)IPv6和移動(dòng)IPv4的比較 移動(dòng)IP是為了滿足移動(dòng)節(jié)點(diǎn)在移動(dòng)中保持其連接性而設(shè)計(jì)的。移動(dòng)IP現(xiàn)在有兩個(gè)版本,分別為移動(dòng)IPv4(RFC 3344,取代了RFC 3220,RFC 2002)和移動(dòng)IPv6(RFC 3775)。目前廣泛使用的仍然是移動(dòng)IPv4。 移動(dòng)IP的目的 隨著移動(dòng)終端設(shè)備的廣泛使用,移動(dòng)計(jì)算機(jī),移動(dòng)終端等設(shè)備也開始需要接入Internet,但是IP的設(shè)計(jì)并沒有考慮到移動(dòng)節(jié)點(diǎn)會(huì)在連接中變化Internet接入點(diǎn)的問題。傳統(tǒng)的IP地址包括兩方面的意義:一方面是用來標(biāo)識(shí)唯一的主機(jī),另一方面它還作為主機(jī)的地址在數(shù)據(jù)的路由中起重要作用。但是對(duì)于移動(dòng)節(jié)點(diǎn),由于Internet接入點(diǎn)會(huì)不斷發(fā)生變化,所以它的IP地址兩方面的意義發(fā)生了分離,一方面移動(dòng)節(jié)點(diǎn)需要一種機(jī)制來唯一標(biāo)識(shí)自己,另一方面它希望這種標(biāo)識(shí)不會(huì)被用來路由。移動(dòng)IP就是為了能讓移動(dòng)節(jié)點(diǎn)能夠分離IP地址這兩方面的功能而又不徹底改變現(xiàn)有Internet的結(jié)構(gòu)而設(shè)計(jì)的。 移動(dòng)IPv4的典型操作過程 每個(gè)移動(dòng)節(jié)點(diǎn)都有一個(gè)本地網(wǎng)絡(luò)(home network),本地網(wǎng)絡(luò)(home network)為其分配一個(gè)在本地網(wǎng)絡(luò)內(nèi)的IP地址。當(dāng)這個(gè)移動(dòng)節(jié)點(diǎn)移動(dòng)它的接入點(diǎn)到一個(gè)新的外地網(wǎng)絡(luò)(在此稱作“網(wǎng)絡(luò)”(foreign network))時(shí), 它連接到這個(gè)外地網(wǎng)絡(luò)(foreign network),然后這個(gè)移動(dòng)節(jié)點(diǎn)與其家鄉(xiāng)代理(home agent)(一般是一個(gè)在家鄉(xiāng)網(wǎng)絡(luò)上的路由器)通信,并注冊(cè)它的care-of address(此地址即外地代理(foreign agent)的地址)。如果有一個(gè)IP數(shù)據(jù)報(bào)要被發(fā)送到這個(gè)移動(dòng)節(jié)點(diǎn),那么這個(gè)數(shù)據(jù)報(bào)的頭部存有這個(gè)移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)地址(home address),于是通過一般的路由它被路由到移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)網(wǎng)絡(luò)。然后其家鄉(xiāng)代理(home agent)截取這個(gè)數(shù)據(jù)報(bào),并將其整個(gè)封裝在一個(gè)新的IP數(shù)據(jù)報(bào)中,這個(gè)新的IP數(shù)據(jù)報(bào)的目的IP地址為移動(dòng)節(jié)點(diǎn)的外地代理(foreign agent)的地址,然后重傳這個(gè)數(shù)據(jù)報(bào)。這個(gè)數(shù)據(jù)報(bào)會(huì)被路由到外地代理(foreign agent)。然后外地代理(foreign agent)去掉外面一層的IP頭部,并將原來的IP數(shù)據(jù)報(bào)封裝在一個(gè)網(wǎng)絡(luò)層PDU中,并通過外地網(wǎng)絡(luò)(foreign network)將這個(gè)數(shù)據(jù)報(bào)發(fā)送到移動(dòng)節(jié)點(diǎn)。 移動(dòng)IPv4 代理發(fā)現(xiàn)機(jī)制 移動(dòng)IPv4使用ICMP路由器廣告消息(ICMP Router Advertisement)(RFC 1256)來幫助移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)移動(dòng)代理。移動(dòng)代理通過發(fā)送一種擴(kuò)展了的ICMP路由器廣告消息來通知移動(dòng)節(jié)點(diǎn)移動(dòng)代理的信息(包括移動(dòng)節(jié)點(diǎn)的狀態(tài),它提供給移動(dòng)節(jié)點(diǎn)的care-of地址,等)。移動(dòng)代理每隔一段時(shí)間就會(huì)發(fā)送一個(gè)帶擴(kuò)展的ICMP路由器廣告消息,移動(dòng)節(jié)點(diǎn)在收到代理廣告消息后,它會(huì)比較這個(gè)代理的IP地址與自己所在網(wǎng)絡(luò)IP地址是否相同,并以此來判斷自己是在本地網(wǎng)絡(luò)還是在外地網(wǎng)絡(luò)。如果一個(gè)移動(dòng)節(jié)點(diǎn)的代理消息已經(jīng)過期,并且它還沒有收到新的代理廣告消息,那么它就會(huì)發(fā)送一個(gè)代理廣告請(qǐng)求來請(qǐng)求其所在地的代理為其發(fā)送一個(gè)代理廣告消息。 移動(dòng)IPv4注冊(cè)過程 當(dāng)一個(gè)移動(dòng)節(jié)點(diǎn)通過代理發(fā)現(xiàn)機(jī)制發(fā)現(xiàn)它已經(jīng)移動(dòng)到了一個(gè)外地網(wǎng)絡(luò)后,并且在得到它的care-of地址后,它就需要在自己的家鄉(xiāng)代理那里注冊(cè)自己的新位置。這個(gè)移動(dòng)節(jié)點(diǎn)發(fā)送一個(gè)UDP數(shù)據(jù)報(bào),數(shù)據(jù)報(bào)內(nèi)封裝著自己的注冊(cè)消息,內(nèi)容包括:家鄉(xiāng)代理地址,家鄉(xiāng)地址,care-of地址,標(biāo)識(shí),擴(kuò)展,以及其它一些參數(shù)信息。這個(gè)UDP數(shù)據(jù)報(bào)首先被發(fā)送到外地代理那里,然后由外地代理中繼給家鄉(xiāng)代理,家鄉(xiāng)代理再把自己的回應(yīng)發(fā)送給外地代理,外地代理則把回應(yīng)再中繼給移動(dòng)節(jié)點(diǎn)。 移動(dòng)IPv4的安全性問題 移動(dòng)IPv4中移動(dòng)節(jié)點(diǎn)的注冊(cè)過程存在安全隱患,因?yàn)槿绻粋(gè)惡意的主機(jī)發(fā)送注冊(cè)消息給一個(gè)家鄉(xiāng)代理的話,那么會(huì)導(dǎo)致發(fā)送給某個(gè)移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)報(bào)全部被重定向到這個(gè)惡意主機(jī)。因此,移動(dòng)IPv4的注冊(cè)過程都要求認(rèn)證。認(rèn)證是注冊(cè)消息的一個(gè)擴(kuò)展。擴(kuò)展信息中包括一個(gè)用于選擇認(rèn)證算法的SPI以及一個(gè)保證內(nèi)容沒有被中途更改的認(rèn)證字段。移動(dòng)IPv4一般采用MD5加密算法來保證注冊(cè)過程的安全。 移動(dòng)IPv4中的路由和隧道 在移動(dòng)IPv4中,如果一個(gè)移動(dòng)節(jié)點(diǎn)不在自己的本地網(wǎng)絡(luò)的時(shí)候,此時(shí)一個(gè)目標(biāo)地址為此移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)報(bào)會(huì)通過傳統(tǒng)的路由到達(dá)此移動(dòng)節(jié)點(diǎn)的本地網(wǎng)絡(luò)(因?yàn)镮P首部中目的地址域內(nèi)容為此移動(dòng)節(jié)點(diǎn)的本地地址)。當(dāng)本地網(wǎng)絡(luò)中出現(xiàn)這樣一個(gè)數(shù)據(jù)報(bào)的時(shí)候,這個(gè)移動(dòng)節(jié)點(diǎn)注冊(cè)到的那個(gè)本地代理就有義務(wù)截取這個(gè)IP包,此后本地代理把整個(gè)IP包封裝在一個(gè)新的IP數(shù)據(jù)報(bào)中(對(duì)原數(shù)據(jù)報(bào)僅改動(dòng)TTL字段),并填充新的首部,在新首部的目的地址字段填入移動(dòng)節(jié)點(diǎn)注冊(cè)的care-of地址,然后將這個(gè)新數(shù)據(jù)報(bào)發(fā)送出去,這個(gè)數(shù)據(jù)報(bào)通過傳統(tǒng)路由到達(dá)移動(dòng)節(jié)點(diǎn)當(dāng)前所在的外地網(wǎng)絡(luò),外地代理收到此數(shù)據(jù)報(bào),并撥去外層的IP首部,將原始數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。這種技術(shù)就叫做隧道技術(shù),流程是發(fā)送方------?封裝者-------?解封裝者--------?目的地。隧道技術(shù)在RFC 2003中有詳細(xì)講解。 Care-of地址 前面所講過的所有內(nèi)容都經(jīng)常涉及care-of地址,按照前面所講的這些標(biāo)準(zhǔn)流程care-of地址都是外地代理的地址。但是有時(shí)情況并非如此,當(dāng)一個(gè)外地代理不存在的時(shí)候,移動(dòng)節(jié)點(diǎn)也可以通過當(dāng)?shù)氐腄HCP來獲得一個(gè)外地網(wǎng)絡(luò)的地址,并把這個(gè)地址作為care-of地址注冊(cè)給自己的本地代理。此時(shí),所有與本地代理的通信都是直接由移動(dòng)節(jié)點(diǎn)和本地代理進(jìn)行的,中間沒有外地代理的中繼,而且此時(shí)隧道的終點(diǎn)也是移動(dòng)節(jié)點(diǎn)本身,不再需要外地代理來中繼分組。 移動(dòng)IPv4與ICMP 移動(dòng)IPv4中所采用的隧道技術(shù)使得ICMP的差錯(cuò)報(bào)文產(chǎn)生問題,設(shè)想一個(gè)數(shù)據(jù)報(bào)在隧道中因?yàn)槟撤N原因被丟棄,某個(gè)路由器發(fā)送一個(gè)目的網(wǎng)絡(luò)不可達(dá)ICMP差錯(cuò)報(bào)文給本地代理,此時(shí)本地代理只得到原數(shù)據(jù)報(bào)的前8個(gè)字節(jié),根據(jù)這些信息它沒辦法把差錯(cuò)報(bào)文中繼給源端。而且即使它將差錯(cuò)報(bào)文轉(zhuǎn)發(fā)給了源端,但是源端也會(huì)對(duì)這樣一個(gè)差錯(cuò)報(bào)文感到迷惑,因?yàn)樗l(fā)的那個(gè)地址根本就不是發(fā)生差錯(cuò)的地址。RFC 2003建議本地代理維持軟隧道狀態(tài)信息,即保持一定的信息以保證能夠識(shí)別返回的ICMP差錯(cuò)報(bào)文是哪個(gè)分組的差錯(cuò)報(bào)文。RFC 2003還建議在中繼這個(gè)ICMP報(bào)文之前對(duì)其做一定的修改,例如把目的網(wǎng)絡(luò)不可達(dá)改成目的主機(jī)不可達(dá)。 移動(dòng)IPv4對(duì)本地網(wǎng)絡(luò)的配置 前面提到了在隧道技術(shù)中本地代理首先要截取發(fā)往不在本地網(wǎng)絡(luò)的移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)報(bào),但是這個(gè)截取的過程也是需要對(duì)本地網(wǎng)絡(luò)進(jìn)行配置的?紤]三種不同的網(wǎng)絡(luò):1當(dāng)本地網(wǎng)絡(luò)中有一個(gè)與外界連接的路由器,而另外還有一個(gè)用于為移動(dòng)節(jié)點(diǎn)提供服務(wù)的本地代理時(shí)。此時(shí)一個(gè)指向不在本地網(wǎng)絡(luò)的移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)報(bào)路由到本地網(wǎng)絡(luò),本地路由器收到該數(shù)據(jù)報(bào),并在本地網(wǎng)絡(luò)發(fā)送ARP請(qǐng)求,詢問這個(gè)IP地址的MAC地址,于是本地代理要兼任起ARP代理的責(zé)任,它發(fā)送ARP應(yīng)答使得數(shù)據(jù)報(bào)被路由器轉(zhuǎn)發(fā)給本地代理,此后本地代理再將數(shù)據(jù)通過隧道技術(shù)轉(zhuǎn)發(fā)給移動(dòng)節(jié)點(diǎn)。其實(shí)在此之前路由器就應(yīng)該知道把數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)給本地代理,因?yàn)楫?dāng)移動(dòng)節(jié)點(diǎn)注冊(cè)它的care-of地址之后本地代理就會(huì)發(fā)送免費(fèi)ARP來將發(fā)送給該移動(dòng)節(jié)點(diǎn)的數(shù)據(jù)報(bào)定向到本地代理,這樣本地網(wǎng)絡(luò)中的其他節(jié)點(diǎn)都可以與這個(gè)移動(dòng)節(jié)點(diǎn)通信,不論它是否在本地網(wǎng)絡(luò)中。這里要注意移動(dòng)節(jié)點(diǎn)在移動(dòng)到外地網(wǎng)絡(luò)的時(shí)候不能發(fā)送ARP請(qǐng)求,因?yàn)槿绻l(fā)送ARP請(qǐng)求則外地網(wǎng)絡(luò)中的其他節(jié)點(diǎn)會(huì)更新它們的ARP快速緩存,這樣會(huì)造成當(dāng)這個(gè)移動(dòng)節(jié)點(diǎn)再次移出該網(wǎng)絡(luò)的時(shí)候這些節(jié)點(diǎn)無法與此移動(dòng)節(jié)點(diǎn)通信。2 當(dāng)本地網(wǎng)絡(luò)中有一個(gè)與外界連接的路由器,并且它就是本地網(wǎng)絡(luò)中的本地代理時(shí)。此時(shí)本地代理需要發(fā)送免費(fèi)ARP,原因同上。3 當(dāng)本地網(wǎng)絡(luò)根本沒有物理層,而僅僅是有一個(gè)虛擬的網(wǎng)絡(luò)時(shí),此時(shí)網(wǎng)絡(luò)內(nèi)有一個(gè)兼任路由器和本地代理的主機(jī),它收到數(shù)據(jù)報(bào)后會(huì)立即通過隧道技術(shù)轉(zhuǎn)發(fā)。 移動(dòng)IPv6和移動(dòng)IPv4的比較 移動(dòng)IPv6不需要外地代理的支持 移動(dòng)IPv6支持路由優(yōu)化 移動(dòng)IPv6路由優(yōu)化不需要預(yù)先指定的安全機(jī)制 移動(dòng)IPv6允許路由優(yōu)化使得路由器兼顧效率和“入口過濾” 移動(dòng)IPv6在移動(dòng)節(jié)點(diǎn)不在本地網(wǎng)絡(luò)時(shí)通過IPv6路由頭部而不是隧道來路由 移動(dòng)IPv6不需要使用ARP,這也增加了其健壯性 移動(dòng)IPv6不需要維持隧道軟狀態(tài) 移動(dòng)IPv6的動(dòng)態(tài)本地代理地址發(fā)現(xiàn)機(jī)制返回單獨(dú)一個(gè)回應(yīng)。而移動(dòng)IPv4中采用廣播的方法,這時(shí)本地網(wǎng)絡(luò)中的所有本地代理都會(huì)分別返回回應(yīng)。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助