轉送位址

轉送位址(英語:Care-of address,縮寫為CoA),又譯為轉交位址照護位址,使用在網路路由上,是行動裝置的暫時IP位址,它是移動IP的一部分。這使得本地代理器(Home agent, HA)能夠將封包轉送到行動裝置上。

基本介紹

  • 中文名:轉送位址
  • 外文名:Care-of address
介紹,地址分配,移動IP 中的路由最佳化的改進方案,MIPv4 配置轉交地址的研究與實現,協定原理,軟體實現,測試結果,

介紹

IP位址的原始設計,是用來識別本機(Host),以及這個裝置在全球IP網路中所占的位置。但在行動裝置中,行動裝置本身的IP位址是用來識別本機之用,但在它接取的網路系統中,它可能不是這個網路系統中的合法IP位址,因此需要轉送位址作為辨識位置之用。

地址分配

移動節點可以通過兩種不同的方式獲取轉交地址:
外地代理轉交地址(FACoA):移動節點接收與外地代理相同的CoA。外地網路中的所有移動節點都被賦予相同的CoA。
共址轉交地址:外部網路中的每個移動節點通常由DHCP伺服器分配其自己的CoA。這可能發生在尚未部署外部代理的網路中。
鑒於即將耗盡的IPv4地址,第一種解決方案更頻繁地被選擇,因為在改變網路位置時它不會浪費每個移動節點的公共IP位址,就像並置的CoA那樣。
轉交地址必須是外地網路中的有效IP位址,因此它允許移動節點接收外部任何主機並與之建立連線。為了傳送輸出分組,移動節點也可以使用其歸屬地址,但由於它不是當前網路附屬檔案的連線IP位址,因此路由中的一些路由器可能阻止分組到達目的地。
這就是為什麼在IPv4中,通過IP隧道將傳出信息傳輸到歸屬代理(在歸屬網路中)。從歸屬網路,可以使用其原始歸屬地址傳送移動節點的分組,而沒有任何路由問題。通訊節點將再次將其信息傳送到家庭網路。因此,它必須通過隧道傳送到外地代理,然後傳送到移動節點。
當所有移動節點與外地代理共享相同的IP位址時,這由充當代理ARP的外地代理實現。

移動IP 中的路由最佳化的改進方案

移動IP 是一種對IP 移動性的支持的協定, 能夠使移動主機(MH), 藉由家鄉代理(HA)和外地代理(FA), 直接向通信主機(CH)傳送數據包。然而, 所傳送的數據包卻不得不經過三個不同的網路:通信主機所在的子網, 家鄉代理所在的子網和移動主機當前所在的子網。這樣, 就使得發往移動主機的數據包要經過比預期長得多的路徑。這些多餘的路徑在移動IP 中被稱為“ 三角路由” 。這個問題可以用路由最佳化來解決, 它要求所有通信主機保證一個綁定快取, 通信主機將從家鄉代理中得到的移動主機的轉交地址(CoA)儲存在綁定快取中, 然後直接與移動主機進行對話。
提出一種將RSVP 整合到路由最佳化的改進方案, 同時將綁定快取放在家鄉代理上。當移動主機離開家鄉代理所管轄的區域, 向外地代理註冊並得到一個轉交地址後, 它通過外地代理向家鄉代理髮送一條綁定更新訊息, 將自己的家鄉地址和現在的轉交地址封裝在綁定更新裡面, 家鄉代理收到後就把這兩個地址存儲到綁定快取中。一旦某個通信主機希望與該移動主機進行通信, 它會首先發一個Path 訊息到移動主機的家鄉地址, 家鄉代理收到這個訊息後, 會把綁定快取中把家鄉地址所對應轉交地址用以Path_err訊息發回去。通信主機接收後, 得知移動主機的轉交地址, 再傳送Path 訊息給移動主機以及逐跳保留的Resv , 就能夠與移動主機建立保證Qos 服務的RSVP 對話。
在這個方案中要求通信主機有處理Path_err 訊息的能力。當通信主機收到Path_err這個訊息後, 它應該立即Path 訊息重新發給轉交地址所對應的移動主機。在Path_err 訊息中, 轉交地址和家鄉地址是捆綁在一起的, 家鄉地址唯一, 轉交地址不唯一。即要靠家鄉地址辨認移動主機, 靠轉交地址與移動主機通信。
傳統方案要求每個主機(包括代理)都要有一個綁定快取, 改進的方案只保留了代理主機的快取, 這樣降低了通信主機與移動主機對話的門檻, 同時將主要功能集中在代理主機上, 也便於控制和管理。
改進的方案將綁定更新訊息和Path 訊息一起傳送, 這樣既可得到移動主機的轉交地址同時又與移動主機建立RSVP 通信路徑, 一舉兩得, 提高了效率。這在通信效率低下的無線行動網路, 顯得尤為重要。

MIPv4 配置轉交地址的研究與實現

協定原理

當移動節點在家鄉網路時與固定的IPv4 網路通信相同, 不再詳細介紹。當移動節點發生切換時( 目前切換通過手動修改AP 的ESSID 來實現) , 通過信號觸發機制調用子進程來啟動DHCP 協定, 完成標準的四條訊息互動來獲得轉交地址。開始時移動節點向同一網路內的所有伺服器廣播DHCPDiscover 訊息( 假如沒有伺服器, 則可以通過中繼代理將訊息包轉發出去) 。任何DHCP 伺服器收到Discover 訊息都能構造一個DHCP Offer 訊息去回響請求。當MN 收到該訊息後, 選擇其中一個DHCP伺服器來請求地址( 假如一個網路記憶體在多個伺服器) , 向區域網路內廣播DHCP Request 訊息包, 只有被選中的伺服器能對收到的訊息包進行處理, 該伺服器更新地址池, 選擇一個合法和唯一的地址添加到DHCP Acknowledge 訊息中。當移動節點收到該訊息後獲得地址並將其作為配置轉交地址。在傳送綁定註冊之前MN 需要知道當地路由器的鏈路層地址, 以便包的轉發。本文中將DHCP 伺服器放置在當地網路的接入路由器上, 這樣可以通過DHCP Acknowledge 訊息的源地址知道接入路由器的鏈路層地址, 避免了傳送地址解析協定(ARP) 請求。
移動節點必定可以決定它是否從一條沒有代理的鏈路移動到了另一條鏈路上, 它可以通過兩種方法來推斷。第一種方法, 在它已打開的TCP 連線上檢查最近有沒有轉發進行。如果沒有, 移動節點就可以得出結論, 在它上一次註冊後它已經移動過了。第二種方法, 移動節點可以將它的網路接口驅動置於接收所有包的模式。在這種模式下, 移動節點可以檢查鏈路上的所有包, 而不只是發給它的包。如果這些包中沒有一個網路前綴與它的轉交地址的網路前綴一樣, 它就可以推斷它已從獲得轉交地址的那條鏈路移動到另一條新鏈路上了。如果這樣, 移動節點應得到一個新的轉交地址並向它的家鄉代理註冊。

軟體實現

在軟體體系的設計上, 在移動IP 的基礎上修改和實現DHCP 配置轉交地址機制。本文移動IP 採用的dynamics 版本為0.8.1, DHCP 協定採用的版本為3.0.1, 在接入路由器上安裝路由協定。
當MN 運行移動IP 後, 調用shell 腳本定期地更新地址信息, 比較無線接口的地址前綴是否發生改變。如果改變則表明移動節點發生了切換, 此時MN 通過信號觸發機制啟動DHCP 客戶端進程, 與所在的網路內的DHCP 伺服器進行互動, 生成一個新的地址作為配置轉交地址。
移動節點完成切換後向家鄉代理註冊新的轉交地址, 在註冊請求中包含該轉交地址。當家鄉代理收到註冊請求後, 將移動節點的家鄉地址和轉交地址添加到快取列表中, 建立移動節點到家鄉代理的隧道, 實現移動節點直接和家鄉代理通信。
函式主要流程如圖1 所示:
圖1圖1

測試結果

首先, 修改移動IP 的轉交地址機制, 在移動節點的配置檔案中設定配置轉交地址機制標誌為真,在家鄉代理上安裝dynamics 軟體, 在路由器1(AR1) 、路由器2(AR2) 上安裝DHCP 伺服器軟體和路由協定。
在移動節點和家鄉代理上啟動移動IP 程式, 在AR1 和AR2 上啟動DHCP 伺服器程式和路由協定。通過手動修改ESSID 在家鄉與AR1 和AR2 之間的切換。
實驗完成了從家鄉到AR1 和AR2 之間切換的過程, 切換的過程中能保持移動節點與家鄉的通信不被中斷, 較好地實現了移動IP 的配置轉交地址機制。

相關詞條

熱門詞條

聯絡我們