What is bufferbloat and how does it affect your network performance?
Simply put, bufferbloat is the delay between sending packets from one network and receiving it on another network. This delay can also cause packet delay variation, also known as jitter, and can ultimately reduce the overall network performance. When a router or switch is configured to use excessively large buffers, even very high-speed networks can become practically unusable to many interactive applications like Voice over IP, Online Gaming and even ordinary web surfing.
The flow of packets slows down while travelling through a network link between a fast and a slow network, especially at the start of a TCP/IP session, when there is a sudden burst of packets and the slower network may not be able to accept the burst quickly enough. Buffers exist to ease this problem by giving the fast network a place to stop packets to be read by the slower network at its own pace. In other words, buffers act like shock absorbers to convert sudden burst arrivals into smooth, steady departures. However, a buffer has limited capacity. The ideal buffer is sized so it can handle a sudden burst of communication and match the speed of that burst to the speed of the slower network. Ideally, the shock-absorbing situation is characterised by a temporary delay for packets in the buffer during the transmission burst, after which the delay rapidly disappears and the network reaches a balance in offering and handling packets.
To date, there are many queueing management algorithms such as RED (Random Early Detection), WRED (Weighted Random Early Detection), FIFO (First-In-First-Out) etc., but these methods can be complicated to configure and implement within your network.
The Solution: FQ_CoDel
FQ_CoDel, pronounced “coddle”, provides a controlled delay scheduling algorithm. It is designed to overcome bufferbloat in network links, such as routers, by setting limits on the delay network packets experience as they pass through the buffer. CoDel aims at improving on the overall performance of the RED algorithm.
CoDel distinguishes between two queues, Good Queues and Bad Queues:
- A good queue is defined as a queue that exhibits no bufferbloat. Communication bursts cause no more than a temporary increase in queue delay. The network link utilisation is maximised and no Active Queue Management (AQM) intervention is required.
- In contrast, a bad queue is defined as a queue that exhibits bufferbloat. Communication burst causes the buffer to fill up and stay filled, resulting in low utilisation and constant high buffer delays. In order to effectively manage bufferbloat, a solution in the form of an Active Queue Management (AQM) algorithm must be able to recognise bufferbloat and react by deploying effective countermeasures.
The CoDel algorithm was developed to manage queues under control of the minimum delay experienced by packets in the running buffer window. The goal is to keep this minimum delay below 5 milliseconds. If the minimum delay rises too high, packets are dropped from the queue until the delay drops below the maximum level.
What does this mean for your networks and specifically Ubiquiti’s EdgeRouter Range?
With the introduction of the Firmware version 1.7 and higher on the Ubiquiti EdgeRouter, the QoS (Quality of Service) tab has included the addition of Smart Queue.
The setup of the smart queue is virtually fool proof. The configuration is done on the WAN connection, for example on Eth 2 based on your router configuration, and a speed limitation is implemented on the network, for both upload and download speed.
Our Technical Team leader, Jacques Joubert elaborated on the following “Running multiple streaming sites and a VoIP call without smart queue or any other QoS settings, the VoIP call suffered delays and jitter and eventually dropped. A second test was done where Smart Queue was enabled with the same amount of network traffic generated, the VoIP call did not drop, suffer any quality issues and we saw a 1 ~ 2 ms improvement on latency.”
We asked our VoIP Vendor, Grandstream, about the mystery that is FQ_CoDel, specifically if this is ideal for VoIP compared to other Queuing Algorithms such as HTQ, SFQ and PFIFO.
“If we compare the aforementioned queuing algorithms, the FQ_CoDel is the best for VoIP communication since it is an FQ protocol that ensures a minimum delay within a flow.”
This can be implemented for wireless customers requiring internet connection as well as VoIP services. The network installer or service provider can seamlessly add the Ubiquiti EdgeRouter to the customer’s installation and activate the smart queue functionality, already imposing a usage limitation in terms of upload and download speed.
We are convinced that this feature, places the EdgeRouter from Ubiquiti Networks at the top of the list for networking environments, from home applications, small to medium networks all the way to enterprise level networks.
Sign up as a business partner to view pricing for our Ubiquiti Networks EdgeRouter range