3月 16, 2011

Mobile IPV4/IPV6

Mobile IP

Mobile Node (MN) 行動節點
一個移動到外地網路還能繼續使用本地位址的主機或路由器。

Home Agent (HA) 本地代理器
通常是路由器擔任,主要將其他主機送給外地的MN的封包透過隧道
技術(Tunnel)傳送給MN,並記錄定址的資訊。

Foreign Agent (FA) 外地代理器
通常是路由器擔任,當MN拜訪此外地網路,提供註冊和隧道技術(Tunnel),
並將封包轉送給MN。

Agent Advertisement 代理器宣告
Router Advertisement message 的延伸功能,用於告知MN目前所在的網路代理器等資訊。

Care-of Address (CoA) 臨時位址
當MN離開本地網路後,透過隧道技術傳送到的終點端位址。
在Mobile IP協定中使用兩種性質的Care-of Address:

Foreign Agent Care-of Address (FACoA)
由FA的Agent Advertisement所提供的CoA。

Co-located Care-of Address (CCoA)
MN 在外地網路中,事先取得或透過DHCP取得的CoA。

Home Address (HoA) 本地位址
MN在本地網路內所分配使用的網路位址。

Tunnel 隧道技術

將原始資料封包包裝後傳送到另一個節點,接收節點再進行解開包裝的
動作還原原始資料封包。

Forward Tunnel:由HA使用隧道技術將資料送給FA。
Reverse Tunnel:由FA或MN使用隧道技術將資料回傳給HA。

Mobile IP基本動作

MN透過三個階段與CN建立資料傳輸,順序分別為:發現代理器(Agent Discovery)、
註冊(Registration)、資料傳輸(Data Transfer)。

發現代理器

當FA定時提供代理器宣告(Agent Advertisement)的廣播資訊到該網路上,
MN可以把該FA的CoA放進註冊訊息中。代理器宣告訊息是附加在路由器宣告
(Router Advertisement)訊息欄位後面

如果MN未收到代理器宣告的廣播資訊時,可以主動發出代理器詢問(Agent Solicitation)
向FA進行查詢動作。

註冊程序

Mobile IP定義兩種註冊程序,一種是MN透過FA向HA註冊,另一種是MN直接向HA註冊,
依照下列規則決定使用何種註冊程序。

1. 如果MN使用 FA 發行的 CoA進行註冊,必需透過FA轉送。
2. 如果MN使用CCoA且有收到代理器宣告,可以透過FA或其他FA轉送。
3. 如果MN自行取得CCoA,必需直接跟HA註冊。
4. 如果MN回到本地網路,必需直接跟HA取消註冊。

兩種程序都透過註冊要求(Registration Request)和註冊回應(Registration Reply)
的訊息交換達成。


資料傳輸

方法 A) MN透過FA與CN進行資料傳輸

1. 從CN到HA:CN要送資料給MN-HoA,HA可以利用Proxy ARP攔截要送給MN-HoA的封包。
2. 從HA到FA:攔截後,利用Tunnel技術將資料轉送給FA。
3. 從FA到MN:FA解開Tunnel資料後轉送給MN。
4. 從MN到CN:直接使用MN-HoA當來源位址傳送給CN。必需注意的是非所有網路環境允許
這樣的傳送方式(避免偽造封包攻擊行為)。
若不允許時,需要有步驟5、6,將資料轉送給FA。
5. 從FA到HA:利用Tunnel技術將資料轉送給HA。
6. 從HA到CN:HA解開Tunnel資料後轉送給CN。


方法 B) MN直接與CN進行資料傳輸

1. 從CN到HA:CN要送資料給MN-HoA,HA可以利用Proxy ARP攔截要送給MN-HoA的封包。
2. 從HA到MN:攔截後,利用Tunnel技術將資料轉送給MN。
3. 從MN到CN:直接使用MN-HoA當來源位址傳送給CN。必需注意的是非所有網路環境允許
這樣的傳送方式(避免偽造封包攻擊行為)。
若不允許時,需要有步驟4,將資料轉送給HA。
4. 從HA到CN:HA解開Tunnel資料後轉送給CN。


Mobile IP效率不好的問題

1. 雙倍繞送
當CN和MN是在同一個外地網路時,但CN還是必需將資料送到HA,再轉送給FA或MN。這個封包在網際網路上跑來回兩次

2. 三角繞送
一般情況為CN和MN所在網路不同,CN要送封包給MN需要經過HA再轉送給MN,封包需要經過類似三角形的路徑,稱為三角繞送。


Mobile IPv6

為了因應IPv6的新特性,IETF組織定出Mobile IPv6協定,採用IPv6 Extension Header 處理方式,增加Mobile IPv6 在Router上路由的效率,捨棄Mobile IP的Foreign Agent傳輸和認證方式,改為支援路由最佳化讓MN與CN資料傳輸更有效率。

當與CN建立通訊前,MN必需先與HA建立IPSec安全連線,再與CN進行回歸路由能力程序 (Return Routability Procedure)的檢查機制,CN確認MN為正確的接收端後,即可與MN-CoA啟用路由最佳化資料傳輸方式,如果MN移動到其他外地網路時,MN將發送連結更新給CN,請求CN更換為最新的MN-CoA位址。

在 Mobile IPV6 中的新名詞:

Binding 連結
對 MN 來說,會同時使用 HoA 與 CoA(也就是說 HoA/CoA 是綁在一塊)
當 HA 收到封包,會知道該送往哪個 CoA。如果 Mobile Node 移到新的外地網路,會得到新的 CoA ,當然也要進行 re-binding 的動作。

Binding Update List (BUL) 連結更新列表
MN必需記錄與那些CN有建立Mobile IPv6的連結,還有記錄HA資訊,
當MN變更CoA後,依照連結更新列表通知所有的CN和HA。

Binding Update (BU) 連結更新 / Binding Acknowledgement (BA) 連結同意
當MN變更CoA後,使用BU通知HA更新資訊。若MN與CN建立路由最佳化時,
也使用BU通知CN更新資訊。 當HA或CN收到MN傳來的BU,同意更新則回傳BA。

Return Routability Procedure 回歸路由能力程序
這是一個路徑最佳化的程序,當一個 CN 想要傳資料給 MN 時
傳統的路徑是 CN --> HA --> MN ,而 Mobile IPV6 想要改良,
希望直接簡化 CN ---------> MN

當然我們要確認 MN 的身份,否則 CN 可能是把資料傳給了一個偽MN
所以這就是一個驗證身份的程序,流程圖示意如下:
       (IPSec 加密)
[MN] [HA] [CN]
| |
| HoTI HoTI |
|------------------------>|------------------->|
| CoTI |
|--------------------------------------------->|
| HoT HoT |
|<------------------------|<-------------------|
| CoT |
|<---------------------------------------------|

MN 發送Home Test Init (HoTI)經IPSec到HA,HA 解開封裝後傳給CN
MN 也會直接發送 Care-of Test Init (CoTI) 到CN

CN 收到兩個封包後會回應 Care-of Test (CoT) 與 Home Test(HoT)
其中 HoT 是會經過 HA 再用 IPSec 通道送回來。

簡單說,整個流程就是:(自己送)+(透過 HA 轉送)


Mobile IPv6基本動作

Mobile IPv6基本動作分為取得當地網路的Care-of Address、尋找及註冊Home Agent、使用MN與HA的Tunnel傳輸方式、使用MN與CN的路由最佳化傳輸方式。

取得Care-of Address
當 MN 離開本地網路,在外地網路透過IPv6 Stateless Address Autoconfiguration (無狀態位址自動設定)或使用IPv6 Stateful Address Autoconfiguration (狀態位址自動設定,即 DHCPv6)

尋找及註冊Home Agent
當MN取得CoA後,MN利用連結更新 (BU)向HA提出HoA和CoA的對應關係動作,HA回覆Binding Acknowledgement (BA)代表設定成功,
MN不一定要知道HA的IP Address,可以透過Mobile IPv6支援的 Dynamic Home Agent Address Discovery (DHAAD),就可以找到本地網路的HA

使用MN與HA的Tunnel傳輸方式

Mobile IPv6提供兩種MN和CN之間的資料傳輸方式:

第一種方式
如果CN不支援Mobile IPv6,可以使用雙向隧道技術(Bidirectional Tunneling),CN將封包傳送到本地網路內,由HA攔截後使用Tunnel技術傳送給MN,當MN回應封包時,將封包使用Tunnel技術傳送給HA,再由HA使用傳統的Routing方式傳給CN

第二種方式,
當CN支援Mobile IPv6的路由最佳化時,MN可以透過 Return Routability Procedure (回歸路由能力程序)和CN取得確認後,發送連結更新 (BU)給CN,再由CN回應Binding Acknowledgement (BA)達成路由最佳化協議。

若MN要傳資料給CN,將HoA填入Mobile IPv6新定義的Home Address Option Header內,封包的來源位址用MN的CoA,再傳送出去。若CN要回傳資料給MN,將MN的HoA 填入Mobile IPv6新定義的Type 2 Routing Header,封包的目的位址用MN的CoA,就可以傳送給MN。


CN HA MN
|<------------------->| Return Routability Procedure : 驗證程序
| |
|<--------------------| Binding Update (BU) : 我的 CoA 是 xxx
|-------------------->| Binding ACK (BA) : 好的 我知道了
| |
|<------------------->| Routing Optimization 可以直接 CN/MN 對傳了


Mobile IPV6 重點整理

1. 省掉 FA 這個元件,不再使用 FA 協助轉傳封包,路由有效率。
2. 使用 IPSec 加強 HA-MN 之間的通訊。
3. CoA 的方式,在 IPV6 中用無狀態位址自動設定 或者 DHCPV6
在原本 V4 中要透過 FA 或者 DHCPV4
4. 在 IPV4 中 HA 需要處理路由最佳化,在 IPV6 中不需要。

沒有留言:

張貼留言