試論移動通信中移動IP節(jié)點技術(shù)的實現(xiàn)
時間:
若木1由 分享
論文關(guān)鍵字:移動 通信 ip
論文摘要:移動 IP 為移動主機在移動過程中保持原來通信不間斷提供了實現(xiàn)方法,隧道技術(shù) 是移動 IP 的關(guān)鍵技術(shù)之一。本文在深入學(xué)習(xí)移動 IP 的基礎(chǔ)知識之后,給出了移動節(jié)點的一個具體的實現(xiàn),具有一定實踐意義。
1 移動通信中移動 IP原理分析
移動 IP 中的隧道技術(shù)有三種封裝方式:IP 的 IP 封裝(IP in IP Encapsulation),最小封裝(Minimal Encapsulation)和通用路由封裝(Generic Routing Encapsulation)。
在移動 IP 中,隧道的入口為移動節(jié)點的家鄉(xiāng)代理,隧道的出口為移動節(jié)點的外地代理。家鄉(xiāng)代理需要實現(xiàn)封裝功能,封裝后的數(shù)據(jù)包能到達外地代理,外地代理接到數(shù)據(jù)包后,進行解封裝,然后將數(shù)據(jù)包路由給移動節(jié)點。數(shù)據(jù)包離開隧道入口后,在沒有到達隧道出口前,可能出現(xiàn)路由環(huán)使它又回到了隧道入口處的情況,這樣每次隧道都為它加封一個 IP 報頭,而每個新的報頭都有自己的生存時間域(TTL)值,這樣就會出現(xiàn)數(shù)據(jù)包一直增大下去。為了防止這種遞歸封裝,可采用如下機制:預(yù)封裝的數(shù)據(jù)包的源地址就是隧道入口地址,此時假設(shè)遞歸封裝出現(xiàn);預(yù)封裝的數(shù)據(jù)包的源地址與隧道入口處路由表指示的隧道出口地址相同,此時也假設(shè)遞歸封裝出現(xiàn)。
同時,如果家鄉(xiāng)代理要將移動節(jié)點家鄉(xiāng)鏈路上的廣播包送給移動節(jié)點,必須采用多重封裝,這時,里面一層隧道是從家鄉(xiāng)代理到移動節(jié)點的家鄉(xiāng)地址,外面一層隧道是從家鄉(xiāng)代理到移動節(jié)點的轉(zhuǎn)交地址。因為,如果不采用多重封裝的話,外地代理解封裝后收到的是廣播地址,它就不知道怎么辦了。因此,這種現(xiàn)象應(yīng)該作為防遞歸封裝中的一種特殊情況處理。
在解封裝中,主要是將新 IP 報頭去掉,使原來 IP 數(shù)據(jù)報恢復(fù)出來,因此相對較為簡單。移動 IP 中,移動節(jié)點的外地代理已經(jīng)保存了移動節(jié)點的注冊信息,它能夠?qū)⒔夥庋b后得到的數(shù)據(jù)報路由給移動節(jié)點。這樣,就完成了從一個節(jié)點向移動節(jié)點發(fā)送一次數(shù)據(jù)的全過程。
2 移動IP節(jié)點在移動過程中通信的實現(xiàn)
通常情況下,按照[RFC 2002]的標準,根據(jù) IPv4 的移動 IP 方案規(guī)定,移動節(jié)點在外地鏈路上應(yīng)該有一個外地代理位于隧道的出口,將從隧道發(fā)送過來的數(shù)據(jù)包轉(zhuǎn)發(fā)給已經(jīng)移動到該鏈路上的移動節(jié)點,但是隨著 IPv6 即將成為事實上的下一代互聯(lián)網(wǎng)的標準協(xié)議,地址空間問題已經(jīng)徹底的解決,移動 IPv6 協(xié)議中取消了外地代理。在本文,為了簡化問題的實現(xiàn),我們規(guī)定,移動節(jié)點在外地鏈路上的轉(zhuǎn)交地址全部都是配置轉(zhuǎn)交地址,即不需要外地代理的轉(zhuǎn)發(fā),移動節(jié)點直接位于隧道的出口,接收數(shù)據(jù)包。
2.1 移動節(jié)點的工作方式
移動節(jié)點基本工作方式有 5 個方面:
代理搜索:代理搜索是移動節(jié)點能維持正常通信的前期工作,通過代理搜索移動節(jié)點首先確定自己的位置。
注冊:移動節(jié)點確定自己在外地鏈路的時候,循環(huán)給家鄉(xiāng)帶理發(fā)送一個 UDP 包,通知它自己當前的 IP 地址,即外地鏈路取得的轉(zhuǎn)交地址,直到收到代理服務(wù)器的應(yīng)答消息。
注銷:移動節(jié)點重新回到家鄉(xiāng)鏈路的時候,循環(huán)給家鄉(xiāng)帶理發(fā)送一個 UDP 包,直到收到家鄉(xiāng)代理的應(yīng)答消息。
接收數(shù)據(jù)包:移動節(jié)點在家鄉(xiāng)鏈路接收數(shù)據(jù)包和固定節(jié)點的工作機制完全一樣。
發(fā)送數(shù)據(jù)包:如果移動節(jié)點確定自己在家鄉(xiāng)鏈路上,它象固定節(jié)點一樣,使用 TCP/IP 協(xié)議,不需要對數(shù)據(jù)包進行額外處理,直接發(fā)送;否則,移動節(jié)點會發(fā)現(xiàn)要發(fā)送的數(shù)據(jù)包的源地址是當前鏈路的轉(zhuǎn)交地址,因此,它先將發(fā)送包源地址修改為家鄉(xiāng)地址,然后再發(fā)送。
2.2 代理搜索
移動節(jié)點利用代理搜索過程主要完成三個功能,即判定自身當前是連在家鄉(xiāng)鏈路上還是外地鏈路上;檢測自身是否已經(jīng)切換了鏈路;如果已經(jīng)處于外地鏈路,則取得外地鏈路上的轉(zhuǎn)交地址。
代理搜索由兩條簡單的消息構(gòu)成。
第一條消息是代理廣播消息,家鄉(xiāng)代理利用這個消息向移動節(jié)點宣布它們的功能。當一個節(jié)點在一條鏈路上被配置成家鄉(xiāng)代理服務(wù)器的時候,它就在這條鏈路上廣播或組播代理廣播消息,這使得連到這條鏈路上的移動節(jié)點可以判定該鏈路上是否有代理存在。如果有,可以從代理廣播消息中取得代理服務(wù)器的IP地址,并且判定代理的功能是什么。
第二條消息是代理請求消息,當移動節(jié)點沒有耐心等待下一個周期發(fā)送的代理廣播消息時,它可以發(fā)送代理請求消息。這個消息的唯一目的就是讓鏈路上的所有代理立即發(fā)送一個代理廣播消息。有些時候,移動節(jié)點快速地切換鏈路,而代理發(fā)送廣播消息的頻率相比而言就太慢了,這時代理請求消息就非常有用了。由于密鑰管理上的困難,移動IP不要求對這兩種消息進行確認。
2.3 注冊、注銷機制
移動IP的注冊過程在代理搜索之后。此時,移動節(jié)點已經(jīng)可以判斷出自己的位置,是處于家鄉(xiāng)鏈路還是處于外地鏈路。當移動節(jié)點發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點從一條鏈路切換到另一條鏈路上時,它就要進行注冊。另外,由于這些注冊也有一定的生存時間,所以有些時候,移動節(jié)點的位置并沒有移動,它也要在現(xiàn)有注冊過期時進行重新注冊。
移動IP的注冊過程是:通知家鄉(xiāng)代理它在外地鏈路取得的轉(zhuǎn)交地址;使一個要過期的注冊重新生效;在回到家鄉(xiāng)鏈路上時要進行注銷操作。
2.4 傳遞數(shù)據(jù)包的選路
根據(jù)移動節(jié)點的當前位置進行數(shù)據(jù)包選路的技術(shù),這是移動IP的最主要技術(shù)之一。我們必須考慮兩種情況:移動節(jié)點連接在家鄉(xiāng)鏈路上時和移動節(jié)點連接在外地鏈路上時。后一種情況還有兩種情形:移動節(jié)點采用的是代理轉(zhuǎn)交地址還是配置轉(zhuǎn)交地址。由于IPv6已經(jīng)成為下一代互聯(lián)網(wǎng)事實上的標準協(xié)議,并且IPv6不存在地址空間問題,因此,在IPv6下,移動IP將沒有外地代理。
當注冊工作完成之后,移動節(jié)點無論漫游到Internet的任何地方,都會通過注冊機制通知它的家鄉(xiāng)代理它目前所取得的IP地址,使得家鄉(xiāng)代理能夠轉(zhuǎn)發(fā)那些試圖與它通信的網(wǎng)絡(luò)節(jié)點給它發(fā)送的數(shù)據(jù)包,這里,我們不關(guān)心移動節(jié)點在外地鏈路是如何取得配置轉(zhuǎn)交地址的,我們假定移動節(jié)點已經(jīng)通過某種辦法得到了一個外地鏈路上的配置轉(zhuǎn)交地址,然后將這個地址通知給它的家鄉(xiāng)代理。我們這里不考慮家鄉(xiāng)代理如何將送往移動節(jié)點的數(shù)據(jù)包通過隧道路由給移動節(jié)點,這部分工作是另一位同學(xué)的畢業(yè)論文所涉及的內(nèi)容,我們僅僅考慮移動節(jié)點需要做的處理。由于數(shù)據(jù)的通信是雙向的,因此,處于外地鏈路上的移動節(jié)點涉及的工作就分為接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包兩大部分。
3 總結(jié)
移動 IP 為移動主機在移動過程中保持原來通信不間斷提供了實現(xiàn)方法,隧道技術(shù)是移動 IP 的關(guān)鍵技術(shù)之一。當通信節(jié)點向移動節(jié)點發(fā)送數(shù)據(jù)報時,必須使用到隧道技術(shù)。本文介紹了移動 IP 中隧道技術(shù)的基本原理,以及給出了一種在 Linux 系統(tǒng)下實現(xiàn)它的方法。對于實現(xiàn)途徑,主要是在 Linux 內(nèi)核中加入程序模塊,用以完成隧道技術(shù)的功能。隨著當今電子商務(wù)的蓬勃發(fā)展,人們對于新的通信業(yè)務(wù)的要求越來越高,這是互聯(lián)網(wǎng)及 TCP/IP 協(xié)議成功發(fā)展的必然結(jié)果。從而誕生出下一代的互聯(lián)網(wǎng)協(xié)議 IPv6,因此,隨著移動用戶和設(shè)備的飛速發(fā)展,基于 IPv6 的移動 IP 協(xié)議必然會迎來更廣泛的發(fā)展前景。
參考文獻
[1]裘曉峰.等譯《移動 IP》機械工業(yè)出版社
李承恕. 第3代移動通信中的衛(wèi)星移動通信[J]. 中興新通訊, 1998, (06)
魯春叢, 郭良, 閆麗, 白春霞. 中國衛(wèi)星通信發(fā)展戰(zhàn)略若干問題研究[J]. 電信科學(xué), 2004, (12)
劉林森. 衛(wèi)星通信將風(fēng)靡全球[J]. 自動化博覽, 1999, (02)
論文摘要:移動 IP 為移動主機在移動過程中保持原來通信不間斷提供了實現(xiàn)方法,隧道技術(shù) 是移動 IP 的關(guān)鍵技術(shù)之一。本文在深入學(xué)習(xí)移動 IP 的基礎(chǔ)知識之后,給出了移動節(jié)點的一個具體的實現(xiàn),具有一定實踐意義。
1 移動通信中移動 IP原理分析
移動 IP 中的隧道技術(shù)有三種封裝方式:IP 的 IP 封裝(IP in IP Encapsulation),最小封裝(Minimal Encapsulation)和通用路由封裝(Generic Routing Encapsulation)。
在移動 IP 中,隧道的入口為移動節(jié)點的家鄉(xiāng)代理,隧道的出口為移動節(jié)點的外地代理。家鄉(xiāng)代理需要實現(xiàn)封裝功能,封裝后的數(shù)據(jù)包能到達外地代理,外地代理接到數(shù)據(jù)包后,進行解封裝,然后將數(shù)據(jù)包路由給移動節(jié)點。數(shù)據(jù)包離開隧道入口后,在沒有到達隧道出口前,可能出現(xiàn)路由環(huán)使它又回到了隧道入口處的情況,這樣每次隧道都為它加封一個 IP 報頭,而每個新的報頭都有自己的生存時間域(TTL)值,這樣就會出現(xiàn)數(shù)據(jù)包一直增大下去。為了防止這種遞歸封裝,可采用如下機制:預(yù)封裝的數(shù)據(jù)包的源地址就是隧道入口地址,此時假設(shè)遞歸封裝出現(xiàn);預(yù)封裝的數(shù)據(jù)包的源地址與隧道入口處路由表指示的隧道出口地址相同,此時也假設(shè)遞歸封裝出現(xiàn)。
同時,如果家鄉(xiāng)代理要將移動節(jié)點家鄉(xiāng)鏈路上的廣播包送給移動節(jié)點,必須采用多重封裝,這時,里面一層隧道是從家鄉(xiāng)代理到移動節(jié)點的家鄉(xiāng)地址,外面一層隧道是從家鄉(xiāng)代理到移動節(jié)點的轉(zhuǎn)交地址。因為,如果不采用多重封裝的話,外地代理解封裝后收到的是廣播地址,它就不知道怎么辦了。因此,這種現(xiàn)象應(yīng)該作為防遞歸封裝中的一種特殊情況處理。
在解封裝中,主要是將新 IP 報頭去掉,使原來 IP 數(shù)據(jù)報恢復(fù)出來,因此相對較為簡單。移動 IP 中,移動節(jié)點的外地代理已經(jīng)保存了移動節(jié)點的注冊信息,它能夠?qū)⒔夥庋b后得到的數(shù)據(jù)報路由給移動節(jié)點。這樣,就完成了從一個節(jié)點向移動節(jié)點發(fā)送一次數(shù)據(jù)的全過程。
2 移動IP節(jié)點在移動過程中通信的實現(xiàn)
通常情況下,按照[RFC 2002]的標準,根據(jù) IPv4 的移動 IP 方案規(guī)定,移動節(jié)點在外地鏈路上應(yīng)該有一個外地代理位于隧道的出口,將從隧道發(fā)送過來的數(shù)據(jù)包轉(zhuǎn)發(fā)給已經(jīng)移動到該鏈路上的移動節(jié)點,但是隨著 IPv6 即將成為事實上的下一代互聯(lián)網(wǎng)的標準協(xié)議,地址空間問題已經(jīng)徹底的解決,移動 IPv6 協(xié)議中取消了外地代理。在本文,為了簡化問題的實現(xiàn),我們規(guī)定,移動節(jié)點在外地鏈路上的轉(zhuǎn)交地址全部都是配置轉(zhuǎn)交地址,即不需要外地代理的轉(zhuǎn)發(fā),移動節(jié)點直接位于隧道的出口,接收數(shù)據(jù)包。
2.1 移動節(jié)點的工作方式
移動節(jié)點基本工作方式有 5 個方面:
代理搜索:代理搜索是移動節(jié)點能維持正常通信的前期工作,通過代理搜索移動節(jié)點首先確定自己的位置。
注冊:移動節(jié)點確定自己在外地鏈路的時候,循環(huán)給家鄉(xiāng)帶理發(fā)送一個 UDP 包,通知它自己當前的 IP 地址,即外地鏈路取得的轉(zhuǎn)交地址,直到收到代理服務(wù)器的應(yīng)答消息。
注銷:移動節(jié)點重新回到家鄉(xiāng)鏈路的時候,循環(huán)給家鄉(xiāng)帶理發(fā)送一個 UDP 包,直到收到家鄉(xiāng)代理的應(yīng)答消息。
接收數(shù)據(jù)包:移動節(jié)點在家鄉(xiāng)鏈路接收數(shù)據(jù)包和固定節(jié)點的工作機制完全一樣。
發(fā)送數(shù)據(jù)包:如果移動節(jié)點確定自己在家鄉(xiāng)鏈路上,它象固定節(jié)點一樣,使用 TCP/IP 協(xié)議,不需要對數(shù)據(jù)包進行額外處理,直接發(fā)送;否則,移動節(jié)點會發(fā)現(xiàn)要發(fā)送的數(shù)據(jù)包的源地址是當前鏈路的轉(zhuǎn)交地址,因此,它先將發(fā)送包源地址修改為家鄉(xiāng)地址,然后再發(fā)送。
2.2 代理搜索
移動節(jié)點利用代理搜索過程主要完成三個功能,即判定自身當前是連在家鄉(xiāng)鏈路上還是外地鏈路上;檢測自身是否已經(jīng)切換了鏈路;如果已經(jīng)處于外地鏈路,則取得外地鏈路上的轉(zhuǎn)交地址。
代理搜索由兩條簡單的消息構(gòu)成。
第一條消息是代理廣播消息,家鄉(xiāng)代理利用這個消息向移動節(jié)點宣布它們的功能。當一個節(jié)點在一條鏈路上被配置成家鄉(xiāng)代理服務(wù)器的時候,它就在這條鏈路上廣播或組播代理廣播消息,這使得連到這條鏈路上的移動節(jié)點可以判定該鏈路上是否有代理存在。如果有,可以從代理廣播消息中取得代理服務(wù)器的IP地址,并且判定代理的功能是什么。
第二條消息是代理請求消息,當移動節(jié)點沒有耐心等待下一個周期發(fā)送的代理廣播消息時,它可以發(fā)送代理請求消息。這個消息的唯一目的就是讓鏈路上的所有代理立即發(fā)送一個代理廣播消息。有些時候,移動節(jié)點快速地切換鏈路,而代理發(fā)送廣播消息的頻率相比而言就太慢了,這時代理請求消息就非常有用了。由于密鑰管理上的困難,移動IP不要求對這兩種消息進行確認。
2.3 注冊、注銷機制
移動IP的注冊過程在代理搜索之后。此時,移動節(jié)點已經(jīng)可以判斷出自己的位置,是處于家鄉(xiāng)鏈路還是處于外地鏈路。當移動節(jié)點發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點從一條鏈路切換到另一條鏈路上時,它就要進行注冊。另外,由于這些注冊也有一定的生存時間,所以有些時候,移動節(jié)點的位置并沒有移動,它也要在現(xiàn)有注冊過期時進行重新注冊。
移動IP的注冊過程是:通知家鄉(xiāng)代理它在外地鏈路取得的轉(zhuǎn)交地址;使一個要過期的注冊重新生效;在回到家鄉(xiāng)鏈路上時要進行注銷操作。
2.4 傳遞數(shù)據(jù)包的選路
根據(jù)移動節(jié)點的當前位置進行數(shù)據(jù)包選路的技術(shù),這是移動IP的最主要技術(shù)之一。我們必須考慮兩種情況:移動節(jié)點連接在家鄉(xiāng)鏈路上時和移動節(jié)點連接在外地鏈路上時。后一種情況還有兩種情形:移動節(jié)點采用的是代理轉(zhuǎn)交地址還是配置轉(zhuǎn)交地址。由于IPv6已經(jīng)成為下一代互聯(lián)網(wǎng)事實上的標準協(xié)議,并且IPv6不存在地址空間問題,因此,在IPv6下,移動IP將沒有外地代理。
當注冊工作完成之后,移動節(jié)點無論漫游到Internet的任何地方,都會通過注冊機制通知它的家鄉(xiāng)代理它目前所取得的IP地址,使得家鄉(xiāng)代理能夠轉(zhuǎn)發(fā)那些試圖與它通信的網(wǎng)絡(luò)節(jié)點給它發(fā)送的數(shù)據(jù)包,這里,我們不關(guān)心移動節(jié)點在外地鏈路是如何取得配置轉(zhuǎn)交地址的,我們假定移動節(jié)點已經(jīng)通過某種辦法得到了一個外地鏈路上的配置轉(zhuǎn)交地址,然后將這個地址通知給它的家鄉(xiāng)代理。我們這里不考慮家鄉(xiāng)代理如何將送往移動節(jié)點的數(shù)據(jù)包通過隧道路由給移動節(jié)點,這部分工作是另一位同學(xué)的畢業(yè)論文所涉及的內(nèi)容,我們僅僅考慮移動節(jié)點需要做的處理。由于數(shù)據(jù)的通信是雙向的,因此,處于外地鏈路上的移動節(jié)點涉及的工作就分為接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包兩大部分。
3 總結(jié)
移動 IP 為移動主機在移動過程中保持原來通信不間斷提供了實現(xiàn)方法,隧道技術(shù)是移動 IP 的關(guān)鍵技術(shù)之一。當通信節(jié)點向移動節(jié)點發(fā)送數(shù)據(jù)報時,必須使用到隧道技術(shù)。本文介紹了移動 IP 中隧道技術(shù)的基本原理,以及給出了一種在 Linux 系統(tǒng)下實現(xiàn)它的方法。對于實現(xiàn)途徑,主要是在 Linux 內(nèi)核中加入程序模塊,用以完成隧道技術(shù)的功能。隨著當今電子商務(wù)的蓬勃發(fā)展,人們對于新的通信業(yè)務(wù)的要求越來越高,這是互聯(lián)網(wǎng)及 TCP/IP 協(xié)議成功發(fā)展的必然結(jié)果。從而誕生出下一代的互聯(lián)網(wǎng)協(xié)議 IPv6,因此,隨著移動用戶和設(shè)備的飛速發(fā)展,基于 IPv6 的移動 IP 協(xié)議必然會迎來更廣泛的發(fā)展前景。
參考文獻
[1]裘曉峰.等譯《移動 IP》機械工業(yè)出版社
李承恕. 第3代移動通信中的衛(wèi)星移動通信[J]. 中興新通訊, 1998, (06)
魯春叢, 郭良, 閆麗, 白春霞. 中國衛(wèi)星通信發(fā)展戰(zhàn)略若干問題研究[J]. 電信科學(xué), 2004, (12)
劉林森. 衛(wèi)星通信將風(fēng)靡全球[J]. 自動化博覽, 1999, (02)