đź‘ŤFusion's SD-WAN Quality of Service (QoS) Implementationđź‘Ś

Ronald BartelsRonald Bartels
4 min read

Fusion's SD-WAN leverages the Linux kernel's tc (traffic control) framework to deliver robust Quality of Service (QoS) capabilities. This implementation provides precise control over traffic prioritisation, enabling businesses to optimise bandwidth utilisation, ensure low latency for critical applications, and mitigate congestion effectively. This comprehensive guide provides an understanding on the functionality as well as configuring QoS within Fusion’s SD-WAN.

The Quality of Service parameters are accessed on the Anatres platform under policies. A Quality of service profile is created which can be associated with multiple nodes. Fusion’s SD-WAN has a unique ability to implement the QoS in a bi-directional manner automatically across the last mile which isn’t available in other solution that do not use centralized hubs or cloud gateways.

The standard default profiles caters for the significant number of uses cases and rarely needs to be modified.


Profiles

Definition

A profile is a collection of traffic classes and packet filters. Each profile determines how traffic is classified and prioritised across the bonded/aggregated network.

Parameters

Name

  • A unique, descriptive identifier for the profile.

Overhead Margin

  • Specifies the percentage of total bonded bandwidth to reserve for avoiding ISP queues, minimising latency.

  • Default Value: 5%

  • Considerations:

    • High rates of small packets (e.g., VoIP) require larger margins.

    • Links with high Layer 2 overhead (e.g., DSL, T1) also require larger margins.

  • Example:

    • A 10 Mbps bond with a 5% overhead margin will limit available bandwidth to 9.5 Mbps.

Traffic Classes

Overview

Traffic classes define levels of service for different types of network traffic. These classes enable precise control over bandwidth allocation, latency, and prioritisation.

Parameters

Name

  • A descriptive name for the traffic class.

Reserved Percent

  • Guarantees a percentage of available bandwidth for the class.

Reserved Minimum

  • The minimum guaranteed bandwidth in Mbps for the class, overriding Reserved Percent if it is higher.

Reserved Maximum

  • The upper limit of guaranteed bandwidth in Mbps, even if the Reserved Percent allows for more.

Limit Percent

  • Restricts the maximum bandwidth usage as a percentage of total available bandwidth.

Limit Minimum

  • Ensures a minimum bandwidth cap in Mbps for the class.

Limit Maximum

  • Restricts the maximum bandwidth cap in Mbps for the class.

Default

  • Specifies whether this class should handle packets not matching any filter. Only one class can be marked as the default.

Leaf Qdisc

  • Determines the packet management algorithm:

    • PFIFO: First In, First Out; suitable for low-latency applications.

    • SFQ: Stochastic Fairness Queueing; ideal for high-bandwidth fairness.


Packet Filters

Overview

Packet filters define the characteristics of packets to determine their traffic class. Multiple matches can be defined, all of which must be satisfied for a packet to be classified.

Parameters

Traffic Class

  • Specifies the destination traffic class for matched packets.

Protocol

  • Matches packets based on their IP protocol (e.g., TCP, UDP, ICMP).

Length

  • Matches packets based on size (in bytes). Accepts ranges (e.g., 80:160).

Source/Destination Network

  • Matches packets based on CIDR notation of source/destination IPs.

Ports

  • Matches source or destination ports for TCP/UDP protocols. Accepts ranges and lists (e.g., 80,443,8000:8050).

Advanced Settings

  • Source/Destination Ports: Matches packets based on source/destination ports separately.

  • ICMP Type: Matches ICMP packets by type.

  • TCP Flags: Matches based on TCP flags.

  • DSCP: Matches based on Differentiated Services Code Point.

  • Connection Tracking: Matches packets based on connection state (e.g., Established).


Default Profile

Fusion SD-WAN comes pre-configured with a default profile optimised for most networks. It includes the following traffic classes:

Real-time

  • Reserved Bandwidth: 40%

  • Traffic:

    • ICMP packets ≤ 500 bytes.

    • IAX2 traffic.

    • SIP/H.323 control traffic.

    • Packets with DSCP expedited forwarding.

Interactive

  • Reserved Bandwidth: 20%

  • Traffic:

    • DNS traffic.

    • RDP traffic.

    • TCP acknowledgements.

    • SSH traffic (limited to 20 packets per second to exclude SCP).

Routine

  • Reserved Bandwidth: 20%

  • Traffic: Default class for unmatched packets.

Bulk

  • Reserved Bandwidth: 20%

  • Traffic:

    • FTP on ports 20, 21.

    • HTTP/S flows > 2 MB.


Configuring QoS

  1. Create a Profile: Assign a unique name and set the overhead margin.

  2. Define Traffic Classes:

    • Specify reserved/limited bandwidth parameters.

    • Assign a leaf qdisc for packet management.

  3. Add Packet Filters:

    • Define matching criteria (protocol, ports, DSCP, etc.).

    • Assign filters to traffic classes.

  4. Test and Adjust:

    • Validate performance under load.

    • Adjust overhead margin and class parameters as needed.


This comprehensive QoS framework ensures that critical applications always receive the bandwidth and latency prioritisation they require, while efficiently utilising bonded or aggregated network resources.


0
Subscribe to my newsletter

Read articles from Ronald Bartels directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ronald Bartels
Ronald Bartels

Driving SD-WAN Adoption in South Africa