Quality of Service¶
Overview¶
Quality of Service (QoS) is a feature that helps manage and prioritize network traffic to ensure that important applications and services run smoothly, even when the network is busy.
How QoS works¶
flexiWAN’s QoS uses a combination of priority scheduling and WRR scheduling to effectively use the limited WAN bandwidth. Critical real-time traffic is priority scheduled (Low latency queue) and data traffic is given weighted scheduling proportional to their traffic type and importance.
FlexiWAN’s QoS introduces and combines several components:
Quality of Service policies, through which QoS plan can be configured using weights across QoS queues. Configured policies are deployed in same fashion like other features with policies, allowing quick installation to multiple flexiEdge devices at the same time.
QoS queues are available in each policy, where users can define 5 traffic class queues, one real-time and low latency queue and 4 weighted data queues, which in turn rely on Traffic and App identifications.
flexiWAN QoS functionality relies on the following queues:
Realtime class - All real-time and high-importance traffic is handled by this queue. This includes low latency audio or video and other mission critical traffic types.
Data queue:
Control-Signaling - This queue carries control plane traffic such as routing protocols and important applications signalling traffic. Carrying traffic that is important for the network operation.
Prime-Select - Carries high importance and critical application traffic, for eg. Office 365.
Standard-Select - Used for medium importance application traffic. This queue is for less critical but important traffic.
Best-effort - Carries traffic of low importance.
The traffic is scheduled and applied using Quality of Service policies, which work and are applied much like other flexiWAN policies Firewall or Path Selection.
System requirements¶
In order for Quality of Service to sucessfully work, flexiEdge device used must have at least 3 CPU cores. Enabling QoS requires a dedicated CPU core, therefore the system must have at least 3 cores, where CPU, Data Path and QoS take one core each. This requirement is applied only if QoS will be used, otherwise minimal 2 CPU cores are enough for normal flexiWAN operation.
To verify CPU cores, navigate to device settings and from Configuration tab click on Hardware Configuraton button.
Verify that the device has at least 3 cores available and proceed to the next documentation section.
QoS policies¶
Quality of Services policies can be found in the Traffic Optimization section. By default policy is created automatically which serves as a baseline and is recommended as a starting point.
At the QoS Policy page users can define how to allocate the WAN bandwidth to the available 5 queues. Queues are represented using weight percentages via QoS table. Per table default, Real-time queue reserves 30% of total 100% bandwidth, while the rest of 70% is reserved for Data queues.
QoS queues are adaptive and real-time queue is the preferred queue. As long as there is traffic matching this queue, it will be prioritized over all other traffic queues but within the bandwidth limit set for real-time traffic class. If there is no Real-time traffic, all of the available bandwidth will be applied to the other queues.
Note
In order for QoS policy to work, link bandwidth must be set on device interfaces page. Learn more in the section Deploying QoS below.
Defaults queue percentages are recommended and considered a good starting point when deploying Quality of Service policy. It is recommended to tweak the percentages only after deploying the policy based on initial results. See next segments on QoS Traffic Map and Traffic & App identifications to understand how to identify queue specific traffic.
Once configured, policies are installed to devices just like any other policy, by selecting one or multiple devices and from the Action menu selecting the desired policy.
In case of multiple WAN links available, each WAN interface can have its own policy.
Advanced options¶
As part of advanced configuration, flexiWAN QoS also offers setting Differentiated Services Code Point tags. DSCP settings can be accessed by checking the Advanced checkbox. Regular broadband WAN links will not benefit from these settings, instead DSCP tags are often used with MPLS links. In MPLS link scenarios, the DSCP tag settings should be configured inline with the MPLS service provider’s DSCP tag settings.
QoS traffic map¶
Traffic map is available from Advanced button at QoS policies page. It maps the traffic service type and importance to QoS Scheduler queues. In-general, the default map should suffice to achieve QoS results, and its not recommended to make any changes to it unless actually needed. For best results, focus should be instead on defining the right service type and importance to the traffic from the Traffic & App Identification section.
Traffic App Id’s and QoS¶
Quality of Service queues rely on Traffic and App Identifications, where service class of Application Id’s are used with traffic queues. When the traffic reaches flexiWAN router, traffic application will be identified and QoS will apply scheduling based on its traffic service class and importance.
Each of the built-in Application Id’s have service class defined. New Application Id’s can also have service class defined. To learn more how Traffic & App identifications work, visit Traffic & Application Identifications section.
Deploying QoS¶
The following section covers the steps required in order to deploy Quality of Service functionality.
Prerequisites¶
Make sure to read the details about how flexiWAN’s QoS implementation works before attempting deployment.
First verify that the device has 3 or more CPU cores, and then prepare it for QoS. To achieve that, navigate to the device settings where QoS will be enabled. Click on the Hardware Configuration
.
A dialog window will allow configuring vRouter. QoS requires a single CPU core for its operation, configure least 2 CPU cores for vRouter and click apply, after which the device will reboot.
Second step is to set bandwidth for flexiEdge sites on which QoS will be applied. This step is important and required in order for QoS policy traffic queues to be correctly applied. To set bandwidth for WAN links, navigate to flexiEdge device settings and click Interface tab. Within QoS tab there are default 1000/1000
set for bandwidth.
To modify values and match the provided speeds from your ISP or upstream, click on settings icon with the QoS column for specific interface. Represented values are for Bandwidth Tx
, used for upload and Bandwidth Rx
used for download traffic. Set each to match the ISP throughput / speeds.
QoS policy is used with multiple WAN interfaces, allowing each WAN interface to have its own QoS policy. If there are multiple WAN interfaces present, repeat the process to set a different QoS policy for each. After configuring the throughput click “Update device” to make sure configuration changes are set.
Configuring QoS policy¶
Once the WAN interfaces bandwidth is set, next step is to proceed to Traffic Optimization > Quality of Service and configure a policy. For this example, select the default policy. Edit the default policy by clicking on the edit button within Action column.
Verify or edit the percentages in each of queue for WAN Outbound QoS Plan. Recommended practice is to keep the defaults and change in case modifications are required. Optionally, click on Advanced to set DSCP tags if required.
Note
Each policy can be reset to original state by clicking on Restore Defaults
Installing QoS Policy¶
After creating or editing QoS policy, navigate to the Devices dashboard and select flexiEdge device or multiple devices on which QoS policy will be installed. From there, click on Action button and from its menu select Install policy. Under policy select “Quality of Service” and make sure the “Default policy” is selected. Finally click install to deploy the selected policy on specified flexiEdge site.
The policy will install in a few moments, after which Quality of Service will start to work.