Design of TCP Congestion Control Techniques by Routerassisted
Design of TCP Congestion Control Techniques by Router-assisted Approach 路由器輔助的TCP擁塞控制技術之設計 政治大學資訊科學所 指導教授 : 連耀南 學 生 : 鍾永彬
Outline o o o Introduction Background / Related work Our Router-assisted approach Simulation & Results Conclusion
Outline o o o Introduction Background / Related works Our Router-assisted approach Simulation & Results Conclusion
Background / Related works o o Congestion TCP & TCP congestion control 一些用到router-assisted的擁塞控制方法 New Net
Congestion(2/2) o 產生擁塞的結果 n n n o 頻寬的浪費 o 產生retransmission 服務品質受損 o Delay時間拉長 o 使用者的throughput 不好 增加的負載可能導致整個網路throughput降低 Congestion control n n 避免產生congestion 使負載(load)低於容納量(capacity)
TCP的特色 o o Transport layer protocol point-to-point: n o o o reliable, in-order connection-oriented flow controlled: n o o 一個傳送端,一個接收端 sender will not overwhelm receiver 傳輸速率由擁塞視窗(congestion window)所控 制 Congestion is trigger by packet loss or time out
Two transparent layer approaches towards congestion control: Congestion control at sender: o 只能依據觀察到的網路 狀態(封包遺失或延遲) 來推論是否發生 congestion Congestion control at network layer: o routers provide feedback to end systems n n single bit indicating congestion (DECbit, TCP/IP ECN) Ro. Vegas (Chan , NCTU 2004)
TCP congestion control o Both end participate in congestion control (no network assistance) o o rate = CWND Bytes/sec RTT CWND (congestion window) 藉由察覺網路的擁塞做動態調整 n Sender端如何察覺網路的擁塞呢? o o n loss timeout or 3 duplicate acks TCP sender reduces rate (cwnd) after loss event 主要的機制 o o Slow Start Congestion Avoidance n o AIMD(additive increase and multiplicative decrease) Fast Retransmit & Fast Recovery
Slow Start & Congestion Avoidance o Slow Start (CWND < Threshold) n o Slow Start Congestion Avoidance 當connection建立以後,cwnd 大小以加倍的方式增加速率, 直到loss的產生 Congestion Avoidance threshold (CWND > Threshold) n o o AIMD (additive increase and multiplicative decrease) Fast Retransmit (Tahoe) Fast Retransmit + Fast Recovery (Reno) threshold 3 duplicate ACKs time out (RTT)
一些用到router-assisted的擁塞控制方法 o o o RED ECN Ro. Vegas
Random Early Detection (RED) o Early random drop n o rather than wait for queue to become full, drop each arriving packet with some drop probability whenever the queue length exceeds some drop level Implicit Notification n n just drop the packet (TCP will timeout) could make explicit by marking the packet
ECN (Explicit Congestion Notification ) o o ECN must be supported by both TCP senders and receivers. ECN-compliant TCP senders initiate their congestion avoidance algorithm after receiving marked ACK packets from the TCP receiver A RED extension that marks packets to signal congestion. 缺失 n 只有獲得 0, 1 (congestion or not )的通知 n 降低速度較為盲目
Outline o o o Introduction Background / Related works Our approach Simulation & Results Conclusion
Our approach o 設計理念 n n o 找到path中的bottleneck所在 找出bottleneck所提供的bandwidth 藉由bottleneck所提供的資訊做 flow control n n Fully utilize bandwidth 避免 congestion
Design Procedure & Challenges o Design Procedure n n n o 各個Router自行找出可用頻寬 找到bottleneck 利用bottleneck status 調整 window size (data rate) Design Challenges n n n 如何決定各個router可用頻寬 使用絕對的值還是相對的值來比較 如何運用所求得的bandwidth調整 data rate
Data Rate Adjustment Index Conversion - Multi-level (3/5) o o 由三個level數做為實驗一開始 的依據 積極加速、維持穩定、積極擁 塞避免三階段 Available bandwidth
Data Rate Adjustment Index Conversion - Multi-level (4/5) 參數 分層級的數目 參數 範圍 節點數目 3 連結頻寬 1~5 Mbps 每一層級的範圍 連結延遲 7 ms buffer size 5 、 20 、 50 節點數目 traffic load 100 Kbps 每一層級中相對應的值的設定 連結頻寬 連結延遲 buffer size traffic load ……
Data Rate Adjustment Index Conversion - Multi-level (5/5)
Our Approach’s Transition Diagram o o TCP Reno主要分成三個phase n Slow Start (SS) n Congestion Avoidance (CA) n Fast Retransmit & Fast Recovery (FF) 我們簡化成兩個phase n Congestion Avoidance (CA) n Fast Retransmit & Fast Recovery (FF) n 相對於 TCP Reno,把 slow start phase 整合進入 CA
Outline o o o Introduction Background / Related works Our Router-assisted approach Simulation & Results Conclusion
擁塞控制視窗變化圖 -Buffer Size 50 (1/2) Reno 發生 time out Tahoe packet loss or time out Our approach 區間震盪 有效避免 congestion
實驗 2 -1 (調整 buffer size) 實驗 2 -1 10 Mb/3 ms 1 Mb/5 ms 10 Mb/3 ms o 1 Mb/5 ms 10 Mb/3 ms 5~100 Traffic load 100 K 連結頻寬 1~10 Mb 延遲時間 11~21 ms 10 Mb/3 ms 觀察buffer size 的影響 n average throughput n packet loss rate n average delay time Buffer Size o 調整 router上的buffer size
實驗 2 -2 (調整 traffic load) 實驗 2 -2 5 Mb/1 ms 2 Mb/4 ms 5 Mb/1 ms o 5 Mb/1 ms 觀察traffic load 的影響 n n n average throughput packet loss rate average delay time 5 Mb/1 ms o Buffer Size 5~100 Traffic load 300、500、700 、900 K 連結頻寬 2~10 Mb 延遲時間 6~15 ms 調整 burst 性質的traffic load(300 K~900 K)
實驗 2 -3 (調整 Link Delay Time) 實驗 2 -3 Buffer Size 30、60 、90 Traffic Load 100 K 變動的 Link Delay Time 4 、8 、16 、32 、64 、 80 ms delay time X ms o 調整X的值(4~80) 以觀察link delay time 的影響
擁塞控制視窗變化圖 - TCP Global Synchronization
Back up
Fast Retransmit & Fast Recovery o Fast Retransmit n n o Time-out period often relatively long delay before resending lost packet If sender receives 3 ACKs for the same data, it supposes that segment after ACKed data was lost: o fast retransmit: resend segment before timer expires Fast recovery n n 基於封包守恆的原則(conservation of packets principle) cwnd增加的方式是以每收到一個duplicate ACK時, cwnd的值就加一
Procedure (3/3) o 依據傳回來的 data rate adjustment index 動態的調整速率
Design Procedure o o o 各個Router自行找出可用頻寬 找到bottleneck 利用bottleneck status 調整 window size (data rate) 分別把各自available bandwidth 提供出來並存入欄位中
平均吞吐量 -Single TCP Connection • 平均吞吐量遠高於Reno 略低於Vegas
Packet loss rate - Single TCP Connection • 只在buffer size 小的狀況下有些微封包遺 失
Average delay time - single TCP connection • 平均延遲時間在buffer size=15時 低於Reno Tahoe
- Slides: 80