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