Guest

IP to ATM Class of Service

Applying QoS Service Policies and CBWFQ/LLQ on Bridged ATM PVCs

Document ID: 22820

Updated: Feb 15, 2008

   Print

Introduction

This document provides a sample configuration for fancy queueing options, such as class-based weighted fair queueing (CBWFQ) and low latency queueing (LLQ), on ATM interfaces configured to accept RFC 1483 bridged-format protocol data units (PDUs).

Cisco IOSĀ® Software supports three protocols for routing off-network (to a different IP network number) in RFC 1483 bridged applications. These protocols are Integrated Routing and Bridging (IRB), Route-Bridge Encapsulation (RBE), and bridged-style permanent virtual circuits (PVCs). All of these protocols allow an ATM PVC to receive bridged-format PDUs. This document refers to PVCs configured with a bridging protocol such as bridged PVCs.

A service policy configured with the modular Quality of Service (QoS) command-line interface (CLI) (MQC) applies QoS mechanisms to an interface, subinterface, or VC. On bridged PVCs, service policies that apply a fancy queueing mechanism are supported only with RBE. Service policies on ATM VCs configured to run IRB are not supported. On such VCs, if you define a class-map that matches on an IP access list (ACL), no packet matches to this class occur, and all packets are classified to the default class.

Prerequisites

Requirements

Readers of this document should have knowledge of these topics::

Note: IRB configuration does not support Per-VC CBWFQ or LLQ. The configuration must be migrated to either RBE or PPPoE over ATM configuration before you try to implement CBWFQ or LLQ.

Components Used

The information in this document is based on these software and hardware versions:

  • Cisco 2620 router with NM-1A-OC3 ATM interface

  • Cisco IOS Software Release 12.2(27)

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions .

Background Information

The QoS service policy manages the queue depth, marks traffic, and identifies non-critical traffic on a per-VC basis. Specifically, this policy achieves these objectives:

  • Uses NBAR in order to classify non-business-critical traffic, such as Napster.

  • Uses the class-based Policing feature to mark the precedence value of conforming, exceeding and violating traffic.

  • Applies class-based WRED in order to manage the queue depth.

    Note: The service-policy output and random-detect-group commands are mutually exclusive at the PVC level. You cannot apply a WRED group to a VC for which you have enabled CBWFQ through the application of a service policy. However, you can apply both features if you configure the random-detect command on a class inside the policy-map.

  • Applies class-based marking with the set command in order to mark these IP precedence values by traffic type.

Precedence Value Traffic Type
1 Non-business-critical, such as Napster
4 Default, used for normal traffic
5 Reserved for future real-time traffic, such as voice over IP (VoIP).
6 and 7 Reserved for network control traffic

The potential congestion points are the ATM VCs that feed the DSL-connected users. IP flows arrive at the Fast Ethernet interface at up to 100 Mbps and flow out the ATM VCs. These are configured for the unspecified bit rate (UBR) ATM service category with a default peak cell rate (PCR) of the T1 interface (1.544 Mbps). Thus, the QoS service-policy marks traffic that arrives on the Fast Ethernet interface. The remarked values are then used by WRED in order to create service classes based on IP precedence and provide differentiated service through unique drop levels per class.

Configure

In this section, you are presented with the information to configure the features described in this document.

Note: To find additional information on the commands used in this document, use the Command Lookup Tool (registered customers only) .

Network Diagram

This document uses this network setup:

bridging_cbwfq1.gif

Note: ATM VCs of the UBR service category do not provide any minimum bandwidth by definition. Thus, you cannot apply CBWFQ or LLQ and guarantee bandwidth to a UBR VC. In order to do so, you must change the ATM service category to something other than UBR, such as VBR-nrt or ABR. For more details on this, refer to Understanding the UBR Service Category for ATM Virtual Circuits.

Configurations

This document uses this configuration:

Cisco 2600 Router
class-map match-any HTTP-HACKS 

!--- Use the class-map command in global configuration mode
!--- in order to match packets to a specified class.


   match protocol http url "*.ida*"  
   
!--- In order to configure NBAR to match HTTP traffic 
!--- by URL, HOST, or Multi-purpose Internet Mail Extension (MIME)-type, use the
!--- match protocol http command in class-map configuration mode.

   match protocol http url "*cmd.exe*"  
   match protocol http url "*root.exe*"  
   match protocol http url "*Admin.dll*"  
   match protocol http url "*readme.eml*"  
class-map match-any JUNK  
   match protocol napster 
   match protocol fasttrack
class-map match-all IP-PREC-4  match ip precedence 4class-map match-all DEFAULT  
match any
! 
policy-map DSL-OUT-C

!--- Use this command
!--- in order to create or modify a policy map that can be attached to one or more 
!--- interfaces to specify a service policy.

  class IP-PREC-4
   police 32000 250000 5000000 conform-action set-prec-transmit 4 exceed-action
 set-prec-transmit 3 violate-action set-prec-transmit 2
  
!--- Use this command to mark a packet with different quality of service (QoS) 
!--- values based on conformance to the service-level agreement.

! 
policy-map LAN-IN  
  class HTTP-HACKS  
     police 8000 1000 1000 conform-action drop exceed-action
       drop  
  class JUNK  
   set ip precedence 1  
  class DEFAULT  
   set ip precedence 4  
! 
policy-map DSL-OUT  
   class class-default
    
!-- Used to make class-default a single FIFO queue 
!-- inside the WFQ system. 
 
    bandwidth percent 1 
    
    random-detect  
    random-detect exponential-weighting-constant 7  
    random-detect precedence 0   20    40    10  
    random-detect precedence 1   22    40    10 
    random-detect precedence 2   24    40    10 
    random-detect precedence 3   26    40    10 
    random-detect precedence 4   28    40    10  
    random-detect precedence 5   31    40    10  
    random-detect precedence 6   33    40    10  
    random-detect precedence 7   35    40    10  
    random-detect precedence rsvp   37    40    10 
    service-policy DSL-OUT-C
    
!--- In order to use a service policy as a QoS policy within a policy map
!--- (called a hierarchical service policy), use the service-policy command
!--- in policy-map class configuration mode.

! 
interface Loopback1  
  ip address 172.16.1.1 255.255.255.0  
!  
interface FastEthernet0/0  
  ip address 10.1.1.1 255.255.255.192  
  service-policy input LAN-IN  
  
!--- Use this command in order to attach a policy map to an input interface
!--- or virtual circuit (VC), or an output interface or VC, to be used as 
!--- the service policy for that interface or VC.

!  
interface ATM1/0  
  no ip address  
  no atm ilmi-keepalive 
!  
interface ATM1/0.4 point-to-point  
  ip unnumbered Loopback1  
  no ip redirects  
  no ip unreachables  
  no ip mroute-cache  
  atm route-bridged ip  
  pvc 1/35  
   service-policy output DSL-OUT  
  ! 
!  
interface ATM1/0.5 point-to-point  
  ip unnumbered Loopback1  
  no ip redirects  
  no ip unreachables  
 no ip mroute-cache  
  atm route-bridged ip 
 
!--- Use in order to configure an interface to use ATM RBE.

  pvc 1/36
   service-policy output DSL-OUT 
!
ip route 172.16.1.2 255.255.255.255 ATM1/0.4
ip route 172.16.1.3 255.255.255.255 ATM1/0.5
end

Verify

This section provides information you can use to confirm your configuration is working properly.

Certain show commands are supported by the Output Interpreter Tool (registered customers only) , which allows you to view an analysis of show command output.

  • show queueing interface atm —Displays the queueing statistics of a specific VC on an interface. A non-zero value for active "conversations" is displayed during periods of congestion when IP flows are queued to the Layer 3 queues.

    2600# show queueing interface atm1/0.4
            Interface ATM1/0.4 VC 1/35
            Queueing strategy: weighted fair
            Total output drops per VC: 0
            Output queue: 0/512/64/0 (size/max total/threshold/drops)
               Conversations  0/1/64 (active/max active/max total)
               Reserved Conversations 1/1 (allocated/max allocated)
               Available Bandwidth 0 kilobits/sec
  • show policy-map interface atm —Use this command to check these statistics when you monitor your service policy:

    • Incrementing values for packets that match the class. If this does not work, ensure that CEF is enabled and that packets are following the CEF switching path. Issue the show interface stats command in order to view whether packets are CEF-switched.

    • Compare the "packets" value to the "pkts matched" value. The "pkts matched" value increments during times of congestion only. For more information, refer to Understanding Packet Counters in show policy-map interface Output.

    • Correct number of random drops. Monitors the value of the "mean queue depth" field and determines whether this field reaches a value above the minimum threshold. WRED begins to randomly drop packets when the mean queue depth rises above the minimum threshold for a particular IP precedence level.

2600# show policy-map interface atm1/0.4
ATM1/0.4: VC 1/35 -
 Service-policy output: DSL-OUT
 Class-map: class-default (match-any)
     29121 packets, 41550530 bytes
     5 minute offered rate 0 bps, drop rate 0 bps
     Match: any
     Queueing
       Output Queue: Conversation 73
       Bandwidth 1 (%)
       (pkts matched/bytes matched) 59/8894
       (depth/total drops/no-buffer drops) 0/0/0
        exponential weight: 7
        mean queue depth: 0

 class    Transmitted      Random drop   Tail drop    Minimum   Maximum   Mark
          pkts/bytes       pkts/bytes    pkts/bytes   thresh    thresh    prob
 0        15791/22456790       0/0           0/0          20        40    1/10
 1           0/0               0/0           0/0          22        40    1/10
 2         8555/13041140       0/0           0/0          24        40    1/10
 3         3417/5207580        0/0           0/0          26        40    1/10
 4         1358/845020         0/0           0/0          28        40    1/10
 5           0/0               0/0           0/0          31        40    1/10
 6           0/0               0/0           0/0          33        40    1/10
 7           0/0               0/0           0/0          35        40    1/10
 rsvp        0/0               0/0           0/0          37        40    1/10
     Service-policy : DSL-OUT-C
 Class-map: IP-PREC-4 (match-all)
   13330 packets, 19093740 bytes
   5 minute offered rate 0 bps, drop rate 0 bps
   Match: ip precedence 4
   police:
     32000 bps, 250000 limit, 5000000 extended limit
     conformed 1358 packets, 845020 bytes; action: set-prec-transmit 4
     exceeded 3417 packets, 5207580 bytes; action: set-prec-transmit 3
     violated 8555 packets, 13041140 bytes; action: set-prec-transmit 2
     conformed 0 bps, exceed 0 bps, violate 0 bps
 Class-map: class-default (match-any)
   15791 packets, 22456790 bytes
   5 minute offered rate 0 bps, drop rate 0 bps
   Match: any 

Troubleshoot

There is currently no specific troubleshooting information available for this configuration.

Related Information

Updated: Feb 15, 2008
Document ID: 22820