Wednesday, April 1, 2009

QoS is important to many network applications. Voice/data integration is not possible without. Nor is effective multimedia… or even VPNs. In this module, we’ll discuss what QoS is and some of its building blocks. Will also look at some specific examples of how QoS can be used.

The Agenda

- What Is QoS?

- QoS Building Blocks

- QoS in Action


What Is Quality of Service (QoS)?

Basically, QoS comprises the mechanisms that give network managers the ability to control the mix of bandwidth, delay, variances in delay (jitter), and packet loss in the network in order to deliver a network service such as voice over IP; define different service-level agreements (SLAs) for divisions, applications, or organizations; or simply prioritize traffic across a WAN.

QoS provides the ability to prioritize traffic and allocate resources across the network to ensure the delivery of mission-critical applications, especially in heavily loaded environments. Traffic is usually prioritized according to protocol.
So what does this really mean...

An analogy is the carpool lane on the highway. For business applications, we want to give high priority to mission-critical applications. All other traffic can receive equal treatment.

Mission-critical applications are given the right of way at all times. Multimedia applications take a lower priority. Bandwidth-consuming applications, such as file transfers, can receive an even lower priority.

What Is Driving the Need for QoS?

There are two broad application areas that are driving the need for QoS in the network:

- Mission-critical applications need QoS to ensure delivery and that their traffic is not impacted by misbehaving applications using the network.

- Real-time applications such as multimedia and voice need QoS to guarantee bandwidth and minimize jitter. This ensures the stability and reliability of existing applications when new applications are added.

Voice and data convergence is the first compelling application requiring delay-sensitive traffic handling on the data network. The move to save costs and add new features by converging the voice and data networks--using voice over IP, VoFR, or VoATM--has a number of implications for network management:

- Users will expect the combined voice and data network to be as reliable as the voice network: 99.999% availability

- To even approach such a level of reliability requires a sophisticated management capability; policies come into play again

So what are mission critical applications?

Enterprise Resource Planning (ERP) applications

- Order entry
- Finance
- Manufacturing
- Human resources
- Supply-chain management
- Sales-force automation

What else is mission critical?

- SNA applications
- Selected physical ports
- Selected hosts/clients

QoS Benefits

QoS provides tremendous benefits. It allows network managers to understand and control which resources are being used by application, users, and departments.

It ensures the WAN is being used efficiently by the mission-critical applications and that other applications get “fair” service, but take a back seat to mission-critical traffic.

It also provides an infrastructure that delivers the service levels needed by new mission-critical applications, and lays the foundation for the “rich media” applications of today and tomorrow.

Where Is QoS Important?

QoS is required wherever there is congestion. QoS has been a critical requirement for the WAN for years. Bandwidth, delay, and delay variation requirements are at a premium in the wide area.
LAN QoS requirements are emerging with the increased reliance on mission critical applications and the growing popularity of voice over LAN and WAN.


The importance of end-to-end QoS is increasing due to the rapid growth of intranets and extranet applications that have placed increased demands on the entire network.

QoS Example

Hopefully this Image provides a little context. It demonstrates a real example of how QoS could be used to manage network applications.

QoS Building Blocks

Let’s now take a look at some of the building blocks of QoS.

There are a wide range of QoS services. Queuing, traffic shaping, and filtering are essential to traffic prioritization and congestion control, determining how a router or switch handles incoming and outgoing traffic.
QoS signaling services determine how network nodes communicate to deliver the specific end-to-end service required by applications, flows, or sets of users.

Let’s take a look at a few of these.

Classification

- IP Precedence
- Committed Access Rate (CAR)
- Diff-Serv Code Point (DSCP)
- IP-to-ATM Class of Service
- Network-Based Application Recognition (NBAR)
- Resource Reservation Protocol (RSVP)

Policing

- Committed Access Rate (CAR)
- Class-Based Weighted Fair Queuing (CB WFQ)
- Weighted Fair Queuing (WFQ)

Shaping

- Generic Traffic Shaping (GTS)
- Distributed Traffic Shaping (DTS)
- Frame Relay Traffic Shaping (FRTS)

Congestion Avoidance

- Weighted Random Early Detection (WRED)
- Flow-Based WRED (Flow RED)

Congestion Management— Fancy Queuing

Weighted fair queuing is another queuing mechanism that ensures high priority for sessions that are delay sensitive, while ensuring that other applications also get fair treatment.

For instance, in the Cisco network, Oracle SQLnet traffic, which consumes relatively low bandwidth, jumps straight to the head of the queue, while video and HTTP are serviced as well. This works out very well because these applications do not require a lot of bandwidth as long as they meet their delay requirements.

A sophisticated algorithm looks at the size and frequency of packets to determine whether a specific session has a heavy traffic flow or a light traffic flow. It then treats the respective queues of each session accordingly.



Weighted fair queuing is self-configuring and dynamic. It is also turned on by default when routers are shipped.
Other options include:

- Priority queuing assigns different priority levels to traffic according to traffic types or source and destination addresses. Priority queuing does not allow any traffic of a lower priority to pass until all packets of high priority have passed. This works very well in certain situations. For instance, it has been very successfully implemented in Systems Network Architecture (SNA) environments, which are very sensitive to delay.

- Custom queuing provides a guaranteed level of bandwidth to each application, in the same way that a time-division multiplexer (TDM) divides bandwidth among channels. The advantage of custom queuing is that if a specific application is not using all the bandwidth it is allotted, other applications can use it. This assures that mission-critical applications receive the bandwidth they need to run efficiently, while other applications do not time out either.

This has been implemented especially effectively in applications where SNA leased lines have been replaced to provide guaranteed transmission times for very time-sensitive SNA traffic. What does “no bandwidth wasted” mean?Traffic loads are redirected when and if space becomes available. If there is space and there is traffic, the bandwidth is used.


Random Early Detection (RED)

Random Early Detection (RED) is a congestion avoidance mechanism designed for packet switched networks that aims to control the average queue size by indicating to the end hosts when they should temporarily stop sending packets. RED 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. You can use RED as a way to cause TCP to back off traffic. TCP not only pauses, but it also restarts quickly and adapts its transmission rate to the rate that the network can support.

RED distributes losses in time and maintains normally low queue depth while absorbing spikes. When enabled on an interface, RED begins dropping packets when congestion occurs at a rate you select during configuration.
RED is recommended only for TCP/IP networks. RED is not recommended for protocols, such as AppleTalk or Novell Netware, that respond to dropped packets by retransmitting the packets at the same rate.

Weighted RED

Cisco’s implementation of RED, called Weighted Random Early Detection (WRED), combines the capabilities of the RED algorithm with IP Precedence. This combination provides for preferential traffic handling for higher priority packets. It can selectively discard lower priority traffic when the interface begins to get congested, and provide differentiated performance characteristics for different classes of service. WRED differs from other congestion management techniques such as queuing strategies because it attempts to anticipate and avoid congestion rather than controlling congestion once it occurs.



WRED is useful on any output interface where you expect to have congestion. However, WRED is usually used in the core routers of a network, rather than the network’s edge. Edge routers assign IP precedences to packets as they enter the network. WRED uses these precedences to determine how it treats different types of traffic. WRED provides separate thresholds and weights for different IP precedences, allowing you to provide different qualities of service for different traffic. Standard traffic may be dropped more frequently than premium traffic during periods of congestion.

Let’s take a look at how WRED works.

By randomly dropping packets prior to periods of high congestion, WRED 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. WRED generally drops packets selectively based on IP Precedence. Packets with a higher IP Precedence are less likely to be dropped than packets with a lower precedence. Thus, higher priority traffic is delivered with a higher probability than lower priority traffic. However, you can also configure WRED to ignore IP precedence when making drop decisions so that non weighted RED behavior is achieved. WRED is also RSVP-aware, and can provide integrated services controlled-load QoS service.

WRED reduces the chances of tail drop by selectively dropping packets when the output interface begins to show signs of congestion. By dropping some packets early rather than waiting until the buffer is full, WRED avoids dropping large numbers of packets at once and minimizes the chances of global synchronization. Thus, WRED allows the transmission line to be used fully at all times. In addition, WRED statistically drops more packets from large users than small. Therefore, traffic sources that generate the most traffic are more likely to be slowed down than traffic sources that generate little traffic.

QoS Signalling

Resource Reservation Protocol

RSVP is the first significant industry-standard protocol for dynamically setting up end-to-end QoS across a heterogeneous network. RSVP provides transparent operation through routers that do not support RSVP.
Explained simply, RSVP is the ability for an end station or host to request a certain level of QoS across a network. RSVP carries the request through the network, visiting each node that the network uses to carry the stream. At each node, RSVP attempts to make a resource reservation for the data stream. RSVP is designed to utilize the robustness of current IP routing algorithms. This protocol does not perform its own routing; instead, it uses underlying routing protocols to determine where it should carry reservation requests.

Example: No Quality of Service

Here’s an example of how RSVP works. Let’s first look at what the problem would be without RSVP.


In this example, the video traffic still gets through, but it is impacted by a large file transfer in progress. This causes a negative effect on the quality of the video and the picture comes out all jittery.
What we need is a method to reserve bandwidth from end-to-end on a per-application basis. RSVP can do this.

This figure explains how RSVP actually works.

RSVP reserves bandwidth from end-to-end on a per-application basis for each user. This is especially important for delay-sensitive applications, such as video.

As shown here, with RSVP, the client’s application requests bandwidth be reserved at each of the network elements on the path. These elements will reserve the requested bandwidth using priority and queuing mechanisms.
Once the server receives the OK, bandwidth has been reserved across the whole path, and the video stream can start being transmitted. RSVP ensures clear video reception.

The good news is that RSVP is becoming widely accepted by industry leaders, such as Microsoft and Intel, who are implementing RSVP support in their applications. These applications include Intel’s Proshare and Microsoft’s NetShow. To provide support on a network, Cisco routers also run RSVP.

End-to-End QoS

End-to-end QoS is essential. Following image provides a context for the different QoS features we looked at.

QoS in Action

Example 1: Prioritization of IP Telephony

Example 2: ERP Application


- SUMMARY -

The goal of QoS is to provide better and more predictable network service by providing dedicated bandwidth, controlled jitter and latency, and improved loss characteristics. QoS achieves these goals by providing tools for managing network congestion, shaping network traffic, using expensive wide-area links more efficiently, and setting traffic policies across the network.

- QoS provides guaranteed availability

- Prioritization of mission-critical versus noncritical applications
- Interactive and time-sensitive applications
- Voice, video, and data integration

- Key QoS building blocks

- classification
- policing
- shaping
- congestion avoidance