國
立
交
通
大
學
網路工程研究所
碩
士
論
文
在 EstiNet 網路模擬器上模擬 ECMA-392 及效能
評估
Simulation and Performance Evaluation of ECMA-392 over the
EstiNet Network Simulator
研 究 生:周煜軒
指導教授:王協源 教授
在 EstiNet 網路模擬器上模擬 ECMA-392 及效能評估
Simulation and Performance Evaluation of ECMA-392 over the EstiNet
Network Simulator
研 究 生:周煜軒 Student : Yu-Hsuan Chou
指導教授:王協源 Advisor : Shie-Yuan Wang
國 立 交 通 大 學
網 路 工 程 研 究 所
碩 士 論 文
A Thesis
Submitted to Institute of Network Engineering College of Computer Science
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master
in
Computer Science July 2012
Hsinchu, Taiwan, Republic of China
在 EstiNet 網路模擬器上模擬 ECMA-392 及效能評估
研究生:周煜軒 指導教授:王協源
國立交通大學 網路工程研究所 碩士班
摘要
無線技術越來越發達,免執照頻帶 (unlicensed band) 上的應用數之不盡, 相對使得無線資源變得更貧乏。在 FCC 開放未使用的類比電視頻道後,各大研 究紛紛轉向執照頻帶 (licensed band) 的使用。ECMA 組織制訂的 ECMA-392, 其應用在家庭電子設備、網路存取、或是多媒體影音串流等等,除此之外還有電 子電機工程師學會制訂的 IEEE 802.11af 及 IEEE 802.22 兩套標準,都是操作於 TV white space 的執照頻帶。本 論 文 實 作 上 使 用 EstiNet 網 路 模 擬 器 開發 ECMA-392 , 觀 察 並 驗 證 ECMA-392 之 MAC 層及 PHY 層的各項程序之正確性及頻道使用率的改善,在 ECMA-392 白頻帶裝置尚未普遍使用之前,供各家廠商觀察各種網路拓樸並最佳 化各種效能參數,也期望提供此平台後,能讓後人可以針對 ECMA-392 進行更 進一步的研究及發展。
Simulation and Performance Evaluation of ECMA-392 over the EstiNet
Network Simulator
Student: Yu-Ming Huang
Advisor: Dr. Shie-Yuan Wang
Institute of Network Engineering
National Chiao Tung University
Abstract
As wireless technology is continuously growing and many different kinds of applications are running on the unlicensed bands, wireless resource is becoming scarce. After Federal Communications Commission (FCC) opens up lightly-used TV spectrum, many researchers have started to study the usages of licensed bands. The ECMA standard body has released the ECMA-392 standard that can be applied to home electronics equipment, internet access, and high speed video streaming. In addition to ECMA-392, the IEEE standard body has released IEEE 802.11af and IEEE 802.22 standards. All of these standards operate on the TV white space.
In this thesis, we use the EstiNet network simulator to implement ECMA-392 specification, and validate the correctness of the procedures defined at the MAC layer and PHY layer of ECMA-392. Before the ECMA-392 TV white space devices are available for experiments, researchers of ECMA-392 can use the developed tool to simulate different types of network topology and optimize ECMA-392 performances.
誌謝
首先,我要感謝我的指導教授王協源老師,讓我在網路及作業系統領域獲益 良多,甚至提供了很多學術或是技術上的知識,使我對於我鑽研領域的根基能夠 更扎實。即使我有時研究成果不佳,老師依然給予我很多正向的鼓勵,讓我能夠 持續進行研究,並且得到豐碩的成果。 此外,我也要感謝郭耀煌老師、周承復老師、趙禧綠老師,感謝你們願意抽 空擔任這次口詴的口詴委員,提供了許多意見,讓我注意到我所疏漏的地方。有 了各位老師的指導及討論,也讓我更加了解本論文領域的其它應用。 另外,也要感謝實驗室的學長、同學、及學弟學妹。學長們的努力時時警惕 我不要懈怠,並且常常花費自己的時間,給予我研究上的指導及方向,讓我能夠 跟上實驗室的腳步,也學到了很多東西。而同學及其他學弟學妹們也不吝給予我 他們專長領域上的意見,讓我學到了更多研究領域以外的技能,相信未來能夠應 用得宜。 最後,感謝我的父母、兄弟及其他朋友,在我研究所期間的鼓勵及關心,讓 我有時低落的心情能很快恢復,並且繼續研究下去。沒有你們,我的研究生涯恐 怕難已開花結果。目錄
目錄 ... IV 表目錄 ... VI 圖目錄 ... VII 第一章 緒論 ... 1 第二章 背景 ... 2 2.1 TV white space... 2 2.2 IEEE 802.22 ... 3 2.3 ECMA-392 ... 5 2.3.1 Superframe structure ... 5 2.3.2 MAC layer ... 6 2.3.3 PHY layer ... 7 第三章 文獻探討 ... 8 第四章 系統設計與實作 ... 10 4.1 EstiNet 平台介紹 ... 10 4.2 TV primary user 模擬 ... 14 4.3 ECMA-392 相關節點 ... 14 4.4 ECMA-392 MAC 層實作 ... 15 4.4.1 Superframe structure ... 164.4.2 MAC frame format ... 17
4.4.3 Information element ... 18
4.4.4 Network Entry procedure ... 19
4.4.5 Initial channel SCAN procedure ... 20
4.4.6 Master-slave join beacon group ... 21
4.4.7 In-service channel monitor ... 22
4.5 ECMA-392 PHY 層實作 ... 23
4.5.2 PPDU ... 24
4.5.3 Device requirement ... 25
第五章 模擬結果驗證 ... 26
5.1 TV primary user 行為模擬 ... 26
5.2 Simulation case 1 (無 PU 模擬) ... 28
5.3 Simulation case 2 (有 PU,撤離 channel 模擬) ... 31
5.4 Simulation case 3 (merge group 模擬) ... 35
5.5 Simulation case 4 ... 39
5.6 Channel Utilization 和 Throughput 驗證 ... 41
第六章 未來展望 ... 47
第七章 結論 ... 48
表目錄
表 1、VHF 電視台頻率... 2
表 2、部分 Information Element 及其介紹 ... 18
表 3、PHY 層對應於頻寬 6 MHz 之參數 ... 23
表 4、傳送端 Node 1 之 traffic generator 設置 ... 26
表 5、接收端 Node 2 之 traffic generator 設置 ... 26
表 6、在 channel 2 中模擬 TV primary user 之 channel utilization ... 28
表 7、傳送端 Node 1 之 traffic generator 設置 ... 28
表 8、接收端 Node 2 之 traffic generator 設置 ... 28
表 9、ECMA-392 傳送端 Node 1 之 traffic generator 設置 ... 32
表 10、ECMA-392 接收端 Node 2 之 traffic generator 設置 ... 32
表 11、PU 傳送端 Node 3 之 traffic generator 設置 ... 32
表 12、PU 接收端 Node 4 之 traffic generator 設置 ... 32
表 13、ECMA-392 傳送端 Node 1 之 traffic generator 設置 ... 35
表 14、ECMA-392 傳送端 Node 2 之 traffic generator 設置 ... 35
表 15、PU 傳送端 Node 3 之 traffic generator 設置 ... 35
表 16、PU 接收端 Node 4 之 traffic generator 設置 ... 36
表 17、ECMA-392 傳送端 Node 1 之 traffic generator 設置 ... 40
表 18、ECMA-392 傳送端 Node 2 之 traffic generator 設置 ... 40
表 19、ECMA-392 傳送端 Node 3 之 traffic generator 設置 ... 40
圖目錄
圖 1、美國東岸第 9 台訊號涵蓋範圍... 3
圖 2、IEEE 802.22 基本網路型態 ... 4
圖 3、ECMA-392 基本網路型態 ... 5
圖 4、MAC superframe structure ... 5
圖 5、PHY frame structure ... 7
圖 6、EstiNet 模組堆疊架構... 11
圖 7、NslObject class 定義... 12
圖 8、模組之間封包傳遞示意圖... 13
圖 9、於 EstiNet 中 ECMA-392 裝置節點的通訊協定堆疊 ... 14
圖 10、呈現 superframe 架構之 pseudo code ... 16
圖 11、MAC frame format ... 17
圖 12、Master 裝置之 network entry 流程圖 ... 19
圖 13、Initial channel SCAN 流程圖 ... 20
圖 14、Master-slave join beacon group 流程 ... 21
圖 15、In-service channel monitor 流程 ... 22
圖 16、PPDU frame format ... 24
圖 17、PLCP header format ... 25
圖 18、模擬 TV primary user 之拓樸 ... 26
圖 19、模擬 TV primary user 占用 channel 2 之 channel utilization ... 27
圖 20、Simulation case 1 模擬無 PU 之拓樸設計 ... 28
圖 21、Simulation case 1 時序示意圖 ... 29
圖 22、Simulation case 1 之 channel utilization ... 31
圖 23、Simulation case 2 之有 PU 及撤離 channel 的模擬拓樸... 31
圖 24、PU 及 ECMA-392 裝置之 channel 2 activity ... 33
圖 26、Simulation case 2 時序示意圖 ... 34
圖 27、Simulation case 3 之 merge group 模擬拓樸 ... 35
圖 28、Simulation case 3 時序示意圖 ... 36
圖 29、PU 及 Node 1 於 Channel 2 的 Activity ... 37
圖 30、Node 1 及 Node 2 於 Channel 3 的 activity ... 37
圖 31、Channel 3 utilization 局部放大圖 ... 38
圖 32、Simulation case 4 模擬拓樸 ... 40
圖 33、Simulation case 4 之 node 2 及 node 3 的 activity... 41
圖 34、Simulation case 1 執行不同模擬時間之 channel 2 utilization ... 42
圖 35、Simulation case 3 中 node 2 接收之 throughput ... 44
第一章 緒論
目前越來越多國家紛紛關閉類比電視訊號,台灣也在 2012 年分批關閉無線 類比電視,除此之外,FCC 也宣布開放未使用的電視白頻帶 (TV white space) 以 供使用。況且在 unlicensed band 中使用情況已相當壅塞,由此可知,操作於 licensed band 的白頻帶裝置之發展是勢在必行。因此,ECMA 制訂了 ECMA-392 標準、IEEE 也制訂了 IEEE 802.11af 及 IEEE 802.22 通訊標準使用電視白頻帶。 ECMA-392 訂定的標準中,主要訴求除了可以進行網路存取、高速影音串流、 及家用電子設備外,更強調在未干擾主要使用者 (Primary Users,PUs) 的情形下 使用該頻道。還有,在多個白頻帶裝置 (本論文中稱做 Secondary Users,SUs) 群 組使用同頻道時,讓裝置選擇要跳離現有頻道,或者合併至同一個群組並共存於 同一個頻道繼續使用。為此,ECMA-392 利用無線感知網路的技術,讓白頻帶裝 置使用任一頻道的時候,也能夠觀察是否有 PUs 或其他 SUs 同時使用。 在目前 TV white space 開始萌芽階段,若廠商希望觀察各種網路情境及數據, 例如:頻道撤離、throughput……等等,勢必需要透過開發出實際裝置,但這種 方法成本過高且效果不佳,因此本論文使用 EstiNet 模擬器開發 ECMA-392 網路, 利用模擬器布置網路情境、模擬數據、分析效能。EstiNet 網路模擬器具有下列 優點:1.EstiNet 提供圖形化介面,除了增加操作的便利性,更讓使用者可以輕易 上手。2.套用真實世界中的 TCP/IP,讓模擬結果更加正確且真實。 在本論文中,第二章會介紹與電視白頻帶相關的通訊協定;第三章針對無線 感知網路及模擬器之相關文獻探討;第四章將介紹 ECMA-392 標準中各層模組 的實作方式,並在 EstiNet 上透過各層模組模擬 ECMA-392 的網路行為;第五章 則透過數個模擬情境觀察 ECMA-392 的效能,並對其模擬數據進行效能評估; 第六章則提供一些未來相關研究的方向及建議;最後將在第七章做整篇論文的結 論,以供後人研究參考。
第二章 背景
在第二章中,將於 2.1 節介紹何謂 TV white space;2.2 節約略介紹同樣操作 於 TV white space 的美規標準 IEEE 802.22;最後在 2.3 節介紹歐規的 ECMA-392 標準,分成 MAC 層及 PHY 層講解。以此簡介替後續設計實作鋪陳。
2.1 TV white space
根據研究[1],無線電視台的分配情況可分為 very high frequency (VHF) 和 ultra high frequency (UHF)兩個頻段,VHF 頻道分配較不規則,呈現於表 1,而 UHF 頻段切割成第 14 台到第 83 台則規律的分布在 470 MHz 至 890 MHz 之間,但不論 VHF 或 UHF,每個頻道的頻寬都是 6 MHz。
表 1、VHF 電視台頻率
BAND CH # frequency BAND CH # frequency VHF LOW 02 54-60 MHz VHF HIGH 07 174-180 MHz VHF LOW 03 60-66 MHz VHF HIGH 08 180-186 MHz VHF LOW 04 66-72 MHz VHF HIGH 09 186-192 MHz VHF LOW 05 76-82 MHz VHF HIGH 10 192-198 MHz VHF LOW 06 82-88 MHz VHF HIGH 11 198-204 MHz VHF HIGH 12 204-210 MHz VHF HIGH 13 210-216 MHz 在台灣,VHF 頻段之電視台皆為免費之無線類比電視訊號,占用其頻 段之電視台包含台視、中視、華視、民視、及公視。然而,西元 2012 年, 又被稱做台灣的數位電視元年,國家通訊傳播委員會 (NCC) 於 2012 年 7 月 1 號全面關閉無線電視類比訊號[2]。爾後,若我國在 VHF 頻段未繼續使 用,該頻段將成為所謂的 TV white spaces。
觀察表 1 中頻率為 186 MHz – 192 MHz 的第 9 台,於[3]及圖 1 指出美 國東岸中第 9 台的訊號涵蓋範圍,圖中灰圈處即為可收到第 9 台訊號的地方。 而在灰圈以外的地方,因無電視基地台於 184 MHz – 192 MHz 發送訊號,造 成電視頻譜上的 TV white space。 圖 1、美國東岸第 9 台訊號涵蓋範圍 因此,不論是關閉類比電視訊號或本來就沒電視台發送訊號所造成的 TV white spaces,ECMA-392 [4]及 IEEE 802.22 [5]等通訊協定就是要將之頻 帶充分利用。同時,為了避免干擾 PU,此協定要求加入感知網路的 SU 必需 做偵測 PU 及 SU 活動,適時的撤離頻道或與其他 SU 共存。
2.2 IEEE 802.22
Electronics Engineers,IEEE) 組織制訂的一套操作於 TVWS 之裝置的標準, 訊號範圍約為 17 km 至 30 km,屬於 wireless regional area network (WRAN)。 其中將裝置分為 base station (BS) 和 customer-premises equipment (CPE),網 路型態如圖 2 所示。
圖 2、IEEE 802.22 基本網路型態
BS 控制及管理 CPE 大部分的行為,需由廠商架設基地台供範圍內的使 用者存取並使用網路資源。而其最大差異在於感知層 (cognitive plane) 的部 分,個別存在 BS 及 CPE 的 spectrum sensing automation (SSA) 需適時作頻 譜掃描,但整個系統架構之核心且僅存於 BS 中的 spectrum manager (SM) 則 必頇負責收集資料庫或提供 CPE 感知到的 spectrum 使用情況,用以決定是 否繼續使用該 channel。
2.3 ECMA-392
圖 3、ECMA-392 基本網路型態
ECMA-392 是 由 歐 洲 計 算 機 製 造 商 協 會 (European Computer Manufacturers Association,ECMA) 訂定之標準,是第一套且主要替操作於 TVWS 之個人/攜帶型裝置[6]。如圖 3 所示,ECMA-392 中將裝置分成 peer、 master、和 slave 等三種裝置類型。除了 master 必頇主動發送 beacon、具備 建立 group、及發送 control/management information 外,其餘和 peer 或 slave 並無太大差異,因此本節將分別介紹 MAC 層及 PHY 層之功能。
2.3.1 Superframe structure
圖 4、MAC superframe structure
window (RSW)、data transfer period (DTP)、quiet period (QP)、及 contention signal window (CSW) 所組成,共 256 個 medium access slots (MASs),每 個 MAS 長度為 500 ns。
於 ECMA-392 中,一個 group 是由 master 或 peer 裝置建立而成,分 辨 group 不同的依據為 beacon period start time (BPST)。在 BP 期間內, 除了固定發送 beacon 的裝置可以在其 beacon slot 發送 beacon 外,其餘 時間和裝置都必頇聆聽 beacon,以確保 group 存在及確認 slot 的使用情 況;RSW 不存在於 peer 所形成的 group,其中的 slot 是用 reservation 給 master 與 slaves 交換控制或管理的資訊使用;而 QP 時所有 device 都必 頇停止傳送任何資訊,用以偵測該 channel 上是否有 PU 或其他訊號存在; 最後 CSW 則是以 slotted aloha 的方式傳送控制或管理資訊。 2.3.2 MAC layer MAC 提供的服務如下: 1. 與訊號涵蓋範圍內之 devices 溝通 2. Reservation-based channel 存取方法 3. Contention-based channel 存取方法 4. Group 之間 superframe 的同步 5. 保護 PU 6. Master-slave 或 peer-peer 之間操作 7. 處理 mobility 及 interference 的問題 8. Power 管理 9. 安全的資料傳輸過程
Device 之間透過交換 beacon 或 command frame 協調與溝通,而 beacon 主要提供一個網路的基本對時、攜帶 reservation 資訊、及幫助發
現 device 資訊。
於本論文因未考慮 mobility 環境,模擬平台中也無 power saving 考 量及安全性疑慮,且 ECMA-392 中也未考慮過多 peer-peer 所形成的網路 型態,因此目前尚未實作 mobility、power 管理、安全的資料傳輸過程及 peer-peer 之間的操作。除了這些功能外,其餘大部份功能皆已實作於模 擬平台。
2.3.3 PHY layer
PHY 層提供 MAC 層傳送及接收 frame、及清楚明瞭 channel 上的活 動情況。PHY 層之 frame structure 如圖 5 所示,始於 normal 或 burst 模 式的 preamble,緊接著主要是由 PHY 及 MAC header 組成的 PLCP header, 而在 PLCP header 之後則為 frame payload、FCS、tail bits 和 pad bits。
圖 5、PHY frame structure
PHY 層使用 OFDM 調變技術,本論文中頻寬為 6 MHz,雖定義了 VHF 頻段中 ch2 ~ ch13 共 12 台,但為觀察方便,僅將 ECMA-392 裝置 操作於 VHF 頻段中的 ch2 及 ch3。若要觀察 ECMA-392 之 PHY 模組實 際設計成電子設備進行模擬之成果,請參照 [7] ~ [8] 之解說
第三章 文獻探討
因本篇論文實作之 ECMA-392 網路協定為無線感知網路(cognitive radio,CR) 的概念。因此,除了前面章節之介紹外,本章針對將無線感知網路模擬於網路模 擬器的相關論文作討論。在相關研究的調查上,主要是先以無線感知網路相關模 擬器為主,接著討論相關論文所提出的設計機制,最後則研究相關通訊協定模擬 於各種模擬器之論文。 在相關模擬器的部分,在各種期刊論文中大多都是自行撰寫程式,並套用其 研究之無線感知網路模型以進行驗證。除此之外,仍然還有一些組織在開發更精 細的模擬平台,如[9]與[10]。在[9]中,目前已在 NS-2[11]進行相關模組的開發, 其中設計了無線感知網路路由模組、MAC 模組、及透過多重頻段之機制設計了 PHY 模組。而在[10]中提供了另一種稱作 Agent-Based 的機制,並以訊號角度進 行精細的模擬。 除了模擬平台的設計外,也有不少成熟的機制設計於無線感知網路中。其中 [12]提出一種適應性的 MAC 層機制,根據頻道狀態改變雙向傳輸模式或封包修 復模式,當頻道之干擾過多導致封包錯誤產生時,則使用封包修復之傳輸模式; 反之,則使用雙向傳輸模式,以增加 throughput。在[13]指出最佳頻譜掃描決策 的問題,並提出 hardware-constrained 的感知 MAC,以實施有效率的頻譜掃描及 頻帶存取決策。而[14]利用動態頻率選擇 (Dynamic Frequency Selection,DFS)、 功率控制 (Power Control,PC)、及時間敏捷度 (Time Agility,TA) 的機制,解 決 802.11b 及 802.16a 共存的問題。
接著,在[15][16][17]中,更將無線感知網路特性應用於 IEEE 802.11 中。首 先於[15]提出一個聰明選擇頻道的方法 (Smart Channel Selection Scheme,SCSS) 及終端隱匿 (Hidden Terminals,HTs)的問題,更透過模擬發現 TCP 通訊協定無 法正常執行。[16]則針對[15]的問題,提出 Bi-directional CR MAC (Bi-MAC) 協
定,使無線感知網路使用者 (Cognitive Radio Users,CRUs) 能利用被期望的封 包聰明地協調並保留頻寬,使其在傳輸 TCP 及 UDP 封包時皆能操作得宜。而[17] 更進一步提供動態配置頻寬的能力,讓 CRU 能夠支援各種型態的網路流量、或 雙向流量非對稱的資料傳輸之中。
最後,更觀察到[18][19]已於 OPNET[20]模擬器上模擬 IEEE 802.22 draft 版本 之通訊協定,並針對其模擬結果進行分析。[18]中在 MAC 層實作兩階段的頻譜 掃描,當要符合 SUs 的 QoS 需求時,保證其能及時地偵測 PU 訊號;在 PHY 層 則強調在即使 TV 訊號只有 -116 dbm 時,都能偵測到 TV 電視台的活動。而[19] 中則根據頻譜掃描、系統能力、QoS、共存、及網路可靠度之觀點,模擬並分析 IEEE 802.22 draft 通訊協定。
觀察至今,較少發現 ECMA-392 與模擬平台結合之研究,因此,本論文利用 下一章將要提出的 EstiNet 網路模擬器的種種好處,在其模擬平台上開發 ECMA-392 MAC 層及 PHY 層之模組,並針對其模擬結果進行分析討論。
第四章 系統設計與實作
本論文將 ECMA-392 標準設計於 EstiNet 網路模擬器上,因此,本章節一開 始將說明如何在 EstiNet 上開發模組,並對其作簡單介紹;接著說明如何模擬 PU 的行為,設計 TVWS 的 channel utilization 和某時間點開始存在的 always-on 訊號; 在最後的兩個章節將介紹如何設計實作 MAC 層及 PHY 層之中的各種 structure 及 procedure。
4.1 EstiNet 平台介紹
EstiNet network simulator [21]為 NCTUns (NCTU network simulator) 之 商業版,可以模擬不同的網路行為,且其具備圖形化介面,可降低使用者上 手的困難。目前支援的網路型態有:LTE、WiMAX (IEEE 802.16 d/e/j)、IEEE 802.11 a/g/p/n、GPRS、Ethernet 等等,不勝枚舉。不僅如此,EstiNet 也具 備了三大特點: 1. 結合真實世界的網路通訊協定 (TCP/IP 和 UDP/IP) 進行模擬,用 以達到更真實的模擬結果。 2. 於 EstiNet 上可執行各種應用程式,如 FTP、P2P 軟體,且不需要 修改應用程式之程式碼。 3. 具備方便操作的圖形化使用者介面,使用者只需於圖形化介面中 點選想要的網路型態的節點,並規劃好網路拓樸,即可執行模擬 EstiNet 的組成模式可分成四大部分: 1. 圖形化使用者介面:讓使用者在操作模擬器更便利,使用者可以 輕易布署網路拓樸和設定自己想要的參數,完成這些動作都不用 修改複雜的設定檔案。
2. 模擬引擎:EstiNet 最重要的部分,負責模擬事件的建立及計時器 的排程與管理,模擬器透過模擬引擎及其中的 API 作為與系統核 心溝通的介面。於模擬平台中,不同網路拓樸中的各個節點經由 多個模組模擬此節點的行為,而所有網路拓樸的行為皆於模擬引 擎的模組中執行並產生結果。 3. 協定模組:協定模組 (Protocol module) 對於任意模擬的網路設備 的 protocol stack 採用了模組化的設計,使用者可以利用此設計開 發自己需要的模組,開發完成後只需以替換或加入模組的方式, 便可讓其設計的模組直接在模擬世界中運行。 4. 修改後的系統核心:讓真實世界的應用程式在 EstiNet 上執行,並 透過 socket 在模擬器上運作。 圖 6、EstiNet 模組堆疊架構
圖 6 呈現 EstiNet 的模組化模擬平台,是由兩個 host (左為 host1,右為 host2) 連接一個 switch 的網路拓樸所構成。Host1 及 host2 的 protocol stack
從上到下分別為 Interface、ARP、FIFO、802.3、PHY、LINK,switch 則為 FIFO、802.3、PHY、LINK,而封包流向為 host1 送至 host2。此圖可分為上 半部使用者層級和下半部的系統核心部分,因此,封包流向更精確的說法, 可以說是由上半部左邊之執行於 host1 的 Traffic Generator 產生封包,透過 socket 介面送至 kernel 中的 TCP/IP,並利用 TCP/IP 的通訊協定將封包傳往 右側的應用程式接收。由此可知,封包透過系統中的 socket 層後,會利用真 實世界之 TCP/IP 分別包裝 TCP header 及 IP header,最後到達系統核心內的 虛擬網路介面卡 tunnel 介面,將封包送至 EstiNet 模擬引擎內進行模擬。在 模擬引擎內的封包首先會由 host1 的 Interface 模組進入,依序經過 ARP、FIFO、 802.3、PHY、LINK 模組,然後送至 switch 按照 LINK、PHY、802.3、FIFO 模組的順序往上收並反向往下送,最後傳送到 host2 的 protocol 模組堆疊, 其順序依此類推,而 host2 的 Interface 介面會將封包送入核心的 Tunnel 介面, 判斷後若是該 device 之封包,則經由 IP 層、TCP 層、及 socket 層之處理後, 由 traffic generator 讀取;若非該 device 之封包,則會協助此封包透過路由轉 送出去。
為了設計上的一致與便利,因此每個模組均繼承自 NslObject 類別。 NslObject 為 EstiNet 網路模擬器中最基本的類別,如上頁圖 7 所示,所有實 作的模組都必頇繼承此類別,並依功能及需求自行定義其中函式。send() 及 recv() 則為此類別最重要的函式,如圖 8,這兩個函式分別代表不同的傳遞 方向,,send() 是將封包往下面的模組傳送,而 recv() 則將封包接收處理 後送往上層的模組。 圖 8、模組之間封包傳遞示意圖 根據模組設計及規劃上的不同,可以在這些函式內透過計時器、事件的 產生、或新增封包的方式來達到各個不同通訊協定所規定的處理程序,使得 各式各樣的網路能輕易在此模擬平台上被開發、設計、及模擬。
4.2 TV primary user 模擬
由於目前 EstiNet 網路模擬器中並無 TV 電視基地台,因此,為模擬 ECMA-392 devices 操作於 TVWS,本論文將 EstiNet 中 802.11a module 之 PHY 層定義的 channel number、frequency、及 bandwidth 等參數設定至 VHF 頻段, 並於 802.11a 網路節點上執行 greedy 模式之傳送及接收的應用程式,一個 頻道中只執行一個傳送端及一個接收端,減少 802.11a 之 random back-off 的 時間,以達到電視基地台之 always-on 或 always-off 的傳送特性。 4.3 ECMA-392 相關節點 Interface ARP FIFO ECMA392_MAC ECMA392_PHY CM 圖 9、於 EstiNet 中 ECMA-392 裝置節點的通訊協定堆疊 圖 9 為 ECMA-392 裝置之通訊協定堆疊。於先前 3.1 節中提到,EstiNet 本身使用 Linux 提供之真實世界的傳輸層及網路層來協助我們避免因自行 設計所造成的失真及錯誤。當一個封包由某節點發送,經過系統核心並送至 對應的 tunnel 介面,此時該介面的驅動程式會向圖 9 中最頂端的 Interface 模組發出通知,使其從對應的介面中取出封包並送至模擬引擎。圖 9 之各個 模組的功用如下:
Interface 模組:記錄 IP 及 MAC 位址之對應關係,並協助處理 tunnel 介面的讀取與寫入封包之工作,使封包能被對應的應用程式接收、 或送至核心內進行路由處理、抑或是導引至模擬世界中進行模擬。 ARP 模組:模擬 ARP (Address Resolution Protocol)之相關行為。 FIFO 模組:模擬網路層及資料鏈結層之間的緩衝序列。
ECMA392_MAC 模組:模擬 ECMA-392 之 MAC 層相關行為,相 關介紹於 3.4 節中提起。
ECMA392_PHY 模組:模擬 ECMA-392 之 PHY 層相關行為,詳見 3.5 節之介紹。 CM 模組:模擬無線傳輸中訊號衰減的動作,支援多種訊號衰減模 式。 本次實作中僅設計出新的 MAC 層及 PHY 層之模組,其餘部分皆使用 已存在於 EstiNet 中的模組,並未作修改,如此即可完成整個系統的設計。 相關設計請參考 3.4 及 3.5 節的介紹。 4.4 ECMA-392 MAC 層實作 本論文針對 ECMA-392 中 master-slave 網路型態為基礎作設計,因不考 慮 mobility,在 device 同步的部分,可以透過模擬器中提供的 timerObj 物件 輕易達成;在 data transfer 雖然支援 prioritized contention access (PCA) 及 channel reservation access (CRA) 兩種模式,但為求觀察方便僅實作 CRA 模 式進行資料傳輸;而在保護 PU 的部分,則假設 PU 訊號強大到 devices 之間 無法傳送任何 frame,而必頇自主跳至 backup channel;而其餘 MAC 層之重 要設計,將於本節介紹。
4.4.1 Superframe structure
圖 10、呈現 superframe 架構之 pseudo code
圖 10 內之 pseudo code 呈現出如圖 4 之 superframe 架構。圖 10 中 SlotTimer 為 EstiNet 之 timerObj 資 料型態, SlotTimerHandler 則 為 SlotTimer 物件之 call out function。SlotTimerHandler 主要控制多久時間 後必頇跳至下一個 slot,由於 beacon period 中 beacon slot 為一般 MAS 長度之兩倍,CSW slot 長度為一般 MAS 之 0.5 倍,而其餘長度皆與一般 MAS 之大小相同,因此在該對應的 slotstatus 時,必頇於特定長度後再 次呼叫 SlotTimerHandler。而 ChangeSlotStatus() 函數則根據 BP_count、 RSW_count、QP_count、及 CSW_count 之數值去決定目前的 slotstatus。
SlotTimerHandler(Event_ *e){ ChangeSlotStatus(); if(slotstatus==BP){ Call BPHandler(); SlotTimer->start(MAStick*2,0); }else if(slotstatus==RSW){ Call RSWHandler(); SlotTimer->start(MAStick*1,0); }else if(slotstatus==SKIP){ Call SCANHandler(); SlotTimer->start(MAStick*1,0); }else if(slotstatus==QP){ Call rQPHandler(); SlotTimer->start(MAStick*1,0); }else if(slotstatus==CSW){ Call CSWHandler(); SlotTimer->start(MAStick/2,0); } }
藉 由 ChangeSlotStatus() 及 SlotTimerHandler() 函 數 完 成 設 計 superframe 之架構,使系統能順利在 BP、RSW、DTP、QP、及 CSW 中 切換。
4.4.2 MAC frame format
圖 11、MAC frame format
圖 11 定義 MAC 層之 frame format,在此不針對每一個變數作介紹, 其中 SrcAddr 及 DestAddr 分別代表傳送端及接收端之位址,DestAddr 可為 Broadcast 或 Multicast;FrameType 將 frame 分成 beacon、aggregate data、data、control、command 五種型態,而 Subtype_Delivery 再針對每 種型態的 frame 細分;ACKPolicy 內定義了 No_ACK、Imm_ACK、B_ACK、 及 B_ACK_request 四種 ACK 政策。其餘變數及更深入之介紹請參考[4] 之解說。
struct _MAC_hdr{
struct _FC_format FrameCtrl; u_int16_t DestAddr;
u_int16_t SrcAddr;
struct _SeqControl SeqCtrl; struct _AccessControl AccessCtrl; }; struct _FC_format{ u_int16_t ProtocolVersion:2; u_int16_t Secure:1; u_int16_t ACKPolicy:2; u_int16_t FrameType:3; u_int16_t Subtype_DeliveryID:4; u_int16_t Retry:1; u_int16_t Reserved:3; }; struct _AccessControl{ u_int16_t Duration:14; u_int16_t MoreFrame:1; u_int16_t AccessMethod:1; }; struct _SeqControl{ u_int16_t FragNumber:3; u_int16_t SeqNumber:11; u_int16_t MoreFrag:1; u_int16_t Reserved:1; };
4.4.3 Information element
ECMA-392 中定義了約 40 種的 Information element (IE),雖於本次 實作中已將所有 IE 定義完成,但本段僅介紹部分 IE,如表 2 所示,其 餘使用方式及定義請參考[4]。
表 2、部分 Information Element 及其介紹 Element ID Information element 描述
1 Beacon period occupancy IE BPOIE,紀錄該 superframe 中 beacon slot 的資 訊,每個 beacon 中都要有 BPOIE
8 CRP availability IE 記錄 superframe 中各個 slot 的使用情況,每個 beacon 中都要包含 CRP availability IE
9 Channel reservation protocol IE
CRP IE,紀錄 slot 的 reservation 資訊,包含 reservation owner 及 reservation target 等等 22 Regular QP schedule IE 反應一般 quiet period 之開始時間及持續時
間,每個 beacon 都要有 Regular QP schedule IE 33 Channel Classification IE 紀錄每個 Channel 的分類情形,紀錄於每個
device 內
34 RSW schedule IE 反應 RSW 中的 reservation 情況,作為 RSW slot 傳送控制或管理資訊使用
37 Association Response IE 回覆 association request 用的 IE 36 Beacon promotion indication
IE
master 指名 slave 裝置變成 beaconing slave 時 使用
4.4.4 Network Entry procedure
圖 12、Master 裝置之 network entry 流程圖
圖 12 代表 master 建立網路及 group 的流程圖,起初,建立網路之前, 必頇先 scan 每個 channel,確定 channel 上之活動情形並加以分類後,才 可在眾多 channel 中選擇一個 operating channel;之後,進入建立 beacon group 的步驟,而 slave 裝置也是從這個步驟開始,master 會在 operating channel 上建立 group 及發送 beacon,slave 收到 beacon 時則會執行 join group 的動作;接著,若有 slave 進行 join group,master 及 slave 會同時 進入下一步 association,這時 slave 才算完全進入 group;最後,若無 data connection 則定期傳送或接收 beacon,若有 data connection 則繼續執行
setup connection 之子流程。
4.4.5 Initial channel SCAN procedure
圖 13、Initial channel SCAN 流程圖
圖 13 為 Initial channel SCAN 之流程,裝置在開始掃描 channel 後, 若沒有收到任何訊號或訊號過小,而導致 Timer 1 timeout,則將該 channel 依照 threshold 分類為 Unknown 或 Clean,但本論文未考慮 Unknown 狀
況,因此只會歸類成 Clean,同時視 backup channel 設定之數量,將其分 類為 Backup 或 Candidate channel;若有收到訊號,則會針對收到之訊號 加以分類,若是 PU 訊號則將該 channel 視為有 PU 活動,並將 channel 分類成 Unavailable,若是 beacon 則視為存在 Secondary,並分類成 Candidate。最後,掃描完所有頻道後,Master 才會從 Backup channel 中 挑選一個 channel 當成 Operation channel 使用。
4.4.6 Master-slave join beacon group
圖 14 將從偵測到 beacon 後開始解說。偵測到 beacon 後,裝置會先 根據自己的 MAC address 去產生一個 DevAddr,爾後傳送 association request。若該 DevAddr 已存在於 group 中,master 會回傳 Invalid address 之 information;或該 superframe 已無 MAS 可分配給 slave,則回傳 Not enough MAS 資訊;若不在上述之情形,視為 association 成功,回傳 Success 並接著後續如傳送資料之動作。
4.4.7 In-service channel monitor
最後,將於本節講解 In-service 的 channel monitor,如圖 15,其作用 於 QP 時間,在 QP 時偵測到訊號,先將 channel 分至適當類別後,再去 決定接下來的動作。因論文中之 PU 訊號皆足夠強大,故不會有 Unknown 之訊號出現。若為 PU 訊號,無庸置疑將呼叫撤離 channel 之程序;若同 為 ECMA-392 裝置,則呼叫 join beacon 的動作;如果沒偵測到任何訊號, 則繼續使用該 channel,不做任何動作。
4.5 ECMA-392 PHY 層實作
於本實作中之 PHY 層,傳輸速率 4.75 Mbps,調變模式為 QPSK½ 。而 本實作中將頻寬定義為 6 MHz,因此對應其頻寬之其餘參數如表 3 所示。
4.5.1 Channel frequency and numbering
如同 2.1 節中之表 1,本實作共定義了 11 個 channel,透過函式 ChannelIDtoFrequency() 傳入 channel number 之方式,傳回該 channel 之 頻率最小值,也就是說,若傳入 channel number 為 2,該函式回傳值則 為 54,以此方式 PHY 層將可操作於各個 channel 之中。
4.5.2 PPDU
圖 16、PPDU frame format
於 PHY 層中,必頇先把上層之封包作包裝以後,再將其以 symbol 的方式送出,一個 symbol (TSYM) 的時間為 21 ns。而 PHY 層之 PPDU
封包格式如圖 16,本節將會對該 frame format 一一介紹。 4.5.2.1 PLCP preamble
PHY 層之 preamble 定義了兩種格式:Normal PLCP preamble 及 Burst PLCP preamble,本實作中使用 Normal PLCP preamble,其差異 如下:
Normal PLCP preamble: 用於 normal mode 之所有 packet 及 streaming mode 之第一個 packet,duration 為 3 倍之 TSYM。
Burst PLCP preamble: 用於 streaming mode 之第二個及其 後的 packet,duration 為 1 倍之 TSYM。
4.5.2.2 PLCP header
圖 17、PLCP header format
PHY 層將 MAC header、PHY header、RS parity 及 Tail bits 平均 分割成 HDR1 及 HDR2 後,以兩個 TSYM的大小送出。而判斷是否可
以正確解出 PLCP header 則是偵測 PU 是否使用 channel 之依據,若 無法正確解出 PLCP header,則將之視為 PU 的訊號;否則則為 ECMA-392 裝置之訊號。
4.5.2.3 PSDU
PSDU 的部分僅僅將 MAC 層之 frame payload 及 FCS 等欄位之 值放置於此,爾後送出時,再將其轉換為 symbol 的方式傳送於空氣 中。 4.5.3 Device requirement 本實作未設計 database,每個裝置都只有感知功能,無法透過 database 得知 channel 之可用程度。而僅具感知功能之裝置,其傳送功率 為 50 mW,約為 16.98 dbm;接收端敏感度設為 -92.1 dbm。因此,於模 擬世界中所構成之有效範圍約為 800 m。
第五章 模擬結果驗證
本章首先講解如何模擬 TV primary user,並說明該模擬之可行性及正確性, 接著,透過 simulation cases 模擬 ECAM-392 在傳送資料、建立 group、撤離 channel、 和 group merger 之行為,最後驗證其 Channel Utilization 和 Througput。於本章中, Channel Utilization 之依據,是紀錄每 100 ns 中各個 node 是否有在該 channel 傳 送資料,若有,則將 Utilization 設為 100 %;沒有的話,則設成 0 %。
5.1 TV primary user 行為模擬
圖 18、模擬 TV primary user 之拓樸
表 4、傳送端 Node 1 之 traffic generator 設置 start time: 7 stop time: 12 channel: 2 command: stg –u 500 10 –p 8000 1.0.1.2
表 5、接收端 Node 2 之 traffic generator 設置 start time: 3 stop time: 12 channel: 2 command: rtg –u –p 8000
因目前 EstiNet 尚未設計 TV 基地台之模組,本實作則以模擬器提供之 80211a 模組,並更改 80211a PHY 層的 channel 至 VHF 頻段代替。圖 18 則
為本次實作中模擬 TV primary user 之網路拓樸,圖中 Node 1 扮演 TV 基地 台之角色,執行 greedy UDP 之 traffic generator 應用程式於 channel 2 猛灌封 包,傳送給 IP 為 1.0.1.2 之 Node 2 的 port 8000,如表 4 所示,於 7 秒開始 傳送資料,直至模擬結束時間 12 秒。此命令則模擬 TV 電視台於某個時間 (第 7 秒) 開啟的動作,雖然一般之 TV 基地台鮮少有中途開啟之行為,為了 爾後的保護 PU 及撤離 channel 的驗證,因此特別作了如此的設計。而表 5 則為 Node 2 模擬 TV 接收器之命令設置。
圖 19、模擬 TV primary user 占用 channel 2 之 channel utilization
圖 19 為模擬 TV primary user 的 always-on 訊號之 channel utilization,於 圖中可看出在 802.11a 上執行一個發送端及一個接收端之 greedy UDP 應用 程式,因為沒有其他 802.11a 網路在競爭相同 channel,省去 80211a random back-off 的機制,的確可以達到 always-on 的效果。下頁表 6 中,若每 100 ns 紀錄一次是否有在使用該 channel,可看出其中包含了 IEEE 802.11a 定義 inter-frame space (IFS) 未使用 channel 之部分,導致 channel utilization 僅 68.58 %;但若用 ECMA-392 中以每個 slot 的觀點,每 500 ns 的間隔去觀察 channel utilization,則可發現其 utilization 為 99.98 %,雖其中因 802.11a 在
一開使 set-up 階段時未在 channel 上傳送資料,因此仍包含 0.02 % 未使用 該頻道之情形,但十分逼近 TV primary user 之 always-on 的 100 %,且一定 會對 ECMA-392 之裝置造成影響。
表 6、在 channel 2 中模擬 TV primary user 之 channel utilization 時間間隔 100 us 500 us 使用量 68.58% 99.98% 其後在 4.3 節及 4.4 節中模擬 PU 之部分,接如同本節設計,將不再另 行介紹。 5.2 Simulation case 1 (無 PU 模擬) 圖 20、Simulation case 1 模擬無 PU 之拓樸設計 表 7、傳送端 Node 1 之 traffic generator 設置 start time: 5 stop time: 12 type: master channel: 2 command: stg –u 500 10 –p 8000 1.0.2.2
表 8、接收端 Node 2 之 traffic generator 設置 start time: 3 stop time: 12 type: slave channel: 2 command: rtg –u –p 8000
前頁圖 20 模擬 ECMA-392 在無 PU 環境下使用 channel 2 傳送資料之網 路拓樸,Node 1 之裝置型態為 master,Node 2 則為 slave,其 traffic generator 分別為表 7 及表 8 所示。 圖 21、Simulation case 1 時序示意圖 master slave Scan 各個 channel 中 有無 beacon frame Scan channel 2,共 2 個 superframe Scan channel 3,共 2 個 superframe 第 5 秒開始建立 group 流程 於 channel 2 中傳送第 一個 beacon 此時正好在 scan channel 3 收到 beacon,對齊 superframe CSW 時,傳送 association request 給 master 1 2 傳送 beacon 收到 association request 3 傳送 beacon 及
association response IE 收到 beacon,確定加入 group 傳送 CRP reservation response 傳送 beacon 及 beacon
promotion IE 送 signalling beacon IE
傳送 beacon 傳送 beacon 4 5 於 DTP 傳送資料 BP RSW DTP QP CSW Superframe number
本情境為模擬 ECMA-392 之開始使用 channel、master 建立 group、slave 加入 group、及開使傳送資料的各個 procedure,時序圖如圖 21。Slave 裝置 在模擬開始時,就一直 scan channel,尋找 beacon。在 master 開始傳送資料 之前,必頇先建立 group,首先,Master 要 scan 所有 channel,並對 channel 做分類,從其中選出 operating channel 使用。分類結束以後,則開使 superframe 1 及發送第一個 beacon,此時 slave 正在 scan channel 3;在 superframe 2 時, slave 收到 master 發出的 beacon,則調整 superframe,使時間與 master 同步, 而在同一個 superframe 的 CSW 期間,發送 association request command frame 給 master。Master 收到 association request,在 superframe 3 的 beacon 中夾帶 association response IE、CRP IE 及其他 IE,此時 slave 收到 association response IE 則代表已進入 group,緊接著在 RSW 時間時,slave 回傳 CRP reservation response command frame,到此代表完成 negotiation 及 RSW slot 之 reservation 動作。再下一個 superframe,也就是 superframe 4 中,master 因為有資料要 傳送,所以在 beacon 中夾帶 beacon promotion IE,slave 收到此 IE 後,將在 同一個 superframe 的 CSW 中傳送 signalling beacon frame,master 則會延展 BP,使 slave 完成加入 beacon group 的程序。完成以上程序後,slave 及 master 在 superframe 5 時,於各自的 beacon slot 傳送各自的 beacon frame,並在 DTP 區間傳送資料。
Channel utilization 如下頁圖 22,圖中可看到固定時間間隔有使用 channel 之情形,該情形代表定期傳送 beacon,而在 superframe 5 之後的 superframe,除了開始傳資料外,也可觀察到 beacon 前後都有未使用 channel 的情況,在 beacon 之前代表 QP 及 CSW 區間,在 beacon 之後則為 RSW 區 間,圖中之方塊解說,可搭配圖 21 時序圖觀看。
本模擬情境雖模擬到 12 秒,但因為需要觀察 beacon 及 superframe 之相 互關係,所以圖 22 中僅截取部分時間,以利觀察。
圖 22、Simulation case 1 之 channel utilization 5.3 Simulation case 2 (有 PU,撤離 channel 模擬)
圖 23、Simulation case 2 之有 PU 及撤離 channel 的模擬拓樸
此情境模擬一開始 ECMA-392 裝置於 channel 2 傳資料,而傳到一半忽 然 PU 開始使用 channel 2,且因 PU 訊號過強,master-slave group 之間無法
傳送任何控制或管理資訊,因此,在保護 PU 的機制下,ECMA-392 裝置必 頇撤離 channel 2,進而從 backup channel 中挑選可以使用之 channel 繼續進 行傳輸。
表 9、ECMA-392 傳送端 Node 1 之 traffic generator 設置 start time: 5 stop time: 12 type: master channel: 2 3 command: stg –u 500 10 –p 8000 1.0.2.2
表 10、ECMA-392 接收端 Node 2 之 traffic generator 設置 start time: 3 stop time: 12 type: slave channel: 2 3 command: rtg –u –p 8000
表 11、PU 傳送端 Node 3 之 traffic generator 設置 start time: 7 stop time: 12 channel: 2 command: stg –u 500 10 –p 8000 1.0.1.2
表 12、PU 接收端 Node 4 之 traffic generator 設置 start time: 3 stop time: 12 channel: 2 command: rtg –u –p 8000
各個 Node 之 traffic generator 設定如表 9 至表 12。首先,必頇注意的是 於表 11 中特別設定 PU 比 ECMA-392 裝置還晚開啟,藉此觀察 ECMA-392 之撤離 channel 的程序,若 PU 先於 ECMA-392 裝置開始使用 channel, ECMA-392 裝置在開啟時則會將該 channel 分類為 Unavailable,並直接使用 其他 channel。而表 9 及表 10 的 “channel: 2 3” 代表原先使用於 channel 2, 在偵測到 PU 後跳到 channel 3 的情況。
圖 24、PU 及 ECMA-392 裝置之 channel 2 activity
圖 25、ECMA-392 裝置之 channel 3 activity
圖 24 呈現 PU 與 ECMA-392 裝置共同使用 channel 2 之頻道活動量,斜 條紋線段代表 PU 活動量,而實線部分則微 ECMA-392 裝置活動量。基本上 於 7 秒之前與圖 22 相同,但因篇幅關係,導致 superframe 區間較難以觀察; 而 7 秒之後則與圖 19 相同。在 7 秒之後,因 PU 開始使用 channel 2,所以 ECMA-392 之裝置除了無法正確接收 data 外,該 superframe 之 QP 還會偵測 到 PU 訊號,而開始撤離 channel 程序,也就是說,在 7.04 秒時偵測並跳離 channel 2 至 channel 3,其後則繼續使用 channel 3 傳送資料,channel 3 頻道 使用量紀錄於圖 25。
圖 26、Simulation case 2 時序示意圖
本情境之時序示意圖如圖 26,master-slave 正在傳送資料時,PU 恰好開 始使用 channel 2,因此,slave 將無法正確接收 master 傳送之任何資料。直 至該 superframe 之 QP 時,才因偵測到 PU 訊號而呼叫撤離 channel 程序, 也因為呼叫了撤離 channel 的程序,該 superframe 沒有 CSW 區間。如同本 節一開始提到,PU 訊號過強導致 master-slave group 之間無法傳送任何 control/management information,所以 group 內所有裝置直接跳至 backup channel,並 scan 一個 superframe 的時間,如前頁圖 25 之 7.04 秒開始,有 段未使用 channel 3 之區間,用以確認該 channel 未被使用,其後,繼續在該 channel 中傳輸資料。 master slave BP RSW DTP QP CSW PU 開始使用 channel 2,master 持續傳資 料,但 slave 無法收起 \ 偵測到 PU 訊號,撤離 channel 2 Master 及 slave 同時用 一個 superframe 的時 間確認 backup channel 是否可用 使用 channel 3 繼續 傳送資料
5.4 Simulation case 3 (merge group 模擬)
圖 27、Simulation case 3 之 merge group 模擬拓樸
本情境為模擬兩個 ECMA-392 group 分別使用 channel 2 及 channel 3, 到特定時間時,PU 恰好開始使用 channel 2,且 PU 之訊號過強,導致無法 傳送任何 control/management information,頇呼叫撤離 channel 之機制,原先 使用 channel 2 之裝置必頇撤離 channel,直接跳至一開始分類好的 backup channel。而跳到 backup channel 後,發現該 channel 有 group 存在,且無其 他 channel 可以使用,進而呼叫 merge group,加入該 channel 之 group。詳 細設置及時序圖解說如下。
表 13、ECMA-392 傳送端 Node 1 之 traffic generator 設置 start time: 5 stop time: 12 type: master channel: 2 3 command: stg –u 500 10 –p 8000 1.0.2.10
表 14、ECMA-392 傳送端 Node 2 之 traffic generator 設置 start time: 6 stop time: 12 type: master channel: 3 command: stg –u 500 10 –p 8000 1.0.2.11
start time: 7 stop time: 12 channel: 2 command: stg –u 500 10 –p 8000 1.0.1.2
表 16、PU 接收端 Node 4 之 traffic generator 設置 start time: 3 stop time: 12 channel: 2 command: rtg –u –p 8000 表 13 至表 16 為本情境之 traffic generator 設置。雖無 IP 為 1.0.2.10 及 1.0.2.11 兩個節點,但因為 master 只有在要傳送資料時才會建立 group,藉 由設置 Node 1 及 Node 2 之 stg 應用程式發送封包,其後該封包雖無實際設 置之接收端接收,卻會經由各個節點之 Interface 介面進行路由。表 13 及表 14 之開始時間分別為 5 秒及 6 秒,以此設定確保兩個 master 在不同 channel 上建立 group,才可以在 PU 使用 channel 之後,觀察 merge group 的動作。
圖 28、Simulation case 3 時序示意圖 前頁圖 28 呈現本情境之時序圖。模擬一開始,node 1 的 master 因為 master master BP RSW DTP QP CSW PU 開始使用 channel 2 撤離 channel 2 至 channel 3 Channel: 2 3 Channel: 3 收到 beacon,將 channel 視為 candidate 對齊 superframe 於 CSW 傳送 signalling beacon 兩個 master 於各自的 beacon slot 傳送 beacon
channel 2 及 channel 3 都沒裝置在使用,就先將 channel 2 設定為 operating channel,而 channel 3 歸類為 backup channel,而在某個 superframe 的 QP 期 間偵測到 PU 訊號,所以呼叫撤離 channel。但在跳去 channel 3 後,又收到 node 2 之 master 發送的 beacon,只好先將該 channel 改成 candidate channel, 在掃描完所有 backup channel 後發現無 backup channel 可以使用,進而從 candidate channel 中挑選 channel。因此,回到 channel 3 後,收到 beacon 時 先作同步 superframe 的動作,接著才在 CSW 的時間發送 signalling beacon frame。node 2 收到 signalling beacon frame 後則將 node 1 加入 beacon group, 到此為止才算完成 merge group 之程序。
圖 29、PU 及 Node 1 於 Channel 2 的 Activity
圖 30、Node 1 及 Node 2 於 Channel 3 的 activity
料。第 7 秒之後,開始呈現灰色斜條紋線斷,代表 PU 開始使用 channel 2。 因此,裝置在包含第 7 秒之 superframe 的 QP 期間跳至 channel 3,根據圖 28 所示,Node 1 會有兩個 superframe 的時間未使用 channel,到約莫圖 30 中 7.31 秒的時間,才於 CSW 傳送 signalling beacon,之後則於各自之 beacon slot 傳送 beacon。
圖 31、Channel 3 utilization 局部放大圖
圖 31 特別針對其局部放大,僅呈現 7.3043 秒至 7.3073 秒之區間。再次 強調,紀錄 utilization 的機制為每 100 ns 紀錄一次,因此圖 31 並未紀錄到 RTS 及 ACK 使用 channel 的情況。經過 Node 1 送出 signalling beacon frame 後 (圖中 7.3047 秒之虛線處) ,Node 2 在 beacon 中的 BPOIE 告知 Node 1 完成 join group 之程序,其後 Node 2 及 Node 1 則於各自之 beacon slot 傳送 beacon。由局部放大圖也可觀察到,雖然 Node 2 之 beacon slot 雖為 7.3055 秒至 7.3065 秒之間,但實際傳送資料的時間卻相當少,這也是造成頻道使 用率下降的原因之一。
圖 32、Simulation case 4 模擬拓樸
前面介紹及模擬基本的 procedure,本段模擬一對多傳輸的網路,圖 32 中 Node 1 為 master 裝置,Node 2 及 node 3 為 slave 裝置,本情境由 1 個 master 分配 DTP slots 給兩個 slave,並於分配出去的 DTP 區間傳送資料給 slave。
表 17、ECMA-392 傳送端 Node 1 之 traffic generator 設置 start time: 5 stop time: 12 type: master channel: 2 command: stg –u 500 10 –p 8000 1.0.1.2
start time: 6 stop time: 12 type: master channel: 2 command: stg –u 500 10 –p 8000 1.0.1.3
表 18、ECMA-392 傳送端 Node 2 之 traffic generator 設置 start time: 3 stop time: 12 type: slave channel: 2 command: rtg –u –p 8000
表 19、ECMA-392 傳送端 Node 3 之 traffic generator 設置 start time: 3 stop time: 12 type: slave channel: 2 command: rtg –u –p 8000
封包給 IP 為 1.0.1.2 的 node 2 及 IP 為 1.0.1.3 的 node 3。表 18 及表 19 則分 別為 node 2 的 slave 及 node 3 的 slave 之 traffic generator 設置指令。除了前 面章節介紹的 procedure 外,Master 必需進一步分配 DTP 區間給兩個 slave 裝置。本論文採用平均分配 DTP 的方式,讓每個 slave 可以獲得相同大小的 DTP 區間。
圖 33、Simulation case 4 之 node 2 及 node 3 的 activity
由圖 33 可以觀察出在 6.41 秒之前因為 master 的 queue 中只有 node 2 的封包,鎖以分配給 node 3 的 DTP 區間並未使用,而中間 7.31 秒及 7.91 秒左右,也因為 queue 中只有 node 2 的封包,未占用 node 3 的 DTP 區間。 由本模擬結果可以看出 ECMA-392 也可以支援 1 對多的網路情形,若能有 效分配 DTP 區間,對於頻道使用率將會大幅提升。
5.6 Channel Utilization 和 Throughput 驗證
模擬情境介紹在此已告一個段落,流程上接與 ECMA-392 定義相符, 因此本段將在此針對 channel utilization 討論、以及驗證其 throughput。
Channel utilization 圖請參照 4.1 節至 4.4 節之介紹,驗證 Channel utilization 時,僅挑選 simulation case 1 無 PU 之模擬情境做分析,因為根據
觀察,無論在哪種情境下,Utilization 最後將會收斂至定值,且分析圖也有 相同的趨勢。
圖 34、Simulation case 1 執行不同模擬時間之 channel 2 utilization
圖 34 是根據模擬情境 1 執行不同時間,統計時間從是在 channel 2 中有 訊號在傳送時開始,所統計出來的 channel utilization,也就是說,於圖 22 的 5.51 秒開始,紀錄到模擬結束,可以看出使用量到最後約會收斂到 91 %。 而此情境之配置中,QP 共 10 個 MASs (MASQP)、CSW 共 2 個 MASs (MASCSW)、
及 2 個 MASs 給 RSW (MASRSW),一般並未使用;因此,理論值算式如下:
,與執行 60
秒之結果 90.87 % 之差距有下面 2 點:(1) 紀錄 channel utilization 之機制為 每 100 ns 一次,而傳送封包時間不見得佔滿整個 MAS,因此 MAS 之間必 然存在某 100 ns 未使用 channel 之情形;(2) 一個 Beacon slot 佔用兩個 MASs, 但此情境之 beacon 並不大,造成第二個 MAS 有未使用 channel 的情況。綜 合以上觀察及使用率確實有收斂的結果,在 channel utilization 方面屬於可接 受範圍。
接著,throughput 的部分乃是紀錄於接收端,且因 4.1 節模擬 PU 的情 境無頇討論 throughput,4.4 節兩個 master 則無實際傳送資料,而 4.3 節有 PU 的模擬對於 4.2 節無 PU 的模擬,其 throughput 來講並無太大差異,4.3 節又能看出有 PU 干擾之情形,因此 throughput 僅針對 4.3 節做驗證。
參數 值 解說
RTS size (byte) 10 MAC 層 RTS 大小 CTS size (byte) 10 MAC 層 CTS 大小 ACK size (byte) 10 MAC 層 ACK 大小
number bit per symbol (bit) 98 一個 symbol 最多容納 bit 數 symbol time (us) 21 一個 symbol 的時間
SIFS (us) 10 最小 Frame 與 frame 之間隔時間
DTP (ms) 119 DTP 時間
MPDU/PSDU size (byte) 552 MAC 層送至 PHY 層時的封包大小 PLCP preamble (symbol) 3 normal mode 下 preamble 佔用 symbol 數 PLCP header (symbol) 2 PLCP header 佔用 symbol 數
圖 35、Simulation case 3 中 node 2 接收之 throughput
圖 36、Simulation case 4 中 node 2 及 node 3 接收之 throughput
由表 20 得知,傳送一個 RTS、CTS、或 ACK 雖都只有 10 bytes (80 bits), 但仍頇以 1 個 symbol 送出,再加上 preamble 共 3 個 symbol 及 PLCP header 共 2 個 symbol,需要 3+2+1=6 個 symbol,而每個 symbol 為 21 ns,6 個 symbol 共 6*21=126 ns,因此 TRTS、TCTS、TACK皆為 126 ns。傳送一個 552 bytes 之
個 symbol,則為 3+2+46=51 個 symbol,所以傳送一個 data 的總時間 (Tdata)
為 51*21=1071 ns。綜合以上數據,可得知在 DTP 區間 (119000 ns) 內共可 傳送封包量為:
個封包。
因為傳送一組 data 共要花費傳 data 之時間、回 ACK 之時間、及一個 SIFS 的時間,所以先將 DTP 轉換單位至 us,然後減去 RTS、CTS、及兩個 SIFS 的時間後,剩下時間看可以傳送多少組 data。再來計算接收端的 throughput: 因此,在圖 35 中,可觀察到接收端最大之 throughput 為 3.6 Mbps,而 第 12 個 superframe 時,因該情境之 PU 開始使用 channel,所以接收端有部 分無法收起,在第 13 個 superframe 時進行跳換 channel 時掃瞄一個 superframe 時間之程序,因此無任何 throughput,而圖 36 的 1.8 Mbps 則因為平均分配 DTP,造成兩個 slave 只能達到 3.6 Mbps 的一半。但與理論值之 4.75 Mbps 仍有 (4.75-3.6)/4.75*100% = 24% 差異,其 overhead 是因 SIFS 及每個封包 前面之 preamble 和 PLCP header 所造成。
在此再針對 overhead 詳細解釋,以一個 symbol 為單位且每個 symbol (TSYM) 為 21 us 的觀點來看,RTS 的 symbol 量 (SYMRTS)、CTS 的 symbol
量 (SYMCTS)、及 ACK 的 symbol 量(SYMACK) 各為 6 個 symbol,而 data 的
symbol 量 (SYMdata) 為 51 個 symbol,所以 symbol 總量 NSYM 共: symbols
考量每個 symbol 的傳輸時間 21 ns,及 RTS、CTS、data、ACK 封包後都有 10 ns 的 SIFS 區間,因此,所需總時間 (total time) 為:
由總時間 118321 us (118.3 ms) 可知,十分逼近 DTP 之總時間 119 ms,證明
模擬結果 24% 的 overhead 的確是由 preamble、PLCP header、及 SIFS 三個 因素造成。
第六章 未來展望
目前已在 EstiNet 模擬平台上開發完 ECMA-392 之網路型態,並針對其 throughput 及 channel utilization 作驗證,詳細解說已於前面章節介紹過,在此, 針對 ECMA-392 的觀察,提出下列工作,希望可以提供更好的效能及更完整的 系統。 a. 針 對 ECMA-392 2nd 版 本 進 一 步 開 發 : 本論 文 實 作 是 根 據 第 一 版 ECMA-392 網路協定為基礎所做的設計,但 ECMA 組織已於 2012/06/25 時正式提出第二版 ECMA-392 [22],希望未來可以藉此模擬平台,再依 照第二版之網路協定修改,並對其效能做改良。 b. 觀察 DTP 傳輸之 PCA 存取方法的效能:目前觀察之效能及 channel utilization 皆是依據 channel reservation access (CRA) 之方式進行 data transfer,而 prioritized contention access (PCA) 與 EstiNet 中 80211 a/g/n 功能約大同小異,期望未來實作 PCA,並觀察其效能與 CRA 進行 channel utilization、throughput、及對 PU 影響之比較。
c. 視 channel reservation 狀況動態調整 superframe:觀察 simulation case 的 channel utilization 中未傳送 data 的部分,若能根據 channel reservation 的結果,去動態調整 superframe 的大小,QP 頻率將會更頻繁,藉此可 以減低對 PU 的影響,並增快 join group 程序的完成。
d. IEEE 802.22 與 ECMA-392 之共存:目前實驗室正同時在 EstiNet 上開 發 IEEE 802.22 網路,這兩套按照相同基礎下設計出來的通訊協定,希 望未來可以在上面找到如何共存之議題。
第七章 結論
目前無線資源逐漸用盡,各個組織紛紛改善原本網路型態,使其達到更高的 throughput,但此方法仍在相同頻帶競爭,對於無線資源越來越少的問題並不會 有太大的改進。而隨著各個國家紛紛關閉無線電視基地台,電視白頻帶將會越來 越多,因此,使用電視白頻帶之無線資源,才能有效解決無線資源匱乏的問題。 為了模擬使用電視白頻帶之裝置及其特性,在現今兩套標準 IEEE 802.22 及 ECMA-392 中,特別挑選 ECMA-392 通訊協定做設計,並在 EstiNet 上根據該通 訊協定設計出 ECMA-392 之節點。該節點之 MAC 層和 PHY 層分別處理及模擬 ECMA-392 中定義之 MAC 和 PHY 層的各個程序,MAC 層負責模擬進入網路、 建立 group、group merge、channel SCAN、channel reservation、channel 撤離、及 data transfer;而 PHY 層則模擬將資料送出至空氣中,並偵測 PU 訊號使 MAC 適 時觸發撤離 channel 的程序。相信在未來若能將 CR 感知技術發展更加純熟,即可不必侷限於電視白頻帶, 如此一來,目前在電視白頻帶上之設計,將是未來的跳板,讓純熟的 CR 感知技 術應用在其他頻帶,將有機會能大幅提升無線資源之使用率。
參考文獻
[1] Television frequency table, available at http://www.csgnetwork.com/tvfreqtable.html
[2] 國 家 通 訊 傳 播 委 員 會 (National Communications Commission , NCC), available at http://hdtv.ncc.gov.tw/index.aspx
[3] Understanding TV Band White Spaces. available at
http://insidedigitalmedia.com/understanding-tv-band-white-spaces/
[4] Ecma 392: MAC and PHY for Operation in TV White Space, Ecma
International Standard, 1st Edition, December 2009.
http://www.ecma-international.org/publications/standards/Ecma-392-arch.ht m
[5] IEEE 802.22 WG on WRANs (Wireless Regional Area Networks),
http://www.ieee802.org/22/.
[6] Jianfeng Wang, Myung Sun Song, Santhiveeran, S., Kyutae Lim, Gwangzeen Ko, Kihong Kim, Sung Hyun Hwang, Ghosh, M., Gaddam, V., Challapali, K., “First Cognitive Radio Networking Standard for Personal/Portable Devices
in TV White Spaces,” in IEEE Symposia on New Frontiers in Dynamic
Spectrum Access Networks (DySPAN 2010), Singapore, 2010.
[7] Jung-Sun Um, Sung-Hyun Hwang, Byung-Jang Jeong, Chang-Joo Kim, “Implementation of PHY Module for Personal and Portable Cognitive Radio
Devices,” in IEEE International Conference on Consumer Electronics (ICCE
2011), Las Vegas, NV, 2011.
JungSun Um, SunMin Lim, GwangZeen Ko, SungHyun Hwang, ByungJang Jeong, MyungSun Song, ChangJoo Kim, “Cognitive Radio Test-bed based on
ECMA-392 International Standard,” in IEEE International Symposium on
Wireless Communication Systems (ISWCS 2010) , York, 2010.
[9] Cognitive Radio Cognitive Network Simulator on NS2, is available at http://stuweb.ee.mtu.edu/~ljialian/
[10] Jacek Dzikowski, and Cynthia Hood, “An agent-based simulation framework
for cognitive radio studies,” in Proceedings of the 2nd International
Conference on Simulation Tools and Techniques, 2009. [11] NS2, available at http://www.isi.edu/nsnam/ns/
[12] Byungjoo Lee, Seung Hyong Rhee, “Adaptive MAC Protocol for
Throughput Enhancement in Cognitive Radio Networks,” International
Conference on Information Networking 2008 (ICOIN 2008), Busan, 2008. [13] Juncheng Jia, Qian Zhang, Xuemin Shen, “HC-MAC: A
Hardware-Constrained Cognitive MAC for Efficient Spectrum
Management,” IEEE Journal on Selected Areas in Communications, 2008.
[14] Xiangpeng Jing, Siun-Chuon Mau, Raychaudhuri, D., Matyas, R., “Reactive
Cognitive Radio Algorithms for Co-Existence between IEEE 802.11b and 802.16a Networks,” IEEE Global Telecommunications Conference 2005
(GLOBECOM 2005), St. Louis, MO, 2006.
[15] Shie-Yuan Wang, Yu-Ming Huang, Lee-Chin Lau, Chih-Che Lin,
“Enhanced MAC Protocol for Cognitive Radios over IEEE 802.11
2011 (WCNC 2011), Cancun, Quintana Roo, 2011.
[16] Lee-Chin Lau, Chih-Che Lin, Shie-Yuan Wang, “Bi-directional Cognitive
Radio MAC Protocol for Supporting TCP Flows,” IEEE Vehicular
Technology Conference 2011 (VTC Fall 2011), San Francisco, CA, 2011. [17] Lee-Chin Lau, Chih-Che Lin, Shie-Yuan Wang, “An IEEE 802.11 Cognitive
Radio MAC Protocol with Dynamic Bandwidth Allocation Capabilities,”
IEEE Wireless Communications and Networking Conference 2012 (WCNC 2012), Shanghai, 2012.
[18] Cordeiro, Carlos; Ghosh, Monisha; Cavalcanti, Dave; Challapali, Kiran; “Spectrum Sensing for Dynamic Spectrum Access of TV Bands,” International Conference on Cognitive Radio Oriented Wireless Networks and Communications 2007 (CrownCom 2007), Orlando, FL, USA, 2007. [19] Carlos Cordeiro, Kiran Challapali, Monisha Ghosh, “Cognitive PHY and
MAC Layers for Dynamic Spectrum Access and Sharing of TV Bands,” In
Proceedings of the first international workshop on Technology and policy for accessing spectrum. ACM New York, NY, USA, 2006.
[20] The OPNET modeler, available at http://www.opnet.com
[21] EstiNet network simulator and emulator. available at
http://www.estinet.com/
[22] ECMA-392: MAC and PHY for Operation in TV White Space, Ecma
International Standard, 2nd edition, June 2012,