移動IP技術讓病人監視器、IP語音電話和筆記本電腦等設備可以在其穿梭于不同地點或者網絡之間時,無縫地進行通信。目前,在漫游時保持連續的連接對于日常生活而言正日益重要,而它對于一些關鍵任務領域(例如緊急醫療服務和軍事服務)則更加關鍵。
那么,移動IP技術怎樣工作?“運動中網絡”將來會有哪些應用?
需要移動IP技術
移動IP技術是由互聯網工程任務小組(IETF)在1996年制定的一項開放標準(現RFC 3344),它讓用戶可以在漫游于不同IP網絡之間時保持連接。網絡中的IP尋址和路由都是基于固定位置的,網絡中的一個設備可以被找到的原因是它在網絡中擁有一個地址。IP地址類似于一個與某個電話插孔相對應的電話號碼。如果某個電話始終插入到一個特定的插孔中,那么就可以通過分配給這個插孔的電話號碼找到這部電話。
但是,如果某個正在打電話的人想要移動到另外一個地方,并將同一部電話插到一個新的插孔中,就會出現問題。因為電路是按照原有的插孔設計方式工作的,所以通話會中斷。IP網絡也面臨著同樣的問題。當某個設備不再與它原來所在網絡中的IP地址相關聯時,它的有效會話將被中斷。
移動IP技術讓用戶可以在出行到另外一個網絡中時仍然可以保持相同的IP地址,從而確保漫游的用戶可以在不中斷會話或者連接的情況下繼續通信。尤其是在2.5G/3G/WLAN 等無線網絡環境下, 移動IP技術是無線網絡內部以及無線網絡間的無縫切換/漫游, 用以實現不間斷的網絡應用的技術保證。
移動IP涉及三個實體
移動IP涉及到三個實體:移動節點、歸屬代理和外部代理。移動節點是指一個能夠進行網絡漫游的設備。移動IP客戶端的實例包括蜂窩式電話、PDA或者筆記本電腦,它們的軟件可以提供漫游功能。歸屬代理是指本地網絡上的一個路由器,它可以充當與移動節點進行通信的定位點;它可以通過隧道將分組發送給正在漫游的移動節點。外部代理是指一個可以在移動節點移動到某個外地網絡時,充當移動節點的連接點的路由器,它可以將歸屬代理發來的分組提供給移動節點。
移動IP領域的常用術語還包括轉交地址(COA)和遠端節點。轉交地址是移動節點處于本地網絡之外時,連接移動節點隧道的端接點;而遠端節點是指移動節點與之通信的設備,例如一個Yahoo! Web服務器。
代理發現
為了讓在不同網絡之間漫游的移動節點獲得“永不中斷”的連接,移動節點首先要做的是發現代理。
歸屬代理和外部代理會不斷地在網絡上廣播它們的服務。移動節點在收到廣播消息之后,就可以發現這些代理和它們所提供的服務,并可以由此判斷出自己目前是在本地網絡中還是已經移動到某個外地網絡。在廣播消息中,代理可以說明它是一個歸屬代理或者外部代理,或者兩者都是;它的轉交地址;它所提供的服務的類型,例如反向隧道;以及它所允許的注冊時間或者漫游期限,這些時間可能會針對移動節點延長。
當移動代理收到某個外部代理的廣播消息時,它可以檢測到自己已經移動到本地網絡之外,并開始注冊。
登記注冊
為了明確地表達它的注冊請求,移動節點可以利用外部代理的廣告消息中的信息,并在將請求發送到外部代理之前,利用它的歸屬代理共享密鑰保護這些數據的完整性。作為移動節點和歸屬代理之間的橋梁,外部代理將會處理這些信息,并將請求轉發到歸屬代理,它可以利用相同的共享密鑰進行身份校驗,以確認移動節點的有效性。歸屬代理隨后可以建立移動捆綁,即將移動節點映射到轉交地址――移動節點目前在外地網絡中實際所在的位置。
移動IP為獲取轉交地址提供了兩種方法:移動節點可以從某個外部代理獲得轉交地址,或者它也可以直接獲取一個配置轉交地址,它實際上代表了它在外地網絡中的當前位置。獲得了一個配置轉交地址的移動節點需要占用外地網絡中的一個地址,而從外部代理獲取轉交地址的節點則可以與其他移動節點共享一個與該代理相關聯的地址。
因為在歸屬代理和外部代理上的注冊都會自動過期,所以移動節點必須重新注冊,以保持它與外地網絡的連接。移動節點還可以通過取消注冊,明確地通知代理它將不再漫游。
為了在移動節點和它的本地網絡之間傳輸分組,歸屬代理將創建一條指向轉交地址的隧道,隨后將注冊回復發送給外部代理。外部代理,或者移動節點,在使用配置轉交地址的情況下,也會建立一條指向歸屬代理的隧道,以實現成功的注冊,同時將注冊恢復轉發給移動節點。最后,移動節點將對這個回復進行身份驗證,確認代理已經意識到它正處于漫游狀態。注冊可以設置移動節點收發分組的路由方式,整個過程是通過隧道完成的。
利用隧道發送IP包
移動節點可以利用它的本地IP地址發送分組,從而有效地保持這樣一種表象:它一直處于本地網絡之中。因此,即使在移動節點漫游到外地網絡時,它的運動對于遠端節點而言始終是透明的。
發送移動節點的數據分組將被路由到它的本地網絡,隨后本地網絡將阻截這些分組,并通過隧道方式將它們發送到移動節點的轉交地址。隧道主要具有兩種功能:封裝到達隧道終端的數據分組,并在分組被發送到隧道另一端時解除分組的封裝。
通常,移動節點首先將分組發送到外部代理。外部代理將這些分組路由到它們的最終目的地―遠端節點。但是,這條數據路徑在拓撲上是不正確的,因為它并沒有體現出數據真正的源IP地址,而是體現了移動節點的本地網絡。因為分組在外地網絡中將本地網絡作為它們的來源,所以網絡路由器上的一種名為“輸入過濾”的訪問控制列表將丟棄這些分組,而不是轉發它們。一種名為“反向隧道”的功能可以讓外部代理從移動節點接收到分組之后,通過一條隧道將這些分組發送到歸屬代理,從而可以解決這個問題。
移動路由器造移動網
移動路由器可以被定義為一個支持移動網絡的路由器。IETF RFC 3344確立了這種“可移動的網絡”的概念。移動路由器的作用類似于一個移動節點,但是兩者的主要區別在于,移動路由器可以保持與整個網絡的連接,而不只是某個移動IP客戶端。
當某個分組被發送到一個移動網絡時,歸屬代理將對該分組進行兩次封裝,再將它發送給外部代理。外部代理隨后會對封裝的分組進行解封裝,并將它們轉發到移動路由器,移動路由器再對分組進行一次解封裝,并將它們發送給它目前與之保持連接的節點。對于網絡的其他部分而言,節點看起來似乎仍然位于本地網絡之中,但它實際上處于移動路由器的移動網絡中。
為了在漫游期間繼續通信,移動網絡上的IP設備首先會將分組發送給移動路由器,它通常會將分組轉發到外部代理進行路由。網絡路由器上的輸入過濾功能將會再次丟棄分組,因為數據路徑在拓撲上不正確。為了防止這種情況,移動路由器也可以利用反向隧道功能,封裝從IP設備發來的分組,將它們轉發到外部代理。外部代理會再次對分組進行封裝,并將它們發送給歸屬代理。歸屬代理會對這些分組進行兩次解封裝,并將原始分組發送到它們的目的地。