One fundamental limitation of today's routers and switches is the small number of queues the devices have for QoS. While four queues are common, additional ones would facilitate more granular prioritization and greater fairness. For example, administrators could establish a queue to give preference to high-priority packets that need to travel to a far-flung destination.
Per-flow queuing establishes queues on a per-flow basis, which means each user session gets its own queue. The architecture has been implemented in switches based on MMC Networks' Anyflow 5500 chip set, including the Cisco Catalyst 8500 and Arrowpoint Communications' Content Smart Switch. But the trade-off associated with increasing the number of queues is greater complexity, which drives up costs and complicates configuration and management.
Clearing up congestion
Congestion control and avoidance mechanisms are other important aspects of QoS.
Congestion control allows end stations to throttle their transmission rates and slow traffic if the network drops packets. TCP/IP and SNA have supported congestion control for many years. By itself, congestion control does little to ensure QoS.
However, congestion control becomes more powerful when it's paired with congestion avoidance. Congestion avoidance in the TCP/IP world is relatively new, but is fast becoming a standard feature in ISP- and carrier-class routers.
Random early detection (RED) has emerged as the standard congestion avoidance method. In basic form, RED randomly drops packets as queues fill up, causing end stations to decrease their transmission rates so queues won't overflow. Weighted RED (WRED) improves on RED by dropping packets based on IP TOS. Cisco's 7000 and 12000 series backbone routers and Bay's Backbone Node routers support RED and WRED, as will forthcoming ISP-class gigabit and terabit routers from start-up vendors such as Argon Networks, Inc., Avici Systems, Inc., Juniper Networks, Inc., NetCore Systems, Inc. and Nexabit Networks, Inc.
Shaping up packets
Traffic shaping refers to a variety of techniques for manipulating and modifying data to help ensure QoS, such as packet segmentation. One of the reasons ATM networks provide high QoS is because of their use of small packets, or cells. The maximum amount of time any cell can be delayed is the time it takes to transmit one cell.
Borrowing from ATM, router and switch vendors are adding segmentation capabilities to their products. Cisco's 12000 series routers internally segment packets across the backplane into 64-byte packets, which helps to ensure consistent QoS within the router. Several frame relay equipment vendors segment packets for transmission over WAN links as a means of ensuring predictable delivery and minimal delay.