inside the queuing system, thereby implementing class-based WRED (CBWRED). Each class is queued in its separate queue and has a queue limit, performing tail drop by default. WRED can be configured as the preferred dropping method in a queue, implementing a differentiated drop based on traffic class or on the IP precedence or DSCP value. Note
The combination of CBWFQ and WRED on a single device is currently the only way to implement the Differentiated Services (DiffServ) Assured Forwarding (AF) per-hop behavior (PHB) using Cisco IOS software. Figure summarizes these points concerning WRED.
Content 4.6 Congestion Avoidance 4.6.5 WRED Drop Profiles A per hop behavior (PHB) is the externally observable forwarding behavior applied at a DiffServ-compliant node to a DiffServ behavior aggregate (BA). With the ability of the system to mark packets according to DSCP setting, collections of packets (each with the same DSCP setting and sent in a particular direction) can be grouped into a DiffServ BA. Packets from multiple sources or applications can belong to the same DiffServ BA. The class selector BA is used for backward compatibility with non-DiffServ-compliant devices (RFC 1812-compliant devices and, optionally, RFC 791-compliant devices). Therefore, the class selector range of DSCP values is used for backward compatibility with IP precedence. Figure plots drop probability against average queue size. Note that queues receive different drop treatments based on the IP precedence class or DSCP value. DSCP-Based WRED (Expedited Forwarding)
EF PHB is suggested for applications that require a hard guarantee on the delay and jitter. Typically, mission critical applications would require this service and would be allocated a small percentage of the total network capacity. In DSCP, the Expedited Forwarding (EF) PHB is identified based on these parameters: For the EF DiffServ traffic class, WRED configures itself by default so that the minimum threshold is very high, increasing the probability of no drops being applied to that traffic class. It is expected that EF traffic will be dropped very late, compared to other traffic classes, and the EF traffic is therefore prioritized in the event of congestion. Figure is a drop probability graph for DSCP-based WRED.
Content 4.6 Congestion Avoidance 4.6.6 Configuring CBWRED The random-detect command is used to enable WRED on an interface. By default, WRED is IP precedence-based and uses eight default WRED profiles, one for each value of IP precedence. Figure shows the command syntax. Within the CBWFQ system, WRED is used to perform per-queue dropping within the class queues. Therefore, each class queue has its own WRED method, which can be further weighed based on the IP precedence or DSCP value. Each queue can therefore be configured with a separate drop policy to implement different drop policies for every class of traffic. WRED treats all non-IP traffic as precedence 0. As a result, non-IP traffic is more likely to be dropped than IP traffic. WRED cannot be configured on the same interface as custom queuing (CQ), priority queuing (PQ), or WFQ. However, CBWRED can be configured in conjunction with CBWFQ. Restricting nondistributed, non-class-based WRED to only FIFO queuing on an interface is typically not a major issue because WRED is usually applied in the network core, where advanced queuing mechanisms are not typically used. WRED is suited for the network core because WRED has a relatively low performance impact on routers. Changing the WRED Traffic Profile
When WRED is enabled, default values are selected for each traffic profile based on the weight used (IP precedence or DSCP). Network administrators can then modify these default values to match their specific administrative quality of service (QoS) policy goals. Figure shows the command syntax for changing WRED traffic profiles. When you are modifying the default WRED profile for IP precedence, the following values are configurable: If required, RED can be configured as a special case of WRED, by assigning the same profile to all eight IP precedence values. The default WRED parameters are based on the best available data. It is recommended that these parameters not be changed from their default values unless you have determined that your applications will benefit from the changed values. CBWFQ Using IP Precedence with WRED: Example
The example in Figure shows an IP precedence CBWRED deployment. This example of CBWFQ with WRED focuses on a network that provides the following three different service levels for three traffic classes: To enforce this service policy, a router uses CBWFQ to perform bandwidth sharing and WRED within service classes to perform differentiated dropping. Figure shows the WRED traffic profile representing the QoS policy and the configuration that is used to implement the example service policy. The traffic is classified based on the IP precedence bits, and all noncontract traffic is classified into the default class:
Content 4.6 Congestion