第五章 模擬環境的修改:NS2 的實作
5.1. NS2 網路模擬程式介紹
5.2.3 ping agent 模組的新增與修改
我們將適應性聚集封包演算法中的 adaptive 程序實作在 ping agent 模組裡,
此模組會發送 ping 封包到目的端,目的端接收到封包之後,記錄了收到的時間 再回傳給接收端,接收端在計算出 RTT 的時間,我們因此可藉由此時間來實作 Adaptive 程序,我們會先宣告 2 個共用變數 agg_rtt 和 aggsize,agg_rtt 是演算法 中用來判斷有無超過門檻值的時間,aggsize 是聚集封包的數目,如圖 5-5 所示,
第 1 行是量測到的 RTT,第 4~10 行是利用抓取到的 RTT 判斷有無超過門檻值,
若無則將 aggsize 加 1,反之則減 1。在實驗模擬中,我們會定期的去發送 ping 封包,達到動態調整聚集封包數目得目的。
001: k_rtt = ((Scheduler::instance().clock()-hdr->send_time) * 1000);
002: agg_rtt=k_rtt;
003: float threshold=80;
004: if(agg_rtt <= threshold){
005: aggsize = (aggsize+1);
006: }else if((agg_rtt > threshold) && (aggsize!=1)){
007: aggsize = (aggsize-1);
封包聚集裡最主要的一個部份為聚集的 queue,我們將它繼承了 PacketQueue 類別,使的它有一般 queue 的功能。
enque( ) function
連結層藉由呼叫 enque( ) function 來讓封包進入到 queue 裡,如圖 5-6 所示,
第 5~6 行是將進入 queue 的封包加上一個時間標記,時間標記的目的為可讓 add_by_Maxdelay() function 判斷封包有無超過 QueueingMaxDelay,第 7~9 行是 當 queue 滿的時候,此時又有新的封包進入時,新進的封包會以 drop-tail 的方式 被 drop 掉。
001: void AggregatorAdaptive::enque(Packet* p) 002: {
deque( ) function
圖 5-6:函數 enque( )
001: Packet* AggregatorAdaptive::deque(){
002: ...
003: if (hdr_cmn_packet->ptype() == PT_CBR ) {
004: Packet *packetbuffer[MAX_PACKET_NUM];
005: int num = 0;
006: int aggable = aggablesize(&num);
007: int maxsize = getMaxSize(); 語法: $node attach [new Agent/Deaggregator]。
第六章 實驗模擬分析與結果
此章將分析實驗模擬結果透過平均 end to end delay、封包到達率,來評估適 應性聚集封包機制,我們將實驗場景分為 String-Topology 和 Freeway-Topology 2 部分,String-Topology 為靜態車輛的場景,而 Freeway-Topology 是車輛移動的場 景。此外,我們除了比較未聚集得情況,也將以固定式聚集 2 個做為評比對象。
6.1. 影響 delay time 的評估
6.1.1 routing protocol 對於 delay time 的影響 A.實驗設計與目的
這組實驗主要的目的是測試 routing protocol 為 AODV 或 DSR 對於傳輸的 delay time 有什麼影響。
B.實驗環境
實驗架構圖如圖 6-1 所示,詳細參數如表 6-1 所示
圖 6-1:String-Topology 實驗架構圖
表 6-1:模擬參數
Name Value
Number of hops 4
Transmission range 250 m
Interference range 550 m
Node interval 200 m
Traffic packet type CBR
Simulation time 160 sec
Packet Size 512
Routing Protocol AODV
C.實驗結果
如圖 6-2 所示,從 DSR 傳輸的封包序號可以看到 DSR 的 packet loss 比較高且 DSR 的 delay 時間也高達 6 秒相對於 AODV 封包遺失較小且 delay 時間頂多到 1.4 秒,
因為 DSR 需要廣播尋找路徑,且不像 AODV 每個節點可以維護自己的 routing table,所以 DSR 封包遺失相對較高且連結建立所需的延遲時間比較長,故使用 AODV 傳輸效能較好。但是由於 delay 時間一樣滿高的,所以變動 routing protocol 對於降低 delay time 幫助不大。
(a):routing protocol 為 AODV
(b):routing protocol 為 DSR
圖 6-2:封包 delay time 的分析
6.1.2 干擾距離對於 delay time 的影響 A.實驗設計與目的
這組實驗將傳輸距離和節點間隔縮小,並將干擾距離縮小主要的目的是測試干擾 距離對於傳輸的 delay time 有什麼影響。
B.實驗環境
實驗架構和 6.1.節一樣為 String-Topology,詳細參數如表 6-2 所示
表 6-2:模擬參數
Name Value
Number of hop 4
Transmission range 120 m
Interference range 150 m
Node interval 100 m
Traffic packet type CBR
Simulation time 160 sec Packet Size 512 bytes , 700 bytes
Routing Protocol AODV
C.實驗結果
如圖 6-3 所示,可以看到當傳送的封包 size 為 512 bytes 且干擾距離降低時,模擬 時間接近 60 秒時,delay 時間可快速降低到約 25ms 且持續穩定的 delay。當傳送 的封包 size 加大為 700bytes,模擬時間接近 20 秒時,delay 時間可快速降低到約 30ms 且持續穩定的 delay,但穩定的 delay 時間比封包 size 512 bytes 時略高。所 以我們可以得知干擾範圍對於 delay 時間會有影響,且傳送的封包 size 越大,delay 時間可越快降低,這可能是因為 MTU 的影響,在 queue 裡等待封包數目可較少,
delay 時間也縮短。
(a):封包 size 為 512bytes
(b):封包 size 為 700bytes
圖 6-3:封包 delay time 的分析
6.2. 實驗環境設置
本論文我們選擇使用 NS-2 網路模擬器(Network Simulator Version 2)[23]來模 擬實驗,實驗場景分為 String-Topology 和 Freeway-Topology,我們一開始採用 NS2-2.26 的版本,並在 2.26 版本裡實作出適應性聚集封包的模組,由於 NS2-2.26 的版本並不支援 IEEE 802.11p,要在高階版本如 NS2-2.34 才有支援。所以,
String-Topology 的實驗數據是由 IEEE 802.11b 的模組所取得,之後我們並將適應 性聚集封包模組擴充到 NS2-2.34 的版本裡並搭配 IEEE802.11p 的模組來實驗 Freeway-Topology。
String-Topology 共用模擬參數設定如表 6-3,我們並實驗了傳輸 2 種不同的 traffic,CBR 和 FTP,其中 CBR 和 FTP 的參數設定分別由表 6-4 及表 6-5 所示。
Name Value Note General Settings:
Simulation time 160 sec MAC/Physical Layer:
Receiving Threshold
6.88081e-09 Transmission range 120m
Carrier Sense Threshold
2.81838e-09 Interference range 150m
Data Rate 11 Mbit/s
Basic Rate 2 Mbit/s Routing:
Routing Protocol AODV Aggregation Queue:
QueueingMaxDelay 5ms,15ms ,25ms
MTU size 1500 bytes
Traffic Generation:
Traffic packet type CBR
Traffic Rate 0.2Mbps , 64Kbps
Packet Size 60bytes (40 bytes payload +20bytes header) 表 6-4:CBR 參數設定
表 6-3:共用模擬參數設定
表 6-5:FTP 參數設定 Traffic Generation:
Traffic packet type FTP
Packet Size 60bytes (40 bytes payload +20bytes header)
6.3. String-Topology
我們的實驗結果主要分析評估了平均 end to end delay 和封包到達率這 2 個項 目,而我們建立了一個 String-Topology 的環境架構如圖 6-4 所示,車輛間的間格 為 100 公尺,由 Source 端車輛傳資料到 Destination 端車輛,相鄰的車輛間可以 直接的進行通訊,並考慮 hop 數來評估適應性聚集封包演算法。
圖 6-4:String-Topology 6.3.1 平均 end to end delay 比較
如圖 6-5 所示,當 traffic rate 為 0.2Mbps 傳輸 CBR 時,可以看到使用適應性 聚集封包的平均延遲時間有明顯的降低且較穩定,而 hop 數越多時,平均延遲時 間也會稍微變高。由於不同的 QueueingMaxDelay 也會造成不同的平均延遲時間,
因此我們可以看出在不同的 hop 數時,最佳的 QueueingMaxdelay 為何。當 hop 數大於 6 時,QueueingMaxDelay 為 15ms 的平均延遲時間大致上的表現會比固定 聚集 2 個還要佳,由於我們的方法有適應性因此能比固定式聚集的平均延遲時間
更於穩定且相對於未聚集得 delay time 能降低 95%。
圖 6-5:傳輸 CBR 不同環境下的平均延遲時間
圖 6-6:減輕 traffic Rate 傳輸 CBR 的平均延遲時間
如圖 6-6 所示,當減輕 traffic rate 為 64Kbps 傳輸 CBR 時,可以看到適應性 聚集和固定式聚集 2 個的平均延遲時間均能小於未聚集的情況,而適應性聚集的 平均延遲時間可能會略高於固定式聚集 2 個,當 QueueingMaxDelay 為 25ms 時由 於在 queue 裡等待聚集的時間較久因此可以聚集的封包數目較多且越能降低網路 的流量,使得平均延遲時間能較低,若選用較小的 QueueingMaxDelay 例如 5ms
則平均延遲時間會提高,且由於減輕 traffic rate 的關係,我們的方法相對於未聚 集得 delay time 能降低 97%。
如圖 6-7 所示,傳輸 FTP 時,使用適應性聚集封包依然能降低平均延遲時間,
為 在
為不同 QueueingMaxDelay 時傳輸 CBR 和 FTP 的平均延遲時間得比較,
CBR
且我們建議在 hop 數大於 6 時使用適應性聚集封包得助益最大,圖中顯示了 QueueingMaxDelay 25ms 時 各 hop 數中的表現較好。使用固定聚集 2 個的平 均延遲時間隨得 hop 數越多而增加,而 QueueingMaxDelay 為 25ms 雖然也會隨著 hop 數增加平均延遲時間,卻都能比未聚集和固定式聚集還要好。
圖 6-7:傳輸 FTP 不同環境下的平均延遲時間
圖 6-8
我們以 traffic rate 為 0.2Mbps 來比較,雖然使用適應性聚集封包在傳輸 CBR 上相較於傳輸 FTP 能有較低的平均延遲時間,但因為 FTP 可較不要求 delay,因 此我們可容許適應性聚集封包有高點的 delay 去傳輸 FTP。
(a):Maxdelay=5ms
(b):Maxdelay=15ms
(c):Maxdelay=25ms
圖 6-8:不同 QueueingMaxDelay 時傳輸 CBR 和 FTP 的平均延遲時間得比較
6.3.2 封包到達率比較
如圖 6-9 所示,當 traffic rate 為 0.2Mbps 傳輸 CBR 時,可以看到使用適應性 聚集封包的封包到達率在 hop 數 8 之前能有 90%以上的封包到達率,這是由於適 應性聚集封包能聚集的封包數目較多且能降低網路上傳輸的流量和降低網路壅 塞,因此封包到達率能高於固定式聚集 2 個和未聚集的情況,hop 數 8 之後會降
圖 6-9:傳輸 CBR 不同環境下的封包到達率
圖 6-10:傳輸 CBR 不同環境下的平均聚集封包數目
低並呈現穩定的封包到達率卻也優於未使用適應性聚集封包的情況,因此我們建 議在 hop 數 8 之前可使用適應性聚集封包能獲得最好的效益。而在 hop 數 8 之後 會下降封包到達率是因為 hop 數 8 時的適應性聚集封包數目不多,導致 queue drop 掉大多數的封包,使得封包到達率下降,若減輕 traffic Rate 則 queue drop 也會減 少並提高封包到達率。我們可以看出固定聚集 2 個的封包到達率均能比未聚集時 還高,而 hop 數 8 之前由於固定聚集 2 個使得網路的流量會比適應性聚集還高所 以封包到達率沒有比適應性聚集好,hop 數 8 之後因為網路情況不佳適應性聚集 的效果不大,適應性聚集約都聚集 2~3 個,因此和固定聚集 2 個的封包到達率差 不多均為 15%左右。
圖 6-10 為圖 數 8 之前
適應性聚集的平均聚集封包數目均能較高,例如 QueueingMaxdelay 為 25ms 時 hop 數 8 之前均能平均聚集約 16 個封包,而 hop 數 8 之後則因為網路情況,約只固 定聚集 2 個,所以適應性聚集在 hop 數 8 之前能降低網路得壅塞使得封包到達率 相對於固定式聚集能提高 69%~84%,而相對於未聚集的封包到達率 hop 數小於 8 時能提高 87%~93%,hop 數大於 8 時因為能聚集的數量不多 queue drop 情況嚴重 所以只能提高 6%~9%。
6-9 的平均聚集封包數目比較圖,如圖 6-10 所示,hop
圖 6-11:減輕 traffic Rate 傳輸 CBR 的封包到達率
如圖 6-11 所示,當減輕 traffic rate 為 64Kbps 傳輸 CBR 時,可以看到我們的 方法與固定式聚集 2 個均接近 100%,使用適應性聚集封包的封包到達率均能穩 定維持 90%以上,當 QueueingMaxDelay 為 25ms 時能有較高的封包到達率,這是 因為當 QueueingMaxDelay 越久時,在 queue 裡等待聚集的時間可以長些,使得
圖 6-12:減輕 traffic Rate 傳輸 CBR 的平均聚集封包數目
網路上傳輸的封包量減少,網路壅塞的情況自然也就降低,封包到達率可以提高 並趨於穩定。而固定式聚集 2 個雖然封包到達率略高於我們方法,是因為我們為 了要顧及 delay 而發送許多 ping 封包計算出 RTT 並去適應性聚集,因此我們得 overhead 較高些導致封包到達率下降了一點,我們的方法相對於未聚集的封包到 達率能提高 51%~85%。
圖 6-12 為 圖 6-11 的 平 均 聚 集 封 包 數 目 比 較 圖 , 如 圖 6-12 所 示 , 當 QueueingMaxdelay 為 25ms 時均能平均聚集約 6.5 個封包,相對於只固定聚集 2 個封包,適應性聚集能提高壓縮效益。