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.


Finding Feature Information

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.

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

This example configures DiffServ Compliant WRED to use the DSCP value to calculate the drop probability for a packet.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    interface type number [name-tag]

    4.    class-map class-map-name

    5.    match match-criterion

    6.    policy-map policy-map-name

    7.    class {class-name | class-default}

    8.    bandwidth {kbps | remaining percentage | percent percentage}

    9.    random-detect [dscp-based | precedence-based]

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

    11.    exit

    12.    exit

    13.    interface type number [name-tag]

    14.    service-policy output policy-map-name

    15.    end

    16.    show policy-map interface type number

    17.    exit


DETAILED STEPS
     Command or ActionPurpose
    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 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 4 class-map class-map-name


    Example:
    Device(config-if)# class-map diffservclass 
     

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

     
    Step 5 match match-criterion


    Example:
    Device(config-cmap)# match any 
     

    Configures the match criteria for a class map.

     
    Step 6 policy-map policy-map-name


    Example:
    Device(config-cmap)# policy-map diffservpm
     

    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 7 class {class-name | class-default}


    Example:
    Device(config-pmap)# class diffservclass
     

    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 8 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 9 random-detect [dscp-based | precedence-based]


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

    Configures WRED for a class in a policy map.

     
    Step 10 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 11 exit


    Example:
    Device(config-pmap-c)# exit
     

    Exits QoS policy-map class configuration mode.

     
    Step 12 exit


    Example:
    Device(config-pmap)# exit
     

    Exits QoS policy-map configuration mode.

     
    Step 13 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 14 service-policy output policy-map-name


    Example:
    Device(config-if)# service-policy output policy1 
     

    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 15 end


    Example:
    Device(config-if)# end
     

    Returns to privileged EXEC mode.

     
    Step 16 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 17 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)# interface GigabitEthernet 0/0/0
    Device(config-if)# 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
    

    Additional References

    Related Documents

    Related Topic

    Document Title

    Cisco IOS commands

    Cisco IOS Master Commands List, All Releases

    QoS commands

    Cisco IOS Quality of Service Solutions Command Reference

    MQC

    QoS: Modular QoS: Command-Line Interface Configuration Guide

    Standards and RFCs

    Standard/RFC

    Title

    RFC 2474

    Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers

    RFC 2475

    An Architecture for Differentiated Services Framework

    RFC 2597

    Assured Forwarding PHB

    RFC 2598

    An Expedited Forwarding PHB

    MIBs

    MIB

    MIBs Link

    CISCO-CLASS-BASED-QOS-MIB

    CISCO-CLASS-BASED-QOS-CAPABILITY-MIB

    To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

    http:/​/​www.cisco.com/​go/​mibs

    Technical Assistance

    Description

    Link

    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.

    http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

    Feature Information for DiffServ Compliant WRED

    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 . An account on Cisco.com is not required.
    Table 1 Feature Information for DiffServ Compliant WRED

    Feature Name

    Releases

    Feature Information

    DiffServ Compliant WRED

    Cisco IOS XE Release 3.6S

    DiffServ Compliant WRED extends the functionality of WRED to enable support for DiffServ and AF per-hop behavior.

    In Cisco IOS XE Release 3.6S, support was added for the Cisco ASR 903 Router.

    The following commands were introduced or modified: random-detect, random-detect dscp, random-detect precedence.