Presentation is loading. Please wait.

Presentation is loading. Please wait.

Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.

Similar presentations


Presentation on theme: "Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany."— Presentation transcript:

1 Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany

2 Tilo Hamann thamann@eecs.berkeley.edu Outline Motivation for ECN How ECN works Benefits of ECN New-ECN TCP –Algorithm –Simulation results –Some numbers Conclusions

3 Tilo Hamann thamann@eecs.berkeley.edu Motivation for ECN TCP relies on packets drops to detect congestion –usually caused by queue overflow at a gateway  many connections see packet drops  synchronization of loss  greater variance in queueing delay Solution: active queue management (e.g. RED) avoids synchronization of loss across multiple flows tries to maintain a smaller average queue size attempts to increase fairness but packet drops are still the indication of congestion

4 Tilo Hamann thamann@eecs.berkeley.edu Motivation for ECN ECN uses “marked” instead of dropped packets for congestion indication ECN can react to congestion before packets get lost ECN avoids transmission delay due to unnecessary packet drops: –TCP sender does not need to wait for timeouts or duplicate ACKs currently ECN is only defined for data packets –congestion in the ACK path is open for future research

5 Tilo Hamann thamann@eecs.berkeley.edu How ECN works: TCP header ECN makes use of four bits in the TCP header: –ECN Capable Transmission (ECT) bit: DS field, bit 6 –Congestion Experienced (CE) bit: DS field, bit 7 (these two bits are currently listed unused in RFC2474 (DiffServ)) –ECN echo flag: reserved field, bit 9 –Congestion Window Reduced (CWR) flag: reserved field, bit 8 Definitions: –ECT packet: a data packet of a ECN capable connection –CE packet: a marked ECT packet (ECT bit = 1, CE bit = 1) –ECN echo packet: an ACK with ECN echo flag set to 1

6 Tilo Hamann thamann@eecs.berkeley.edu How ECN works: connection setup Connection setup phase: –TCP sender and receiver negotiate their ECN capability during connection setup TCP sender sets the ECN echo flag and CWR in the SYN packet TCP receiver sets, if also ECN capable, only the ECN echo flag in the SYN-ACK packet If and only if both are ECN capable, the ECT bit gets set in every data packet

7 Tilo Hamann thamann@eecs.berkeley.edu How ECN works: Gateway, TCP Receiver If a ECT packet arrives at a RED gateway –it gets marked randomly (RED algorithm) if the average queue size is greater than min th and less than max th –it gets always dropped if average queue size is greater than max th the queue is full After the receiver gets a CE packet, the ECN echo flag gets set in the next outgoing ACK The receiver continues to set the echo bit until it receives a data packet with the CWR flag set

8 Tilo Hamann thamann@eecs.berkeley.edu How ECN works: TCP sender TCP should react to a ECN echo packet like it would to a lost packet: –cut the congestion window: cwnd_ = ½ ·cwnd_ –and reduce the slow start threshold But TCP should not –increase cwnd_ for a ECN echo ACK –trigger an slow start in TCP-Tahoe –wait for roughly a half RTT in the fast recovery phase of TCP-Reno

9 Tilo Hamann thamann@eecs.berkeley.edu How ECN works: TCP sender TCP should react at most once per RTT to any congestion indication, including –timeout of the retransmit timer –duplicate ACKs –ECN echo ACK TCP should set the CWR flag in the next outgoing packet after it has reduced its congestion window for any reason

10 Tilo Hamann thamann@eecs.berkeley.edu Benefits of ECN Benefits for short web transfers: –most of TCP loss recovery is expected to be with timeouts –worst case: first packet gets dropped –ECN reduces packets drops Bulk data transfers Real time flows (Non-TCP)

11 Tilo Hamann thamann@eecs.berkeley.edu ECN-TCP is biased against connections with longer RTTs Question: Can we use the marks to achieve a fair sharing of the available bandwidth? Approach: –reduce window and –reduce the slope of the window-increase for each marked packet –increase window for each regular ACK and –increase slope every RTT while receiving regular ACK s New-ECN

12 Tilo Hamann thamann@eecs.berkeley.edu New-ECN: Algorithm Regular ACK received: –increase window: –if ((First_Mark_Received_ = 1) && (Not_Increased_within_the_last_RTT)) { } TCP initialization: –First_Mark_Received_ = 0 –

13 Tilo Hamann thamann@eecs.berkeley.edu New-ECN: Algorithm Marked packet received: –First_Mark_Received_ = 1 –if (seqno_Ack_  recover_ ) { recover_ = maxseq_ }

14 Tilo Hamann thamann@eecs.berkeley.edu New-ECN: ns simulation parameters RED: –p max = 0.1 –max th = 20 –min th = 10 –w q = 0.002 Network topology: New-ECN: –  1 = 0.9 –  2 = 0.9 –  = 16 –tcpTick_ = 0.01 –packet size: 512byte

15 Tilo Hamann thamann@eecs.berkeley.edu 4 New-ECN connections (Test 10) Link 1: 10Mbps, 1ms  4ms Link 2: 10Mbps, 14ms  30ms Link 4: 10Mbps, 94ms  190ms Link 3: 10Mbps, 34ms  70ms Gateway Link 7: 10Mbps, 1ms

16 Tilo Hamann thamann@eecs.berkeley.edu 4 New-ECN connections (Test 10) TCP3: 70ms TCP4: 190ms TCP2: 30ms TCP1: 4ms TCP2: 30ms TCP3: 70ms TCP4: 190ms

17 Tilo Hamann thamann@eecs.berkeley.edu 4 New-ECN vs. 4 ECN connections (Test 7) New-ECN 190ms 30ms 4ms 70ms

18 Tilo Hamann thamann@eecs.berkeley.edu TCP-Friendliness (1) (Test 8) Link 1: 10Mbps, 14ms  30ms Gateway Link 7: 5Mbps, 1ms ECN New-ECN

19 Tilo Hamann thamann@eecs.berkeley.edu TCP-Friendliness (2) (Test 1) New-ECN 30ms 70ms 4ms 30ms 4ms

20 Tilo Hamann thamann@eecs.berkeley.edu TCP-Friendliness (3) (Test 2) New-ECN 30ms 70ms 4ms 30ms 4ms

21 Tilo Hamann thamann@eecs.berkeley.edu 4 New-ECN connections (2) (Test 9) 70ms 30ms 190ms 4ms 30ms 70ms 4ms 190ms

22 Tilo Hamann thamann@eecs.berkeley.edu 4 New-ECN connections (3) (Test 9) 70ms 30ms 190ms 4ms 30ms 70ms 4ms 190ms

23 Tilo Hamann thamann@eecs.berkeley.edu New-ECN: some numbers 4 New-ECN TCP connections: –Fairnessindex: –TCP-Friendliness (Test 8): 4 ECN TCP connections: –Fairnessindex:

24 Tilo Hamann thamann@eecs.berkeley.edu New-ECN: some numbers (2) seems to be proportional to RTT  with 1<  <2 – where and –  is ranges over 1 to a few RTT  t

25 Tilo Hamann thamann@eecs.berkeley.edu Conclusions It is possible to achieve fairness by using the congestion feedback provided by ECN New-ECN seems to be TCP friendly Some potential problems: –How to choose the design parameters? –Interaction between TCP-Reno and New-ECN TCP Future work: –multiple congested gateways –more congestion indication bits? ECN Home-Page: –http://www.aciri.org/floyd/ecn.html


Download ppt "Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany."

Similar presentations


Ads by Google