DiffServ Compliant WRED

DiffServ Compliant WRED extends the functionality of Weighted Random Early Detection to enable support for DiffServ and Assured Forwarding (AF) per hop behavior (PHB). This feature enables customers to implement AF PHB by coloring packets according to Differentiated Services Code Point (DSCP) values and then assigning preferential drop probabilities to those packets.


Note

This feature can be used with IP packets only. It is not intended for use with Multiprotocol Label Switching (MPLS)-encapsulated packets.


Information About DiffServ Compliant WRED

Differentiated Services for WRED

Differentiated Services is a multiple service model that can satisfy differing Quality of Service (QoS) requirements. With Differentiated Services, the network tries to deliver a particular kind of service based on the QoS specified by each packet. This specification can occur in different ways. The DiffServ Compliant WRED feature enables WRED to use either the 6-bit differentiated services code point (DSCP) or the IP Precedence setting in IP packets when it calculates the drop probability for a packet. The DSCP value is the first six bits of the IP type of service (ToS) byte.

Usage Guidelines for DiffServ Compliant WRED

To configure the DiffServ Compliant WRED feature, first specify the policy map, add the class, and configure the bandwidth or shape for the class. If you want WRED to use the DSCP value when it calculates the drop probability, use the dscp-based argument with the random-detect command to specify the DSCP value and then use the random-detect dscp command to modify the default minimum and maximum thresholds for the DSCP value. If you want WRED to use the IP Precedence value when it calculates the drop probability, use the precedence-based argument with the random-detect command to specify the IP Precedence value. This configuration can then be applied wherever policy maps are attached (for example, at the interface level, the per-VC level, or the shaper level).

Remember the following points when using the commands included with this feature:

  • If you use the dscp-based argument, WRED will use the DSCP value to calculate the drop probability.

  • If you use the precedence-based argument, WRED will use the IP Precedence value to calculate the drop probability.

  • The dscp-based and precedence-based arguments are mutually exclusive.

  • If you do not specify either argument, WRED will use the IP Precedence value to calculate the drop probability (the default method).

How to Configure DiffServ Compliant WRED

Configuring DiffServ Compliant WRED

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. class-map class-map-name
  4. match match-criterion
  5. policy-map policy-map-name
  6. class {class-name | class-default }
  7. bandwidth {kbps | remaining percentage | percent percentage }
  8. random-detect [dscp-based | precedence-based | cos-based | discard-class based ]
  9. random-detect dscp dscp-value min-threshold max-threshold [ mark-probability-denominator ]
  10. exit
  11. exit
  12. interface type number [name-tag ]
  13. service-policy output policy-map-name
  14. end
  15. show policy-map interface type number
  16. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

class-map class-map-name

Example:


Device(config)# class-map c1 

Specifies the name of the class map to be created and enters QoS class-map configuration mode.

Step 4

match match-criterion

Example:


Device(config-cmap)# match any 

Configures the match criteria for a class map.

Step 5

policy-map policy-map-name

Example:


Device(config-cmap)# policy-map p1

Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy, and enters QoS policy-map configuration mode.

Step 6

class {class-name | class-default }

Example:


Device(config-pmap)# class c1

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 QoS policy-map class configuration mode.

Step 7

bandwidth {kbps | remaining percentage | percent percentage }

Example:


Device(config-pmap-c)# bandwidth percent 30

Specifies the bandwidth allocated for a class belonging to a policy map.

Step 8

random-detect [dscp-based | precedence-based | cos-based | discard-class based ]

Example:


Device(config-pmap-c)# random-detect dscp-based

Configures WRED to use the differentiated services code point (DSCP) value when it calculates the drop probability for a packet..

Step 9

random-detect dscp dscp-value min-threshold max-threshold [ mark-probability-denominator ]

Example:


Device(config-pmap-c)# random-detect dscp af11 10000 30000 25

Changes the minimum and maximum packet thresholds for the differentiated services code point (DSCP) value.

Step 10

exit

Example:


Device(config-pmap-c)# exit

Exits QoS policy-map class configuration mode.

Step 11

exit

Example:


Device(config-pmap)# exit

Exits QoS policy-map configuration mode.

Step 12

interface type number [name-tag ]

Example:


Device(config)# interface GigabitEthernet 0/0/0

Configures an interface type and enters interface configuration mode.

  • Enter the interface type and number.

Step 13

service-policy output policy-map-name

Example:


Device(config-if)# service-policy output p1 

Attaches a policy map to an output interface.

  • Enter the policy map name.

Note 

Policy maps can be configured on ingress or egress routers. They can also be attached in the input or output direction of an interface. The direction (input or output) and the router (ingress or egress) to which the policy map should be attached varies according your network configuration. When using the service-policy command to attach the policy map to an interface, be sure to choose the router and the interface direction that are appropriate for your network configuration.

Step 14

end

Example:


Device(config-if)# end

Returns to privileged EXEC mode.

Step 15

show policy-map interface type number

Example:


Device# show policy-map interface GigabitEthernet 0/0/0

(Optional) Displays the traffic statistics of all classes that are configured for all service policies either on the specified interface or subinterface or on a specific PVC on the interface.

  • Enter the interface type and number.

Step 16

exit

Example:


Device# exit

(Optional) Exits privileged EXEC mode.

Configuration Examples for DiffServ Compliant WRED

Example: DiffServ compliant WRED

The following example enables WRED to use the DSCP value 8 for the class c1. The minimum threshold for the DSCP value 8 is 24 and the maximum threshold is 40. The last line attaches the traffic policy to the output interface or VC p1.


Device(config)# class-map c1
Device(config-cmap)# match ip precedence 1
Device(config-cmap)# policy-map p1
Device(config-pmap)# class c1
Device(config-pmap-c)# bandwidth 48
Device(config-pmap-c)# random-detect dscp-based
Device(config-pmap-c)# random-detect dscp 8 24 40 (bytes/ms)
Device(config-if)# service-policy output p1