About QoS

Introduction

The use of Enterprise networks is becoming increasingly complex. The past two decades have seen a sea change in the landscape of networking due to increasing reliance on the Enterprise network for a wide range of applications. The convergence of voice, video and data networks has added a lot more variables to determine the behavior of a network. Different applications influence the network in different ways and this mandates exercising complete control of network bandwidth usage to ensure optimum network performance. To add to this, the social media bubble burst has had its own impact on the network. This leads to a completely complex network that handles numerous classes, types and subcategories of traffic. To identify and assign maximum priority to traffic that is critical to your business is extremely important to make effective use of your network. Quality of Service, popularly known as QoS is a great way to reach this objective and assign priority to the desired type of traffic on the network. This gives a host of benefits such as better predictability, security, measurability and guaranteed delivery of critical services. Here are some basics of QoS which you would need to know to design and implement it successfully on the network.

Quality of Service (QoS)

Quality of Service (QoS) is the term used to define the ability of a network to provide different levels of service assurances to the various forms of traffic. QoS is a technique to optimize network usage by prioritizing traffic on the basis of your business objectives. Each organization is different in terms of the nature of business and the processes followed. Depending on the different business objectives, the network is used for different purposes based on which traffic needs to be prioritized on the network . This ensures high-priority delivery of business-critical and delay sensitive applications at all times. QoS is a set of standards and techniques to ensure high performance of critical applications on the network. QoS, as a mechanism, could be exploited by network administrators to put their resources to the best use without any need for expansion or enhancements on the network. QoS makes it possible to ensure a high-performing network, allotting maximum priority to those applications that are highly critical to business. This ensures prompt delivery of business-critical applications, thereby putting your Enterprise network to optimum use.

Importance of QoS

In this current era of converged networks, it is one single network that handles various types of traffic like voice, data and video. All of this comes under the best effort delivery category which means that all of them have an equal chance of being dropped when congestion occurs. This leads to a situation where the battle between business-critical applications and other applications begins. For effective use of the network bandwidth, it is essential that the business-critical applications get higher priority over other applications. The fundamental requirement in this case becomes application classification. The applications running on the network need to be classified as two sets, the first one being those applications that are critical to business(CRM, ERP, business VoIP etc.) and the second one being bandwidth intensive applications that do not contribute to business(streaming, peer-to-peer file sharing, online gaming, Internet radio etc.).

When a number of bandwidth-intensive applications run parallel on the network, the network is subject to congestion due to a much bulkier volume of traffic than it can actually handle. When congestion happens, traffic gets dropped which could result in data loss and failure of delivery of applications that might be critical to business. It thus becomes the top priority of a network administrator to attach maximum importance to business-critical applications over other bandwidth-intensive applications that are not relevant to the business.

Let us consider a scenario where a congested network handles FTP and a VoIP call. FTP has a lower level of sensitivity to latency and network sluggishness. Although, the transfer may happen at a slower rate, the delivery of the file is not affected but for the speed of delivery. But, if VoIP packets get affected due to network sluggishness, it will result in a choppy audio at the receiving end, thereby defeating the very purpose of communication. The reliance on the network for voice and video has opened up a critical factor called 'delay sensitivity of an application'. Even the slightest delays can result in poor quality of the VoIP or the video call thereby affecting smooth functioning of the business that is largely dependent on the network. In this scenario, prioritizing the applications becomes an essential function of a network administrator.

Business requirements of the new age

Network utilization patterns have drastically changed over the years. Video traffic volume on the network is increasing manifolds. The demand for High Definition and 3D demands more bandwidth and adds even more to the network congestion. Here are some statistics from Cisco Visual Networking Index findings:

  • Global IP traffic will touch the zettabyte threshold by 2015
  • The number of devices connected to IP networks will be twice as high as the global population
  • In 2015 Traffic from wireless devices will exceed traffic from wired devices by 2015

 

With the explosive rate at which the bulk of video traffic is increasing in the network, throwing in more bandwidth is one way of handling it. But, when approaches like 'sustainability', 'judicious use of existing resources' are the key to running a business in these times, making optimum use of the currently available resources is a better approach. QoS is a mechanism that helps in achieving this objective with great ease.

QoS design

An understanding of what constitutes your QoS set up is extremely important for effective implementation. The fundamental aspects of QoS are:

  1. Classification
  2. Policing & queuing

Classification:

As we have seen earlier, there are different types of applications that run on the network. Applications like mail, CRM, sharepoint, intranet, database, VoIP, streaming, gaming, file-sharing, file-hosting etc. rely heavily on the network and not all of these are important to business. Even among the business-critical applications, the level of importance of each application is different. As the first step, classifying the applications is essential to determine how to prioritize these different applications. The following 2 steps constitute classification of traffic:

  1. Identifying traffic
  2. Marking

Traditionally, the access control lists (ACLs) were used as identification tools. The access list typically is a set of statements that defines a specific pattern that would be found in an IP packet. In this approach, the packet entering an interface is scanned for the specific pattern and the decision to allow or deny it depends on the pattern match. A major handicap of this approach is, the longer the list, the longer is the look-up time. In case of delay-sensitive applications, this approach wouldn't work well due to its insensitivity to latency.

Application Categories

  1. Intranet
  2. Productivity tools
  3. CRM
  4. ERP
  5. MIS
  6. Peer-To-Peer File sharing
  7. Gaming
  8. Torrents

Application Sub Categories

  1. Intranet
  2. Database
  3. Streaming
  4. ePayment
  5. SAP
  6. Salesforce
  7. Zoho CRM
  8. P2P file system

NBAR is thus an intelligent classification engine that helps in driving your QoS metrics within acceptable norms.

Application type classification: NBAR

NBAR is a system to classify traffic in the network. NBAR is Network Based Application Recognition is capable of monitoring Layer 4 through Layer 7 traffic and not just the application layer. With such deep visibility, it can recognize applications that use dynamic ports like skype that pertain to specific categories and subcategories of applications on the network. Some categories of applications running on the network are:

Marking:

In the marking action, the identified packet is associated with a unique value (marked with) pertaining to its class of traffic. The packet will be identified with this marked value, in QoS terms and its treatment will depend on this marked value. The common marking options available on Cisco routers and switches are IP Precedence, DSCP, CoS, ToS bits, QoS group, and MPLS EXP values. For optimum use of router resources, it is highly recommended to do the marking as close to the source as possible. Marking is the basis for assigning priority to traffic on the network.

Queuing:

A queue is used to store traffic until it is allowed to pass. It is imperative to have a queuing mechanism in place even though the chances of congestion are very minimal. Queuing is particularly useful when organizations assign low-speed links for non-essential applications pertaining to web traffic like file sharing etc. High speeds are generally recommended for business-related applications like Citrix, Webex etc. Cisco recommends the following queuing guidelines for organizations:

  1. Bandwidth allocation for best effort class - A minimum of 25%
  2. Bandwidth allocation for priority class - A maximum of 33%
  3. Bandwidth allocation for scavenger class - Less than 5%
  4. For congestion avoidance in select TCP flows - non-priority queue

Some queuing mechanisms

Out of the available queuing mechanisms, the network Administrator can follow an approach that best matches with the goals and objectives of the organization, the network type etc. But, it is highly recommended to have a queuing mechanism in place.

Implementing QoS:

The three key components of implementing QoS are:

  1. Creating class maps
  2. Creating Policy maps
  3. Servicing Policies

Creating Class maps:

Class map is where the criteria Layer 3, Layer 4 and the Layer 7 are set which helps identify the class of traffic. This is an important element of classifying the different types of traffic in the network. A class map is the basis with which traffic is classified and one defines the different classes of traffic on the network with the information that we get from the Application, Transport and the Network layer.

Class map is where the criteria Layer 3, Layer 4 and the Layer 7 are set which helps identify the class of traffic. This is an important element of classifying the different types of traffic in the network. A class map is the basis with which traffic is classified and one defines the different classes of traffic on the network with the information that we get from the Application, Transport and the Network layer. The key component of class maps is 'match statements' and 'match criteria'. A set of conditions are specified according to the network administrator's requirement to classify traffic. When the matching requirements are met, the packet is classified under the respective class name. If the match statement fails, the packet falls under the default class. The class under which a packet falls will determine its chances of being dropped or passed when a congestion occurs.

A small case example:

A match statement could be written to segregate FTP packets and VoIP packets. The VoIP packets are much more delay-sensitive than the FTP packets. Thus, when the VoIP packets are separated from the default packets, it would help in prioritizing the VoIP packets considering their sensitivity to latency and delay.

Creating Policy maps:

Once the class maps created, the next step is to decide how to handle the classified traffic. The segmentation of traffic into different classes is now over and the network administrator needs to decide how to handle these different classes in an efficient manner.

Servicing the policies:

Activating the policies happens using the service policy command. Once the classes are defined and the policy is determined, activating these policies is the implementation step that happens through service policies.

Measuring QoS effectiveness:

After QoS design and implementation, validation is the final and key step. The only way to validate a quantity is to measure it. Thus, measuring and monitoring of QoS becomes a vital aspect of ensuring effective QoS policies in the network. The depth and scope of QoS monitoring varies on a case-by-case basis. But, by minimum standards, the monitoring should include link utilization trends and packet drop information.

There are several ways to monitor QoS like Cisco-Class-based-QoS-MIB, NetFlow etc. Collecting a lot of data is possible using Cisco CBQoS but there needs to be a supporting back-end tool to classify the data and convert into useful information in easy-to-interpret forms. The tool must also be capable of sorting the data and flagging the drop rates.

NetFlow Analyzer's CBQoS reports

ManageEngine NetFlow Analyzer supports Cisco CBQoS and thus reports on the QoS policies that you have deployed. The report shows the pre-policy, post-policy and drops in different traffic class along with the queuing. CBQoS monitoring in such a deep level helps you validate the QoS policies. You can change your policies according to the reports, which you see in NetFlow Analyzer. This is a tool, which can be best used for QoS policy validation.