CONGESTION AVOIDANCE: WRED
The Crisis Of Tail Drop
TCP Windowing – As soon as packet is acknowledged, TCP will try and much as possible to send as much traffic and increase the window size until you reach the link utilisation. Packet Loss will eventually occur when link is saturated. TCP Window will then fall in size by half, then we will build back up the window and then drop again by half when loss occurs.
Multiple occurrences of this result in TCP Synchronisation. (Global TCP Sync)
Tail Drop Flaws
1. TCP Sync
2. Traffic Starvation (Most aggressive flows will saturate queue, FTP or HTTP TCP based application for example)
3. Unbiased Dropping
Random Early Detection
RED = Industry Standard
WRED = Cisco Preparatory
- Random drops packets from TCP flows to minimise TCP Synchronisation occurrences.
- Dropping becomes more aggressive as queues full.
- Specific to reliable protocols – TCP
Weighted Random Early Detection
Cisco Implementation of RED allows multiple RED profiles
- IP Precendence (8 profiles)
- DSCP (64 profiles)
Mark Probability Denominator (MPD) – Value set for example 1, meaning 1 out of 10 packets will be dropped. This only applies when the max threshold is reached. Router has the intelligence to determine a ratio on the fly.
Cisco have created their own profiles to take over with good min/max and MPD values.
IP Prec 1-8 – Each class can have set min/max and MPD values. (top to bottom value, you should never really reach IP Prec 5! As the issue should be dealt with at a lower IP Prec class)
The same thing can be applied to DSCP with Assured Forwarding.
random-detect – Set under the policy/class
random-detect dscp-based – Uses Cisco profiles for DSCP. Jeremy best practice!
random-detect dscp AF11 10 50 10 (Min/Max/MPD)
WRED ECN Enhancements
Explicit Congestion Notification (ECN) – Adds a proactive approach to WRED Tells sender to slow down with packets at random!
Uses last 2 bits of ToS byte.
DSCP BITS x 6 – 1 1 1 1 1 1 1 1 – ECN BITS x 2
Has 1 of 4 markings…. as follows…
0 0 – Not ECN Capable
0 1 – Endpoints are ECN capable
1 0 – Endpoints are ECN Capable
1 1 – Congestion Experienced
How ECN Works
Router and endpoint/hosts need to be ECN compatible.
Destination router will send an ECN-ECHO back to the host that sent the packet, if an ECN host is detected then it will back off and slow down!
Router to Router this will not really work.. the host needs to be involved.
Under policy map…
Under class map…
Makes router ECH compatible and can send ECN-ECHO packets and also sent congestion notifications as required by altering last 2 bits.