Adding more bandwidth is not always the option to solve network bottlenecks. There are other factors you need to consider like latency, jitter, packet loss, congestion, buffer overflow, etc that might also affect the network performance. This is where QoS – Quality of Service aware network plays an important part. If your network has real time traffic like voice, video etc, configuring and maintaining the right QoS parameters becomes all the more important. Let us look into QoS – Quality of Service for Wired Networks, a little closer in this article.
What is QoS (Quality of Service) in Wired Networks and why is it required?
QoS obviously means Quality of Service. It is a way to ensure that mission critical and delay sensitive applications get priority over normal data traffic and harmful scavenger traffic while being processed in network devices like network switches and routers in a Local Area Network. Of course, QoS is often extended out of the network (Over WAN for example) , but that is out of the scope of this article.
QoS enables a network administrator to guarantee a minimum bandwidth for certain classes of traffic & limit the maximum bandwidth for other classes of traffic. QoS enables real time applications like video/ voice to maintain low latency, jitter levels which are absolutely critical for good user experience and they minimize the effects of packet loss and buffer overflow in congested networks. QoS can also play a role in mitigating DoS attacks.
How is QoS enabled in a Wired Network?
QoS parameters can be configured in manageable network switches and routers. All the packets/ network traffic entering into each switch/ router are classified into various Class of Service (CoS) categories. So, network protocol and management traffic might be one CoS category, voice and video traffic might be another CoS category, etc.
But before that, all the network traffic should be appropriately classified and marked as close to the source (end point) as possible. Once classified, they need to be Queued using appropriate hardware queues (based on their CoS category) at all levels in the network.
Network traffic (individual packets) can be classified and grouped using one of the following methods:
- Explicit 802.1p or DSCP marking
- VLAN / Switched port based grouping
- MAC address based grouping
It is important to ensure that a single QoS scheme is consistently implemented throughout the network. We will look closely into Hardware Queuing and Explicit 802.1p/ DSCP marking, as they are used more commonly.
What is Hardware Queuing?
When ever there is a switch or a router in a network, there is a potential problem of buffer overflow (buffer – switch memory) due to network congestion. So, separate hardware queues can be implemented for different categories of network traffic (CoS types) and packets can be transmitted independently and in accordance to the priority level of each type of traffic flow. A network switch generally supports ‘n’ number of hardware queues per each physical port (4 hardware queues per port, for example). Each hardware queue can be programmed with appropriate bandwidth prioritization and limitation parameters.
What are: 802.1p & DSCP (DiffServe) marking?
Network traffic can be explicitly marked and classified using these two explicit marking techniques – 802.1p & DSCP markings. The advantages of using explicit marking in a network to prioritize traffic are:
- The CoS (Class of Service) info can be carried throughout the network without specific configuration in each and every network device. It also enables consistent QoS policies to be established in multi vendor network scenarios.
- Applications and end-stations can perform the packet marking by themselves (according to industry standard recommendations for each type of traffic) so that when they reach the switch, they are already tagged and are mapped to the appropriate CoS queues automatically.
- Network switches can also perform packet marking (in case of unmarked packets) and replace packet marking values, where required to adhere to the particular network QoS parameters.
802.1p: 802.1p is a Layer-2 QoS mechanism and it is actually a sub-set of 802.1Q VLAN standard. This is specified using 3-bits in the VLAN packets which allow 8 different traffic categorization levels and each can be mapped to appropriate QoS profiles/ hardware queues.
For example, if 0 – 7 refers to the eight levels then the critical network protocol/ management traffic could be marked at level 7, Real time traffic like voice/ video could be marked at Level 5 or 6, standard data traffic could be marked at Level 2 – 4, scavenger traffic could be marked at 0 – 1. Now, based on these levels, the traffic can be classified in to appropriate hardware queues and processed according to their priority (Level 7 getting highest priority and Level 0 getting lowest priority). These are guidelines, and the network administrator can define custom levels for individual applications.
DSCP (DiffServe): DSCP is a Layer-3 QoS mechanism and it can be specified using the 8 bits in the ToS (Type of Service) field, also called as DiffServe field in IP Packets. The 8 bits allow for 64 different traffic categorization levels that can be mapped to appropriate QoS profiles/ hardware queues. For example,
Application : DSCP Value
IP Routing : 48; Voice : 46; Interactive Video (Video Conferencing): 34; Streaming Video: 32; Mission Critical: 26; Call Signaling: 24; Transactional data: 18; Network Management: 16; Bulk data: 10; Scavenger: 8; Best effort: 0.
Of course, these are guidelines for DSCP values for particular applications suggested by a major vendor and the network administrator is free to specify any values according to their individual requirements. These values are mapped to appropriate QoS profiles/ hardware queues.
Vendors and applications generally use certain default values mentioned in IEEE/IETF standards. Just make sure that these QoS parameters are enabled in your network devices (Network Switches/ Routers) so that traffic classification, marking and queuing are implemented in your network. In many switches it just takes a couple of commands to enable them, but depending on the vendor and your network, some configuration might be required.
You could stay up to date on the various computer networking / IT technologies by subscribing to this blog with your email address in the sidebar box that says, ‘Get email updates when new articles are published’