Site Tools


qos-settings

This is an old revision of the document!


QoS Principles

Quality of Service (QoS) is a method to prioritize/penalize predefined types of traffic. QoS is a fairly complex topic so we'll cover only enough basic principles to help configure an initial setup.
Basically, QoS performs the following:

  • Identifies traffic
  • Classifies this traffic
  • Marks packets
  • Defines classes and subclasses
  • Set class parameters (such as reserved bandwidth)


You might have heard the above points when describing “diffserv” (differential services). Diffserv is the only QoS type FreshTomato can perform.

It's often said that the QoS is a technique to mitigate lack of bandwidth when an upgrade is too costly or even impossible. More precisely, QoS also allows you to prioritize latency-sensitive traffic (such as voice) even when there's no network congestion. Thus, QoS introduces controls to allows you to protect certain traffic.



Here is some commonly used QoS terminology:

  • Traffic: This is the stream of data between two nodes. This can be unilateral (such as over UDP) or bilateral (such as over TCP)

  • Best effort: This also referred to as “no QoS”. This works on the principle of “first come first served”, is the default queuing mechanism applied to network interfaces (AKA “FIFO”). When QoS is operating, best effort usually means that class of traffic that handles “everything else”.

  • Classification: Is the act (internal) to identify a packets based on predefined parameters e.g. “from IP”, “to port”, “protocol=tcp”, etc.

  • Marking: Not always performed it's the action to actually colorize a packet (modify the ToS/DSCP field of the IP header) with a locally significant meaning. This will help matching packet simply looking at the ToS/DSCP.

  • Queuing: [Outbound only] is the process to buffer up data when the system (network) can't process in real time. Queuing comes in many variants and in QoS this is divided in classes.

  • Policing: [Inbound and Outbound] is the process to drop packets in a controlled way.
  • Class discipline: Is the rule applied to all the classes e.g. data in the priority class goes first no question asked, if priority is empty apply WFQ (weighted fair queuing) amongst all the other classes, etc. There are dozen of queuing disciplines but only few are supported by FT.


Looking at the list above let's put everything together:

What does this mean all mean to me?

Ever experienced a poor VoIP call from your LAN into Internet? Do you get media buffering too much? Is anyone in your LAN generating too much traffic? These are all things QoS can address for you. Please notice: QoS is NOT auto-regulating, you will need to define manually most of the parameters and tweak them as needed throughout time.

CTF implications


QoS doesn't work when CTF is enabled, because CTF causes network packets to be routed in hardware, outside of firmware control or monitoring.

qos-settings.1712780257.txt.gz · Last modified: 2024/04/10 21:17 by hogwild