This white paper provides the guidelines for the QOS implementation in the DSL environment
It also demonstrates the auto-degradation of the Service category/Class of Service parameters or the Service category/Class of Service itself on the PVC using different scenarios when the DSL line trains at a rate lower than the configured guaranteed bandwidth.
Guidelines to be Followed while Configuring Layer 2/Layer 3 QOS on PVC
In the DSL world, PVCs are provisioned by the Service Provider based upon certain service contract for a guaranteed traffic rate and hence provide reliable service to all customers. Service contracts also aid the Service Providers to police the traffic exceeding the requested/granted rate.
DSL flavors of Cisco 800/1800 series Integrated Services Routers fixed configuration models and Cisco DSL High speed WAN interface cards (HWICs) /WAN interface cards (WICs) support PVC with the following service categories to provide the bandwidth guarantee for various applications. (Appendix A provides information on all platforms and DSL HWICs/WICs supporting these features)
Table 1.
Service Category
Application Examples
CBR (for data, using AAL5): Useful for delay sensitive application. Provides bandwidth and delay guarantees.
Audio library, videoconferencing, video on demand
rt-VBR: Useful for burstier delay-sensitive applications. Provides bandwidth and delay
guarantees.
Voice over ATM (VoATM), compressed voice over IP, video conferencing
nrt-VBR: Useful for bursty traffic. Provides bandwidth guarantee.
Interactive, bursty applications such as airline reservations or banking transactions
UBR: Useful for real best effort where there are no guarantees.
File transfer, e-mail, library browsing, fax transmission, Telnet, LAN and remote office interconnections
UBR+: Useful for best effort traffic requiring minimum throughput guarantees.
Same as UBR, but seek possible minimum bandwidth guarantee
The user can choose the appropriate Service category to suffice his network demands and configure the parameters for the Service categories inline with the Service contract of the PVC.
It is important for the user to realize that they are not necessarily restricted to a particular type of service category to carry out their ATM traffic nor they are bound 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 will help them to optimize their flow and to meet the requirement of their traffic contract.
Following table provides information on the various traffic parameters available for the different service categories
Table 2.
Service Category
Traffic Parameter Used to Guarantee Cell Rate
CBR
PCR
nrt-VBR
SCR
rt-VBR
SCR
UBR +
MCR
UBR
none
In addition, each service category has a default transmission priority associated with it. Therefore, the user will achieve the best use of the bandwidth and optimize the performance for their traffic if they choose the service category that best represents the type of traffic and applications that will be carried over the PVC. The primary thing to keep in mind is that the ATM service category defines how the ATM network devices and other treat the cells of the VC with respect to bandwidth guarantees, cell delays and cell loss.
The next step would be to configure the QOS on the Layer 3 queues using the MQC (Modular QOS CLI) once the service category along with the required parameters is configured on the PVC.
Following are the list of guidelines that need to be taken care while configuring the QOS on the layer 3 Software Queues
• Service policies providing the Layer 3 QOS using CBWFQ/LLQ have to be applied at the PVC level and should not be done at the interface or sub interface level.
• To provide preferential treatment to voice traffic, 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 (CBWFQ/LLQ).
The length of the hardware queue has to be calculated based on applications in the network that need specialized treatment.
Please refer to Appendix B for guidance on determining the ideal value for the hardware queue-limit
The command to modify the length of the hardware queue on per-pvc basis is
Table 3.
Command
Purpose
tx-ring-limit <specify the length of the queue>
Modifies the length of the hardware queue
• Class-Based Traffic shaping is not supported on the DSL interface.
• QOS on Layer 3 queues is not supported on the PVC configured as UBR as there is no bandwidth guarantee provided by the 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 has to be configured as CBR or VBR-rt or VBR-nrt or UBR+ depending on nature of applications in the network.
Deployment Scenarios
Following section focuses on explaining the common deployments done in the field. It also demonstrates the QOS operation at Layer 2 and Layer 3 in each of the scenarios.
Scenario 1:
This is most common scenario, where all the customer traffic flows over single PVC. Bandwidth guarantee at layer two is provided using CBR or VBR or UBR+. Service policy is applied on the PVC to provide layer 3 classifications and bandwidth guarantee for different types of traffic like Voice, Critical data or normal data.
Following scenarios depict the layer 2 and layer 3 QOS functioning on single PVC with different Class of Service at layer 2.
Figure 1. Single PVC with "CBR" Class of Service
In this scenario, PVC is defined with CBR service category having the PCR value of 1500 Kbps. There are two different classes defined to classify the Voice and Critical data information and then bandwidth guarantee is provided to those classes using Service Policy. All other non-classified traffic would fall 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
But as per the setting on the DSLAM profile the line trains-up at only 832 Kbps. Due to this change the CPE automatically downgrades the CBR PVCs PCR rate 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 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)
Figure 2. Single PVC with "VBR-rt" Class of Service
In this scenario, PVC is defined with VBR-rt service category having PCR value of 1500 Kbps and SCR value of 1500 Kbps. There are two different classes defined to classify the Voice and Critical data information and then bandwidth guarantee is provided to those classes using Service Policy. All other non-classified traffic would fall 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
But as per the setting on the DSLAM profile the line trains-up at only 832 Kbps. Due to this change the CPE automatically downgrades the VBR-rt PVCs PCR rate and SCR rate 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 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)
In this scenario, PVC is defined with UBR+ service category having PCR value of 1500 Kbps and MCR value of 1500 Kbps. There are two different classes defined to classify the Voice and Critical data information and then bandwidth guarantee is provided to those classes using Service Policy. All other non-classified traffic would fall 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
But as per the setting on the DSLAM profile the line trains-up at only 832 Kbps. Due to this change the CPE automatically downgrades the UBR+ PVCs PCR rate and MCR rate 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 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)
Two Point-to-Point PVCs are defined with CBR service category, with one having the PCR rate as 400 Kbps and the other with 600 Kbps. There are two different classes defined to classify the Voice and Critical data information. All other non-classified traffic would fall into the default class which uses Fair-queue for congestion management.
Then the same Service Policy providing the bandwidth guarantee with above 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
But as per the setting on the DSLAM profile the line trains-up at only 832 Kbps. Due to this change, CPE is able to grant the requested bandwidth to the first PVC alone i.e. 400 Kbps. The second PVC which requested 600 Kbps is provided only the remaining 432 Kbps as 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 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)
Two Point-to-Point PVCs are configured with 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. There are two different classes defined to classify the Voice and Critical data information. All other non-classified traffic would fall into the default class which uses Fair-queue for congestion management.
Then the same Service Policy providing the bandwidth guarantee with above 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
But as per the setting on the DSLAM profile the line trains-up at only 832 Kbps. Due to this change, CPE is able to grant the requested bandwidth to the first PVC alone ie 400 Kbps. The second PVC is which requested 700 Kbps for both PCR and SCR is provided only the remaining 432 Kbps as 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 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 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)
In this scenario, Cisco 877/1801 series Integrated Services Router Cisco 877/1801 series Integrated Services Router acts as an external modem functioning in transparent bridging mode. Cisco 877/1801 series Integrated Services Router is connected to a Cisco 871 series Integrated Services Router with FastEthernet interface as the WAN interface.
In typical deployments, Cisco 871 series Integrated Services Routers are normally used behind a modem (Cable/DSL modem) will not be able to detect the congestion. And hence turning on the queuing mechanism (LLQ/CBWFQ) may not produce the desired effect. Hence it is recommended to apply traffic shaping (CBTS) so that the traffic flow matches the modem characteristics (Cisco 877/1801 series Integrated Services Router) before we can apply LLQ/CBWFQ on Cisco 871 series Integrated Services Router.
The PVC on Cisco 877/1801 series Integrated Services Router is defined with CBR service category having the PCR value of 1500 Kbps.
On Cisco 871 series Integrated Services Router, there are two different classes defined to classify the Voice and Critical data information and then bandwidth guarantee is provided to those classes using Service Policy. All other non-classified traffic would fall 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 average shaping rate of 832 Kbps .Then the service policy defined above (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 above defined deployment method, Cisco 871 series Integrated Services Router would get synchronized to external modem characteristics and queuing mechanism would fetch the expected results.
But as per the setting on the DSLAM profile the line trains-up at only 832 Kbps. Due to this change the Cisco 877/1801 series Integrated Services Router automatically downgrades the CBR PVCs PCR rate 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 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)
Routers/DSL HWICs/WICs supporting different ATM service category/class of service to provide preferential treatment for different applications
Table 4.
Service
Router
Fixed Models
876
DSL router with 1-port ADSL over ISDN for Primary WAN
877
DSL router with 1-port ADSL over POTS for Primary WAN
878
DSL router with 1-port G.SHDSL(2/4 wire) for Primary WAN
1801
DSL router with 1-port ADSL over POTS for Primary WAN
1802
DSL router with 1-port ADSL over ISDN for Primary WAN
1803
DSL router with 1-port G.SHDSL(2/4 wire) for Primary WAN
DSL HWICs/WICs
HWIC-1ADSL
1-port ADSL over POTS HWIC
HWIC-1ADSLI
1-port ADSL over ISDN HWIC
HWIC-1ADSL-B/ST
1-port ADSL over POTS and 1-port ISDN BRI S/T HWIC
HWIC-1ADSLI-B/ST
1-port ADSL over ISDN and 1-port ISDN BRI S/T HWIC
HWIC-2SHDSL
2-port G.SHDSL HWIC with 2-wire and 4-wire support
HWIC-4SHDSL
4-port G.SHDSL HWIC with 2-wire, 4-wire, and 8-wire support
WIC-1SHDSL-V3
1-port G.shdsl WIC (two or four wire)
Appendix B
Guidelines for determining appropriate Hardware-Queue Length
The transmit 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 timeslots.
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 VC's traffic 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 VCs, such as a 128 kbps SCR. For example, on a low-speed VC with an SCR of 160 kbps, a tx-ring-limit of ten 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 impact to 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 impact latency budgets for delay-sensitive applications such as voice.
Thus, Cisco recommends reducing the size of the transmit ring for VCs carrying voice. This will 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
• P = Packet size in bytes. Multiply by eight to convert to bits.