• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
64
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

網際網路行動通訊協定中重複位址偵測之效 能改善

Performance Improvement on Duplicate Address Detection in IP Mobility Protocols

系 所 別: 資訊工程學系碩士班 學號姓名: M09802024 劉紀謙 指導教授: 劉懷仁 博士

中 華 民 國 100 年 8 月

(2)

I

摘要

在 IP 行動性(Mobility)的研究中,當行動裝置移動到新的網路之後,需要產生一 個新的轉址位址(care-of address)。在新的轉址位址產生之後,行動裝置需要執行重複 位址偵測(Duplicate Address Detection)去確認該位址的唯一性。在整體換手流程中,

重複位址偵測至少需要花費 1000 毫秒,這對於有即時需求的應用(如隨選視訊,網路 電話)而言是無法接受的。本篇論文提出了一個用 MD5 雜湊值組成一個新的轉址位址 的設定方法以確保新轉址位址重複產生之機率非常低,進而簡化偵測位址是否重複的 方式,並將上述方法與現有的換手機制作結合來減少換手延遲時間。最後計算結合提 出的方法與現有的換手機制在換手時整體的延遲時間。

關鍵字:重複位址偵測,換手延遲時間,MD5

(3)

II

ABSTRACT

With the advancement of wireless network technologies and mobile devices surfing the internet have been changed, from fixed place into anyplace.

In the Internet protocols, IPv4 and IPv6, a host gets disconnected while leaving from a network. This is unacceptable for devices with mobility. Therefore the Internet Engineering Task Force (IETF) proposed the Internet protocols with mobility, Mobile IPv4 and Mobile IPv6, which allow devices to have seamless connectivity to the Internet when moving from one network to another. The process is called handover.

However when a mobile device moves into a new network, it should get a new IP address, called care-of address, that is used on the new network. In IPv6 there are two major methods to generate IP addresses, Stateless Address Autoconfiguration and Stateful Address Autoconfiguration. Addresses must be checked by Duplicate Address Detection (DAD) to verify the uniqueness of the new IP addresses, independently of which methods they are use to obtain IP addresses. DAD takes at least 1000ms during the handover process, and it is unacceptable for real-time applications like Video on Demand, Voice over IP, etc.

This thesis proposes a new IP address configuration scheme to improve handover performance, including using the MD5 algorithm to generate IP addresses, detecting that whether the address is being used, and incorporating with existing handover scheme.

Keywords: Duplicate Address Detection, Handover, MD5

(4)

III

致謝

很快的兩年的研究生涯結束了,在這兩年中,首先要感謝指導教授劉懷仁博士,

在研究遇到瓶頸時給予意見及幫忙,使得研究可以順利完成,感謝老師。

接著感謝陳彥文教授及林文宗教授在百忙之中抽空給予指導,使本論文得以更加 完整。

最後要感謝家人、好友、實驗室的學長、同學們的關心與支持,給予我很大的動 力,讓我能夠專心於研究上。

再次感謝大家。

(5)

IV

目錄

摘要 ... I ABSTRACT ... II 致謝 ... III 目錄 ... IV 圖目錄 ... VII 表目錄 ... IX

第一章 簡介... 1

第二章 背景知識與相關研究 ... 3

2.1 IPV6 的自動配置機制(AUTO CONFIGURATION) ... 3

2.1.1 Stateful Address Autoconfiguration ... 3

2.1.2 Stateless Address Autoconfiguration ... 3

2.2 重複位址偵測(DUPLICATE ADDRESS DETECTION,DAD) ... 5

2.2.1 術語介紹 ... 5

2.2.2 運作流程 ... 6

2.3 MOBILE IPV6 ... 7

2.3.1 Mobile IPv6的組成元件 ... 7

2.3.2 Mobile IPv6的運作原理 ... 8

2.4 HIERARCHICAL MOBILE IPV6(HMIPV6) ... 10

2.4.1 HMIPv6的組成元件 ... 10

2.4.2 HMIPv6的運作原理 ... 12

2.5 FAST HANDOVER FOR MOBILE IPV6(FMIPV6) ... 15

(6)

V

2.5.1 FMIPv6的組成元件 ... 16

2.5.2 FMIPv6的運作原理 ... 16

2.6 MESSAGE-DIGEST ALGORITHM 5(MD5) ... 19

2.7 其他相關研究 ... 20

第三章 系統架構 ... 23

3.1 產生 IPV6 位址 ... 23

3.1.1 取得網路前序(Network Prefix) ... 23

3.1.2 生成IPv6位址 ... 23

3.2 位址重複的偵測方法 ... 25

3.3 結合 MOBILE IPV6 ... 26

3.4 結合 HIERARCHICAL MOBILE IPV6 ... 27

3.4.1 在相同MAP底下移動的換手 ... 27

3.4.2 在不同MAP底下移動的換手 ... 28

3.5 結合 FAST MOBILE IPV6 ... 29

3.5.1 Predictive Mode ... 29

3.5.2 Reactive Mode ... 30

第四章 數值分析 ... 32

4.1 MAC 位址固定&時間作變化 ... 33

4.2 MAC 位址及時間均作變化 ... 36

4.3 小結 ... 40

第五章 效能分析 ... 41

5.1 產生 IP 位址的花費時間 ... 41

5.2 SIMPLIFIED DAD 平均花費時間 ... 41

5.3 與現有換手機制比較 ... 43

(7)

VI

5.3.1 結合MIPv6並作比較 ... 44

5.3.2 結合相同MAP下移動的HMIPv6並作比較 ... 45

5.3.3 結合不同MAP下移動的HMIPv6並作比較 ... 46

5.3.4 結合FMIPv6 Predictive Mode ... 48

5.3.5 結合FMIPv6 Reactive Mode ... 50

第六章 結論... 51

參考文獻 ... 52

(8)

VII

圖目錄

圖 2-1 MOBILE IPV6HANDOVER ... 9

圖 2-2 HMIPV6 相同 MAP 下移動的換手示意圖 ... 11

圖 2-3 HMIPV6 不同 MAP 下移動的換手示意圖 ... 11

圖 2-4 HMIPV6 相同 MAP 下移動的換手訊息流程圖 ... 12

圖 2-5 HMIPV6 不同 MAP 下移動的換手訊息流程圖 ... 14

圖 2-6 FMIPV6 換手架構示意圖 ... 15

圖 2-7 FMIPV6PREDICTIVE MODE ... 18

圖 2-8 FMIPV6REACTIVE MODE ... 19

圖 2-9 MD5 ... 20

圖 2-10 AFMIPV6[9] ... 20

圖 2-11 參考文獻[13]中 STAND-ALONE MANET 部份的 IP 位址格式 ... 21

圖 2-12 參考文獻[14]產生 IP 位址的方法 ... 22

圖 3-1 IPV6 位址格式 ... 23

圖 3-2 生成 IPV6 位址的 HOST NUMBER ... 24

圖 3-3 SIMPLIFIED DAD ... 26

圖 3-4 SIMPLIFIED DAD 結合 MIPV6 ... 27

圖 3-5 SIMPLIFIED DAD 結合相同 MAP 底下移動的 HMIPV6 ... 28

圖 3-6 SIMPLIFIED DAD 結合不同 MAP 底下移動的 HMIPV6 ... 29

圖 3-7 SIMPLIFIED DAD 結合 FMIPV6PREDICTIVE MODE ... 30

圖 3-8 SIMPLIFIED DAD 結合 FMIPV6REACTIVE MODE ... 31

圖 4-1 產生 IP 位址的流程 ... 32

(9)

VIII

圖 4-2 MAC 位址固定&時間作變化產生的 MD5 雜湊值每一位元 1 出現之次數 ... 34

圖 4-3 MAC 位址固定&時間作變化產生的 MD5 雜湊值每一位元 1 出現之比例 ... 35

圖 4-4 MAC 位址固定&時間作變化產生的 MD5 雜湊值每一位元 0 與 1 出現比例之標準差 ... 36

圖 4-5 MAC 位址及時間均作變化產生的 MD5 雜湊值每一位元 1 出現之次數 ... 38

圖 4-6 MAC 位址及時間均作變化產生的 MD5 雜湊值每一位元 1 出現之比例 ... 39

圖 4-7 MAC 位址及時間均作變化產生的 MD5 雜湊值每一位元 0 與 1 出現比例之標準差 ... 40

(10)

IX

表目錄

表 1 4.1 節實驗的參數 ... 33

表 2 4.2 節實驗的參數 ... 36

表 3 實驗平台規格與軟體 ... 41

表 4 不同長度 M 的機率 ... 42

表 5 計算系統整體平均花費時間用的參數表 ... 42

表 6 計算換手延遲用的參數表 ... 43

表 7 整體換手延遲時間之比較結果 ... 44

(11)

1

第一章 簡介

隨著無線網路技術的提昇以及行動裝置的普及,人們上網的習慣模式也漸漸的改 變了,從原來在固定地點上網變成使用行動裝置隨時隨地的上網。

原有的網際網路通訊協定,IPv4[1]及 IPv6[2],主機只要離開所屬網路就會斷線,

這對於具有移動性的行動裝置來說是行不通的。為此 Internet Engineering Task Force (IETF) 提出了具有行動能力(Mobility)的網際網路通訊協定,即 Mobile IPv4[3]及 Mobile IPv6[4],希望讓行動裝置在漫遊到新的區域之後可以在不更換對外 IP 位址的 情況下能夠維持原有的通訊,此過程稱之為換手(Handover / Handoff)。

但是在換手的流程中存在一個問題,當行動裝置移動到新的網路之後,會需要產 生一個在該網路下使用的 IP 位址稱為轉址位址(care-of address),而產生的方式在 IPv6 的 環 境 下 主 要 有 Stateless Address Autoconfiguration[5] 與 Stateful Address Autoconfiguration[6]兩種,根據 RFC-4862[5]指出,不論產生 IP 位址的方式為何都需 要對其作重複位址偵測(Duplicate Address Detection, DAD)[5]以驗證新位址在該網路 下是否具有唯一性。而 DAD 對於整體換手流程至少也增加了 1000 毫秒的延遲,這 對於有即時需求的應用(如隨選視訊,網路電話)而言是無法接受的。

而目前現有的改善換手效率機制,如 Hierarchical Mobile IPv6[7]與 Fast Handover for Mobile IPv6 (FMIPv6) [8]也都還是有 DAD 這個步驟。其中 FMIPv6 Predictive Mode 的部份,由於 MN 是提前進行換手機制,所以理想上 DAD 是要在實際換手前完成的。

但是若因為 MN 移動速度過快導致漫長的 DAD 無法在換手前完成,就會進入 Reactive Mode,使得 FMIPv6 的效果沒有發揮出來。其他相關研究如 AFMIPv6[9],藉由在換 手時切換到 Anycast Addressing 模式來減少傳輸中斷的時間,雖然改善了封包遺失率 但是依然要進行 DAD。Optimistic DAD[10]認為 IP 位址重複的機率極低,故在完成標 準 DAD 流程前就使用該位址了,但若是真的發生重複,其後續處理的時間也會比標

(12)

2

準的 DAD 還長。Fast DAD[11]在路由器處建立一個表格,紀錄該網路底下所有主機 的 IP 位址,當一主機產生 IP 位址後便去向路由器查表,若查無結果即表示無重複,

但此方法僅適用於 Stateless Address Autoconfiguration 的環境。Remote DHCPv6[12]利 用 DHCPv6 relay 來提前準備換手,但是產生的 IP 位址的方法無法保證具唯一性。此 外也有研究是改善 IP 位址設定的方法,詴圖要消除 DAD,如參考文獻[13]這篇就是 提出一種產生 IP 位址的方法,但是在 Stand-alone MANET 部份,其產生 IP 位址的步 驟裡有一部份是用亂數產生的,沒辦法保證其唯一性。而參考文獻[14]這篇也是改良 產生 IP 位址的方法,但是只適用於 WiMAX 的環境。參考文獻[15]這篇是改良 IP 位 址取得的方式,由路由器從論文中所謂的”Free Address Pool”裡配發一組 IP 位址給行 動節點使用,但此方法僅適用於 Stateful Address Autoconfiguration 的環境。

本篇論文是藉由改良產生 IP 位址的方法來改善換手的效率,包含利用 MD5[16]

雜湊值產生 IP 位址以確保 IP 位址重複產生之機率非常低,進而簡化偵測位址是否重 複的方式,並將之與現有的換手機制作結合並作效能的比較。此外,藉由簡化 DAD 所需的時間,當應用於 FMIPv6 時,將可使 Predictive Mode 之換手成功機會增加,以 提高整體效率。

本文的後續章節內容編排如下:第二章將介紹背景知識與相關研究;第三章將介 紹本篇論文提出的方法以及與現有換手機制的結合;第四章針對 MD5 雜湊值作數值 分析以說明本論文之方法在 IP 位址重複產生之機率非常低;第五章將針對現有的換 手機制與結合本篇方法的換手機制作效能的比較與分析;第六章為本篇論文的結論。

(13)

3

第二章 背景知識與相關研究

2.1 IPv6 的自動配置機制(Auto Configuration)

IPv4[1]中,在電腦要連上網路前,會先需要設定電腦的 IP 位址、子網路遮罩 (Subnet Mask)及預設閘道(Default Gateway),若設定有誤就無法連上網路,以實用層 面來看要手動設定也相當的不便,故 IPv6[2]增加了自動配置的機制來自動取得 IP 位 址及設定相關資訊。自動配置機制分成 Stateless Address Autoconfiguration[5]及 Stateful Address Autoconfiguration[6] 兩 種 , 至於 要 使用 哪 種 方 法 由 路 由器送 出 的 Router Advertisement 來決定。支援 IPv6 的路由器定期會送出 Router Advertisement 給同網路 區 段 內 的所 有 節點 , 或 行 動 節點 可 藉 由 送 出 Router Solicitation 以 取 得 Router Advertisement。Router Advertisement 訊息內的’M’、’O’兩個 flags 會指出該使用哪種 自動配置的方法[17]。

2.1.1 Stateful Address Autoconfiguration

IPv4 中,電腦可以透過動態主機配置協定(Dynamic Host Configuration Protocol,

DHCP)來自動取得 IP 位址、Gateway、DNS(Domain Name Server)等資訊來設定網路。

IPv6 繼承了這種機制,改稱之為 Stateful Address Autoconfiguration 或 DHCPv6。根據 RFC 3315 指出,當網路底下找不到路由器或 Router Advertisement 訊息內要求使用時 就會使用 Stateful Address Autoconfiguration。

2.1.2 Stateless Address Autoconfiguration

除了 Stateful Address Autoconfiguration 之外,還有一種稱為 Stateless Address Autoconfiguration 的 機 制 可 以 用 來 自 動 設 定 IPv6 位 址 。 Stateless Address Autoconfiguration 的流程主要分為五個步驟。

(14)

4

步驟一: 產生暫時前序

以 0xFE80 當作前序,此前序在此僅為暫時使用,待後續步驟會取得新的前序。

步驟二: 產生介面識別碼

此步驟要產生 IPv6 的後 64 bits 的介面識別碼,產生的方法是將 48 位元的 MAC 位址轉換成 64 位元的 IEEE EUI-64(Extend Unique Identifier)格式。轉換的方式是在 MAC 位址的前 24 位元(廠商代號)與後 24 位元(流水號)之間插入 0xFFFE,再將此 64 位元的左邊數來第七個位元做補數運算,這 64 位元即為介面識別碼。

步驟三: 重複位址偵測(Duplicate Address Detection, DAD)[5]

經過步驟一及步驟二產生出來的暫時位址(Tentative Address)必須要驗證其唯一 性。驗證的方法稱之為重複位址偵測。首先電腦以該暫時位址為目 的位址送出 Neighbor Solicitation 給同網路區段內的其它電腦,接著等待一段時間確認是否有任何 電腦回應 Neighbor Advertisement。正常情況下只有 Neighbor Solicitation 封包內的目 的位址是自己時才會需要回應對方 Neighbor Advertisement,因此假設收到 Neighbor Advertisement 就表示該位址已經被使用了,則需要再產生新的位址或手動設定位址,

反之表示該位址可以使用,沒有與其它電腦重複位址。2.2 節會有較詳細的介紹。

步驟四: 送出 Router Solicitation

經過步驟三確認了該暫時位址的唯一性之後,接著需要向路由器取得前序、預設 閘道等相關資訊,因此步驟四就是向同網路區段內的路由器送出 Router Solicitation,

以取得相關資訊。

步驟五: 取得 Router Advertisement

路由器收到 Router Solicitation,會回應 Router Advertisement,該封包內含有前序 與其它相關資訊,電腦收到封包之後,會將收到的前序取代暫時位址的前序(0xFE80),

至此新的 IPv6 位址就產生完成了。

(15)

5

2.2 重複位址偵測(Duplicate Address Detection, DAD)

根據 RFC 4862[5]指出,每次新產生的 IPv6 位址,不論其產生的方式是藉由 Stateless Address Autoconfiguration,Stateful Address Autoconfiguration(DHCPv6),或手 動設定,都必須要執行重複位址偵測,以確保產生出的位址在該網域底下具有唯一 性。

2.2.1 術語介紹

˙ All-nodes multicast address:

可以傳送到該網域下所有節點的多點廣播位址。位址為 FF02::1 。

˙ Solicited-node multicast address:

用來傳送 Neighbor Solicitation 的多點廣播位址。位址為 FF02::1:FFXX:XXXX,

X 部份為欲測詴之 IPv6 位址的後 24 位元。

˙ Neighbor Solicitation:

Neighbor Discovery Protocol[17]裡定義的一種 ICMPv6 封包。可用來取得鄰近節 點的 link-layer 位址,或用以確認鄰近節點是否 reachable,或用於本節的重複位 址偵測。

˙ Neighbor Advertisement:

Neighbor Discovery Protocol[17]裡定義的一種 ICMPv6 封包。Neighbor Solocitation 的回覆封包。

˙ DupAddrDetectTransmits:

在進行重複位址偵測時,節點向目的位址發送 Neighbor Solicitation 封包的次數,

此變數可由系統管理者設定,預設是 1 次。

˙ RetransTimer:

在進行重複位址偵測時,當 DupAddrDetectTransmits 值大於 1 時,每次發送之

(16)

6

Neighbor Solicitation 封包之間的間隔時間,預設是 1000 毫秒。

2.2.2 運作流程

當產生一個新的 IP 位址之後,為確保新位址(目標位址)在該網域下未與其他節點 的 IP 重複,需要進行重複位址偵測,測詴的方式是藉由向欲使用之新位址之目標位 址發送 Neighbor Solicitation 封包,接著等待一段時間看看是否有節點回覆 Neighbor Advertisement 封包。若有節點回覆 Neighbor Advertisement 封包則表示該位址並非唯 一,需重新產生。

在發送 Neighbor Solicitation 封包之前,為了能夠收到其它節點回覆的 Neighbor Advertisement 封包,首先節點需要先加入 all-nodes multicast address 所屬群組,接著 為了能夠收到其他節點對目標位址送出的 Neighbor Solicitation 封包,還需要加入目 標位址的 solicited-node multicast address 所屬群組。此一動作需要 0~1000 毫秒的隨機 延遲時間,以避免同一時間有太多節點加入該 multicast address 測詴同一個位址。再 來 便 是 節 點 向 目 標 位 址 發 送 數 次 的 Neighbor Solicitation 封 包 ( 由 參 數 DupAddrDetectTransmits 值決定),每次間隔數毫秒(由參數 RetransTimer 值決定)。

Neightbor Solicitation 封包的 IPv6 header 中的來源位址會填入 unspecified address(::),

而目的位址填入的是目標位址的 solicited-node multicast address. 網路上的其它節點 在收到 Neighbor Solicitation 封包之後,發現該封包的來源位址是 unspecified address 便知道是在進行重複位址偵測。

正常情況下只有 Neighbor Solicitation 封包內的目的位址是自己時才會需要回應 對方 Neighbor Advertisement 封包,因此假設在進行重複位址偵測時收到 Neighbor Advertisement 封包或收到其他節點對相同目標位址發出的 Neighbor Solicitation 就表 示該位址已經被使用了,則需要再產生新的位址或手動設定位址,反之表示該位址可 以使用,沒有與其它電腦重複位址。以上是重複位址偵測的大致流程。

DAD 總共需要花費的時間需要 1000 毫秒(預設之 RetransTimer 值)以及隨機延遲

(17)

7

加入 solicited-node multicast address 的 0~1000 毫秒,外加封包傳輸的時間等等,平均 情況下總共需要約 1500 毫秒。

2.3 Mobile IPv6

當一個裝置移動到其他區域時,以 IPv6 的機制而言,會再重新設定新的連線,

但是本來已經建立的連線會中斷,重新連線之後也不能繼續傳輸,這點對於行動通訊 而言無疑是個大問題,因此具備行動能力(Mobility)是相當重要的,也就是希望讓行 動裝置能夠移動至其它網路且在不需要更改對外 IP 位址的情況下,仍然可以保持連 線。相對於 IPv4,IPv6 在設計時就有將 IP Mobility 考量進去,稱之為 Mobile IPv6[4]

2.3.1 Mobile IPv6 的組成元件

˙ Mobile Node (MN):

一個可以到處移動的行動裝置,可以在其它網路漫遊且不需要更換 IP 即可保持 連線而不中斷。

˙ Home Address:

MN 對外固定不變的 IP 位址。

˙ Home Network:

MN 對外固定不變的 IP 位址所處的網路。

˙ Home Agent (HA):

一個在 MN 的 Home Network 的路由器,當 MN 離開 Home Network 後會將要傳 送給 MN 的封包建立通道(Tunnel)至 MN 所處的網路後再轉傳給 MN。此外還會 維護 MN 的當前的漫遊位置。

˙ Correspondent Node (CN):

與 MN 通訊的節點,可以是行動裝置或伺服器。

˙ Foreign Network:

MN 當前漫遊位置的網路。

˙ Care-of Address (CoA):

MN 在當前漫遊位置所使用的暫時 IP 位址。

(18)

8

2.3.2 Mobile IPv6 的運作原理

如圖 2- 1 所示,當行動裝置(MN)在網路漫遊時,偵測到新的存取點(Access Point) 的訊號且發現收到新網域內路由器送出的 Router Advertisement 所帶的網路前序 (Network Prefix)與自己原來的不同,這時 MN 會知道自己到了新網域,要進行換手 (Handover / Handoff)了。換手程序首先會先需要產生一個在新網域暫時使用的 Care-of Address(CoA),位址產生的方式可藉由 IPv6 的 Auto Configuration(Stateful Address Autoconfiguration、Stateless Address Autoconfiguration)機制,產生的位址再經由重複 位址偵測(Duplicate Address Detection, DAD)確認該位址是否唯一。確認其唯一之後需 向 Home Agent(HA)送出配對更新(Binding Update, BU)訊息,HA 收到之後會更新其 Binding Cache Entry,將新的 CoA 與 MN 的 Home Address 作配對(Binding),完成配 對後 HA 回應配對回覆(Binding Acknowledgement, BAck)訊息告知 MN 配對完成。而 之後每次只要漫遊時取得新的 CoA 同樣也都要向 HA 發出 BU 訊息。接著當 Correspondent Node(CN)首次要傳送封包給 MN 時,CN 送出的封包會依照傳統路由的 規則,繞送到 MN 的 Home Address,MN 的 HA 會將欲傳給 MN 的封包攔截下來再 以建立 Tunnel[18][19]的方式轉送到 MN 所註冊的 CoA 處,FA 收到之後會將該 Tunnel 解開封裝後再將資料轉送給 MN。MN 收到由 HA 轉送來的封包後,為了避免三角傳 輸問題(Triangular Routing Problem),使用了稱為 Routing Optimization 的機制,即 MN 也對 CN 送出 BU 訊息告知 CN 目前 MN 的 CoA,之後 CN 和 MN 就不需要透過 HA 的轉傳就能直接溝通了。不過在 MN 傳送 BU 給 CN 之前,為了防止 BU 訊息被攔截 假冒,基於安全考量,會需要先進行返回路由能力(Return Routability)的認證機制,

MN 會同時向 CN 送出 Home Test Init 及 Care-of Test Init 訊息,分別都帶著 Cookie,

其中為了防止兩種訊息都被攔截,因此使用兩個路徑來傳送,Home Test Init 訊息需 經由 HA 的轉傳,而 Care-of Test Init 訊息直接傳送給 CN 即可。CN 收到之後,會分 別回覆 Home Test 及 Care-of Test 訊息給 MN,相同的,Home Test 需經由 HA 的轉傳,

(19)

9

而 Care-of Test 不需要。在 MN 收到 Home Test 及 Care-of Test 後就可以向 CN 送出 BU 訊息,後續 MN 便能與 CN 直接溝通了。至此完成了換手的動作。

圖 2- 1 Mobile IPv6 Handover

(20)

10

2.4 Hierarchical Mobile IPv6 (HMIPv6)

在原本的 Mobile IPv6 環境中,每當 MN 漫遊移動到新的網域之後都必需要向 HA 與 CN 發出 Binding Update 進行註冊,但是當 MN 快速的在不同網域之間移動時,頻 繁的註冊使得註冊的訊息量過多,此外 MN 可能離 HA 越來越遠,造成封包在傳送上 的路徑變得越來越長,導致整體網路效能的降低。為此 IETF 提出了 Hierarchical Mobile IPv6[7]來改善此一問題。

2.4.1 HMIPv6 的組成元件

˙ Mobility Anchor Point:

MN 所拜訪之網域裡的一台路由器,在網域中扮演著暫時性的 Home Agent。

˙ on-link CoA(LCoA):

LCoA 取得的方法是類似 Mobile IPv6 的 CoA,基於 AR 的 IPv6 位址的前序(Prefix) 來產生,是 MN 與 MAP 溝通用的 IP 位址。

˙ region CoA(RCoA):

RCoA 是 MN 在拜訪之網域中,由 MAP 所賦予對應 LCoA 的 IP 位址,MAP 用 此位址替 MN 對外溝通。

˙ Local Binding Update:

MN 向 MAP 發出的 Binding 訊息,用以建立 RCoA 與 LCoA 之間的對應。

(21)

11

圖 2- 2 HMIPv6 相同 MAP 下移動的換手示意圖

圖 2- 3 HMIPv6 不同 MAP 下移動的換手示意圖

(22)

12

2.4.2 HMIPv6 的運作原理

如圖 2- 2 及圖 2- 3 所示,HMIPv6 的換手分為兩種情況,其一是 MN 在同 MAP 底下移動,另一個情況是 MN 移動到另一個 MAP 底下。以下分別對上述這兩種情況 作介紹。

在 HMIPv6 中,為了減少 Binding Update 的數量,將整個網路以階層式的方式來 管理。Mobility Anchor Point(MAP)在此扮演著暫時性的 Home Agent,當有封包要傳 送給 MN 時會傳送至 MAP,再由 MAP 轉送至 MN。而由於 MAP 扮演著 HA 的角色,

故當 MN 在同 MAP 底下的不同 Access Router 間移動,只需要向 MAP 作 Binding Update,而不需要向 HA 及 CN 作 Binding Update。

圖 2- 4 HMIPv6 相同 MAP 下移動的換手訊息流程圖

MN 會根據 AR 廣播的 Router Advertisement 中的 MAP option 判斷是否移動到新 的 MAP 底下。

若 MN 是在同 MAP 下移動,其換手訊息流程如圖 2- 4 所示,MN 在收到 Access Router 發送的 Router Advertisement 之後,會使用如同 Mobile IPv6 產生 CoA 的方式 來產生一新的 IP 位址,此位址稱為 on-link CoA(LCoA)。之後需要對 LCoA 進行重複

(23)

13

位址偵測,若該位址沒有重複,MN 會向 MAP 送出 Local Binding Update,而 MAP 收到 Local Binding Update 後會將該 LCoA 與 RCoA 作配對,並且回傳 LBAck 給 MN 告知配對完成,MN 收到 LBAck 後即完成換手的動作。以上是 MN 在相同 MAP 下移 動的換手流程。

若 MN 是移動到新的 MAP 底下,其換手訊息流程如圖 2- 5 所示,MN 在收到 Access Router 發送的 Router Advertisement 之後,除了產生 LCoA 之外,還需要產生 region CoA(RCoA)。產生 RCoA 的方式是將 MN 介面識別碼(Interface Identifier)與 MAP 的網路前序(Network Prefix)合併而成。產生完 RCoA 之後 MN 會向 MAP 發出 Local Binding Update,接著 MAP 會對 RCoA 進行重複位址偵測,若位址均未重複,MAP 會將 LCoA 與 RCoA 作配對。為了減少封包的遺失,MN 還會對先前的 MAP 發出 Local Binding Update,讓要傳給 MN 的封包都轉送到 MN 新的位置。在完成配對之後,接 下來的流程與 MIPv6 一樣,MN 會以 RCoA 向 Home Agent 發出 Binding Update,讓 HA 將 MN 的 Home Address 與 RCoA 作配對,之後要傳送給 MN 的封包都會經由 Tunnel 的方式傳到 RCoA,MAP 再將封包經由 Tunnel 的方式傳到 MN 的 LCoA。最 後與 MIPv6 相同,為了避免 Triangular Routing Problem,MN 也會以 RCoA 對 CN 發 出 Binding Update,此後封包便不需要透過 HA 的轉傳。以上是 MN 在不同 MAP 下 移動的換手流程。

(24)

14

圖 2- 5 HMIPv6 不同 MAP 下移動的換手訊息流程圖

(25)

15

2.5 Fast Handover for Mobile IPv6 (FMIPv6)

Mobile IPv6 使得行動裝置有了移動的能力,在漫遊時可以不需更換 IP 即可繼續 保持通訊不斷線。但是在換手(Handover / Handoff)時,會有一段時間會因為正在進行 換手程序,包含移動偵測(Movement Detection)、設定新的 Care-of Address(CoA)、

Binding Update 等造成無法送收封包,這段時間對於有即時(real-time)需求的應用(如 Video on Demand, Voice over IP)而言是無法接受的。為此 IETF 制定了 Fast Handover for Mobile IPv6[8],架構如圖 2- 6 所示,希望能減少換手的時間及改善封包的遺失率。

圖 2- 6 FMIPv6 換手架構示意圖

(26)

16

2.5.1 FMIPv6 的組成元件

˙ Previous Access Router (PAR):

換手前 MN 的預設路由器。

˙ New Access Router (NAR):

換手後 MN 的預設路由器。

˙ Previous Care-of Address (PCoA):

換手前 MN 使用的 CoA.

˙ New Care-of Address (NCoA):

換手後 MN 使用的 CoA.

˙ Router Solicitation for Proxy Advertisement (RtSolPr):

MN 送給 PAR 以取得換手相關資訊的訊息。

˙ Proxy Router Advertisement (PrRtAdv):

PAR 回覆 MN 的訊息,內含鄰近網路連結的資訊。

˙ Fast Binding Update (FBU):

MN 送給 PAR 的訊息,指示其轉送 MN 的資料。

˙ Fast Binding Acknowledgement (FBAck):

PAR 回覆 FBU 的訊息。

˙ Handover Initiate (HI):

PAR 送給 NAR 的訊息,讓 NAR 初始 MN 的換手程序。

˙ Handover Acknowledgement (HAck):

NAR 回覆 HI 的訊息。

˙ Unsolicited Neighbor Advertisement (UNA):

MN 送給 NAR 的訊息,告知換手已完成。

2.5.2 FMIPv6 的運作原理

FMIPv6 分為兩種模式,預測模式(Predictive Mode)及反應模式(Reactive Mode),

模式的切換取決於行動節點(MN)的移動速度,在一般理想情況下預測模式即可順利 的完成換手,但是當 MN 移動的速度過快導致預測模式無法順利完成換手就會進入反 應模式。

預測模式,換手流程如圖 2- 7 所示,當 MN 漫遊時接受到資料連接層驅動器的

(27)

17

訊號得知將進行換手程序時,會開始準備換手,首先會送出 Router Solicitation for Proxy Advertisement 給 PAR,要求回覆含有 NAR 的前序(prefix)、IP 位址及其他相關 資訊,PAR 收到之後會回覆 Proxy Router Advertisement(PrRtAdv)訊息以告知要求的資 訊。之後 MN 會依據 PrRtAdv 內的資訊產生一個新的 CoA(NCoA)。接著 MN 會向 PAR 送出包含 NCoA 及 PCoA 的 Fast Binding Update(FBU)訊息,PAR 收到後會開始將要 送給 MN 的封包存在緩衝區內,同時向 NAR 送出包含 MN 的 NCoA 的 Handover Initiate(HI)訊息,NAR 收到後需對該 NCoA 進行重複位址偵測(Duplicate Address Detection, DAD)驗證其在新網域下是否唯一,若驗證結果該位址不是唯一,NAR 會 產生一組新的 NCoA 供 MN 使用。之後 NAR 會回覆 Handover Acknowledgement(HAck) 給 PAR,PAR 再對 MN 及 NAR 回覆 Fast Binding Acknowledgement(FBAck)。接著 PAR 與 NAR 之間會建立一 Tunnel,PAR 會將緩衝區內要送給 MN 的封包利用上述 Tunnel 送給 NAR,這樣後續換手發生時中斷連線期間的封包不會遺失。最後當 MN 連接上 NAR 後,會送 Unsolicited Neighbor Advertisement (UNA)給 NAR,告知 NAR 自己已 經在其網域內,NAR 收到後便將緩衝區內的封包轉傳給 MN,後續 MN 即可繼續換 手前的通訊。以上是 FMIPv6 預測模式的換手流程。

當 MN 移動的速度過快,導致尚未收到 FBAck 便進入 NAR 所在的新網域內,這 時會進入反應模式。如圖 2- 8 所示,MN 會送出 UNA 告知 NAR 自己已經在其網域 內及發送 FBU 給 NAR,NAR 收到後再將 FBU 轉送給 PAR,藉此通知 PAR 將欲送給 MN 的封包轉送到 NAR。再來 MN 需要對 NCoA 進行重複位址偵測(DAD)以驗證其 唯一性。接下來若 MN 進入新網域之前 PAR 未曾發送過 HI 訊息給 NAR 的話,則會 發送 HI 訊息給 NAR,然後 NAR 收到後回覆 HAck 訊息給 PAR。最後 PAR 再將欲送 給 MN 的封包連同 FBAck 送給 NAR。至此完成了換手流程。以上是 FMIPv6 反應模 式的換手流程。

(28)

18

圖 2- 7 FMIPv6 Predictive Mode

(29)

19

圖 2- 8 FMIPv6 Reactive Mode

2.6 Message-Digest Algorithm 5 (MD5)

MD5[16]是一個雜湊函數(Hash function),一般常用在資訊安全領域以及驗證檔案 的完整度。MD5 的原理是將任意長度的文字、檔案等資訊經過一連串的運算,壓縮 成固定長度 128 bits 的值,例如中華大學四個字經過 MD5 運算得到的雜湊值為 3bbfb1c6eeb790820914751424eb04d7,此類雜湊值可以達到指紋(fingerprint)的功用,

可以應用在如數位簽章、驗證訊息的完整性等。

(30)

20

圖 2- 9 MD5

2.7 其他相關研究

AFMIPv6[9],如圖 2- 10 所示,藉由在進行換手時讓 Router、Mobile Node (MN)、

Corresponding Node (CN) 切換到 Anycast Addressing 模式,以及兩個緩衝區存放連線 中斷期間的封包,使得 MN 在新的轉址位址通過重複位址偵測的測詴前不會遺失來自 CN 的封包。此方法雖然改善了封包遺失率但是依然要進行 DAD。

圖 2- 10 AFMIPv6[9]

(31)

21

Optimistic DAD[10]認為 IPv6 位址重複的機率極低,DAD 的結果幾乎都是成功,

故本方法在完成標準 DAD 流程前就使用該新轉址位址了,但若是真的發生重複,其 後續處理的時間也會比標準的 DAD 還長。

Fast DAD[11]在路由器處建立一個稱為 DAD Table 的表格,紀錄該網路底下所有 主機的 IP 位址,當一主機產生 IP 位址後便去向路由器查表,若查無結果即表示無重 複,但此方法僅適用於 Stateless Address Autoconfiguration 的環境。

Remote DHCPv6[12]讓 MN 利用 DHCPv6 relay 在原有網路底下時就提前準備換 手,但是此方法取消了 DAD,沒有對新的轉址位址進行驗證,故產生的 IP 位址無法 保證具唯一性。

參考文獻[13]這篇提出一種產生 IP 位址的方法,但是在 Stand-alone MANET 部 份,其產生 IP 位址的步驟裡有一部份是用亂數產生的,如圖 2- 11 所示,沒辦法保證 其唯一性。

圖 2- 11 參考文獻[13]中 Stand-alone MANET 部份的 IP 位址格式

參考文獻[14]這篇也是改良產生 IP 位址的方法,如圖 2- 12 所示,IPv6 位址格式 中的後 64 位元來源是將 MN 的 MAC 位址轉成 IEEE EUI-64 格式,中間的 16 個位元 是用 Cell ID 代替,而 Cell ID 是由 WiMAX 的 Base Station ID 計算而來,故只適用於 WiMAX 的環境。

(32)

22

圖 2- 12 參考文獻[14]產生 IP 位址的方法

參考文獻[15]這篇是改良 IP 位址取得的方式,由路由器從論文中所謂的”Free Address Pool”裡配發一組 IP 位址給行動節點使用,但此方法僅適用於 Stateful Address Autoconfiguration 的環境。

(33)

23

第三章 系統架構

本章節將介紹本篇論文方法的系統架構,包含如何產生一個 IPv6 位址、產生 IPv6 位址後如何偵測是否重複,最後是將之與 Mobile IPv6、Hierarchical Mobile IPv6、Fast Mobile IPv6 結合。

3.1 產生 IPv6 位址

3.1.1 取得網路前序(Network Prefix)

當行動裝置漫遊到其他網域後,為了保持既有的通訊會需要進行換手程序,如同 Mobile IPv6、Hierarchical Mobile IPv6、Fast Mobile IPv6 的運作流程,會藉由送出 Router Solicitation 訊息或由路由器週期性的廣播以取得 Router Advertisement 訊息,

訊息中會帶有該網域的網路前序(Network Prefix),如此便可取得網路前序及其長度 N,

如圖 3- 1 所示,N + M = 128。

圖 3- 1 IPv6 位址格式

3.1.2 生成 IPv6 位址

在取得網路前序之後,接著需要生成 IPv6 位址的後 128-N 個位元。生成的方法 流程圖如下圖 3- 2 所示:

(34)

24

圖 3- 2 生成 IPv6 位址的 Host Number

首先第一步驟是取得 MAC 位址的後 24 位元流水號。第二步驟是取得系統的時 間。第三步驟是將 24 位元的 MAC 位址流水號及系統時間合在一起成為一個字串,

接著再利用 2.7 節提到的 MD5 雜湊演算法,將該字串當作輸入,運算得到一個 128 位 元的 MD5 雜湊值。第四步驟,如圖 3- 1 所示,因為我們需要 M 個位元的 Host Number,

因此只需要擷取 MD5 雜湊值的任意 M 個位元即可。最後再將這 M 個位元的 Host Number 與 N 個位元的網路前序合併即可得到 IPv6 位址。例如一主機取得到的網路 前 序 是 64 位 元 的 2010:1026:1116:1210 , MAC 位 址 是 00-19-87-76-06-22 (00000000-0011001-10000111-01110110-00000110-00100010),系統的時間是 6 分 22 秒 999 毫秒(00000110, 00010110, 0000001111100111),MD5(MAC 後 24 位元+分秒毫

(35)

25

秒) = 7fc4937b15e4e3dd63c8dacf201051a7,擷取前 64 個位元後再與 64 位元的網路前 序合併即可得到一 IPv6 位址 2010:1026:1116:1210:7fc4:937b:15e4:e3dd

3.2 位址重複的偵測方法

在 IPv4 的環境下,偵測 IP 位址是否重複的方法,是藉由廣播送出 ARP(Address Resolution Protocol) request,其中來源 IP 位址及目的 IP 位址均是設為欲測詴的 IP 位 址。正常情況下不會有任何的 ARP reply,所以假設有節點回覆 ARP reply 即表示該 IP 位址重複,需要重新產生、設定新的 IP 位址。

在 IPv6 的環境下,偵測 IP 位址是否重複的方法,是藉由 2.2 節提到的重複位址 偵測(Duplicate Address Detection)來測詴該位址是否重複,若重複則需要重新產生、

設定新的 IP 位址。以上是在 IPv4 及 IPv6 偵測 IP 位址是否重複的標準作法。

本篇論文提出了一個簡化的重複位址偵測的方法(Simplified DAD, SDAD)來驗證 新位址的唯一性。圖 3- 3 (a) 所示之 Stateless Address Autoconfiguration 流程,在產生 新的 IP 位址後,MN 需要送出 Neighbor Solicitation (NS) 封包。如果新的位址被其他 MN (以 MN2 表示之) 使用了,MN2 需以 Neighbor Advertisement (NA) 封包告知 MN 新位址已被使用了。但是假設 MN2 的位置太遠,以至於收不到 MN 送出的 NS 封包。

這時 Access Router (AR) 收到 NS 後,會以 MN 的新位址以及 MN 的 MAC 位址與 AR 的 Neighbor Cache 內的資訊作比對。如果新的位址已經被其他的 MN 使用了,AR 會 以 NA 封 包 通 知 MN 新 位 址 已 被 使 用 。 圖 3- 3 (b) 說 明 Stateful Address Autoconfiguration 流程,當 AR 收到 NS 時,會產生新的沒被使用的 CoA,再利用 NA 傳送予 MN。

(36)

26

圖 3- 3 Simplified DAD

本方法大致上與原 DAD 類似,由第四章的分析顯示 IP 位址衝突的機率非常低,

是故我們省略原 DAD 中隨機延遲的等待時間 0~1000 毫秒,以提高 DAD 的執行效 率。

3.3 結合 Mobile IPv6

本節將介紹如何將本篇的方法結合至 Mobile IPv6 中。如圖 3- 4 所示,當 MN 收 到 AR 發出的 Router Advertisement 之後,MN 便利用 3.1 節的方法產生 NCoA (New Care-of Address),接著再執行 Simplified DAD 驗證其唯一性。後續流程與標準的

(37)

27

Mobile IPv6 相同,無做任何更動。

圖 3- 4 Simplified DAD 結合 MIPv6

3.4 結合 Hierarchical Mobile IPv6

3.4.1 在相同 MAP 底下移動的換手

如圖 3- 5 所示,當 MN 收到 AR 發出的 Router Advertisement 之後,MN 便利用 3.1 節的方法產生 LCoA,接著再執行 Simplified DAD 驗證其唯一性。後續流程與標 準的 HMIPv6 相同,無做任何更動。

(38)

28

圖 3- 5 Simplified DAD 結合相同 MAP 底下移動的 HMIPv6

3.4.2 在不同 MAP 底下移動的換手

如圖 3- 6 所示,當 MN 收到 AR 及 MAP 發出的 Router Advertisement 之後,MN 便利用 3.1 節的方法產生 LCoA 及 RCoA,接著再分別執行 Simplified DAD 驗證其唯 一性。後續流程與標準的 HMIPv6 相同,無做任何更動。

(39)

29

圖 3- 6 Simplified DAD 結合不同 MAP 底下移動的 HMIPv6

3.5 結合 Fast Mobile IPv6

3.5.1 Predictive Mode

如圖 3- 7 所示,當 MN 收到 AR 發出的 Router Advertisement 之後,MN 便利用 3.1 節的方法產生 NCoA(New Care-of Address),接著再執行 Simplified DAD 驗證其唯 一性。後續流程與標準的 FMIPv6 相同,無做任何更動。

(40)

30

圖 3- 7 Simplified DAD 結合 FMIPv6 Predictive Mode

3.5.2 Reactive Mode

如圖 3- 8 所示,當 MN 收到 AR 發出的 Router Advertisement 之後,MN 便利用 3.1 節的方法產生 NCoA(New Care-of Address),接著移動到 NAR 底下後再執行 Simplified DAD 驗證 NCoA 的唯一性。後續流程與標準的 FMIPv6 相同,無做更動。

(41)

31

圖 3- 8 Simplified DAD 結合 FMIPv6 Reactive Mode

(42)

32

第四章 數值分析

本論文使用著名的 MD5 雜湊函數,此一演算法已於 2004 年被中國的王小雲教授 成功破解[20]:給定一個 MD5 雜湊值詴找出一個符合的輸入訊息。此一破解方式只 會攻擊 MD5 於身份認證與完整性之應用,但不影響本論文探討之應用領域。本論文 需考慮的 MD5 應用特性,在於其每一位元 0 與 1 之分佈機率。在參考文獻[21],作 者提出測詴方式來驗證 MD5 此一特性,結果顯示每一位元 0 與 1 出現的比例約為 50%。

且 MD5 演算法相鄰位元關係之分佈是無關的。但該論文之數據皆為隨機產生,而本 論文因使用到時間作為 MD5 之部份參數,是故本論文依此特性重做其部份實驗。

圖 4- 1 產生 IP 位址的流程

如圖 4- 1 所示,本篇論文產生 IP 位址的方式是將 MAC 位址與時間合起來之後,

經過 MD5 的運算得到一個 128 位元的 MD5 雜湊值,再從中取出需要的 M 個位元用 以產生 IP 位址。例如一主機從 Router Advertisement 中得到的網路前序是 64 位元,

按照 3.1 節的方法,會以該主機的 MAC 位址及當下的時間作 MD5 運算,接著再取 出 MD5 雜湊值的前 64 位元與 64 位元的網路前序合併成一個新的 IPv6 位址。而本節 就是要說明圖 4- 1 中的 Filter,為什麼能任意取 MD5 雜湊值的 M 個位元來用。以下 二小節會分別根據 MAC 位址和時間的異同對於 MD5 雜湊值的變化作分析與探討。

(43)

33

4.1 MAC 位址固定&時間作變化

表 1 4.1 節實驗的參數

Parameter Value

Minute 0 ~ 59(00000000 ~ 00111011) Second 0 ~ 59(00000000 ~ 00111011)

Millisecond 0 ~ 999(0000000000000000 ~ 0000001111100111) MAC Last 24 bits of a fixed MAC address : FA-3E-E5

實驗 A:

在本實驗中,假設在相同 Access Router 底下有部份 MN 擁有相同後 24 位元的 MAC 位址。而基於 Poisson Process [22],在同一時間內不會有兩個 MN 進行換手。

因此本實驗目的是驗證任意兩個擁有相同後 24 位元 MAC 位址的 MN 在不同時間執 行換手時是否會產生出相同的新 IP 位址。

實驗以電腦程式進行,比對 MAC 與時間的所有可能組合經過 MD5 雜湊函數運 算得到的 MD5 雜湊值是否重複。實驗參數如表 1 所示。

實驗測詴結果為 MD5 雜湊值均不相同,即不重複。

實驗 B:

本實驗的目的是在觀察統計 MD5 雜湊值的位元分佈。

實驗方式是將實驗 A 中 MAC 與時間的所有可能組合經過 MD5 運算得到的 MD5 雜湊值換成二進位表示法,並統計 128 位元中各位元 0 與 1 的次數與比率。

如下圖 4- 2 所示,可以得知 128 位元中各位元 1 出現的次數,而 0 出現的次數為 360 萬減掉 1 出現的次數。

(44)

34

圖 4- 2 MAC 位址固定&時間作變化產生的 MD5 雜湊值每一位元 1 出現之次數

如下圖 4- 3 所示,可以得知 128 位元中各位元 1 出現的比例,約為 50%。

(45)

35

圖 4- 3 MAC 位址固定&時間作變化產生的 MD5 雜湊值每一位元 1 出現之比例

MD5 雜湊值 128 位元中各位元 0 與 1 出現比例之標準差如下圖 4- 4 所示,皆約 為 0.5,由圖 4- 3 與圖 4- 4 可以推出本論文產生之各位元之 0 與 1 分佈吻合離散均勻 分佈 (Discrete Uniform Distribution) 之特性。

(46)

36

圖 4- 4 MAC 位址固定&時間作變化產生的 MD5 雜湊值每一位元 0 與 1 出現比例之 標準差

4.2 MAC 位址及時間均作變化

表 2 4.2 節實驗的參數

Parameter Value

Minute 0 ~ 59(00000000 ~ 00111011) Second 0 ~ 59(00000000 ~ 00111011)

Millisecond 0 ~ 999(0000000000000000 ~ 0000001111100111) MAC Random 30 MAC address sequence number

(47)

37

實驗 A:

本實驗的目的是在測詴 MAC 位址流水號與時間均不固定的情況下經過 MD5 運 算後產生的 MD5 雜湊值是否會重複。

實驗以電腦程式進行,亂數隨機產生三十組 MAC 流水號再與時間的所有可組合 經過 MD5 運算得到的 MD5 雜湊值比對是否重複。實驗參數如表 2 所示。

實驗 B:

本實驗的目的是在觀察統計 MD5 雜湊值的位元分佈。

實驗方式是將實驗 A 中亂數隨機產生三十組 MAC 流水號再與時間的所有可組合 經過 MD5 運算得到的 MD5 雜湊值換成二進位表示法,並統計 128 位元中各位元 0 與 1 的次數與比率。

如下圖 4- 5 所示,可以得知 128 位元中各位元 1 出現的次數,而 0 出現的次數為 108000000 減掉 1 出現的次數。

(48)

38

圖 4- 5 MAC 位址及時間均作變化產生的 MD5 雜湊值每一位元 1 出現之次數

如下圖 4- 6 所示,可以得知 128 位元中各位元 1 出現的比例,約為 50%。

(49)

39

圖 4- 6 MAC 位址及時間均作變化產生的 MD5 雜湊值每一位元 1 出現之比例

MD5 雜湊值 128 位元中各位元 0 與 1 出現比例之標準差如下圖 4- 7 所示,皆約 為 0.5,由圖 4- 6 與圖 4- 7 可以推出本論文產生之各位元之 0 與 1 分佈吻合離散均勻 分佈 (Discrete Uniform Distribution) 之特性。

(50)

40

圖 4- 7 MAC 位址及時間均作變化產生的 MD5 雜湊值每一位元 0 與 1 出現比例之 標準差

4.3 小結

由以上二小節的實驗統計可以得到兩個結論,一是 MD5 雜湊值很難重複,另一 個是從二小節中的實驗 B 之結果可以看出 MD5 雜湊值的 128 位元中的各位元是 0 或 1 的機率幾乎是一樣的,即機率是呈離散均勻分佈(Discrete Uniform Distribution),所 以從 128 位元中任意取某些位元的機率會是相同的,因此假設系統需要 M 個位元時,

即可任意從 128 位元中取出 M 個位元使用。

(51)

41

第五章 效能分析

本章節將計算使用本篇論文所提的方法應用在著名的 IP Mobility 方法,Mobile IPv6,Hierarchical Mobile IPv6,Fast Mobile IPv6 上的效能。

5.1 產生 IP 位址的花費時間

在評估整體方法效率之前,首先需要知道使用 MD5 產生 IP 位址平均需時多久。

實驗方法以電腦程式產生 360 萬次進行測詴,實驗環境如表 3 所示。

表 3 實驗平台規格與軟體

Item Description

CPU Intel(R) CORE(TM) i7-920

RAM 4GB

OS Windows 7 Enterprise Edition Programming Language C++

Compiler GCC-3.4.5

測詴的結果,360 萬次需時約 28.5 秒,故平均一次需時約 0.008ms。

5.2 Simplified DAD 平均花費時間

在取得產生 IP 位址所需時間之後,接著就可以估算 Simplified DAD (SDAD) 平 均所需花費的時間了。SDAD 時間( )包含產生 IP 位址的時間( ),送出 Neighbor Solicitation 的時間( ),最後是收到 Neighbor Advertisement 的時間( )。假設 Simplified DAD 單一次測詴的時間為 。在 SDAD 中,若第一 次產生的 IP 位址重複的話,則會有第二次產生新的位址與 DAD 的測詴,依此類推。

令 IP 位址重複的機率為 P,則平均 SDAD 所需時間如式 1 所示。

(52)

42

… ( 01 )

… ( 02 )

… ( 03 )

… ( 04 )

在 SDAD 中, … ( 05 )

其中式 5 中的 M 是 IPv6 位址扣除網路前序(Network Prefix)後的位元數,即從 MD5 雜湊值中擷取的位元長度。依第四章數值分析結果,使用 MD5 產生 IP 位址中之 M 位元的重複機率如下表 4 所示。 表 4 不同長度 M 的機率

M P

8 16 32 64 由表 4 得知 P << 1,所以(式 4) 值近似於 值。 … ( 06 )

最後我們以實際的數字來詴算系統整體平均所需花費時間,其中 即 MN 與 AR 之間的延遲時間,我們採用了參考文獻[23]的設定,參數如下表 5 所示。所以 的值約為 … ( 07 )

表 5 計算系統整體平均花費時間用的參數表

Parameter Value

0.008ms

3ms

3ms

(53)

43

5.3 與現有換手機制比較

本章節將比較本篇論文方法與現有的換手機制的整體換手延遲時間。而計算換手 延遲所用到的參數亦採用了參考文獻[23]的設定,如下表 6 所示。

表 6 計算換手延遲用的參數表

Parameter Value

1000ms

50ms

3ms

8ms

25ms

150ms

150ms

5ms

6.008ms

下表 7 是本篇論文方法與現有換手機制使用原 DAD 機制的整體換手延遲時間之 比較結果。計算過程描述於 5.3.1 ~ 5.3.5 小節。其中 FMIPv6,MN 事先預測 NAR,

並啟動換手機制。如果從啟動開始計算至換手完成,Predictive Mode 時間累計為 1075ms,但如果 MN 可以以 Predictive Mode 完成換手,表示 MN 在 PAR 停留較久或 移動速度很慢,所以前置作業時間應可不列入累計,所以另一種計算為從實際 L2 Handover 開始計算,是故 FMIPv6 中 Predictive Mode 列了兩種累計結果。但無論採 用何方式,使用 SDAD 的方法花費時間是固定的,為 6.008ms。雖然在 Predictive Mode 中改善百分比為 0,但由於 SDAD 所需之時間 6.008ms 此一值可以推出 FMIPv6 成功 使用 Predictive Mode 完成換手的機率大幅提昇,故增加 FMIPv6 實際應用的可行性。

(54)

44

表 7 整體換手延遲時間之比較結果

網際網路行動 通訊協定名稱

原方法 結果

(DAD)

本論文改善 結果

(SDAD)

改善百分 比(減少百 分比)

DAD

在換手 所佔時 間比例

SDAD

在換手 所佔時 間比例

描述章節

MIPv6 1756ms 762.008ms 56.6% 56.9% 0.8% 5.3.1 HMIPv6 相同

MAP 下移動

1072ms 78.008ms 92.7% 93.3% 7.7% 5.3.2

HMIPv6 不同 MAP 下移動

2772ms 784.016ms 71.7% 72.2% 1.5% 5.3.3

FMIPv6 Predictive Mode

1075ms (含 DAD)

53ms (不含 DAD)

81.008ms (含 SDAD)

53ms (不含 SDAD)

92.5 %

0%

93%

(含 DAD)

0%

(不含 DAD)

7.4%

(含 SDAD)

0%

(不含 SDAD)

5.3.4

FMIPv6 Reactive Mode

1079ms 85.008ms 92.1% 92.7% 7.1% 5.3.5

5.3.1 結合 MIPv6 並作比較

標準 MIPv6 整體換手延遲時間(

):

… ( 08 )

代入表 6 的參數。

(55)

45

… ( 09 )

將各參數值代入式 9。

… ( 10 )

… ( 11 )

本篇方法結合 MIPv6 的整體換手延遲時間(

):

… ( 12 ) 代入表 6 的參數。

… ( 13 )

將各參數值代入式 13。

… ( 14 )

… ( 15 )

比較

在 IP 位址設定的部份,本篇方法減少了 99.4%的延遲時間。

而在整體換手的部份,本篇方法減少了 56.6%的延遲時間。

5.3.2 結合相同 MAP 下移動的 HMIPv6 並作比較

標準相同 MAP 下移動的 HMIPv6 整體換手延遲時間(

):

(56)

46

… ( 16 ) 代入表 6 的參數。

… ( 17 ) 將各參數值代入式 17。

… ( 18 )

… ( 19 )

本篇方法結合相同 MAP 下移動 HMIPv6 的整體換手延遲時間(

):

… ( 20 ) 代入表 6 的參數。

… ( 21 ) 將各參數值代入式 21。

… ( 22 )

… ( 23 )

比較

在 IP 位址設定的部份,本篇方法減少了 99.4%的延遲時間。

而在整體換手的部份,本篇方法減少了 92.7%的延遲時間。

5.3.3 結合不同 MAP 下移動的 HMIPv6 並作比較

標準不同 MAP 下移動的 HMIPv6 整體換手延遲時間(

):

… ( 24 )

(57)

47

代入表 6 的參數。

… ( 25 ) 將各參數值代入式 25。

… ( 26 )

… ( 27 )

本篇方法結合不同 MAP 下移動 HMIPv6 的整體換手延遲時間(

):

… ( 28 ) 代入表 6 的參數。

… ( 29 ) 將各參數值代入式 29。

… ( 30 )

… ( 31 )

(58)

48

比較

在 IP 位址設定的部份,本篇方法減少了 99.4%的延遲時間。

而在整體換手的部份,本篇方法減少了 71.7%的延遲時間。

5.3.4 結合 FMIPv6 Predictive Mode

標準 FMIPv6 Predictive Mode 整體換手延遲時間(

):

… ( 32 ) 代入表 6 的參數。

… ( 33 )

將各參數值代入式 33。

… ( 34 )

… ( 35 )

標準 FMIPv6 Predictive Mode 整體換手延遲時間(

):

… ( 36 )

代入表 6 的參數。

… ( 37 )

將各參數值代入式 37。

… ( 38 )

… ( 39 )

(59)

49

本 篇 方 法 結 合

FMIPv6 Predictive Mode

的 整 體 換 手 延 遲 時 間

(

):

… ( 40 )

代入表 6 的參數。

… ( 41 )

將各參數值代入式 41。

… ( 42 )

… ( 43 )

本 篇 方 法 結 合

FMIPv6 Predictive Mode

整 體 換 手 延 遲 時 間

(

):

… ( 44 )

代入表 6 的參數。

… ( 45 )

將各參數值代入式 45。

… ( 46 )

… ( 47 )

比較 在 IP 位址設定的部份,本篇方法減少了 99.4%的延遲時間。

而在整體換手的部份,本篇方法減少了 92.5%的延遲時間。

(60)

50

5.3.5 結合 FMIPv6 Reactive Mode

標準 FMIPv6 Reactive Mode 整體換手延遲時間(

):

… ( 48 )

代入表 6 的參數。

… ( 49 ) 將各參數值代入式 49。

… ( 50 )

… ( 51 )

本篇方法結合 FMIPv6 Reactive Mode 的整體換手延遲時間(

):

… ( 52 )

代入表 6 的參數。

… ( 53 ) 將各參數值代入式 48。

… ( 54 )

… ( 55 )

比較

在 IP 位址設定的部份,本篇方法減少了 99.4%的延遲時間。

而在整體換手的部份,本篇方法減少了 92.1%的延遲時間。

(61)

51

第六章 結論

換手時的延遲時間中很大部份都是在進行重複位址偵測,如此漫長的延遲造成封 包遺失與 TCP 傳送失序的問題,使得整體換手效能的降低。

本篇論文利用 MD5 來產生 IP 位址並且也簡化了偵測位址是否重複的方法,使得 換手時不需要再作漫長的標準重複位址偵測。

將本篇論文提出的方法與現有的換手機制結合後與原有換手機制作效能比較分 析,其結果顯示在 IP 位址設定的部份,結合本篇的方法至少減少了 99.4%的延遲時 間,而在整體換手的部份,MIPv6 減少了 56.6%的延遲時間,在相同 MAP 下移動的 HMIPv6 減少了 92.7%的延遲時間,在不同 MAP 下移動的 HMIPv6 減少了 71.7%的延 遲時間, FMIPv6 Reactive Mode 減少了 92.1%的延遲時間,這些延遲時間的減少能 減少封包遺失的數量,讓整體換手效能得以提昇。而 FMIPv6 Predictive Mode 方面,

因為 SDAD 所花時間較少,故成功使用 Predictive Mode 完成換手的機率大幅提昇,

增加 FMIPv6 實際應用的可行性。

(62)

52

參考文獻

[1] J. B. Postel, ed. “Internet Protocol,” RFC 791, IETF, September 1981.

[2] S. Deering and R. Hinden, “Internet Protocol, Version 6 (IPv6) Specification,”

RFC 2460, IETF, December. 1998.

[3] C. Perkins, “IP Mobility Support for IPv4,” RFC 3344, IETF, August 2002.

[4] D. Johnson, C. Perkins, and J. Arkko, “Mobility Support in IPv6,” RFC 3775, IETF, June 2004.

[5] S. Thomson, T. Narten, and T. Jinmei, “IPv6 Stateless Address Autoconfiguration,”

RFC 4862, IETF, September 2007.

[6] R. Droms, J. Bound, B. Volz, T. Lemon, C. Perkins, and M. Carney, “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” RFC 3315, IETF, July 2003.

[7] H. Soliman, C. Castelluccia, K. ElMalki, and L. Bellier, “Hierarchical Mobile IPv6 (HMIPv6) Mobility Management,” RFC 5380, IETF, October 2008.

[8] R. Koodli, “Mobile IPv6 Fast Handovers,” RFC 5268, IETF, June 2008.

[9] Wei-Kuang Lai, Chin-Shiuh Shieh, and Kuang-Ning Chu, “Improving Handover Performance by Switching Between Unicast and Anycast Addressing,” IEEE

Transactions on Vehicular Technology, Vol. 58, No. 4, pp. 1972-1982, May 2009.

[10] N. Moore, “Optimistic Duplicate Address Detection (DAD) for IPv6,” RFC 4429, IETF, April 2006.

[11] Tsan-Pin Wang and Jui-Hsien Chuang, “Fast Duplicate Address Detection for Seamless Inter-Domain Handoff in All-IPv6 Mobile Networks,” Wireless Personal

Communications, Vol. 42, No. 2, pp. 263-275, July 2007.

[12] Tomasz Mrugalski, Jozef Wozniak, and Krzysztof Nowicki, “Remote DHCPv6 Autoconfiguration for Mobile IPv6 nodes,” in Proceeding of the 14th International

(63)

53

Telecommunications Network Strategy and Planning Symposium (NETWORKS 2010),

Warsaw, Poland, September 2010, pp. 1-7.

[13] Panita Pongpaibool, Kannikar Siriwong Na Ayutaya, Kanchana Kanchanasut, and Hajime Tazaki, “Rapid IPv6 Address Autoconfiguration for Heterogeneous Mobile Technologies,” in Proceeding of the 8th International Conference on Intelligent

Transport System Telecommunications (ITST 2008), Phuket, Thailand, October 2008,

pp. 234-239.

[14] Jeong Sup Lee, Sam Yeoul Choi, and Young Ik Eom, “Fast Handover Scheme Using Temporary CoA in Mobile WiMAX Systems,” in Proceeding of the 11th International

Conference on Advanced Communication Technology (ICACT 2009), Gangwon-Do,

South Korea, February 2009, Vol. 3, pp. 1772-1776.

[15] Shilpy Gupta and Sapna Gambhir, “An Improved Architecture for Minimizing Handover Latency in MIPv6,” in Proceeding of International Conference on Methods

and Models in Computer Science (ICM2CS 2010), New Delhi, India, December 2010,

pp. 106-111.

[16] R. Rivest, “The MD5 Message-Digest Algorithm,” RFC 1321, IETF, April 1992.

[17] T. Narten, E. Nordmark, W. Simpson, and H. Soliman, “Neighbor Discovery for IP version 6 (IPv6),” RFC 4861, IETF, September 2007.

[18] C. Perkins, “IP Encapsulation within IP,” RFC 2003, IETF, October 1996.

[19] W. Simpson, “IP in IP Tunneling,” RFC 1853, IETF, October 1995.

[20] Xiaoyun Wang and Hongbo Yu, “How to Break MD5 and Other Hash Functions,” in

Proceeding of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Aarhus, Denmark, May 2005, pp. 19-35.

[21] D.A. Karras and V.Zorkadis, “A novel suite of tests for evaluating one-way hash functions for electronic commerce applications,” in Proceeding of the 26th Euromicro

(64)

54

Conference, Maastricht, The Netherlands, September 2000, pp. 464-468.

[22] Douglas C. Montgomery and George C. Runger, Applied Statistics and Probability for

Engineers 3/e, Wiley Publisher, 2002.

[23] Tzu-Hsun Lin, Reduce Out-of-sequence Packets During Handoff by Freeze-TCP, Master Theses, Department of Computer Science and Information Engineering, Chung-Hua University, January 2010.

參考文獻

相關文件

以前參加科展時,在網路上看過水果發電的研究,覺得很好奇,便到網路上查相關的資

由於較大型網路的 規劃必須考慮到資料傳 輸效率的問題,所以在 規劃時必須將網路切割 成多個子網路,稱為網 際網路。橋接器是最早

(現場取消未講授);三、 「中東地區的女性與發展—女性領導力(Women and Development in the Middle East—Feminizing Leadership) 」 、 「新網路世紀的創新與發展(Innovation and Growth

 HA’s and FA’s broadcast their presence on each network to which they are attached Beacon messages via ICMP Router Discovery Protocol (IRDP).  MN’s listen for advertisement

(A)憑證被廣播到所有廣域網路的路由器中(B)未採用 Frame Relay 將無法建立 WAN

• 1961 年Lawrence Roberts使用低速網路線 將劍橋與加州的電腦相連,展示廣域網路 (wide area network) 的概念..

當 Bundle 啟動後會將自身所提供的服務註冊到 Service Registry 中,如圖 2-12,Service Registry 會對部署在 OSGi Framework 的 Bundles 發送新加入 Bundle 的 Service

科技日新月異的發展為人們帶來不少的改變,以購物行為來說根據 Rayport and Sviokla(1994)所提出的看法,網際網路的出現以使商業競爭從「實體市場