第一章 緒論
1.3. 章節簡介
z 第一章 緒論
簡介本篇論文的研究動機及目的 z 第二章 背景知識及相關議題介紹
相關背景知識介紹以及研究議題探討 z 第三章 相關研究
介紹相關領域的研究概況
z 第四章 無線網狀網路的行動性支援機制
闡述本篇論文所提出的位置管理與流暢換手機制。
z 第五章 模擬實驗結果與討論
描述實驗環境、參數設定及實驗結果分析與討論。
z 第六章 結論與未來工作
結論、本篇論文的總結以及未來可進行的研究方向。
- 5 -
第二章 背景知識及相關議題介紹
2.1. IEEE 802.11s (802.11s WMNs)
802.11s WMNs 可以讓 802.11 無線區域網路 (Wi-Fi)的擷取點 (Access Point,AP)能自動建立並修復連結,與 Wi-Fi 中無線橋接系統 (Wireless Distribution System,WDS)必須事先設定路徑的無線橋接功能 相較,增加更多的彈性及便利,是目前相當熱門網路架構。802.11s WMNs 標準定義了透過無線電波溝通的媒體存取控制層 (MAC Layer)介面,此標 準在 2004 年由 IEEE 制訂之後發展至今。
在這個章節裡,我們將先介紹 802.11s WMNs 的背景知識,並且針對 支援行動性 (Mobility)的相關作法以及可能產生的問題作介紹。
2.2. Background on 802.11s WMNs
我們基於上述 802.11s WMNs 作為主要的研究對象,由於 802.11s WMNs 所制訂的標準除了增加 Mesh Header 外,還新增了 Path Selection Protocol、MAC Address Translation 以及 Proxy Table、Proxy Update messages 等新規格,因此在對於 Mobility 的支援上也衍生出一些特別的 問題,所以我們將介紹 802.11s WMNs 基本定義及運作方式。
802.11s WMNs所定義的 WMNs: 在一群 MPs中擁有相同的 MeshID 且能執行相同 Mesh Functionality 的 MPs 視為同一個 WMNs。Mesh Functionality 包括 Path Selection Protocol、Radio Metric 等。
- 6 -
2.2.1 Hybrid Wireless Mesh Protocol
這一節我們要先介紹 802.11s WMNs 的 Path Selection Protocol:
Hybrid Wireless Mesh Protocol (HWMP), 採 用 兩 種 可 並 行 模 式 的 Routing Protocol:
z On Demand Mode (Ad-hoc On-Demand Distance Vector Routing Protocol,AODV [5] ): 使用的時機有兩種情形,一種是在沒有設定 任何Root MP的情況,另一種是當有Root MP存在但是AODV能建出一 條更好的Path到指定的Destination。
z Proactive Tree Building Mode: 可以透過兩種不同的機制,建出以 Root 為基礎的 Tree Topology,並透過 Proactive 的方式維護。
2.2.1.1 AODV
在 Ad-hoc Network 中相當著名的 Routing Protocol,參考 Figure 2-1,當節點 4 欲建立到節點 6 連線,發現節點 4 的 Routing Table 並沒有 到節點 6 的路徑,節點 4 會執行 AODV 建立到節點 6 的路徑,首先發送 Broadcast 的 Path Request (PREQ) message,所有收到 PREQ 的 MP 都 會建立到節點 4 的反向路徑,並記錄此路徑的 Metric (衡量路徑中節點間的
- 7 -
以節點 6 可能會收到多份的 PREQ,只有當目前收到的 PREQ 中 Metric 比 之前收到的 PREQ 更好時,節點 6 就會選擇目前最好的路徑回覆 PREP 給節 點 4 (圖中下半部)。所以節點 4 也會更新 Routing Table 建立新的路徑。
Figure 2-1 AODV
2.2.1.2 Tree Based
802.11s WMNs 提 供 兩 種 message : Root Announcement (RANN)、PREQ 來完成建立 Tree Topology。
由 Root 發送 Broadcast 的 RANN message,所有收到 RANN message 的 MP 都會沿著剛剛收到 RANN 的方向回覆一個 Unicast 的 PREQ 給 Root,建立 Root 到 MPs 的路徑,當 Root 收到 PREQ 後會再利 用剛建立的路徑回覆 PREP 給 MP,完成 Tree 的建立。
- 8 -
由 Root 發送 Broadcast 的 PREQ message,所有收到 PREQ message 的 MP 都會建立到 Root 的反向路徑,並回覆 PREP 給 Root 完成路徑的建 立。
兩種方法都是 Proactive Mode,所以 Root 會主動維護到所有 MP 的 路徑。Root 在設定完成後會通知所有 MP 它的存在,而 MP 如果要送出封 包到其他 MP 且不存在路徑時,會將封包往 Root 遞送。
2.2.2 Routing in 802.11s WMNs
參考 Figure 2-2,在 802.11s WMNs 中每個 MAP 對於它下面的所連 結的 STAs 都被視為是他們的 Proxy,因此 STA 不需要參與 WMNs 的 Routing。802.11s WMNs 的 Routing 代表 layer-2 的 Mesh Pah Selection 以及 Forwarding。
Figure 2-2 Proxy-based routing in WMNs
- 9 -
STA 可以透過 One-hop Link 交由 MPs 來執行封包遞送 (Data Delivery),一般在 WMNs 的 Data Delivery Mechanisms 可以分成:
z Layer-3 Tunneling: 在 MP 間建立 Tunnel 來執行 Data Delivery。
z Layer-2 Data Delivery: 802.11s WMNs 採取 Layer-2 Routing,並 且透過 MAC 位址轉換方案 (MAC Address Translation Scheme)的 輔助來完成 Data Delivery。
2.2.3 MAC位址轉換方案
802.11s WMNs 新增的 Mesh Header 中最主要的部分就是 Mesh Address Extention,將原本 Wi-Fi 的四個 MAC 位址格式擴充到六個,主 要原因是 Routing 的機制是由 802.11s WMNs 的 MPs 所執行,STA 本身 並不參與 Routing,STA 彼此間的連線,或是對外部網路的連線都必須透過 802.11s WMNs 的 Serving Proxy 代為執行,為了支援 STA 來自不同網路 的連結性,必須提供 MAC 位址轉換方案 (MAC Address Translation Scheme),所以將位址格式增加到六個,這六個位址的定義如下所示:
z Address 1: 在 Mesh Path 上下一個 MP 的位址 z Address 2: 在 Mesh Path 上目前 MP 的位址 z Address 3: 在 Mesh Path 上終點 MP 的位址 z Address 4: 在 Mesh Path 上起點 MP 的位址 z Address 5: 封包的目的端位址
z Address 6: 封包的來源端位址
- 10 -
由於 802.11s WMNs 外部的 STA 無法參與 Routing,所以從其他型態 網路的封包進入了 802.11s WMNs 後都需要經過轉換,802.11s WMNs 一 共定義了三種不同的 MAC Address Translation Scheme:
1. 連線兩個端點至少有一個不屬於 802.11s WMNs,會使用六個位 址作轉換 (Figure 2-3)。
2. MP 必須透過 Root 作轉送才能與其他 MP 建立連線,也會需要六 個位址 (Figure 2-4)。
3. MP 與其他 MP 建立連線時不須經由 Root 作轉送,僅需使用四個 位址 (Figure 2-5)。
Figure 2-3 MAC Address Translation in 802.11s
參考 Figure 2-3,STA1 與同樣位於 802.11s WMNs 底下的 STA2 建立 連線時,資料封包從 Wi-Fi 進到 802.11s WMNs,然後 802.11s WMNs 依 照建立好的 Path 完成 Data Delivery,最後再進入到 Wi-Fi,整個傳送過程
中的位址轉換。每個位址如何透過查表方式完成,我們會在下一節中介紹。
- 11 -
Figure 2-4 MAC Address Translation via Root
參考 Figure 2-4,MP 與其他 MP 建立連線時,當 Source MP 發現沒 有到 Destination MP 的路徑時,如果有 Root 存在時,會將封包經由 Root 轉送,所以整個連線可以看成兩部分: (1)從 Source MP 到 Root, (2)從 Root 到 Destination MP。第一部份需要用到六個位址目的是要將 Routing 用的 Destination MP 與真正的 Destination MP 分開,Source MP 會先假 設 Root 為 Destination MP 先將封包送至 Root;第二部分從 Root 送至 Destination MP 僅需四個位址即可完成 Routing。
- 12 -
Figure 2-5 MAC Address Translation without Root
參考 Figure 2-5,MP 與其他 MP 建立連線時不須經由 Root 作轉送,
僅需使用前四個位址即可完成 Routing,與 Figure 2-4 第二部分從 Root 送至 Destination MP 相同。
2.2.4 基於Proxy Table的封包遞送方式
根據 Figure 2-3 所示,Address3 所代表的是 Mesh DA,也可以說是 目的端 STA 的服務代理者 (Serving Proxy),根據 802.11s WMNs 標準規 定,來源端 STA 的 Serving Proxy 必須要對其代理者表格 (Proxy Table)作 查找,以將目的端 STA 的 Serving Proxy 正確填入 Address3 才能以此來查 找 Routing Table 並將封包送出。Proxy Table 所紀錄的資訊為 {STA,Proxy}
的對應資訊,802.11s WMNs 上所有的節點都會有一份自己所保持的 Proxy Table。
參考 Figure 2-6 展示如何利用 Proxy Table 完成 Data Delivery,當 STA1 要傳送封包給 STA2,STA1 的 Serving Proxy (MAP_A)收到來自 STA1 的封包後,會將封包表頭 (Packet Header)轉換成 6 個 Address 的 802.11s WMNs 格式,並且查找其 Proxy Table A 找到 STA2 所對應的 Serving Proxy (MAP_C),並填入 Address3,之後再根據 Routing Table 得知送往 MAP_C 路徑的 Next Hop MP 為 MAP_B,並填入 Address1,然後將其餘的 Address 欄位依照前一節所示填入正確位址,最後我們就可以完成六個 Address (B,
A,C,A,2,1)並將封包送出,Mesh Path 上的節點會依據其 Routing Table 遞送封包,直到 Mesh Path 上的終點 MAP_C,MAP_C 收到封包後可以根 據其 Proxy Table 確認 Address5 是其所服務的 STA,然後再將封包轉換成
- 13 -
Wi-Fi 封包格式並送至目的端 STA2,完成整個 Data Delivery 的程序。
Figure 2-6 Proxy Table-based Data Delivery
2.3. 802.11s 對於行動性的支援
前面介紹完 802.11s WMNs 的基本定義及運作方式,接下來我們將介 紹 802.11s 如何支援 Mobility,們將分成 Location Management 及 Smooth Handover 來作介紹,最後再歸納可能產生的問題。
2.3.1 Location Management
由於在 802.11s WMNs 中對於位置追蹤 (Location Tracking)並沒有 明確的 Registration Protocol,但是卻能夠透過擴充 AODV 在必要的時候 來協助找尋到 STA 的路徑,以及提供 Proxy Update messages 作為 STA 位置改變時的通知訊息。
- 14 -
參考 Figure 2-7,如果 STA1 要送封包給 STA3,根據前一節介紹的 Data Delivery 規則,當 MAP_A 在查找其 Proxy Table 時 (1. Lookup)無法找到 STA3 所對應的 Serving Proxy,而無法將封包送出。根據 802.11s 規定,
如果無法得知到達目的端的 Mesh Path,在有 Root 的情況下,封包將直接 送往 Root (2. Data)交由 Root 轉送,因為 Root 會記錄到所有 MP 的路徑。
如果沒有 Root 則 MAP_A 會啟動 AODV 來找尋到 STA3 的路徑。Figure 2-7 所示為前者的情況,因為 Root 只保證有到所有 MP 的路徑,並不保證有到 所有 STA 的路徑,也就是 Root 並不一定會有所有 STA 的代理者資訊 (Proxy Information),所以一樣會啟動 AODV 來找尋到 STA3 的路徑 (3. PREQ),
MAP_B 會代替 STA3 回覆帶有 Proxy Information {3,B}的 PREP message 給 Root (4. PREP),Root 可以依據此訊息更新其 Proxy Table (5a.
Update),並且將封包順利轉送至 MAP_B (5b. Data)。
Figure 2-7 Location Management Supports in 802.11s WMNs
- 15 -
2.3.2 Smooth Handover
由於 802.11s WMNs 並沒有提供特定的 Packet Forwarding 方法來達 到 Smooth Handover,不過我們可以利用 802.11s WMNs 所提供的 Proxy Update messages 來支援 Packet Forwarding。
Figure 2-8 Smooth Handover Supports in 802.11s WMNs
參考 Figure 2-8,展示在 802.11s WMNs 中如何完成 Smooth Handover,當 STA1 正在與 STA2 傳送封包,此時如果 STA2 從原本連結的 MAP_C 漫遊 (Roaming)至 MAP_D,並以 Reassociation 向 MAP_D 作重 新連結 (1. Reassociation),MAP_D 會透過 Proxy Update (PU) message 向 MAP_C 發送更新 Proxy Table 的資訊 (2. PU),當 MAP_C 更新完 Proxy Table 後會回覆 Proxy Update Confirm (PUC) message 給 MAP_D (3a.
PUC),然後將所有原本送往 MAP_C 的封包轉送往 MAP_D (3b. Forward),
- 16 -
以達到 Smooth Handover。
2.3.3 802.11s 對於支援行動性的議題
基於上述對於 802.11s 在 Mobility 支援上的介紹,我們可以歸納出幾 點可能產生的問題,並分成兩個主要的議題作討論:
Location Tracking:由於沒有明確的 Location Registration 機制所以 Proxy Table 的維護工作相當困難。為了建立連線,我們必須對 Destination Proxy 作查找的動作,可能會導致查找失敗或是找到錯誤的 Proxy:參考 需要啟動 AODV 來找尋 STA3,產生額外的 Broadcast messages,造成網 路頻寬的浪費。
Packet Forwarding:為了達到 Smooth Handover 需要 Packet Forwarding 的支援,可是 Packet Forwarding 僅只對於 Previous Serving Proxy 進行位置更新,當沒有明確的對其他 Proxy Table 進行更新,可能會 產生其他問題,參考 Figure 2-9:
¾ 對 Source Proxy (MAP_A) 來 說 , 因 為 STA2 Handover 至 MAP_D,造成 MAP_A 無法以最佳路徑遞送封包至 MAP_D,必須 經過其他節點轉送而形成三角路由 (Triangular Routing) [10]。
- 17 -
¾ 如果 STA3 要送封包給 STA2,而此時的 STA2 已經再度漫遊到 MAP_E 下,那這個在連線建立初期經過 MAP_C、MAP_D 的 Forwarding 而 產 生 過 長 的 Forwarding Path 就 會 造 成 Forwarding Chain 的問題。
Figure 2-9 Issues in Mobility Supports in 802.11s WMNs
2.3.4 Re-association支援Handover的問題
在 Wi-Fi 中 有 提 供 Inter Access Point Protocol (IAPP) 來 支 援 Handover,它的運作必須基於 Wi-Fi 所提供的 Re-association Request message: 當行動節點 (Mobile Node,MN)移動後超過原來連結的 AP 之訊號範圍,且進入其他 AP 的訊號範圍時所發出的管理封包。參考 Figure 2-10,Re-association Request message 可以攜帶舊 AP (oMAP)的 MAC Address,新 AP (nMAP)可以藉由 IAPP 要求 oMAP 幫忙轉送資料 (Figure 2-10 (左)),不過 Wi-Fi 只定義了在 Intra Extended Service Set (ESS)下,
- 18 -
可以透過 Re-association messages 來支援 Mobility,並不支援 Inter ESS Handover (跨 ESS Domain 的漫遊),而且各家網卡實作的方式皆不同,導 致我們實際觀察四張不同廠商製造的網卡在發生 Intra ESS Handover 時的
可以透過 Re-association messages 來支援 Mobility,並不支援 Inter ESS Handover (跨 ESS Domain 的漫遊),而且各家網卡實作的方式皆不同,導 致我們實際觀察四張不同廠商製造的網卡在發生 Intra ESS Handover 時的