• 沒有找到結果。

TCP throughput performance

5. Link-layer 重傳機制及 TCP 效能分析

5.1. Link-layer retransmission scheme

5.2.2. TCP throughput performance

表 5-4 和表 5-5 比較在 packet loss probability p>0 之下有無使用 link-layer retransmission scheme 對 throughput 和 fairness 的影響。結果顯示,在所有的情境 底下,使用 link-layer retransmission scheme 的 throughput 並沒有提升,但是可以 維持很好的 throughput fairness。因為使用 link-layer retransmission scheme 多了 link-layer ACK 造成的 overhead 和進行 retransmission 造成的 overhead,可用頻寬 比不使用 link-layer retransmission scheme 來得少,這樣比較有些不公平,讓兩種 throughput 結果在同一基準點上比較。

表 5-4 比較 p=5%時有無 link-layer retransmission scheme 效能(four-node)

Four-node topology

p=5% at the bottleneck

link

p=5% at the bottleneck link with

link-layer retransmission scheme Overall

表 5-5 比較 p=5%時有無 link-layer retransmission scheme 效能(seven-node)

Seven-node topology

p=5% at the bottleneck

link

p=5% at the bottleneck link with

link-layer retransmission scheme Overall 因此我們根據 5.2.1 分析的結果,將 p=5%沒有使用 link-layer retransmission scheme 的 throughput 進行 normalization。方法如下:

)

我們將 p=5%不使用 link-layer retransmission scheme 的 TCP throughput 乘上 表 5-1 的 overhead,再將結果和使用 link-layer retransmission scheme 的 throughput 比較。經過 normalization 之後的結果如表 5-6 和表 5-7 所示。

表 5-6 比較 p=5%時有無使用 link-layer retransmission scheme 之 normalized throughput (four-node)

Four-node topology

p=5% at the bottleneck

link (normalized)

p=5% at the bottleneck link with

link-layer retransmission scheme Overall

表 5-7 比較 p=5%時有無使用 link-layer retransmission scheme 之 normalized throughput (seveeen-node)

Seven-node topology

p=5% at the bottleneck

link (normalized)

p=5% at the bottleneck link with

link-layer retransmission scheme Overall 經過 normalization 之後再比較使用 link-layer retransmission scheme 和不使用 link-layer retransmission scheme 的 throughput performance 可以發現,packet loss probability p=5%時使用 link-layer retransmission scheme,可以有效改善 throughput 和 fairness。我們再進一步觀察 individual throughput 的分配,如 four-node chain topology 的圖 5-5 和 seven-node topology 的圖 5-6。

圖 5-5 individual TCP throughput under p=5% with link-layer retransmission (four-node)

圖 5-6 individual TCP throughput under p=5% with link-layer retransmission (seven-node)

由這兩張圖可以發現一個現象,使用 link-layer retransmission scheme 對 long-hop flow 的 throughput 有很明顯的改善,但反而傷害 short-hop flow 的 throughput。這是因為對 short-hop flow 來說,因為反應時間較短,TCP end-to-end 的 retransmission scheme 就足以讓它們很迅速地進行 packet loss recovery,因此加 上 link-layer retransmission scheme 反而增加 short-hop flow 不必要的負擔,使可 用頻寬減少。Link-layer retransmission scheme 對 long-hop flow 處理 packet loss 的

幫助比較大。

我們將 packet loss probability p 變化,觀察有無使用 link-layer retransmission scheme 的 TCP throughput,結果如圖 5-7。

圖 5-7 不同 packet loss probability 時 TCP throughput 之變化

圖 5-7 中不使用 link-layer retransmission scheme 的 throughput 是未經 normalization 。 我 們 可 以 觀 察 到 一 個 趨 勢 , 隨 著

p 增 加 , 不 使 用 link-layer

retransmission 的 TCP throughput 衰退愈趨嚴重;但使用 link-layer retransmission scheme 的 TCP throughput 衰退並不明顯。因為使用 link-layer retransmission scheme 增加 overhead(花費頻寬傳輸 link-layer ACK 和 local retransmission),它的 好處只有在 wireless link 狀況非常糟糕、packet loss 很嚴重時才會顯現出來。在 packet loss 狀況輕微時,end-to-end 的機制就足以保持 TCP 快速復原 packet loss 的特性;但是當 packet loss 漸趨嚴重時,需要 local link-layer retransmission scheme 幫助 TCP 保持快速復原 packet loss 的特性。

5.2.3. TCP congestion window 變化情形 變化情形 變化情形 變化情形

p=5%時使用 link-layer retransmission scheme 的 TCP congestion window 隨時

間變化的情形如圖 5-8、圖 5-9。比對不使用 link-layer retransmission scheme 的 圖(圖 4-6、圖 4-7)之後,我們可以發現,使用 link-layer retransmission scheme 的 TCP congestion window 很快地成長到最大值並維持在最高點,達到 steady state,一如沒有發現 packet loss 的狀況(圖 3-20 圖 3-21、圖 3-22、圖 3-23)。這 代表使用 link-layer retransmission scheme 可以讓上層的 TCP 不會發現 packet loss 而引發 retransmission/fast retransmission 的反應而使 congestion window 不斷地震 盪。

圖 5-8 p=5%使用 link-layer retransmission scheme 之 TCP congestion window 變化情形(four-node)

圖 5-9 p=5%使用 link-layer retransmission scheme 之 TCP congestion window 變化情形(seven-node)

圖 5-10 TCP sequence numberof flow 1 with link-layer retransmission scheme under p=5%

(seven-node)

圖 5-10 是使用 link-layer retransmission scheme 之後,接收端收到的 TCP sequence number,時間尺度與圖 4-4 相同,這裡僅列出 flow 1 的結果,其它 flow 也有類似的結果。與圖 4-4 比較可以發現,使用 link-layer retransmission scheme 之後,圖上沒有出現明顯的時間斷層,表示 TCP 不再受到 random packet loss 的 影響而發生 timeout,因為 link-layer retransmission scheme 已經在 local link 將 packet loss 處理好了。因此對 TCP 來說,下層有 link-layer retransmission scheme 的保護,TCP 不會知道 packet loss 發生,使用 link-layer retransmission scheme 可 以保持 TCP 快速復原 packet loss 的良好特性。

5.2.4. TCP smoothed round-trip time

表 5-8 比較 p=0%時有無使用 link-layer retransmission scheme 之 srtt (four-node)

TCP srtt under p=0%

我們先列出 p=0%時的 smoothed round-trip time(srtt)實驗結果比較,以瞭解使 用 link-layer retransmission scheme 會對 srtt 有何影響,再觀察 p=5%時的 srtt。表 5-8 是 four-node chain topology、p=0%的 srtt 比較,表 5-9 是 seven-node chain topology、p=0%的 srtt 比較。在沒有 packet loss (意即沒有任何 retransmission)的 狀況下,使用 link-layer retransmission scheme 比不使用約增加 srtt 15%到 30%的 長度。

表 5-9 比較 p=0%時有無使用 link-layer retransmission scheme 之 srtt (seven-node) link-layer retransmission 大幅度地增加 TCP 的 round-trip time,增加幅度從 5 倍到 15 倍。

表 5-10 比較 p=5%時有無使用 link-layer retransmission scheme 之 srtt (four-node)

TCP srtt under p=5%

Link-layer retransmission scheme 在 packet loss 的情況下,讓 srtt 比不使用 link-layer retransmission 大 幅 增 加 的 原 因 有二 : 一 , Link-layer retransmission scheme 在傳送每個 TCP data packet 或 ACK packet 之後都要花時間回傳 link-layer ACK,或是花時間進行 local retransmission,因此增加 round-trip time。二,因為 link-layer retransmission scheme 讓 TCP 完全沒有發覺下層的 packet loss,因此 TCP 很順利很迅速地達到 steady state,因此造成大量 TCP data packet 排隊排在 bottleneck link,增加 queueing delay,這個狀況和

p=0%的情形相同。

表 5-11 比較 p=5%時有無使用 link-layer retransmission scheme 之 srtt (seven-node)

在這一章,我們使用 link-layer retransmission scheme 改善 TCP 在 wireless mesh network 上遭遇 random packet loss 而下降的 performance。Link-layer retransmission scheme 的 機 制 中 link-layer 必 須 傳 送 ACK 以 確 認 封 包 送 達 , 因 此 會 增 加 overhead。在我們的環境設定中(參見 3.3 和 5.2.1),傳送 link-layer ACK 約增加 21%的 overhead。在

p=5%的狀況中,僅比較 throughput 的話,因為 overhead 太

高,使用 link-layer retransmission scheme 的 throughput 反而沒有提升。若將 link-layer ACK 所增加的 overhead 排除(將不使用 link-layer retransmission scheme 的 throughput 做 normalization),則 link-layer retransmission 對 throughput 是有幫 助的,尤其是對 long-hop flow 的幫助非常顯著;但對 short-hop flow 來說,TCP 的 retransmission 機 制 已 經 可 以 處 理 random packet loss , 加 上 link-layer retransmission 反而沒有幫助。但整體來說,使用 link-layer retransmission 可以使 throughput fairness 提升。

使用 link-layer retransmission 之後,由於 random packet loss 已經在 link-layer

被處理掉了,TCP 完全不會發覺 packet loss,因此 congestion window 變化情形如 同第三章沒有 packet loss 的狀況一樣,所有 TCP flows 都可以很快的達到 steady state。

總結來說,link-layer retransmission scheme 在 packet loss 很嚴重的狀況下,

對 throughput 和 fairness 都很有幫助。但是在不嚴重的 packet loss 情形之中,

link-layer retransmission scheme 帶來的 overhead 大於對 throughput 改善的程度,

因此僅有 fairness 提升。最重要的是,link-layer retransmission scheme 保持了 TCP 一項重要的特性:讓 TCP 能快速的復原 packet loss。

相關文件