• 沒有找到結果。

1 序論

1.1. 背景介紹

1.1.3. TCP Bandwidth Requirement

Wireless mesh network 一些特有的性質會影響 TCP 的 throughput。第一,無 線網路是一個共享的傳輸媒介,相鄰的 links 會互相干擾,造成 link 與 link 彼此 互相競爭 channel access (MAC layer contention)。此外,還有前述的 hidden terminal/exposed terminal 問題。第二,TCP 是 reliable 的 transport protocol,必須 依賴 ACK 的回傳才能順利運作,但是 wireless medium 是 link 之間共享的,且一 般而言,TCP 連線中的 data flow 和 ACK flow 會走向相同的路徑,造成同一條 TCP flow 的 data link 和 ACK 相互競爭共有的 wireless medium。因此 data link 和 ACK link 的 頻 寬 分 配 也 是 影 響 TCP 效 能 的 關 鍵 。 我 們 可 以 用 normalized

bandwidth ratio k 來描述 TCP data packet 和 ACK packet 頻寬需求[12] :

在後面的章節中,我們的 TDMA scheduling scheme 會同時考慮這兩項特質,

並分析使用此 scheduling scheme 的 TCP performance。此外,wireless link 具有容 易發生 error 的特質,因此具有很高的 packet loss probability,我們也會藉由實驗 分析討論 packet loss 對 TCP performance 的影響,並尋找解決方法。

1.2. 研究 研究 研究 研究動機 動機 動機 動機

由於 wireless mesh network 逐漸成為熱門的網路架構以及眾多網路應用使用 TCP 做為 transport layer 通訊協定,如何在 wireless mesh network 上提供良好的 TCP 效能變成一項重要的議題。

1.1.3 小節討論了 TCP 運行在 wireless mesh network 上遇到的問題。以往在 TCP over wireless mesh networks 上的研究[5] [6] [7] [8] [9] ,大部份都是考慮在 單一 interface、CSMA/CA-based MAC 的 stationary wireless mesh network 上討論 TCP 的效能以及提升 TCP throughput,著重在處理 TCP 跟 IEEE 802.11 MAC 或 CSMA/CA-based MAC 之間的交互作用以及 hidden terminal/exposed terminal 的 議題。使用 CSMA/CA-based 的 MAC,有 channel access contention 的問題,鄰近 的 wireless nodes 互相爭搶有限的 wireless resource,非常容易發生 collision 而浪 費 wireless resource。若使用 TDMA-based MAC,可以避免因 channel contention 造成的 collision,妥善地使用可用頻寬並提供上層頻寬保證的服務。

1.3. 研究 研究 研究 研究目的 目的 目的 目的

本篇論文想要回答一個問題:假如使用 spatial TDMA 進行排程設計,我們 可以保留多少 TCP transmission 在有線網路上的良好特性,使之能在 wireless mesh network 上提供好的 overall throughput 表現?我們考慮 TCP 傳輸的頻寬不 對稱特性,使用 spatial TDMA 進行排程設計,在 chain topology 的 multi-hop wireless network 上進行實驗觀察 TCP 的效能,希望能藉由 spatial TDMA 排程設 計及其它方法盡可能地保存 TCP 在有線網路上的良好特性(如 1.1.1 所述)。

1.4. 論文架構 論文架構 論文架構 論文架構

本篇論文之後的章節組織如下:第二章整理有關 TCP performance over wireless mesh network 的文獻;第三章,我們將介紹兩種 TDMA scheduling scheme – equal-shared 的 schedule A 和 demand-based 的 schedule B,並進行模擬 實驗,討論其在 chain topology 的 wireless mesh network 和理想的無線環境下對 TCP 效能的影響。第四章,我們將討論當使用這兩種 scheduling scheme 的 TCP flows 運行在狀況不佳的無線環境之中(會因為 wireless link error 發生 packet loss) 的效能表現。第五章,我們使用 link-layer retransmission scheme 來改善 TCP 因 packet loss 而下降的效能,並討論其優缺。第六章是總結我們的研究以及未來的 研究方向。

2. 文獻探討 文獻探討 文獻探討 文獻探討

在文獻上,改進 wireless mesh network 上 TCP 效能的方法主要分三類:從 MAC layer 著手、從 transport layer 著手、以及其它方式。

2.1. MAC Layer Approach

2.1.1. Distributed Link Random Early Drop

Distributed Link Random Early Drop (簡稱 LRED)由 Z. Fu 等人提出[5] ,這篇 paper 主要在討論 wireless mesh network 上 TCP 的 throughput 以及封包遺失的成 因。在這篇 paper 中,作者們觀察到 TCP 在 wireless mesh network 上的 average window size 通常都比 optimal window size 來得大,因此 TCP 常常送過量的 data 到網路中,然後又因嚴重的 MAC-layer contention 造成封包遺失而迅速降低 window,在這樣反覆升升降降的過程中使網路的 utilization 沒有最佳化,造成 TCP throughput 不佳。LRED 的主要理念是根據 wireless mesh router 觀測到的 MAC layer queue length 調整 wireless link 的 dropping probability,這樣的作法類 似有線網路的 router 的 Random Early Drop 方法。當 buffer queue 到達一定高度時 (但尚未 overflow),LRED 讓封包以一固定機率遺失,藉此通知上層的 TCP「網 路已經趨近 overload」,使 TCP 降低傳送速度,同時也可以避免過多的封包送到 wireless channel 上產生過度的 MAC-layer contention。

圖 2-1 LRED 機制[5]

LRED 的作法可以用圖 2-1 來說明。橫軸為 MAC-layer 的 average queue length,當 queue length 超過 minimum threshold 時,啟動 LRED 讓封包以一定的 機率遺失,封包遺失的機率隨 queue length 成正比。這個方法的好處是讓 wireless mesh network 在 overload 之前就降低傳輸速度,避面進一步的惡化 MAC-layer contention 的狀況。

2.2. Transport Layer Approach

文獻上也有一些改善方式從 transport layer 著手,修改 TCP 的 congestion control 機制使得 TCP 能適應 wireless mesh network 的環境,以提供更好的 throughput,以下逐一介紹。

2.2.1. Dynamic Adaptive Acknowledgement Strategy

R. Oliveira 和 T. Braun[6] [7] 提出 dynamic adaptive acknowledgement strategy 以提升 TCP 在 wireless mesh networks 上的 throughput。這兩位作者認為 TCP 在 wireless mesh network 上最大的問題在於太多「不必要的重傳」以及 data 和 ACK 封包之間互相競爭 wireless channel resource。他們把 RFC 2581[2] 中提出的 delayed ACK 機制延伸,接收端延遲 ACK 的發送以減少 ACK traffic,並根據

channel condition 猜測傳送端的 congestion window 以動態調整 delayed ACK 的數 量。此法利用 TCP 的 cumulative ACK 的特性,sequence number 為 i 的 ACK 可 以 acknowledge 前面所有 sequence number ≤ i 的 data packet,以減少 ACK traffic 量。

圖 2-2 TCP-DAA[6] [7]

Dynamic adaptive acknowledgement strategy 的方法可以用圖 2-2 來描述,在 傳輸順暢的狀況下,接收端一直延遲 4 個 ACK(對於每 4 個連續的 data 封包回傳 一個 ACK 封包),4 為 delay ACK factor。當封包遺失時再調降 delay ACK factor。

2.2.2. Adaptive Pacing

S. ElRakabawy 等人[8] [9] 提出 TCP adaptive pacing 的機制。Adaptive pacing 的構想可用圖 2-3 來說明。在簡單的 chain topology 上,假設傳輸範圍為 250 公 尺,干擾範圍為 550 公尺,wireless node 沿著一直線擺放且相鄰 200 公尺。在這 樣的 topology 上,連續的 4 個 hop 之內同時只能有一個 node 進行傳輸,否則就 會發生 collision。以圖 2-3 為例,node D 正在傳輸,因為其干擾範圍涵蓋 node B、

C、E、F,因此這些 node 都不能接收其它 node 的傳輸。以此類推,在長度為 h hops 的 chain topology 上,最多只能有 h/4 個 node 在傳輸,也就是讓網路上同時最多 只有 h/4 個 data packet in flight。因此 TCP with adaptive pacing 的主要構想就是讓 連續的 data 封包彼此間隔 4 個 hop 以上。作者計算 data packet 通過 4 個 hop 所

需的時間,稱為 FHD(four hop propagation delay),讓傳送端在傳送封包時,使 每個連續封 包之間的 時間差都至 少大於 FHD,如此可以達到減少 channel interference 以提升 TCP throughput 的目的。

圖 2-3 Spatial reuse

Adaptive pacing 的主要理念來自於對 chain topology 的觀察,因此這個方法 在其它 network topology 上表現不佳,同時 adaptive pacing 將 TCP 的傳送速度限 制住,使 network utilization 沒有被最大化。

2.3. Other Approach

有學者提出新的 transport layer 通訊協定,這類通訊協定多半為了 operability 而建置在 TCP 之下,使所有使用 wireless mesh network 的裝置不用更改通訊協 定,只要在 mesh router 上裝置新的通訊協定即可。

K. Tan 等人[10] 針對 wireless mesh network 的特性提出新的 congestion control protocol,稱作 Explicit Wireless Congestion Control Protocol (EWCCP)。這 個 protocol 設置在 TCP 之下 IP 之上,並在 data 封包上加入自訂的 header 以提供 mesh router 觀察到的 congestion 狀態。EWCCP 以 queue length 作為判斷 congestion 的依據,相鄰的 mesh router 互相傳遞封包通知對方自己的 queue length,然後每 個 mesh router 再根據自己以及鄰居的 queue length 計算出合理的 sending rate,分

配到每條 transport layer 的 flow 上,並將此值填入相對應的 flow 的封包 header 中,以告知該 flow 的 sender 調整速度。這樣的作法並不侷限於某些特殊型態的 network topology,但可能的缺點是 mesh router 互相之間要傳遞 queue length information,消耗掉有限的 wireless resource,此外新增的 header 也帶來額外的 overhead。

2.4. Improving TCP performance on error-prone wireless link

Wireless link 的一項特質是容易發生 link errors 而造成 packet loss,如同第一 章討論的,TCP 分辨不出 packet loss 是因為 congestion(queue buffer 滿了)還是 wireless link errors,因此 TCP 不當地降低 congestion window 造成 throughput 下 降。文獻上有許多文章討論如何改善因 wireless link errors 而造成 TCP 效能下降 的問題,主要可分成三類:TCP snoop、link-layer retransmission 及 split-connection。

2.4.1. TCP snoop

Balakrishnan 等人[15] [16] 提出 TCP Snoop protocol,幫助改善 TCP 在 wireless link 上的 performance。TCP Snoop 基本上也是一種 local 的 retransmission scheme,但它不依賴 link-layer 傳送 ACK,而是在 link-layer 加上 Snoop module 以 monitor TCP flow 的狀態。Snoop module 會將經過 wireless station 但尚未被 acknowledged 的 TCP data packet 暫存。當 Snoop module 發現第二個 duplicate ACK 的時候,立即在 wireless link 上進行 retransmission,並將之後的 duplicate ACK 丟棄以避免 TCP 發生 fast retransmission。TCP Snoop 的問題在於 wireless station

必須要維護所有流經其上的 TCP flows 的 state,並且要 cache 這些 TCP flows 的 unacknowledged data packet。

2.4.2. Local link-layer retransmission scheme

Eckhardt 等人[14] 討論 local link-layer retransmission 對 TCP performance over error-prone wireless link 的改善。他們認為對付 local wireless link error 最佳的方式 是 local 的 error control,因此進行 emulation 實驗討論如何設計理想的 link-layer retransmission 及 error control scheme 使 TCP 正常運作。他們發現,如果要讓 TCP 維持 steady state,link-layer retransmission scheme 必須避免發生 packet reordering 而造成 TCP 的 fast retransmit,此外 retransmission 的速度必須要夠快以避免 TCP 發生 timeout。

2.4.3. Split-connection

另 外 一 種 改 善 error-prone wirelesss link 上 TCP 效 能 的 方 法 是 split-connection,如 Bakre 等人提出的 I-TCP[17] 。Split-connection 的作法將 TCP 傳送端到接收端的 TCP 連線分為二段連線(有線和無線),第一段(有線)由有線傳 送端到 AP,第二段(無線)則由 AP 到無線的接收端,因此在無線這段 TCP 連線 所遭遇的任何 packet loss 都不會影響原來的有線 TCP 傳送端。Split-connection 的缺點在於它破壞 TCP end-to-end semantics,當有線段的傳送端送出某個封包 後,該封包尚未真正地被傳送到無線的接收端之前,傳送端就可能已經收到中間 點 AP 所回傳該封包的 ACK,因此 TCP 傳送端對可用頻寬以及網路狀態的探測 可能是錯的。

2.5. 討論 討論 討論 討論

前述文獻討論的方式皆使用 CSMA/CA-based 的 MAC 作為 medium access protocol,CSMA/CA 最大的缺點是讓 wireless node 以隨機的方式競爭 channel,

由於現有的 wireless interface 不能在傳送資料的同時偵測 collision 的發生,因此 發生 collision 的代價很高,而 CSMA/CA 發生 collision 之後的 backoff 也帶來很 大的 overhead,channel resource 無法有效地被利用,最終無法得到良好的 TCP throughput。Hidden terminal 問題也會增加 collision 發生的機率。我們認為理想 的 方 式 應 是 使 用 centralized spatial TDMA (time division multiple access) scheduling scheme,妥善並公平地分配 channel resource,使 TCP 的 throughput 提 升。TDMA 可以避免 packet collision,同時可以利用 spatial reuse 特性解決 channel interference 的問題。

以往討論改善 TCP performance over wireless links 的文獻,多半是聚焦在 single-hop 的 wireless network,這個問題在 multi-hop 的 wireless mesh network 比 較複雜,因為每條 TCP flows 的 path hop 長短不一,wireless link errors 對於長短 不同的 TCP flows 可能會有不同程度的傷害。我們使用 link-layer retransmission 來處理 multi-hop wireless network 上 wireless link error,希望能保持 TCP 的良好 傳輸特性提升 throughput。

3. TDMA 排程及 排程及 排程及 排程及 TCP 效 效 效 效能分析 能分析 能分析 能分析

我們將在這一章討論如何分配頻寬使 TCP 順暢流動(k=1 model),並依此提出 兩種 TDMA scheduling 演算法,並進行模擬實驗討論其 TCP 效能。

3.1. k=1 Model

TCP 是 feedback-based 的傳輸協定,TCP 傳送端依賴 ACK 確認封包是否已 送達並將之從 buffer 中清掉,同時 TCP ACK flow 也影響 congestion window 的變

TCP 是 feedback-based 的傳輸協定,TCP 傳送端依賴 ACK 確認封包是否已 送達並將之從 buffer 中清掉,同時 TCP ACK flow 也影響 congestion window 的變

相關文件