Guest

Cisco 2800 Series Integrated Services Routers

Deployment Guidelines for QOS Configuration in DSL Environment

  • Viewing Options

  • PDF (905.6 KB)
  • Feedback

Overview

In the late 1980s, DSL technology was developed to provide higher-speed digital data transmission over local telephone lines. As Internet applications gained momentum and became increasingly popular, higher bandwidth was needed to support the demand for faster download and upload speeds. Throughout the years, DSL technologies have evolved, and service providers throughout the world have deployed millions of DSL lines for consumer and business-class services.

Today, service providers continue to roll out DSL services using their copper lines, but with enhanced capabilities. Asymmetric DSL (ADSL) carriers are moving toward ADSL2+ standards. G.SHDSL carriers are adding Ethernet Framing Mode (EFM) options to support Ethernet services over copper lines. An increasing number of service providers are also adding very-high-bit-rate DSL 2 (VDSL2) to their portfolios to offer services with higher demand for bandwidth.

The Cisco® Integrated Services Router (ISR) platform is a critical component of service provider broadband DSL business services. These routers are deployed as business customer premises equipment (CPE) for small business and enterprise branch-office customers, with critical security, quality-of-service (QoS), and IP service-level agreement (IP SLA) features required for business services. QoS features on ISR platforms are enabled by service providers to prioritize voice and video traffic, and to provide service guarantees. For broadband DSL technologies, QoS can be implemented at network Layer 2 and Layer 3.

This document provides guidelines to implement Layer 2 and Layer 2 QoS for DSL services in ATM and VDSL2 deployments in Packet Transport Mode (PTM). Additionally, it describes scenarios when traffic shaping and service contracts may be compromised when the DSL line trains up at a rate lower than the configured rate.

Cisco ISR DSL Technology Overview

DSL technology on the Cisco ISR platforms has evolved over the years as new DSL standards have become available. Table 1 summarizes DSL technology options for the Cisco ISR and Cisco Integrated Services Routers Generation 2 (ISR G2) products. Please also refer to the Cisco ISR G2 website for details about Cisco’s offering of broadband DSL technologies for business-class services.

Table 1. DSL Technology on the Cisco ISR Platforms

DSL Technology

Cisco ISR G2

Cisco ISR

Cisco 1900, 2900, and 3900 Series

Cisco 800 Series

Cisco 1800, 2800, and 3800 Series

Cisco 800 and Fixed 1800 Series

Multimode DSL Products (Recommended for New Deployments)

Multimode VDSL2, ADSL2, and ADSL2+ Annex A

EHWIC-VA-DSL-A

CISCO887VA

-

-

Multimode VDSL2, ADSL2, and ADSL2+ Annex B

EHWIC-VA-DSL-B

CISCO886VA

-

-

Multimode VDSL2, ADSL2, and ADSL2+ Annex M

EHWIC-VA-DSL-M

CISCO887VA-M

-

-

VDSL2- and ADSL-Only Products (End of Sale Announced or Pending)

VDSL2 Only

HWIC-1VDSL

CISCO887V

-

-

ADSL2+ over basic telephone service Annex A

HWIC-1ADSL,

HWIC-1ADSL-B/ST

CISCO867

CISCO887

HWIC-1ADSL,

HWIC-1ADSL-B/ST

CISCO857

CISCO877

CISCO1801

ADSL2+ over basic telephone service Annex M

HWIC-1ADSL-M

CISCO887M

HWIC-1ADSL-M

CISCO877M

CISCO1801M

ADSL2+ over ISDN Annex B

HWIC-1ADSLI, HWIC‑1ADSLI-B/ST

CISCO886

HWIC-1ADSLI, HWIC-1ADSLI-B/ST

CISCO876

CISCO1802

G.SHDSL Products

G.SHDSL EFM

HWIC-4SHDSL-E

CISCO888E

-

-

G.SHDSL ATM

HWIC-2SHDSL, HWIC‑4SHDSL

CISCO888

HWIC-2SHDSL, HWIC-4SHDSL

CISCO878

CISCO1803

Implementation of Layer 2 QoS for DSL Services

QoS implementation for DSL services includes provisioning the DSL virtual circuits to effectively support the type of services and applications over the DSL connection, and tuning the hardware queues to reduce latency. Because of architectural design changes, there are some differences in the ATM features on the newer ISR G2 multimode VDSL2, ADSL2, and ADSL2+ enhanced high-speed WAN interface card (EHWIC) modules and platforms, compared to the ISR DSL routers and high-speed WAN interface card (HWIC) modules. Please also refer to the Cisco 880VA series Q&A for a comparison of the ATM features between the two generations of products.

Layer 2 QoS on ATM PVC

For DSL services with ATM, QoS is configured on the ATM permanent virtual circuit (PVC) and is the means to provision DSL services. Service providers provision the PVCs based on service contracts with their customers, which delineate parameters in service categories such as maximum upstream and downstream rate, traffic prioritization, and delay management in order to ensure reliability and always-on DSL service with minimum downtime. Table 2 lists the service categories offered for DSL in ATM.

Table 2. Applications for Different Service Categories

Service Category

Application Examples

Constant bit rate (CBR) (for data, using ATM Adaptation Layer 5 [AAL5]):

Useful for delay-sensitive applications
Provides bandwidth and delay guarantees

Audio library, videoconferencing, and video on demand

Variable Bit Rate real time (VBR-rt):

Useful for burstier delay-sensitive applications
Provides bandwidth and delay guarantees

Voice over ATM (VoATM), compressed voice over IP, and videoconferencing

Variable Bit Rate non-real-time (VBR-nrt):

Useful for bursty traffic
Provides bandwidth guarantee

Interactive, bursty applications such as airline reservations or banking transactions

Unspecified Bit Rate (UBR):

Useful for real best effort where there are no guarantees

File transfer, email, library browsing, fax transmission, Telnet, and LAN and remote-office interconnections

Enhanced UBR (UBR+):

Useful for best-effort traffic requiring minimum throughput guarantees

Same as UBR, but seeks possible minimum bandwidth guarantee

You should choose a service category based on network application demand; the parameters for the service categories should be in line with the service contract defined for the PVC. It is not necessary to restrict to a particular type of service category to carry out ATM traffic, or to establish the same service categories on both ends of the link. However, each service category uses certain traffic parameters that best define the transmission characteristic of a type of traffic and help optimize traffic flow and meet the requirement of the service contract.

Table 3 provides information about the various traffic parameters available for the different service categories.

Table 3. Traffic Parameters to Guarantee Cell Rate

Service Category

Traffic Parameter

Constant Bit Rate (CBR)

Peak Cell Rate (PCR)

VBR-nrt

Sustainable Cell Rate (SCR)

VBR-rt

SCR

UBR+

Minimum Cell Rate (MCR)

UBR

None

In addition, each service category has an associated default transmission priority. The ATM service category defines how the ATM network devices treat the cells of the virtual circuit with respect to bandwidth guarantees, cell delays, and cell loss. The best use of bandwidth and performance optimization is achieved when the service category that best represents the type of traffic and applications carried over the PVC is chosen.

Tuning Queues

The tx-ring-limit and queue-depth commands provide a mechanism to tune the hardware queues to help reduce latency for delay-sensitive traffic, or to optimize data packet throughput. The queue-depth command for DSL interfaces was introduced with the new multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms. It is applicable to DSL deployments using ATM only.

Because of architectural differences, the behavior of the tx-ring-limit command is different on the newer ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms, compared to the behavior on the ISR DSL routers and HWIC modules.

Tuning tx-ring-limit on DSL HWICs and Cisco 850, 870, and 1800 Series DSL Platforms

To provide preferential treatment for delay-sensitive traffic such as voice, the hardware queue length has to be modified in such way that congestion is realized at the output queue on each PVC and hence the software queue (Layer 3 queue) stores the packet in the buffer to be treated by the congestion management mechanism such as Class-Based Weighted Fair Queuing/Low-Latency Queuing (CBWFQ/LLQ).

The command to modify the length of the hardware queue on the PVC is tx-ring-limit (refer to Table 4).

Table 4. tx-ring Command

Command

Purpose

tx-ring-limit <size >

Modifies the length of the hardware queue;

Size = 1 to 16; default is 16

The transmit ring (tx-ring) serves as a staging area for packets in line to be transmitted. The router needs to enqueue a sufficient number of packets on the transmit ring and guarantee that the interface driver has packets with which to fill available cell time slots.

The primary reason to tune the transmit ring is to reduce latency caused by queuing on the hardware queue. When tuning the transmit ring, consider the following:

On any network interface, queuing forces a choice between latency and the amount of burst that the interface can sustain. Larger queue sizes sustain longer bursts while increasing delay. Tune the size of a queue when you feel the traffic of the virtual circuit is experiencing unnecessary delay.

Consider the packet size. Configure a tx-ring-limit value that accommodates four packets. For example, if your packets are 1500 bytes, set a tx-ring-limit value of 16 = (4 packets) * (4 particles).

Configure a low value with low-bandwidth virtual circuits, such as a 128-kbps SCR. For example, on a low‑speed virtual circuit with an SCR of 160 kbps, a tx-ring-limit of 10 is relatively high and can lead to significant latency (for example, hundreds of milliseconds) in the driver-level queue. Tune the tx-ring-limit down to its minimum value in this configuration.

In other words, the size of the transmit ring needs to be small enough to avoid introducing latency due to queuing, and it needs to be large enough to avoid drops and a resulting effect on TCP-based flows.

An interface first removes the packets from the Layer 3 queuing system and then queues them on the transmit ring. Service policies apply only to packets in the Layer 3 queues and are transparent to the transmit ring.

Queuing on the transmit ring introduces a serialization delay that is directly proportional to the depth of the ring. An excessive serialization delay can affect latency budgets for delay-sensitive applications such as voice.

Cisco recommends reducing the size of the transmit ring for virtual circuits carrying voice to help ensure that the packets are queued in the Layer 3 queues and appropriate priority can be given to voice packets using LLQ.

Select a value based on the amount of serialization delay, expressed in seconds, introduced by the transmit ring. Use the following formula:

((P*8)*D)/S

where

P = Packet size in bytes; multiply by 8 to convert to bits

D = Transmit-ring depth

S = Speed of the virtual circuit in bps

Tuning tx-ring-limit and queue-depth Commands on the Multimode VDSL2, ADSL2, and ADSL2+ EHWIC Modules and Platforms

With the ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms, the hardware queue length is also set by the tx-ring-limit command. The length of the hardware queue range is 2 to 128, with 128 being the default value.

In addition to the tx-ring-limit command, the queue-depth command is introduced on the Cisco ISR G2 platforms to better manage packet flow to and from the DSL interface. The commands can be used separately or together. Cisco recommends that you use both commands for deployments with low-latency requirements (Figure 1 and Table 5).

Figure 1. tx-ring-limit and queue-depth Commands

Table 5. Commands tx-ring-limit and queue-depth

Command

Purpose

tx-ring-limit <size >

Modifies the length of the hardware queue.

Size = 2 to 128; default is 128.

queue-depth <high, low >

Determines congestion and decongestion points on hardware queue.

High, low = 4 to 400; default is 40, when tx-ring-limit is configured (it represents the number packets sent from Cisco IOS® Software on a decongestion notification from the modem side).

Default is 128, when tx-ring-limit is not configured (it represents the high water mark on the modem side).

Both tx-ring-limit and queue-depth Are Configured

To best reduce latency for delay-sensitive traffic on the Cisco ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms, Cisco recommends that you configure both tx-ring-limit and queue-depth.

The effect of the tx-ring-limit command on the DSL modem side follows (refer to Figure 1):

High water mark: The congestion notification is generated when the number of packets sitting in modem tx-ring increases to this level

Low water mark: The decongestion notification is generated when the number of packets sitting in modem tx-ring decreases to this level

The input “size” value of the tx-ring-limit command is used as the high water mark on the modem side

When size > 16, low water mark will be (size - 4)

When size <= 16, low water mark will be (size - 2)

When size = 2, low water mark will be 1

The effect of the queue-depth command on the Cisco IOS Software side AAL5 cell transmit threshold follows:

Cisco IOS Software will send up to the “high” number of AAL5 cells to the modem side at one time.

On decongestion notification from Cisco IOS Software, the software will send the maximum “high” number of AAL5 cells at one time to avoid sending too many data packets that will sit in the modem tx-ring and cause head-of-line latency for voice packets.

Lower latency is achieved with a lower value of “high”, but the risk of underrun is higher. Typically, “high” should be slightly bigger than the value of tx-ring-limit used. The traffic profile must also be considered when configuring this value. The recommended configuration guideline for queue-depth follows:

Queue-depth = (low-priority-traffic-datagram-size/48) * (high-watermark - low-watermark) – 1.

Only tx-ring-limit Is Configured

The Cisco ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms cannot achieve optimal latency results when only the tx-ring-limit command is used. For customers who previously deployed ATM QoS on the Cisco ISR DSL HWICs (Cisco 850, 870, and 1800 Series DSL platforms), Cisco recommends that you revise the original configuration using tx-ring-limit only to achieve better latency results for delay-sensitive traffic on the newer Cisco ISR G2 platforms. Please refer to the previous discussion about the details of using both tx‑ring-limit and queue-depth commands to accomplish this configuration. When configured alone, the tx‑ring‑limit command helps to optimize data traffic-only throughput.

The following behavior of the tx-ring-limit-only configuration is expected on the Cisco ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms:

The effect on the DSL modem side follows (refer to Figure 1):

High water mark: The congestion notification is generated when the number of packets sitting in the modem tx-ring increases to this level

Low water mark: The decongestion notification is generated when the number of packets sitting in the modem tx-ring decreases to this level

The input “size” value of the tx-ring-limit command is used as the high water mark on the modem side

When size <= 16, low water mark will be (size - 2)

When size > 16, low water mark will be (size - 4)

The effect on the Cisco IOS Software side AAL5 cell transmit threshold follows:

Cisco IOS Software will send as many as packets as are available in the Cisco IOS Software transmit queue to the modem side

On decongestion notification from Cisco IOS Software, the software will send the default maximum 40 AAL5 cells at a time

Only queue-depth Is Configured

The queue-depth command is supported on Cisco ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms deployed using ATM only. This configuration using queue-depth only is recommended when your goal is optimizing data-only traffic throughput. It works similarly to the tx-ring-limit-only configuration described in the previous section.

The following is expected behavior when only the queue-depth command is configured:

The effect on the DSL modem side follows (refer to Figure 1):

High water mark: The congestion notification is generated when the number of packets sitting in the modem tx-ring increases to this level

Low water mark: The decongestion notification is generated when the number of packets sitting in the modem tx-ring decreases to this level

The input “high” value of the queue-depth command is used as the high water mark on the modem side

The input “low” value of the queue-depth command is used as the low water mark on the modem side

The effect on the Cisco IOS Software side AAL5 cell transmit threshold follows:

Cisco IOS Software will send as many AAL5 cells as possible to the modem side at one time until the modem sends the congestion notification

On decongestion notification from Cisco IOS Software, the software will send the maximum number of AAL5 packets (40) at one time

DSL QoS in PTM

Most VDSL2 services that are deployed are in Packet Transport Mode (PTM). The Cisco ISR G2 multimode VDSL2, ADSL2, and ADSL2+ EHWIC modules and platforms support VDSL2 in PTM mode only. There is no ATM QoS support such as CBR, UBR, and VBR for the PTM mode. Configuration of the hardware queue using the tx‑ring-limit command is available in PTM mode. There is no support for the queue-depth command in PTM mode.

Cisco IOS Software Release Requirements

Configuration of the tx-ring-limit command in PTM and implementation of the queue-depth command for ATM is available with Cisco IOS Software Release 15.1(4)M or later. These features are applicable only to the new Cisco ISR G2 multimode VDSL2, ADSL2, and ADSL2+ platforms and modules.

ATM QoS features and tx-ring-limit configuration in ATM is supported using the supported Cisco IOS Software releases for the relevant platforms.

QoS Guidelines for Layer 3 Software Queues

In addition to QoS configuration at Layer 2, Cisco IOS QoS features at Layer 3 can be applied to DSL interfaces to help prioritize traffic using the software queues. Please consider the following when using Cisco IOS QoS at Layer3:

Service policies providing the Layer 3 QoS using CBWFQ/LLQ features must be applied at the PVC level and should not be done at the interface or subinterface level.

QoS on Layer 3 queues is not supported on the PVC configured as UBR because no bandwidth guarantee is provided by the UBR PVC at Layer 2. By default all the PVCs are in UBR mode. Hence when the customer requires QoS on Layer 3 queues, the PVC must be configured as CBR, VBR-rt, VBR-nrt, or UBR+, depending on nature of applications in the network.

For more information about implementation of Cisco IOS QoS features, please refer to the Cisco IOS Quality of Services Configuration Guide.

Deployment Scenarios

This section provides examples of common DSL QoS configurations for both Layer 2 and Layer 3.

Scenario 1 - Traffic Prioritization Using a Single PVC

This scenario is the most common scenario, where all the customer traffic flows over a single PVC. Bandwidth guarantee at Layer 2 is provided using CBR, VBR, or UBR+. Service policy is applied on the PVC to provide Layer 3 classifications and bandwidth guarantee for different types of traffic, such as voice, critical data, or normal data.

The following scenarios depict the Layer 2 and Layer 3 QoS functioning on a single PVC with different classes of service (CoSs) at Layer 2.

Figure 2 shows a graphic of a single PVC with the CBR CoS.

Figure 2. Single PVC with CBR Class of Service

In this scenario, PVC is defined with the CBR service category having the PCR value of 1500 kbps. Two different classes are defined to classify the voice and critical data information, and then bandwidth guarantee is provided to those classes using a service policy. All other nonclassified traffic falls into the default class, which uses Fair-queue for congestion management.

Following are the details on the bandwidth allocation for different applications:

Class RT: Strict priority bandwidth of 400 kbps using LLQ

Class MC: Assured bandwidth of 200 kbps using CBWFQ

Class-Default: Fair-queue

Running Configuration

877(CPE):

Building configuration...
Current configuration: 1623 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ADSL_877
!
boot-start-marker
boot-end-marker
!
no aaa new-model
!
resource policy
!
ip cef
!
class-map match-any RT
match ip dscp ef
class-map match-all MC
match ip dscp af43
!
policy-map QOS
class RT
priority 400
class MC
bandwidth 200
class class-default
fair-queue
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
ip address 20.1.1.2 255.255.255.0
no snmp trap link-status
pvc 1/99
protocol ip 20.1.1.1 broadcast
cbr 1500
tx-ring-limit 3
service-policy output QOS
!
interface FastEthernet0
duplex full
speed 100
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Vlan1
ip address 10.1.1.2 255.255.255.0
ip route 0.0.0.0 0.0.0.0 20.1.1.1
!
no ip http server
no ip http secure-server
control-plane
!
line con 0
exec-timeout 0 0
no modem enable
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000
end

But as per the setting on the DSLAM profile, the line trains up at only 832 kbps. Because of this change, the CPE automatically downgrades the PCR rate of the CBR PVC to 832 kbps.

Following is the snapshot of the notification sent on the console:

ADSL_877#

*Mar 21 10:11:56.715: %LINK-3-UPDOWN: Interface ATM0, changed state to up

*Mar 21 10:11:57.715: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM0, changed state to up

*Mar 21 10:12:02.447: %DSLSAR-1-DOWNGRADEDBW: PCR and SCR for VCD 1 (1/99) has been reduced to 832k due to insufficient upstream bandwidth

To confirm the congestion management mechanism after the downgrade of the PCR rate, three different streams with the following specification were sent:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 370*8*121 = 358 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 200*8*121 = 193 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1500*8*121 = 1.45Mbps)

The output confirms that the voice and data traffic are received without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 370*8*121 = 358 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 200*8*121 = 193 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 89*8*121 = 86Kbps)

Following is the snapshot taken from the traffic generator and traffic reflector:

Traffic Details of PVC with PCR Rate of 832 kbps (requested 1500 kbps as PCR rate):

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 370 pps 0 0 3805
2 IP on 200 pps 0 0 2057
3 IP on 1500 pps 0 0 15424

Reflector(Fast Counting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 3805 370.002 pps
Filter: dscpaf43 incoming 2057 199.902 pps
Filter: dscpnone incoming 932 89.614 pps

The following snapshot shows the output of the policy-map command on the router while providing the congestion management:

policy-map Output with CBWFQ and LLQ
ADSL_877#show policy-map interface atm 0.1
ATM0.1: VC 1/99 -
Service-policy output: QOS
Class-map: RT (match-any)
3805 packets, 506065 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp ef (46)
3805 packets, 506065 bytes
5 minute rate 0 bps
Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 400 (kbps) Burst 10000 (Bytes)
(pkts matched/bytes matched) 3805/506065
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
2057 packets, 273581 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 73
Bandwidth 200 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 2057/273581
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
15424 packets, 2051392 bytes
5 minute offered rate 36000 bps, drop rate 34000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/14492/0
ADSL_877#

Figure 3 shows a graphic of a single PVC with VBR-rt CoS.

Figure 3. Single PVC with VBR-rt Class of Service

In this scenario, the PVC is defined with VBR-rt service category having a PCR value of 1500 kbps and SCR value of 1500 kbps. Two different classes are defined to classify the voice and critical data information, and then bandwidth guarantee is provided to those classes using a service policy. All other nonclassified traffic falls into the default class, which uses Fair-queue for congestion management.

Following are the details on the bandwidth allocation for different applications:

Class RT: Strict priority bandwidth of 400 kbps using LLQ

Class MC: Assured bandwidth of 200 kbps using CBWFQ

Class default: Fair-queue

Running Configuration

877(CPE):

Building configuration...
Current configuration: 1393 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ADSL_877
!
boot-start-marker
boot-end-marker
!
no aaa new-model
!
resource policy
!
ip cef
!
class-map match-any RT
match ip dscp ef
class-map match-all MC
match ip dscp af43
!
policy-map QOS
class RT
priority 400
class MC
bandwidth 200
class class-default
fair-queue
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
ip address 20.1.1.2 255.255.255.0
no snmp trap link-status
pvc 1/99
protocol ip 20.1.1.1 broadcast
vbr-rt 1500 1500
tx-ring-limit 3
service-policy output QOS
!
!
interface FastEthernet0
duplex full
speed 100
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
switchport access vlan 2
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Vlan1
ip address 10.1.1.2 255.255.255.0
!
ip route 30.1.1.0 255.255.255.0 20.1.1.1
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
no modem enable
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000
end
ADSL_877#

But as per the setting on the DSLAM profile, the line trains up at only 832 kbps. Because of this change, the CPE automatically downgrades the PCR rate and SCR rate of the VBR-rt PVC to 832 kbps.

Following is the snapshot of the notification sent on the console:

ADSL_877#

*Mar 21 10:11:56.715: %LINK-3-UPDOWN: Interface ATM0, changed state to up

*Mar 21 10:11:57.715: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM0, changed state to up

*Mar 21 10:12:02.447: %DSLSAR-1-DOWNGRADEDBW: PCR and SCR for VCD 1 (1/99) has been reduced to 832k due to insufficient upstream bandwidth

To confirm the congestion management mechanism after the downgrade of the PCR and SCR, three different streams with the following specification were sent:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 370*8*121 = 358 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 200*8*121 = 193 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1500*8*121 = 1.45Mbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 370*8*121 = 358 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 200*8*121 = 193 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 87*8*121 = 84Kbps)

Following is the snapshot taken from the traffic generator and traffic reflector:

Traffic Details of PVC with PCR and SCR Rate of 832 kbps (requested 1500 kbps as PCR and SCR rate):

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 370 pps 0 0 8660
2 IP on 200 pps 0 0 4681
3 IP on 1500 pps 0 0 35107

Reflector(Fast Counting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 8660 370.011 pps
Filter: dscpaf43 incoming 4681 200.017 pps
Filter: dscpnone incoming 2033 86.460 pps

The following snapshot shows the output of the policy-map command on the router while providing the congestion management:

policy-map Output with CBWFQ and LLQ
ADSL_877#show policy-map interface atm0.1
ATM0.1: VC 1/99 -
Service-policy output: QOS
Class-map: RT (match-any)
8660 packets, 1151780 bytes
5 minute offered rate 32000 bps, drop rate 0 bps
Match: ip dscp ef (46)
8660 packets, 1151780 bytes
5 minute rate 32000 bps
Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 400 (kbps) Burst 10000 (Bytes)
(pkts matched/bytes matched) 8660/1151780
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
4681 packets, 622573 bytes
5 minute offered rate 20000 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 73
Bandwidth 200 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 4681/622573
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
35107 packets, 4669231 bytes
5 minute offered rate 123000 bps, drop rate 114000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/33074/0
ADSL_877#

Figure 4 shows a graphic of a single PVC with UBR+ CoS.

Figure 4. Single PVC with UBR+ Class of Service

In this scenario, a PVC is defined with UBR+ service category having a PCR value of 1500 kbps and a MCR value of 1500 kbps. Two different classes are defined to classify the voice and critical data information, and then bandwidth guarantee is provided to those classes using a service policy. All other nonclassified traffic falls into the default class, which uses Fair-queue for congestion management.

Following are the details on the bandwidth allocation for different applications:

Class RT: Strict priority bandwidth of 400 kbps using LLQ

Class MC: Assured bandwidth of 200 kbps using CBWFQ

Class default: Fair-queue

Running Configuration

877(CPE):

Building configuration...
Current configuration: 1452 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ADSL-877
!
boot-start-marker
boot-end-marker
!
enable password lab
!
no aaa new-model
!
resource policy
!
memory-size iomem 25
ip cef
!
!
class-map match-any RT
match ip dscp ef
class-map match-all MC
match ip dscp af43
!
!
policy-map QOS
class RT
priority 400
class MC
bandwidth 200
class class-default
fair-queue
!
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
ip address 20.1.1.2 255.255.255.0
no snmp trap link-status
pvc 0/34
protocol ip 20.1.1.1 broadcast
ubr+ 1500 1500
tx-ring-limit 3
service-policy output QOS
!
!
interface FastEthernet0
speed 100
!
interface FastEthernet1
shutdown
!
interface FastEthernet2
shutdown
!
interface FastEthernet3
duplex full
speed 10
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
station-role root
!
interface Vlan1
ip address 10.1.1.2 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 20.1.1.1
!
!
no ip http server
no ip http secure-server
!
!
control-plane
!
!
line con 0
exec-timeout 0 0
no modem enable
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000
!
webvpn context Default_context
ssl authenticate verify all
!
no inservice
!
end
ADSL-877#

But as per the setting on the DSLAM profile, the line trains up at only 832 kbps. Because of this change, the CPE automatically downgrades the PCR rate and MCR rate of the UBR+ PVCs to 832 kbps.

Following is the snapshot of the notification sent on the console:

ADSL-877#

*May 2 17:12:43.367: %LINK-3-UPDOWN: Interface ATM0, changed state to down

*May 2 17:14:01.627: %LINK-3-UPDOWN: Interface ATM0, changed state to up

*May 2 17:14:02.627: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM0, changed state to up

*May 2 17:14:07.215: %DSLSAR-1-DOWNGRADEDBW: PCR and SCR for VCD 1 (0/34) has been reduced to 832k due to insufficient upstream bandwidth

ADSL-877#

To confirm the congestion management mechanism after the downgrade of the PCR and MCR, three different streams with the following specification were sent:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 370*8*121 = 358 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 200*8*121 = 193 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1500*8*121 = 1.45Mbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 370*8*121 = 358 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 200*8*121 = 193 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 85*8*121 = 83Kbps)

Following is the snapshot taken from the traffic generator and traffic reflector:

Traffic Details of PVC with PCR and MCR Rate of 832 kbps (requested 1500 kbps as PCR and MCR rate):

Generator(TGN:OFF,Fa2/1:3/3)#show send

Summary of sending traffic streams on FastEthernet2/1
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 370 pps 0 0 11398
2 IP on 200 pps 0 0 6161
3 IP on 1500 pps 0 0 46207
Generator(TGN:OFF,Fa2/1:3/3)#

Reflector(FastCounting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet2/0
Filter: dscpef incoming 11398 369.984 pps
Filter: dscpaf43 incoming 6161 200.000 pps
Filter: dscpnone incoming 2656 85.911 pps

Reflector(FastCounting)#

The following snapshot shows the output of the policy-map command on the router while providing the congestion management:

policy-map Output with CBWFQ and LLQ
ADSL-877#sh policy-map int atm 0.1
ATM0.1: VC 0/34 -
Service-policy output: QOS
Class-map: RT (match-any)
13951 packets, 1855483 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp ef (46)
13951 packets, 1855483 bytes
5 minute rate 0 bps
Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 400 (kbps) Burst 10000 (Bytes)
(pkts matched/bytes matched) 13951/1855483
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
8204 packets, 1091132 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 73
Bandwidth 200 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 8204/1091132
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
66634 packets, 8862322 bytes
5 minute offered rate 35000 bps, drop rate 32000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/55146/0
ADSL-877#

Scenario 2 - Data Service with Multiple PVCs

Figure 5 shows a graph of data service with multiple PVCs.

Figure 5. Data Service with Multiple PVCs

Two point-to-point PVCs are defined with a CBR service category, with one having the PCR rate as 400 kbps and the other with 600 kbps. Two different classes are defined to classify the voice and critical data information. All other nonclassified traffic falls into the default class, which uses Fair-queue for congestion management.

Then the same service policy providing the bandwidth guarantee with these defined classes is configured on both the PVCs.

Following are the details on the bandwidth allocation for different applications:

Class RT: Strict priority bandwidth of 150 kbps using LLQ

Class MC: Assured bandwidth of 100 kbps using CBWFQ

Class default: Fair-queue

Running Configuration

877(CPE):

Building configuration...
Current configuration: 1623 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ADSL_877
!
boot-start-marker
boot-end-marker
!
no aaa new-model
!
resource policy
!
ip cef
!
class-map match-any RT
match ip dscp ef
class-map match-all MC
match ip dscp af43
!
policy-map QOS
class RT
priority 150
class MC
bandwidth 100
class class-default
fair-queue
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
ip address 20.1.1.2 255.255.255.0
no snmp trap link-status
pvc 1/99
protocol ip 20.1.1.1 broadcast
cbr 400
tx-ring-limit 3
service-policy output QOS
!
interface ATM0.2 point-to-point
ip address 40.1.1.2 255.255.255.0
no snmp trap link-status
pvc 2/99
protocol ip 40.1.1.1 broadcast
cbr 600
tx-ring-limit 3
service-policy output QOS
!
interface FastEthernet0
duplex full
speed 100
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
switchport access vlan 2
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Vlan1
ip address 10.1.1.2 255.255.255.0
!
interface Vlan2
ip address 50.1.1.1 255.255.255.0
!
ip route 30.1.1.0 255.255.255.0 20.1.1.1
ip route 70.1.1.0 255.255.255.0 40.1.1.1
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
no modem enable
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000
end

But as per the setting on the DSLAM profile, the line trains up at only 832 kbps. Because of this change, CPE is able to grant the requested bandwidth to the first PVC alone, that is, 400 kbps. The second PVC, which requested 600 kbps, is provided only the remaining 432 kbps as the PCR rate.

Following is the snapshot of the notification sent on the console:

ADSL_877#

*Mar 22 01:01:00.671: %LINK-3-UPDOWN: Interface ATM0, changed state to up

*Mar 22 01:01:01.671: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM0, changed state to up

*Mar 22 01:01:05.075: %DSLSAR-1-DOWNGRADEDBW: PCR and SCR for VCD 2 (2/99) has been reduced to 432k due to insufficient upstream bandwidth

To confirm the congestion management mechanism after the downgrade of the PCR rate, three different streams with the following specification were sent on each PVC simultaneously:

PVC 1:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1000*8*121 = 968Kbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 93*8*121 = 90Kbps)

PVC 2:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1000*8*121 = 968Kbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 118*8*121 = 114Kbps)

Following is the snapshot taken from the traffic generator and traffic reflector:

Traffic Details for PVC 1 with PCR Rate of 400 kbps:

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 125 pps 0 0 1709
2 IP on 100 pps 0 0 1367
3 IP on 1000 pps 0 0 13676

Reflector(Fast Counting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 1709 125.018 pps
Filter: dscpaf43 incoming 1367 99.985 pps
Filter: dscpnone incoming 1288 92.676 pps

Traffic Details for PVC 2 with PCR Rate of 432 kbps (requested 600 kbps as PCR rate):

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 125 pps 0 0 1627
2 IP on 100 pps 0 0 1302
3 IP on 1000 pps 0 0 13017

Reflector(Fast Counting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 1627 124.990 pps
Filter: dscpaf43 incoming 1302 100.007 pps
Filter: dscpnone incoming 1559 117.869 pps

The following snapshot shows the output of the policy-map command on the router while providing the congestion management:

PVC 1:

DSL_877#sh policy-map interface atm0.1
ATM0.1: VC 1/99 -
Service-policy output: QOS
Class-map: RT (match-any)
1709 packets, 227297 bytes
5 minute offered rate 34000 bps, drop rate 0 bps
Match: ip dscp ef (46)
1709 packets, 227297 bytes
5 minute rate 34000 bps
Queueing
Strict Priority
Output Queue: Conversation 40
Bandwidth 150 (kbps) Burst 3750 (Bytes)
(pkts matched/bytes matched) 1709/227297
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
1367 packets, 181811 bytes
5 minute offered rate 27000 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 41
Bandwidth 100 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 1367/181811
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
13676 packets, 1818908 bytes
5 minute offered rate 292000 bps, drop rate 274000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 32
(total queued/total drops/no-buffer drops) 0/12388/0
ADSL_877#
PVC 2:
ADSL_877#show policy-map interface atm0.2
ATM0.2: VC 2/99 -
Service-policy output: QOS
Class-map: RT (match-any)
1627 packets, 216391 bytes
5 minute offered rate 6000 bps, drop rate 0 bps
Match: ip dscp ef (46)
1627 packets, 216391 bytes
5 minute rate 6000 bps
Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 150 (kbps) Burst 3750 (Bytes)
(pkts matched/bytes matched) 1627/216391
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
1302 packets, 173166 bytes
5 minute offered rate 6000 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 73
Bandwidth 100 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 1302/173166
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
13017 packets, 1731261 bytes
5 minute offered rate 97000 bps, drop rate 85000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/11458/0
ADSL_877#

Scenario 3 - Data and Voice Services with Multiple PVCs

Figure 6 shows a graphic of data and voice services with multiple PVCs.

Figure 6. Data and Voice Services with Multiple PVCs

Two point-to-point PVCs are configured with a CBR and VBR-rt service category .The PCR rate for the CBR PVC is 400 kbps, and the PCR and SCR rate for the VBR-rt PVC is 700 kbps. Two different classes are defined to classify the voice and critical data information. All other nonclassified traffic falls into the default class, which uses Fair-queue for congestion management.

Then the same service policy providing the bandwidth guarantee with these defined classes is configured on both the PVCs.

Following are the details on the bandwidth allocation for different applications:

Class RT: Strict priority bandwidth of 150 kbps using LLQ

Class MC: Assured bandwidth of 100 kbps using CBWFQ

Class default: Fair-queue

Running Configuration

877(CPE):

Building configuration...
Current configuration: 1630 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname ADSL_877
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
ip cef
!
class-map match-any RT
match ip dscp ef
class-map match-all MC
match ip dscp af43
!
!
policy-map QOS
class RT
priority 150
class MC
bandwidth 100
class class-default
fair-queue
!
interface ATM0
no ip address
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
ip address 20.1.1.2 255.255.255.0
no snmp trap link-status
pvc 1/99
protocol ip 20.1.1.1 broadcast
cbr 400
tx-ring-limit 3
service-policy output QOS
!
!
interface ATM0.2 point-to-point
ip address 40.1.1.2 255.255.255.0
no snmp trap link-status
pvc 2/99
protocol ip 40.1.1.1 broadcast
vbr-rt 700 700
tx-ring-limit 3
service-policy output QOS
!
!
interface FastEthernet0
duplex full
speed 100
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
switchport access vlan 2
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Vlan1
ip address 10.1.1.2 255.255.255.0
!
interface Vlan2
ip address 50.1.1.1 255.255.255.0
!
ip route 30.1.1.0 255.255.255.0 20.1.1.1
ip route 70.1.1.0 255.255.255.0 40.1.1.1
!
!
no ip http server
no ip http secure-server
!
control-plane
!
!
line con 0
exec-timeout 0 0
no modem enable
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000
end
ADSL_877#

But as per the setting on the DSLAM profile, the line trains up at only 832 kbps. Because of this change, CPE is able to grant the requested bandwidth to the first PVC alone, that is, 400 kbps. The second PVC, which requested 700 kbps for both PCR and SCR, is provided only the remaining 432 kbps as the PCR and SCR rate.

Following is the snapshot of the notification sent on the console:

ADSL_877#

*Mar 22 01:01:00.671: %LINK-3-UPDOWN: Interface ATM0, changed state to up

*Mar 22 01:01:01.671: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM0, changed state to up

*Mar 22 01:01:05.075: %DSLSAR-1-DOWNGRADEDBW: PCR and SCR for VCD 2 (2/99) has been reduced to 432k due to insufficient upstream bandwidth

To confirm the congestion management mechanism after the downgrade of the PCR rate and SCR rate, three different streams with the following specification were sent on each PVC simultaneously:

PVC 1:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1000*8*121 = 968Kbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 92*8*121 = 89Kbps)

PVC 2:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1000*8*121 = 968Kbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 117*8*121 = 113Kbps)

Following is the snapshot taken from the traffic generator and traffic reflector:

Traffic Details for PVC 1 with PCR Rate of 400 kbps:

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 125 pps 0 0 2004
2 IP on 100 pps 0 0 1603
3 IP on 1000 pps 0 0 16033

Reflector(Fast Counting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 2004 124.945 pps
Filter: dscpaf43 incoming 1603 100.031 pps
Filter: dscpnone incoming 1497 92.101 pps

Traffic Details for PVC 2 with PCR and SCR Rate of 432 kbps (originally requested 700 kbps as PCR and SCR rate):

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 125 pps 0 0 2310
2 IP on 100 pps 0 0 1848
3 IP on 1000 pps 0 0 18475

Reflector(Fast Counting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 2310 124.986 pps
Filter: dscpaf43 incoming 1848 99.978 pps
Filter: dscpnone incoming 2180 116.736 pps

The following snapshot shows the output of the policy-map command on the router while providing the congestion management:

policy-map Output with CBWFQ and LLQ

PVC 1:

ADSL_877#sh policy-map interface atm0.1
ATM0.1: VC 1/99 -
Service-policy output: QOS
Class-map: RT (match-any)
2004 packets, 266532 bytes
5 minute offered rate 2000 bps, drop rate 0 bps
Match: ip dscp ef (46)
2004 packets, 266532 bytes
5 minute rate 2000 bps
Queueing
Strict Priority
Output Queue: Conversation 40
Bandwidth 150 (kbps) Burst 3750 (Bytes)
(pkts matched/bytes matched) 2004/266532
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
1603 packets, 213199 bytes
5 minute offered rate 1000 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 41
Bandwidth 100 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 1603/213199
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
16033 packets, 2132389 bytes
5 minute offered rate 108000 bps, drop rate 101000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 32
(total queued/total drops/no-buffer drops) 0/14536/0
ADSL_877#

PVC 2:

ADSL_877#sh policy-map interface atM 0.2
ATM0.2: VC 2/99 -
Service-policy output: QOS
Class-map: RT (match-any)
2310 packets, 307230 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp ef (46)
2310 packets, 307230 bytes
5 minute rate 0 bps
Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 150 (kbps) Burst 3750 (Bytes)
(pkts matched/bytes matched) 2310/307230
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
1848 packets, 245784 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 73
Bandwidth 100 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 1848/245784
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
18475 packets, 2457175 bytes
5 minute offered rate 48000 bps, drop rate 43000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/16295/0
ADSL_877#

Scenario 4: Deploying Cisco ISR with an External DSL Modem

Figure 7. Deploying Cisco ISR with an External DSL Modem

In this scenario, a Cisco 877 or 1801 Integrated Services Router acts as an external modem functioning in transparent bridging mode (Figure 7). The router is connected to a Cisco 871 ISR with a FastEthernet interface as the WAN interface.

In typical deployments, Cisco 871 ISRs normally used behind a modem (cable or DSL modem) are not able to detect the congestion; hence turning on the queuing mechanism (LLQ/CBWFQ) may not produce the desired effect. Cisco therefore recommends that you apply class-based traffic shaping (CBTS) so that the traffic flow matches the modem characteristics (Cisco 877 and 1801 ISRs) before we can apply LLQ/CBWFQ on the Cisco 871.

The PVC on Cisco 877 and 1801 ISRs is defined with a CBR service category having the PCR value of 1500 kbps.

Two different classes are defined on the Cisco 871 to classify the voice and critical data information, and then bandwidth guarantee is provided to those classes using a service policy. All other nonclassified traffic falls into the default class, which uses Fair-queue for congestion management.

Following are the details on the bandwidth allocation for different applications:

Class RT: Strict priority bandwidth of 400 kbps using LLQ

Class MC: Assured bandwidth of 200 kbps using CBWFQ

Class default: Fair-queue

A parent policy is defined with an average shaping rate of 832 kbps .Then the service policy defined previously (with different classes for voice and critical data) is used as the child policy under the parent policy. This method of referencing a child policy under another parent policy is defined as hierarchical QoS.

By following the previously defined deployment method, Cisco 871 ISRs get synchronized to external modem characteristics and the queuing mechanism achieves the expected results.

Running Configuration

877 (External Modem):

877#sh running-config
Building configuration...
Current configuration: 1084 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname 877
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
no ip routing
no ip cef
!
!
multilink bundle-name authenticated
!
!
!
interface ATM0
no ip address
no ip route-cache
no atm ilmi-keepalive
dsl operating-mode auto
!
interface ATM0.1 point-to-point
no ip route-cache
no snmp trap link-status
pvc 17/75
cbr 1500
encapsulation aal5snap
!
bridge-group 1
!
interface FastEthernet0
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface Dot11Radio0
no ip address
no ip route-cache
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Vlan1
no ip address
no ip route-cache
bridge-group 1
!
!
!
no ip http server
no ip http secure-server
!
!
!
control-plane
!
bridge 1 protocol ieee
!
line con 0
no modem enable
line aux 0
line vty 0 4
login
!
scheduler max-task-time 5000
end
877#

871(CPE):

871#show running-config
Building configuration...
Current configuration: 1215 bytes
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname 871
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
ip cef
!
!
multilink bundle-name authenticated
!
!
class-map match-any RT
match ip dscp ef
class-map match-all MC
match ip dscp af43
!
!
policy-map QOS
class RT
priority 400
class MC
bandwidth 200
class class-default
fair-queue
policy-map parent
class class-default
shape average 832000
service-policy QOS
!
!
interface FastEthernet0
duplex full
speed 100
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
!
interface FastEthernet4
ip address 10.1.1.1 255.255.255.0
duplex auto
speed auto
service-policy output parent
!
interface Dot11Radio0
no ip address
shutdown
speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0
54.0
station-role root
!
interface Vlan1
ip address 20.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 FastEthernet4
!
!
no ip http server
no ip http secure-server
!
!
control-plane
!
!
line con 0
no modem enable
line aux 0
line vty 0 4
!
scheduler max-task-time 5000
end
871#

But as per the setting on the DSLAM profile, the line trains up at only 832 kbps. Because of this change, the Cisco 877 and 1801 ISRs automatically downgrade the PCR rate of the CBR PVCs to 832 kbps.

Following is the snapshot of the notification sent on the console:

877#

*May 8 06:03:55.167: %LINK-3-UPDOWN: Interface ATM0, changed state to up

*May 8 06:03:56.167: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM0, changed state to up

*May 8 06:04:01.575: %DSLSAR-1-DOWNGRADEDBW: PCR and SCR for VCD 1 (17/75) has been reduced to 832k due to insufficient upstream bandwidth

To confirm the congestion management mechanism after the downgrade of the PCR rate, three different streams with the following specification were sent on the PVC:

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput sent = PPS*8*Packet size = 1000*8*121 = 968Kbps)

The output confirms that the voice and data traffic are sent without any drops and only the excess traffic in the default class is dropped.

Traffic matching the RT class (Voice): 370 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 125*8*121 = 121 Kbps)

Traffic matching the MC class (Data): 200 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 100*8*121 = 97 Kbps)

Unclassified Traffic: 1500 PPS (Resultant Layer 3 Throughput received = PPS*8*Packet size = 266*8*121 = 257Kbps)

Following is the snapshot taken from the traffic generator and traffic reflector:

Traffic Details of PVC with PCR Rate of 832 kbps (requested 1500 kbps as PCR rate):

Generator(TGN:OFF,Fa0/0:3/3)#show send

Summary of sending traffic streams on FastEthernet0/0
ts# template state interval/rate send-amount/left-to-send total-sent
1 IP on 125 pps 0 0 7288
2 IP on 100 pps 0 0 5830
3 IP on 800 pps 0 0 46645

Generator(TGN:OFF,Fa0/0:3/3)#

Reflector(FastCounting)#show fast-count

Fast-count counts count pps or sec/packet
Interface: FastEthernet0/0
Filter: dscpef incoming 7287 124.768 pps
Filter: dscpaf43 incoming 5829 99.808 pps
Filter: dscpnone incoming 15569 266.101 pps

The following snapshot shows the output of the policy-map command on the router while providing the congestion management:

policy-map Output with CBWFQ and LLQ on Cisco 871
871#sh policy-map interface f4
FastEthernet4
Service-policy output: parent
Class-map: class-default (match-any)
59765 packets, 8068719 bytes
5 minute offered rate 336000 bps, drop rate 73000 bps
Match: any
Traffic Shaping
Target/Average Byte Sustain Excess Interval Increment
Rate Limit bits/int bits/int (ms) (bytes)
832000/832000 5200 20800 20800 25 2600
Adapt Queue Packets Bytes Packets Bytes Shaping
Active Depth Delayed Delayed Active
- 0 45020 6078144 44905 6062397 no
Service-policy: QOS
Class-map: RT (match-any)
7288 packets, 983880 bytes
5 minute offered rate 43000 bps, drop rate 0 bps
Match: ip dscp ef (46)
7288 packets, 983880 bytes
5 minute rate 43000 bps
Queueing
Strict Priority
Output Queue: Conversation 72
Bandwidth 400 (kbps) Burst 10000 (Bytes)
(pkts matched/bytes matched) 7273/981855
(total drops/bytes drops) 0/0
Class-map: MC (match-all)
5830 packets, 787050 bytes
5 minute offered rate 38000 bps, drop rate 0 bps
Match: ip dscp af43 (38)
Queueing
Output Queue: Conversation 73
Bandwidth 200 (kbps)Max Threshold 64 (packets)
(pkts matched/bytes matched) 5819/785565
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
46647 packets, 6297789 bytes
5 minute offered rate 257000 bps, drop rate 73000 bps
Match: any
Queueing
Flow Based Fair Queueing
Maximum Number of Hashed Queues 64
(total queued/total drops/no-buffer drops) 0/14745/0
871#

Scenario 5 - Tuning of tx-ring and queue-depth Commands on the Multimode VDSL2 and ADSL2+ Modules and Platforms

The objective of the tuning is to minimize latency for voice traffic over an ADSL link. The recommended configuration guideline for queue-depth when used together with tx-ring-limit follows:

Queue depth = (low-priority-traffic-datagram-size/48) * (high-watermark - low-watermark) - 1

* Please refer to section 3.2.2 for details of the tx-ring-limit and queue-depth implementations.

With the voice traffic requirement, a low tx-ring-limit value of 2 is chosen. Given that the typical size of the low-priority data traffic with this connection is 768 bytes, queue-depth value is calculated as 15 using this formula.

interface ATM0
ip address 14.14.14.1 255.255.0.0
load-interval 30
no atm ilmi-keepalive
pvc 10/100
protocol ip 14.14.14.2 broadcast
cbr 992
tx-ring-limit 2
queue-depth 15 15
service-policy out hqf1