Explicit Congestion Notification ECN - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Explicit Congestion Notification ECN

Description:

TCP relies on packets drops to detect congestion. usually caused by queue overflow at a gateway ... trigger an slow start in TCP-Tahoe ... – PowerPoint PPT presentation

Number of Views:254
Avg rating:3.0/5.0
Slides: 26
Provided by: ham8154
Category:

less

Transcript and Presenter's Notes

Title: Explicit Congestion Notification ECN


1
Explicit Congestion NotificationECN
  • Tilo Hamann
  • Technical University Hamburg-Harburg, Germany

2
Outline
  • Motivation for ECN
  • How ECN works
  • Benefits of ECN
  • New-ECN TCP
  • Algorithm
  • Simulation results
  • Some numbers
  • Conclusions

3
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
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
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
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
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 minth and
  • less than maxth
  • it gets always dropped if
  • average queue size is greater than maxth
  • 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
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
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
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
New-ECN
  • 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
    ACKs

12
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
New-ECN Algorithm
  • Marked packet received
  • First_Mark_Received_ 1
  • if (seqno_Ack_ ? recover_ ) recover_
    maxseq_

14
New-ECN ns simulation parameters
  • RED
  • pmax 0.1
  • maxth 20
  • minth 10
  • wq 0.002
  • Network topology
  • New-ECN
  • ?1 0.9
  • ?2 0.9
  • ? 16
  • tcpTick_ 0.01
  • packet size 512byte

15
4 New-ECN connections (Test 10)
16
4 New-ECN connections (Test 10)
17
4 New-ECN vs. 4 ECN connections (Test 7)
18
TCP-Friendliness (1) (Test 8)
19
TCP-Friendliness (2) (Test 1)
20
TCP-Friendliness (3) (Test 2)
21
4 New-ECN connections (2) (Test 9)
22
4 New-ECN connections (3) (Test 9)
23
New-ECN some numbers
  • 4 New-ECN TCP connections
  • Fairnessindex
  • TCP-Friendliness (Test 8)
  • 4 ECN TCP connections
  • Fairnessindex

24
New-ECN some numbers (2)
  • seems to be proportional to RTT? with 1lt ?
    lt2
  • where and
  • ? is ranges over 1 to a few RTT

?
t
25
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
Write a Comment
User Comments (0)
About PowerShow.com