|
|
This feature module describes the Low Latency Queueing feature for the Versatile Interface Processor (VIP). It includes information on the benefits of the new feature, supported platforms, related documents, and so forth.
This document includes the following sections:
The Low Latency Queuing for the Versatile Interface Processor feature introduces the ability to enable low latency behavior on a per-traffic class basis. The Low Latency Queuing for the Versatile Interface Processor feature introduces the the ability to enable low latency behavior on a per-class basis. Low Latency Queuing for the VIP also introduces transmission ring-limit tuning.
The Low Latency Queueing for the Versatile Interface Processor (VIP) feature also introduces the ability to limit the depth of a device transmission ring. Before the introduction of Low Latency Queuing for the Versatile Interface Processor (VIP), 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 for the VIP 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 Low Latency Queuing feature is configured with the priority command.. Low Latency Queueing enables use of a single priority queue within where 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.
The tx-ring-limit command allows the user to specify the number of allowable particles on a transmission ring, effectively lowering the latency for that transmission ring. One packet can contain multiple particles, and a typical particle is 512 bytes in size (the size depends on the interface type. For some interface types, a typical particle size is 256 bytes). These particles can no longer accumulate on a transmission ring and cause unavoidable high latencies.
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 it's traffic constrained to it's individual rate.
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 would only introduce 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 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 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.
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);
By configuring the maximum amount of bandwidth allocated for packets belonging to a class, you can avoid starving non-priority traffic.
The Low Latency Queueing for the Versatile Interface Processor (VIP) feature also introduces particle limiting for transmission rings. Before the introduction of Low Latency Queuing for the Versatile Interface Processor (VIP), the transmission ring depth was not user-configurable. Therefore, a user could experience unavoidable high latencies on a transmission ring.
The Low Latency Queuing for the VIP feature allows users to limit the number of particles on a transmission ring to a predefined limit, effectively lowering the latency on transmission rings.
The Low Latency Queueing feature is related to the following features:
None
This feature supports no new MIBs.
For descriptions of supported MIBs and how to use MIBs, see the Cisco MIB web site on CCO at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.
None
To use this feature, you should be familiar with the following:
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. |
To limit the number of allowable particles on a transmission ring on an ATM interface, use the following commands:
| Command | Purpose |
|---|---|
Router(config)# interface atm interface name | Specifies the name of the ATM interface to configure. |
Router(config-if)# atm pvc | Specifies the ATM PVC to configure, the encapsulation type, and the transmission ring limit value. |
To limit the number of allowable particles on a transmission ring on an ATM subinterface, use the following commands:
| Command | Purpose |
|---|---|
Router(config)# interface atm subinterface name | Specifies the name of the subinterface to configure. |
Router(config-subif)# pvc | Specifies the name of the PVC to configure. |
Router(config-if-atm-vc)# tx-ring-limit ring-limit | Specifies the transmission ring limit value. |
| Command | Purpose |
|---|---|
Router# show interfaces [interface-type interface-number] fair-queue | Displays information and statistics about weighted fair queuing for a VIP-based interface. |
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 whose conversation ID is equal to the number of dynamic queues plus 8. The packets in the priority queue have a weight of 0.
To see the contents of the interface or the PVC, use the following commands in EXEC mode:
| Command | Purpose |
|---|---|
Router# show atm vc vc name | Displays the contents of a virtual circuit. The show atm vc command output will indicate the transmission ring value if the tx-ring-limit command is successfully enabled. |
To tune your RTP bandwidth or 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 for a VIP-based interface. |
Router# show policy-map policy map name | Displays the contents of a policy map, including the priority setting in a specific policy map. |
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. The show atm vc command output will indicate the transmission ring limit value if the tx-ring-limit command is successfully enabled. |
This section provides the following configuration example:
The priority command can be enabled on an ATM sub-interface, and that sub-interface must have only one enabled ATM PVC. This configuration provides a sufficient amount of ATM PVC support.
In the following example, a 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.
First, the following commands configure access list 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
Next, the class map voice is defined, and the policy map policy1 is created; a priority queue for the class voice is reserved, a bandwidth of 20 kbps is configured for the class bar, and the default class is configured for flow-based fair-queuing. The service-policy command then attaches the policy map to subinterface atm1/0.1:
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.1 router(config-subif)# service-policy output policy1
In the following example, the number of particles on the transmission ring of an ATM interface is limited to 7 particles:
router(config)# interface atm 1/0/0 router(config-if)# atm pvc 32 0 32 tx-ring-limit 7
In the following example, the number of particles on the transmission ring of an ATM PVC subinterface is limited to 10 particles:
router(config)#interface ATM1/0/0.1 point-to-pointrouter(config-subif)#pvc 2/200router(config-if-atm-vc)#tx-ring-limit 10
The tx-ring-limit command can be applied to several ATM PVC subinterfaces on a single interface. Every individual PVC can configure a transmission ring limit.
This section documents the priority and the tx-ring-limit commands. All other commands used with this feature are documented in the Cisco IOS Release 12.0 command reference publications or Cisco IOS Release 12.0 T feature module publications.
bandwidth | Guaranteed allowed bandwidth (in kbps) for the priority traffic. Beyond the guaranteed bandwidth, the priority traffic will be dropped in the event of congestion to ensure that the nonpriority traffic is not starved. |
No default behavior or values.
Policy-map class configuration
| Release | Modification |
|---|---|
12.0(5)XE5 | This command was introduced for the Versatile Interface Processor. |
12.0(9)S | This command was introduced for the Versatile Interface Processor for Release 12.0 S. |
This command allows users to enable low latency behavior on a per-class basis. Low latency behavior 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.
The priority command allows you to set up classes based on a variety of criteria (not just UDP ports) and assign priority to them, and is available for use on serial interfaces and ATM PVCs.
The bandwidth argument is used to specify the maximum amount of bandwidth allocated for packets belonging to a class configured with the priority command. The bandwidth parameter both guarantees bandwidth to the priority class and restrains the flow of packets from the priority class in congestive scenarios.
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.
Keep the following guidelines in mind when using the priority command:
policy-map policy1class voice1priority 24class voice2priority 48class databandwidth 20
The following example configures priority queueing with a guaranteed bandwidth of 50 kbps for the policy map "policy1":
router(config)# policy-map policy1 router(config-pmap)# class voice router(config-pmap-c)# priority 50
| Command | Description |
|---|---|
Router# show interfaces [interface-type interface-number] fair-queue | Displays information and statistics about weighted fair queuing for a VIP-based interface. |
show policy-map policy map name | Displays the contents of a policy map, including the priority setting of a specific policy map. |
ring-limit | Specifies the maximum number of allowable particles that can be placed on the transmission ring. |
No default behavior or values.
ATM Interface Configuration
ATM Subinterface Configuration
| Release | Modification |
|---|---|
12.0(7)XE1 | This command was introduced for Cisco IOS Release 12.0(7)XE1. |
12.0(9)S | This command was introduced for Cisco IOS Release 12.0 S. |
This command can only be used on a PA-A3 port adapter.
The transmission ring limit value is limited to values that are between 3 and 6000.
The following example configures the transmission ring limit to 7 on an ATM interface:
router(config)# interface atm 1/0/0 router(config-if)# atm pvc 32 0 32 aal5snap 10000 8000 2000 tx-ring-limit 7
The following example configures transmission ring limit to 10 on an ATM PVC subinterface:
router(config)#interface ATM1/0/0.1 point-to-pointrouter(config-subif)#pvc 2/200router(config-if-atm-vc)#tx-ring-limit 10
| Command | Description |
|---|---|
show atm vc | Displays the contents of a virtual circuit. The show atm vc command output will indicate the tx-ring-limit value if the tx-ring-limit command is successfully enabled. |
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.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Thu Mar 30 15:48:30 PST 2000
Copyright 1989 - 2000©Cisco Systems Inc.