第三章 研究方法
3.5 繞徑模組整合層(Routing Module Integration Layer)
國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
收到封包列車後的節點,再根據廣播封包列車的表頭,將信號封包拆解,還原成各 自的繞徑協定封包,再轉交由各資料模組來處理這些資料封包,如圖 3.10。
圖 3.10 收到廣播封包列車後的處理程序。
3.5 繞徑模組整合層(Routing Module Integration Layer)
如前面 3.3.1 節所述,負責處理資料封包繞徑相關程序的單元,需要讓數個繞徑方 法能同時運作,並且要能掌握其他網路單元的各種資訊,來選擇封包的路徑。為此目的,
我們設計了一個整合的架構,稱為「繞徑模組整合層」(Routing Module Integration Layer),
來執行整個繞徑的機制。在這個架構中,各個繞徑方法可為獨立模組,維護各自的路徑 資料或執行繞徑運算,如同單獨存在的情況,並協同多個繞徑模組處理封包,也必須將 不同類型的繞徑封包做分派處理,交由各個繞徑協定模組來處理。而最重要的任務就是 將收到資料封包依路徑選擇程序來決定轉送的節點,如圖 3.11。
IBPT = integrated broadcast packet train RP = routing packet
// while receiving incoming packet train Procedure NodeReceiveIBPT
Receiving IBPT
Next = Count of routing packet in IBPT While (Next > 0)
Get next RP from IBPT
Deliver RP to its routing module Next++
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
圖 3.11 繞徑整合層架構圖。
至於繞徑整合層與其他模組之間的訊息,必須藉由一些事先定義的介面來處理,例 如多數的繞徑模組內部會維護一個路徑資料表、封包的佇列(queue),或是當繞徑模組更 新路徑資料表時的訊息,可藉由設計一個介面來讓整合層取得相關的訊息,作為之後選 擇繞徑方法的依據。同時,繞徑模組所發出的繞徑封包,也必須經由繞境整合層來做管 理,才能轉交由下層原件來發送。另外為了能夠以跨階層的方式來運作整合層,整合層 和其他的網路階層之間,也需要設計介面來溝通。例如取得資料連結層(link layer)的佇 列大小,或是多重存取控制層(MAC)關於相鄰節點通訊狀況等等,都必須藉由事先定義 的介面存取其他網路階層的相關資訊。相關的介面說明如圖 3.12。
Application Layer
Routing Module 1
Routing Module 2 Network Layers of Node
Routing Module Integration Layer
...
Transport Layer
Link Layer / MAC Layer Physical Layer
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
圖 3.12 繞徑模組整合層與各模組之間的整合介面。
此外關於 3.3.1 節與 3.3.3 節中所提到的資料封包管理等功能,也需要由整合層來處 理,就是資料封包中關於繞徑模組表頭的傳送記錄欄位。這個欄位資料有兩個功能,其 中一個是當整合層接收到需要被轉送的資料封包時,會先檢視該封包是以哪個繞徑路徑 轉收來的,整合層便會以該繞徑路徑為優先來轉送資料封包。另一個功能則是若有封包 在同個節點中,若因某個繞徑協定沒有適合的路徑,或路徑發生中斷,就必須標示不再 考慮以該繞徑協定來傳送封包,避免重複錯誤嘗試。由於當目的端節點收到資料封包時,
並不需要再交由繞徑層來處理此封包,此時節點就有可能交由其他封包分送單元(如 port de-mux)來處理,所以我們也必須對該單元來修改相關的程序,才能正確地將資料封包 交由上層的應用層。
Interface to upper layer Routing selection function
Routing protocol module 1
Routing protocol module 2
Packet processing function Interface to lower layer (LL/MAC/PHY)
Routing Module Integration Layer
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
第四章
模擬實驗與結果分析
4.1 模擬環境
為瞭解我們所提出的架構在 VANET 上的傳輸效能,我們以 NS-2 網路實驗工具,搭配 道路車輛移動的模擬工具 SUMO 及轉換車輛節點移動資料的工具 MOVE,來模擬真實 的網路環境。我們選擇 AODV 和 GPSR 兩種繞徑協定,整合在我們的系統架構中,並 與這兩種協定單獨使用的網路環境做比較。主要是因為這兩種方法分別為 topology-based 及 position-based 兩種類別中最典型的代表。至於車輛移動模式的場景,我們也以兩種 不同型態的道路場景來搭配實驗。
4.1.1 道路車輛移動模擬工具
SUMO (Simulation of Urban MObility) 這套開放源始碼工具程式是由德國航太中心 下的組織 Institute of Transportation Systems 所研發的。主要功能是模擬道路環境,以便 研究者藉以觀察各類與車輛交通相關的問題。包括像是交通道路的規劃、交通設施的需 求、交通環境汙染等問題,當然,網路通訊相關的問題,也屬於其應用範圍。
以 SUMO 進行模擬實驗時,需要兩種資料數據,分別為交通路網資料(networks) 與車輛路徑行駛資料(routes)或稱行車資料。交通路網資料主要是以路段(edge)和銜接路 段之間的路口節點(node)為主,並且可以詳盡地設定各路段的方向和車道(lane)數目、最 高時速限制以及路段的特性(priority,如主幹道與支線的優先順序)。在路口節點的部分,
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
也可以描述各路段之間車道的銜接(如左右轉專用車道或直行車道)和模擬交叉路口的交 通號誌等。SUMO 提供了相關的工具 netconvert,來協助使用者產生這些路網資料,包 括手動輸入、依參數產生固定模式的路網,或以真實地理資訊系統的道路圖層來建立路 網資料等。
至於車輛路徑行駛資料,則是包含車輛特性的設定以及車輛行駛經過路段的記錄。
車輛的設定包括長度、最高時速、加減速特性,以及跟車模式(car-following model)種類 及其相關參數。至於車行路段資料,則同樣可以藉由 SUMO 提供的幾種工具如 duarouter、
dfrouter、jtrrouter 及 od2trips,來產生行車資料檔,包含手動輸入、隨機產生,以及根 據輸入車輛的起訖點推算最短行駛路徑等。除此之外,SUMO 也提供了一個城市交通行 車活動的產生器 ActivityGen,協助產生大量的行車資料。該工具是依據 Activity-Based Traffic Demand Model [25] 的模式,來計算車流量,可以讓使用者以實驗的路網資料為 背景範圍,輸入包括人口數、家戶數、自用車輛比例、失業率、上下班時間等參數,以 及公共車輛的行駛路線,來模擬都會車輛行駛的狀況。藉由與 duaouter 搭配,可以在實 驗中建立一個更接近於真實的車量移動模型,作為觀察 VANET 網路效能的實驗平台。
在我們的實驗中,我們以 SUMO (版本 0.12.3)分別設計了兩種道路場景,第一種是 模擬直線道路,全長 4000 公尺的雙向各三線道的高速公路(freeway)場景(最高時速為 110km/h)。我們將道路設計成由數個直線路段相連成的 S 形公路(如圖 4.1)。
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
圖 4.1 模擬高速公路場景(freeway)。
每個路段都超過 500 公尺,任兩段相鄰路段,連接夾角至少都大於 135°,這樣設計,
主要是便於觀察,同時又接近一般高速公路含有彎道的情況。為模擬行駛在高速公路的 車輛,我們安排三種不同性能的車輛種類,分別依照出現的機率和不同的加速度,來模 擬車流。在全程共 300 秒的時間內,我們在此場景以四種車流量來做個別模擬實驗,分 別為 100、200、400 及 600 個車輛節點,陸續依亂數隨機安排在不同的車道上進入場景 中,行駛中各種車輛會依設定的性能係數在道路上移動,同時車輛也會適時變換車道。
我們另外安排兩個模擬資料傳送的車輛,對向行駛,在模擬開始後第 120 秒進入場景,
這是為了讓已進入場景中的車輛能大致均勻的分布在道路上。進入場景後便開始單向傳 送固定位元率資料封包(CBR),用來觀察資料傳輸的狀況。此場景相關的設定如表 4.1。
其中需要說明的是,由於 SUMO 並未清楚說明所採用跟車模式的詳細方法,而且關於 駕駛的反應時間,也似乎由程式內定,所以我們只能決定車輛的加減速特性,以及一個 與駕駛特性相關的參數,因無從得知該參數確實的意義,所以在實驗中一率使用 SUMO 預設的模型以及建議的設定值(sigma = 0.5)。
‧
另外一個場景則為模擬市區的棋盤式道路(grid streets),每個網格區段(block)為 200 公尺,所有路段皆為雙向雙車道,如圖 4.2。
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
圖 4.2 模擬市區街道的場景(grid streets)。
最高時速限制設定為 50 km/h,每個交叉路口皆有紅綠燈交通號誌控制,綠燈的時 間間隔設定為 30 秒,黃燈和紅燈的時間則由 SUMO 計算。相鄰兩個路口號誌,有的會 設定為連鎖控制,有些則為獨立運作,這是因為 SUMO 預設所有路口交通號誌為完全 同步控制,必需要特別指定,才能設計成接近一般市區道路的樣貌。至於棋盤邊緣的開 放道路,則作為進入或離開此區域的連外路段,讓車輛可以離開場景,避免持續在該區 域內活動,相關的設定如表 4.2。
表 4.2 市區街道場景車輛移動模擬參數。
參數 值
道路網格 5X5 (200mx200m block)
道路方向 雙向
單向車道 2 線道
車道時速限制 50 km/h
‧
國立 政 治 大 學
‧
Na tiona
l Ch engchi University
模擬車輛數
5 種車流量測試:
1. 約 200 輛隨機進場 2. 約 400 輛隨機進場 3. 約 600 輛隨機進場 4. 約 800 輛隨機進場 5. 約 1000 輛隨機進場 車輛速度 最高 50 km/h
跟車模式 SUMO Krauà car following model 車輛模擬時間 300 seconds
實驗車輛進入時間 開始模擬第 30 秒至第 300 秒
交叉路口號誌燈
綠燈秒數:30 秒,黃燈秒數:3 秒,紅燈 秒數則由模擬程式控制。
至於行車資料,我們則採用 ActivityGen 來產生車流。由於相關的參數非常多,我 們將所有參數設定值表列於表 4.3。除此之外,我們也在其中一個路段設立一所 1000 人 的小學(6-12 歲),另外在多處路段設定公車站,並規劃四條公車路線,來模擬真實的交 通路況。利用 ActivityGen 來模擬一般交通尖峰時段,並將 NS-2 模擬的起始時間設定為 上午 8:00,來模擬上班時段的車流量。同樣,我們也在這個場景中分別設定約 200、400、
600、800 及 1000 個車輛節點來做個別的模擬實驗。我們亦以兩輛位於場景對角位置,
並對向進入實驗區域的車輛,作為觀察資料傳輸的目標。兩輛車於 30 秒時進入場景,
並逐漸向另一對角方向移動,直到離開場景範圍。
‧
childrenAgeLimit 18 成年年齡 retirementAgeLimit 65 退休年齡carRate 0.7 成年人擁有車輛的比例 unemploymentRate 0.05 失業率
footDistanceLimit 500 以腳程代替車輛的最大距離(公尺) incomingTraffic 1500 每天進入市區工作的人數
outgoingTraffic 1500 每天離開市區工作的人數
carPreference 0.5 已自行驅車取代公眾運輸的比例
meanTimePerKmInCity 360
在市區內行駛一公里平均花費的時
在市區內行駛一公里平均花費的時