Guest

Cisco IOS Software Releases 12.0 S

Low Latency Queueing

  • Viewing Options

  • PDF (238.3 KB)
  • Feedback
Low Latency Queueing

Table Of Contents

Low Latency Queueing

Contents

Feature Overview

Guaranteeing Bandwidth with the priority Command

Benefits

Restrictions

Prerequisites

Configuration Tasks

Configuring Low Latency Queueing

Verifying Low Latency Queueing

Monitoring and Maintaining Low Latency Queueing

Configuration Example

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Command Reference

priority

Glossary


Low Latency Queueing


This feature module describes the Low Latency Queueing feature for the Cisco 7200 and 7500 series routers.

Note:

This feature was formerly called:

Low Latency Queueing for the Versatile Interface Processor

Distributed Low Latency Queueing

Some Cisco documentation might use these titles.

Feature Specifications for Low Latency Queueing

Release
Modification

12.0(5)XE5

This feature was introduced.

12.0(7)XE1

Transmission ring limit tuning with the tx-ring-limit command was introduced.

12.0(9)S

This feature was introduced for Release 12.0 S.

12.1(2)E

The bytes argument was introduced for the priority command for Release 12.1 E.

12.0(26)S

This feature was integrated into Cisco IOS Release 12.0(26)S for the Cisco 7200 and 7500 routers. The title changed from Distributed Low Latency Queueing to Low Latency Queueing.

Supported Platforms

Cisco 7200 series routers, Cisco 7500 series routers


Finding Support Information for Platforms and Cisco IOS Software Images

Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.

Contents

Feature Overview

Prerequisites

Configuration Tasks

Monitoring and Maintaining Low Latency Queueing

Configuration Example

Additional References

Command Reference

Feature Overview

The Low Latency Queueing feature brings the ability to specify low latency behavior for a traffic class for both VIP and non-VIP platforms. Low Latency Queuing allows delay-sensitive data such as voice to be dequeued and sent first (before packets in other queues are dequeued), giving delay-sensitive data preferential treatment over other traffic. Low Latency Queuing also introduces transmission ring limit tuning.

The Low Latency Queueing feature also introduces the ability to limit the depth of a device transmission ring. Before the introduction of Low Latency Queuing, the maximum transmission ring depth was not a user-configurable parameter. Therefore, particles could accumulate on a transmission ring without limitation, which could result in unavoidable high latencies. The Low Latency Queuing feature allows users to limit the number of particles that may exist on a transmission ring, effectively lowering the latency incurred by packets sitting on that transmission ring.

The priority command is used to allow delay-sensitive data to be dequeued and sent first. Low Latency Queueing enables use of a single priority queue within which individual classes of traffic can be placed. To enqueue class traffic to the priority queue, you configure the priority command for the class after you specify the named class within a policy map. Within a policy map, you can give one or more classes priority status. When multiple classes within a single policy map are configured as priority classes, all traffic from these classes is enqueued to the same, single, priority queue.

Guaranteeing Bandwidth with the priority Command

When you specify the priority command for a traffic class, it takes a bandwidth argument that gives maximum bandwidth in kilobits per second (kbps). You use this parameter to specify the maximum amount of bandwidth allocated for packets belonging to the class configured with the priority command. The bandwidth parameter guarantees the configured bandwidth to the priority class under worst-case congestion scenarios. If excess bandwidth is available, the priority class will be allowed to utilize the bandwidth. If no excess bandwidth is available, the priority traffic will be constrained to the configured rate via packet drops. Each individual class that is configured for priority behavior will have its traffic constrained to its individual rate. When a class is constrained to its individual rate, the traffic is permitted a certain amount of burstiness because of the token bucket mechanism policing the stream. This amount of burstiness is controlled by the optional bytes parameter in the priority command. The bytes parameter specifies, in bytes, the amount of traffic allowed to pass through the token bucket as a one-time burst in excess of the token bucket drop parameters. The default burst value is 200 milliseconds of traffic at the configured token bucket drop parameters.

It is important to note that because bandwidth for the priority class is specified as a parameter to the priority command, you cannot also configure the bandwidth command for a priority class. To do so is a configuration violation that introduces confusion in relation to the amount of bandwidth to allocate.

The bandwidth allocated for a priority queue always includes the Layer 2 encapsulation header. However, it does not include other headers, such as ATM cell tax overheads. When you calculate the amount of bandwidth to allocate for a given priority class, you must account for the fact that the Layer 2 headers are included. When ATM is used, you must account for the fact that ATM cell tax overhead is not included. You must also allow bandwidth for the possibility of jitter introduced by routers in the voice path.

Consider this case that uses ATM: Suppose a voice stream of 60 bytes emitting 50 packets per second is encoded using G.729. Prior to converting the voice stream to cells, the meter for the priority queue used for the voice stream assesses the length of the packet after the Layer 2 LLC headers have been added.

Given the 8-byte Layer 2 LLC header, the meter will take into account a 68-byte packet. Because ATM cells are a standard 53 bytes long, before the 68-kbps packet is emitted on the line, it is divided into two 53-byte ATM cells. Thus, the bandwidth consumed by this flow is 106 bytes per packet.

For this case, then, you must configure the bandwidth to be at least 27.2 kbps (68*50*8 = 27.2 kbps). However, recall that you must also allow for the ATM cell tax overhead, which is not accounted for by the configured bandwidth. In other words, the sum of the bandwidths for all classes must be less than the interface bandwidth by at least (106-68)*50*8 = 15.2 kbps. You should also remember to allow bandwidth for router-introduced jitter.

Benefits

Provides Priority Service on ATM VCs and Serial Interface

The priority queueing scheme allows delay-sensitive data such as voice to be dequeued and sent first—that is, before packets in other queues are dequeued. Delay-sensitive data is given preferential treatment over other traffic. This feature provides priority queueing on ATM virtual circuits (VCs);

Admission Control

By configuring the maximum amount of bandwidth allocated for packets belonging to a class, you can avoid starving non-priority traffic.

Limiting Particles on a Transmission Ring

The Low Latency Queueing feature also introduces particle limiting for transmission rings. Before the introduction of Low Latency Queuing, the transmission ring depth was not user-configurable. Therefore, a user could experience unavoidable high latencies on a transmission ring.

The Low Latency Queuing feature allows users to limit the number of particles on a transmission ring to a predefined limit, effectively lowering the latency on transmission rings.

Restrictions

If you use access lists to configure matching port numbers, this feature provides priority matching for all port numbers. Because voice typically exists on even port numbers, and control packets are generated on odd port numbers, control packets are also given priority when using this feature. On very slow links, giving priority to both voice and control packets may produce degraded voice quality.

The priority command can be used in conjunction with the set command. The priority command cannot be used in conjunction with any other command, including the random-detect, queue-limit, and bandwidth commands.

The priority command can be configured in multiple classes. If the traffic is not constant bit rate traffic, you must configure a large enough bandwidth parameter to absorb the data bursts.

Prerequisites

To use this feature, you should be familiar with the following:

Access control lists

ATM permanent virtual circuits (PVCs)

Bandwidth management

Class-Based Weighted Fair Queueing (CBWFQ)

Link Fragmentation and Interleaving  (LFI)

Virtual templates and virtual access interfaces

Configuration Tasks

See the following sections for configuration tasks for the Low Latency Queueing feature. Each task in the list indicates if the task is optional or required.

Configuring Low Latency Queueing (Required)

Verifying Low Latency Queueing (Optional)

Configuring Low Latency Queueing

To give priority to a class within a policy map, use the following commands in the policy map class configuration mode:

Command
Purpose
Router(config)# policy-map policy-name

Specifies the name of the policy map to configure.

Router(config-pmap)# class-map class-name

Specifies the name of a predefined class included in the service policy.

Router(config-pmap-c)# priority kpbs bytes

Reserves a priority queue for CBWFQ traffic.


Verifying Low Latency Queueing

To view the contents of the priority queue (such as queue depth and the first packet queued), use the following commands in EXEC mode:

Command
Purpose
Router# show interfaces [interface-type 
interface-number] fair-queue

Displays information and statistics about weighted fair queuing.

Router# show policy-map policy-map-name

Displays the contents of a policy map, including the priority setting in a specific policy map.


The priority queue is the queue in which the conversation ID is equal to the number of dynamic queues plus 8. The packets in the priority queue have a weight of 0.

Monitoring and Maintaining Low Latency Queueing

To tune your Real-Time Transport Protocol (RTP) bandwidth or to decrease RTP traffic if the priority queue is experiencing drops, use one or more of the following commands:

Command
Purpose
Router# show interfaces [interface-type 
interface-number] fair-queue

Displays information and statistics about weighted fair queuing.

Router# show policy-map policy-map-name

Displays the contents of a policy map, including the priority setting in a specific policy map.

Router# show policy interface interface-name

Displays the configuration of all classes configured for all service policies on the specified interface. Shows if packets and bytes were discarded or dropped for the priority class in the service policy attached to the interface.

Router# show atm vc vc-name

Displays the contents of a virtual circuit.


Configuration Example

In the following example, a strict priority queue with a guaranteed allowed bandwidth of 50 kbps is reserved for traffic that is sent from the source address 10.10.10.10 to the destination address 10.10.10.20, in the range of ports 16384 through 20000 and 53000 through 56000.

The following commands configure an access list called 102 to match the desired voice traffic:

Router(config)# access-list 102 permit udp host 10.10.10.10 host 10.10.10.20 range 16384 
20000
Router(config)# access-list 102 permit udp host 10.10.10.10 host 10.10.10.20 range 53000 
56000

The following commands perform the following functions:

Define the class map called voice.

Create the policy map called policy1.

Reserve a strict priority queue for the class called voice.

Configure a bandwidth of 20 kbps for the class called bar.

Configure the default class for WFQ.

Attach the policy map to the PVC interface 0/102 on the subinterface atm1/0.2.

Router(config)# class-map voice
Router(config-cmap)# match access-group 102
Router(config)# policy-map policy1
Router(config-pmap)# class voice
Router(config-pmap-c)# priority 50
Router(config-pmap)# class bar
Router(config-pmap-c)# bandwidth 20
Router(config-pmap)# class class-default
Router(config-pmap-c)# fair-queue
Router(config)# interface atm1/0.2
Router(config-subif)# pvc 0/102
Router(config-subif-vc)# service-policy output policy1 

Additional References

Related Documents

Related Topic
Document Title

Class-Based Weighted Fair Queueing

Class-Based Weighted Fair Queueing and Weighted Random Early Detection

Weighted Fair Queueing (WFQ)

Class-Based Weighted Fair Queueing and Weighted Random Early Detection

Quality of Service

Quality of Service Solutions Configuration Guide, Cisco IOS Release 12.3

Quality of Service Solutions Command Reference, Cisco IOS Release 12.3


Standards

Standards
Title

None


MIBs

MIBs
MIBs Link

Class-Based Quality of Service MIB

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

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


RFCs

RFCs
Title

None


Technical Assistance

Description
Link

Technical Assistance Center (TAC) home page, containing 30,000 pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.

http://www.cisco.com/public/support/tac/home.shtml


Command Reference

This section documents the priority command. All other commands used with this feature are documented in the Cisco IOS Release 12.3 command reference publications or Cisco IOS Release 12.xT or 12.0S feature module publications.

priority

To give priority to a class of traffic belonging to a policy map, use the priority command in policy-map class configuration mode. To remove a previously specified priority for a class, use the no form of this command.

priority {bandwidth-kbps | percent percentage} [burst]

no priority {bandwidth-kbps | percent percentage} [burst]

Syntax Description

bandwidth-kbps

Guaranteed allowed bandwidth, in kbps, for the priority traffic. The amount of guaranteed bandwidth varies according to the interface and platform in use. Beyond the guaranteed bandwidth, the priority traffic will be dropped in the event of congestion to ensure that the nonpriority traffic is not starved.

percent

Specifies that the amount of guaranteed bandwidth will be specified by the percent of available bandwidth.

percentage

Used in conjunction with the percent keyword, specifies the percentage of the total available bandwidth to be set aside for the priority class. The percentage can be a number from 1 to 100.

burst

(Optional) Specifies the burst size in bytes. The burst size configures the network to accommodate temporary bursts of traffic. The default burst value, which is computed as 200 milliseconds of traffic at the configured bandwidth rate, is used when the burst argument is not specified. The range of the burst is from 32 to 2000000 bytes.


Defaults

No default behavior or values

Command Modes

Policy-map class configuration

Command History

Release
Modification

12.0(7)T

This command was introduced.

12.0(5)XE5

This command was introduced for the Versatile Interface Processor (VIP) as part of the Distributed Low Latency Queueing (Low Latency Queueing for the VIP) feature.

12.0(9)S

This command was introduced for the VIP as part of the Distributed Low Latency Queueing (Low Latency Queueing for the VIP) feature.

12.1(2)E

The burst argument was added.

12.1(3)T

The burst argument was integrated in Release 12.1(3)T.

12.1(5)T

This command was introduced for the VIP as part of the Distributed Low Latency Queueing (Low Latency Queueing for the VIP) feature.

12.2(2)T

The percent keyword and the percentage argument were added.

12.0(26)S

This command was integrated into Cisco IOS Release 12.0(26)S.


Usage Guidelines

This command configures low latency queueing (LLQ), providing strict priority queueing (PQ) for class-based weighted fair queueing (CBWFQ). Strict PQ allows delay-sensitive data such as voice to be dequeued and sent before packets in other queues are dequeued.

The priority command allows you to set up classes based on a variety of criteria (not just User Datagram Ports (UDP) ports) and assign priority to them, and is available for use on serial interfaces and ATM permanent virtual circuits (PVCs). A similar command, the ip rtp priority command, allows you to stipulate priority flows based only on UDP port numbers and is not available for ATM PVCs.

When the device is not congested, the priority class traffic is allowed to exceed its allocated bandwidth. When the device is congested, the priority class traffic above the allocated bandwidth is discarded.

The bandwidth and priority commands cannot be used in the same class, within the same policy map. These commands can be used together in the same policy map, however.

Within a policy map, you can give one or more classes priority status. When multiple classes within a single policy map are configured as priority classes, all traffic from these classes is queued to the same, single, priority queue.

When the policy map containing class policy configurations is attached to the interface to stipulate the service policy for that interface, available bandwidth is assessed. If a policy map cannot be attached to a particular interface because of insufficient interface bandwidth, the policy is removed from all interfaces to which it was successfully attached.

For more information on bandwidth allocation, refer to the chapter "Congestion Management Overview" in the Cisco IOS Quality of Service Solutions Configuration Guide.

Examples

The following example configures PQ with a guaranteed bandwidth of 50 kbps and a one-time allowable burst size of 60 bytes for the policy map called policy1:

Router(config)# policy-map policy1
Router(config-pmap)# class voice
Router(config-pmap-c)# priority 50 60

In the following example, 10 percent of the available bandwidth is reserved for the class called voice on interfaces to which the policy map called policy1 has been attached:

Router(config)# policy-map policy1
Router(config-pmap)# class voice
Router(config-pmap-c)# priority percent 10

Related Commands

Command
Description

bandwidth

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

show interfaces fair-queue

Displays information and statistics about WFQ.

show policy-map

Displays the configuration of all classes for a specified service policy map or all classes for all existing policy maps.

show policy-map interface

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

show queue

Displays the contents of packets inside a queue for a particular interface or VC.


Glossary

CBWFQ—Class-Based Weighted Fair Queueing. Extends the standard WFQ functionality to provide support for user-defined traffic classes.

Class-Based Weighted Fair Queueing—See CBWFQ.

LLC—logical link control. Higher of the two data link layer sublayers defined by the IEEE. The LLC sublayer handles error control, flow control, framing, and MAC-sublayer addressing. The most prevalent LLC protocol is IEEE 802.2, which includes both connectionless and connection-oriented variants.

logical link control—See LLC.

PPP—Point-to-Point Protocol. Successor to SLIP that provides router-to-router and host-to-network connections over synchronous and asynchronous circuits. Whereas SLIP was designed to work with IP, PPP was designed to work with several network layer protocols, such as IP, IPX, and ARA. PPP also has built-in security mechanisms, such as CHAP and PAP. PPP relies on two protocols: LCP and NCP.

Random Early Detection—See RED.

RED—Random Early Detection. A congestion avoidance mechanism that takes advantage of TCP's congestion control mechanism. By randomly dropping packets prior to periods of high congestion, RED tells the packet source to decrease its transmission rate. Assuming the packet source is using TCP, it will decrease its transmission rate until all the packets reach their destination, indicating that the congestion is cleared.

RTP—Real-Time Transport Protocol. One of the IPv6 protocols. RTP is designed to provide end-to-end network transport functions for applications sending real-time data such as audio, video, or simulation data over multicast or unicast network services. RTP provides services such as payload type identification, sequence numbering, time-stamping, and delivery monitoring to real-time applications.

SNA—Systems Network Architecture. Large, complex, feature-rich network architecture developed in the 1970s by IBM. Similar in some respects to the OSI reference model, but with a number of differences.

UDP—User Datagram Protocol. Connectionless transport layer protocol in the TCP/IP protocol stack. UDP is a simple protocol that exchanges datagrams without acknowledgments or guaranteed delivery, requiring that error processing and retransmission be handled by other protocols. UDP is defined in RFC 768.

weighted fair queueing—See WFQ.

WFQ—weighted fair queueing. Congestion management algorithm that identifies conversations (in the form of traffic streams), separates packets that belong to each conversation, and ensures that capacity is shared fairly between these individual conversations. WFQ is an automatic way of stabilizing network behavior during congestion and results in increased performance and reduced retransmission.