The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Your software release may not support all the features documented in this module. For the latest caveats and feature information,
see
Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module,
and to see a list of the releases in which each feature is supported, see the feature information table at the end of this
module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature
Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for WRED-Explicit Congestion Notification
ECN must be configured through the Modular Quality of Service Command-Line Interface (MQC). For more information about the
MQC, see the "Applying QoS Features Using the MQC" module.
Information About WRED-Explicit Congestion Notification
Currently, the congestion control and avoidance algorithms for Transmission Control Protocol (TCP) are based on the idea that
packet loss is an appropriate indication of congestion on networks transmitting data using the best-effort service model.
When a network uses the best-effort service model, the network delivers data if it can, without any assurance of reliability,
delay bounds, or throughput. However, these algorithms and the best-effort service model are not suited to applications that
are sensitive to delay or packet loss (for instance, interactive traffic including Telnet, web-browsing, and transfer of audio
and video data). Weighted Random Early Detection (WRED), and by extension, Explicit Congestion Notification (ECN), helps to
solve this problem.
RFC 3168, The Addition of Explicit Congestion Notification (ECN) to IP, states that with the addition of active queue management (for example, WRED) to the Internet infrastructure, routers are
no longer limited to packet loss as an indication of congestion.
How WRED Works
WRED makes early detection of congestion possible and provides a means for handling multiple classes of traffic. WRED can
selectively discard lower priority traffic when the router begins to experience congestion and provide differentiated performance
characteristics for different classes of service. It also protects against global synchronization. Global synchronization
occurs as waves of congestion crest, only to be followed by periods of time during which the transmission link is not used
to capacity. For these reasons, WRED is useful on any output interface or router where congestion is expected to occur.
WRED is implemented at the core routers of a network. Edge routers assign IP precedences to packets as the packets enter
the network. With WRED, core routers then use these precedences to determine how to treat different types of traffic. WRED
provides separate thresholds and weights for different IP precedences, enabling the network to provide different qualities
of service, in regard to packet dropping, for different types of traffic. Standard traffic may be dropped more frequently
than premium traffic during periods of congestion.
For more information about WRED, refer to the "Congestion Avoidance Overview" module.
ECN Extends WRED Functionality
WRED drops packets, based on the average queue length exceeding a specific threshold value, to indicate congestion. ECN is
an extension to WRED in that ECN marks packets instead of dropping them when the average queue length exceeds a specific threshold
value. When configured with the WRED -- Explicit Congestion Notification feature, routers and end hosts would use this marking
as a signal that the network is congested and slow down sending packets.
As stated in RFC 3168,
TheAdditionofExplicitCongestionNotification(ECN)toIP,implementing ECN requires an ECN-specific field that has two bits--the ECN-capable Transport (ECT) bit and the CE (Congestion
Experienced) bit--in the IP header. The ECT bit and the CE bit can be used to make four ECN field combinations of 00 to 11.
The first number is the ECT bit and the second number is the CE bit. The table below lists each of the ECT and CE bit combination
settings in the ECN field and what the combinations indicate.
Table 1. ECN Bit Setting
ECT Bit
CE Bit
Combination Indicates
0
0
Not ECN-capable
0
1
Endpoints of the transport protocol are ECN-capable
1
0
Endpoints of the transport protocol are ECN-capable
1
1
Congestion experienced
The ECN field combination 00 indicates that a packet is not using ECN.
The ECN field combinations 01 and 10--called ECT(1) and ECT(0), respectively--are set by the data sender to indicate that
the endpoints of the transport protocol are ECN-capable. Routers treat these two field combinations identically. Data senders
can use either one or both of these two combinations. For more information about these two field combinations, and the implications
of using one over the other, refer to RFC 3168,
TheAdditionofExplicitCongestionNotification(ECN)toIP.
The ECN field combination 11 indicates congestion to the endpoints. Packets arriving a full queue of a router will be dropped.
How Packets Are Treated When ECN Is Enabled
If the number of packets in the queue is below the minimum threshold, packets are transmitted. This happens whether or not
ECN is enabled, and this treatment is identical to the treatment a packet receives when WRED only is being used on the network.
If the number of packets in the queue is between the minimum threshold and the maximum threshold, one of the following three
scenarios can occur:
If the ECN field on the packet indicates that the endpoints are ECN-capable (that is, the ECT bit is set to 1 and the CE bit
is set to 0, or the ECT bit is set to 0 and the CE bit is set to 1)--and the WRED algorithm determines that the packet should
have been dropped based on the drop probability--the ECT and CE bits for the packet are changed to 1, and the packet is transmitted.
This happens because ECN is enabled and the packet gets marked instead of dropped.
If the ECN field on the packet indicates that neither endpoint is ECN-capable (that is, the ECT bit is set to 0 and the CE
bit is set to 0), the packet may be dropped based on the WRED drop probability. This is the identical treatment that a packet
receives when WRED is enabled without ECN configured on the router.
If the ECN field on the packet indicates that the network is experiencing congestion (that is, both the ECT bit and the CE
bit are set to 1), the packet is transmitted. No further marking is required.
If the number of packets in the queue is above the maximum threshold, packets are dropped based on the drop probability. This
is the identical treatment a packet receives when WRED is enabled without ECN configured on the router.
Benefits of WRED Explicit Congestion Notification
Improved Method for Congestion Avoidance
This feature provides an improved method for congestion avoidance by allowing the network to mark packets for transmission
later, rather than dropping them from the queue. Marking the packets for transmission later accommodates applications that
are sensitive to delay or packet loss and provides improved throughput and application performance.
Enhanced Queue Management
Currently, dropped packets indicate that a queue is full and that the network is experiencing congestion. When a network experiences
congestion, this feature allows networks to mark the IP header of a packet with a CE bit. This marking, in turn, triggers
the appropriate congestion avoidance mechanism and allows the network to better manage the data queues. With this feature,
ECN-capable routers and end hosts can respond to congestion before a queue overflows and packets are dropped, providing enhanced
queue management.
How to Configure WRED-Explicit Congestion Notification
Configuring Explicit Congestion Notification
To configure ECN, complete the following steps.
SUMMARY STEPS
enable
configure terminal
policy-map policy-map-name
class {class-name| class-default }
bandwidth {bandwidth-kbps | percent percent
random-detect
random-detect ecn
end
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configure terminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 3
policy-map policy-map-name
Example:
Router(config)# policy-map policy1
Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Enters QoS policy-map
configuration mode.
Enter the name of the policy map.
Step 4
class {class-name| class-default }
Example:
Router(config-pmap)# class class-default
Specifies the name of the class whose policy you want to create or change or specifies the default class (commonly known as
the class-default class) before you configure its policy. Enters policy-map-class configuration mode.
Enter the name of the class or enter the class-default keyword.
Step 5
bandwidth {bandwidth-kbps | percent percent
Example:
Router(config-pmap-c)#
bandwidth percent 35
Specifies or modifies the bandwidth (either in kbps or a percentage) allocated for a class belonging to a policy map.
Enter the bandwidth in kilobytes per second or enter the bandwidth percentage.
Step 6
random-detect
Example:
Router(config-pmap-c)#
random-detect
Enables WRED or distributed WRED (dWRED).
Step 7
random-detect ecn
Example:
Router(config-pmap-c)#
random-detect ecn
Enables ECN.
Step 8
end
Example:
Router(config-pmap-c)#
end
(Optional) Exits policy-map class configuration mode.
Verifying the Explicit Congestion Notification Configuration
To verify the ECN configuration, complete the following steps.
SUMMARY STEPS
enable
show policy-map
show policy-map interface
end
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
show policy-map
Example:
Router# show policy-map
If ECN is enabled, displays ECN marking information for a specified policy map.
Step 3
show policy-map interface
Example:
Router# show policy-map interface
If ECN is enabled, displays ECN marking information for a specified interface.
Step 4
end
Example:
Router#
end
(Optional) Exits privileged EXEC mode.
Configuration Examples for WRED-Explicit Congestion Notification
Example Enabling ECN
The following example enables ECN in the policy map called pol1:
Router(config)# policy-map pol1
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth per 70
Router(config-pmap-c)# random-detect
Router(config-pmap-c)# random-detect ecn
Example Verifying the ECN Configuration
The following is sample output from the show policy-map command. The words "explicit congestion notification" (along with the ECN marking information) included in the output indicate
that ECN has been enabled.
The following is sample output from the show policy-map interface command. The words "explicit congestion notification" included in the output indicate that ECN has been enabled.
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use
these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products
and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for WRED Explicit Congestion Notification
The following table provides release information about the feature or features described in this module. This table lists
only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise,
subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco
Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 2. Feature Information for WRED Explicit Congestion Notification
Feature Name
Software Releases
Feature Configuration Information
WRED Explicit Congestion Notification
Cisco IOS XE Release 2.1
Currently, the congestion control and avoidance algorithms for Transmission Control Protocol (TCP) are based on the idea
that packet loss is an appropriate indication of congestion on networks transmitting data using the best-effort service model.
When a network uses the best-effort service model, the network delivers data if it can, without any assurance of reliability,
delay bounds, or throughput. However, these algorithms and the best-effort service model are not suited to applications that
are sensitive to delay or packet loss (for instance, interactive traffic including Telnet, web-browsing, and transfer of audio
and video data). Weighted Random Early Detection (WRED), and by extension, Explicit Congestion Notification (ECN), helps to
solve this problem.
The following commands were introduced or modified:
random-detect ecn ,show policy-map ,
show policy-map interface .