Avant de commencer

Produits concernés : SNS 4.3.15 et versions supérieures de la branche 4.3, SNS 4.5.3 et versions supérieures

Dernière mise à jour : Janvier 2023

La Qualité de service (QoS, Quality of service) et ses composants

La qualité de service désigne toute technologie capable de gérer la transmission des données, tout en réduisant la perte de paquets, la latence et la gigue pour les flux prioritaires du réseau. Ce concept a pour but de contrôler et de gérer les ressources réseau, en hiérarchisant certains types de données et flux réseau.

Cette gestion des flux peut prendre deux formes :

  • La réservation de bande passante pour des flux prioritaires ou à forte contrainte technique (exemple : flux métier, téléphonie sur IP...),
  • La limitation de bande passante pour des flux moins prioritaires (exemple : consultation de site Web).

NOTE
La réservation ou la limitation de bande passante sont appliquées aux flux lorsqu'ils quittent l'interface réseau sur laquelle est appliquée la QoS. Ces mécanismes n'ont donc pas de réel impact sur les flux entrants (cas du téléchargement).

Mécanisme de régulation : différence de comportement entre flux TCP et flux UDP

Quand un flux TCP dépasse la limitation de bande passante définie dans une file d'attente de QoS, le mécanisme de régulation rejette certains de ces paquets TCP et ralentit le flux en sortie de l'interface. L'émetteur du flux TCP perçoit alors que des paquets sont perdus sur le chemin et ralentit le débit jusqu'à atteindre les critères de configuration de QoS du firewall.

Ce mécanisme de régulation n'existant pas pour le trafic UDP, le débit entrant sur l'interface ne s'adaptera jamais à la configuration de QoS et toutes les réservations de bande passante sur l'interface entrante seront perturbées et non-respectées.

Les files d'attente de QoS

Pour réaliser ces opérations de réservation ou de limitation, il est nécessaire de définir des files d'attente qui seront affectées aux interfaces réseau soumises à la QoS.

Les files d'attente possibles sont de 3 types :

  • Files d'attente par classe d'application ou d'affectation (CBQ, Class-Based Queing) : ces files sont utilisées pour la réservation ou la limitation de bande passante en indiquant les bandes passantes garanties ou maximales à appliquer,
  • Files d'attente par priorité (PRIQ, Priority Queing) : elles induisent une priorisation des paquets et sont classées de la priorité 0 (flux les plus prioritaires) à la priorité 7 (flux les moins prioritaires).
    Les paquets associés à une règle de filtrage utilisant une file PRIQ sont traités avant les paquets qui ne sont pas affectés à une file PRIQ ou qui sont attachés à une file PRIQ moins prioritaire.
  • IMPORTANT
    • Pour éviter des risques de congestion de trafic, il faut réserver ce type de files d'attente à des flux maîtrisés en termes de débit qui ne peuvent pas consommer toute la bande passante et doivent être réservées aux flux les plus prioritaires.
    • Il est fortement recommandé d'avoir une seule file de type PRIQ pouvant affamer les autres files d'attente et de lui affecter une priorité plus basse que les autres files d'attente. Par exemple, ne pas créer une file de type PRIQ pour le HTTP et une autre pour le FTP par exemple.
    • Il est fortement recommandé de ne pas utiliser plus de 3 ou 4 niveaux de priorité dans une configuration.
    • Il ne faut pas combiner des files de type PRIQ et des files de type CBQ dans une même configuration.
      Bien que l'interface Web d'administration n'interdise pas la combinaison de files CBQ et PRIQ, cette configuration n'est pas supportée par Stormshield.
  • Files d'attente de supervision (MONQ Monitoring Queing) : ces files spécifiques n'influent pas sur le trafic réseau mais permettent d'enregistrer, et de présenter sous forme de graphes (module Monitoring > Supervision > QoS), les informations de bande passante utilisées par les flux auxquels elles sont affectées. Ceci permet de mieux définir ou d'affiner le paramétrage des files de type CBQ.

Le contrôle de volume des échanges de données est effectué par un Traffic shaper (régulateur de flux) associé aux files d'attente de QoS. Celui-ci s'applique à l'interface de sortie des paquets traités.

DÉFINITION
L'objectif du Traffic shaping (régulation de flux) est de faire respecter le débit d'informations garanties (CIR - Commited Information Rate) par le contrôle du volume des échanges sur le réseau, en retardant les paquets qui correspondent aux critères définis dans les files d'attente (réservation ou limitation). Il fonctionne grâce à un algorithme nommé TBR (Token Bucket Regulator) utilisant un espace tampon pour le trafic excédentaire.

IMPORTANT
La QoS ne peut pas être mise en œuvre sur des Traffic shapers supérieurs à 1 Gbit/s.

NOTE
Dans une configuration utilisant des flux IPsec, ces flux emprunteront automatiquement la file d'attente par défaut pour l'interface WAN. C'est la raison pour laquelle une réservation de bande passante est appliquée à cette file d'attente.

Illustration du principe général de la QoS


Application de QoS à un trafic réseau LAN / WAN


Interfaces incompatibles avec la QoS

Certains types d'interfaces ne peuvent pas être sélectionnés pour y appliquer de la QoS.
Il s'agit des types d'interfaces suivants :

  • Interfaces GRE,
  • Interfaces Loopback,
  • Interfaces VPN SSL,
  • Interfaces Wi-Fi,
  • Agrégats de liens LACP,
  • Modems USB 4G,
  • Modems PPPoE et PPTP.

Utilisation au travers du proxy SSL

Dans une configuration avec des flux HTTPS passant par le proxy SSL, la file d'attente de QoS correspondante doit être appliquée au niveau de la règle de déchiffrement et non au niveau de la règle de filtrage via le proxy.

Bonnes pratiques

Le respect de certaines bonnes pratiques permet une implémentation optimale de la QoS :

  • Configurer une file d'attente d'acquittement par défaut (file d'attente réservée aux paquets TCP d'acquittement [ack]) pour chaque interface réseau soumise à la QoS. Chaque file d'attente d'acquittement correspond à une réservation de 5% de la bande passante de l'interface réseau concernée.
  • Configurer des files d'attente par défaut pour chacune des interfaces réseau soumises à la QoS. La file d'attente par défaut est empruntée par tout flux pour lequel aucune file d'attente spécifique de QoS n'est précisée.
  • Pour les flux consommant une partie non négligeable de la bande passante, il ne faut pas utiliser de files d'attente de type bypass qui sont prioritaires sur l'ensemble des flux et entraînent un dysfonctionnement des réservations de bande passante. En effet, ces flux ne sont pas pris en compte dans la détection de contention sur l'interface et peuvent donc empêcher la QoS d'intervenir lorsque la bande passante d'un lien est saturée.
    Le files d'attente de type bypass sont à utiliser pour des flux comme la négociation IPsec ou la supervision des routeurs.

Précautions de mise en œuvre

IMPORTANT
Avant de mettre en œuvre la Qualité de service (QoS) dans une architecture de production initialement vierge de toute notion de QoS, Stormshield vous recommande de réaliser tout d'abord une configuration basée sur des files d'attente de supervision (MONQ) et non directement sur des files d'attente par classe d'application ou d'affectation (CBQ).
Cette étape vous permet en effet de visualiser le volume de flux sur lesquels aucune QoS n'est appliquée et de vérifier si les valeurs de réservation ou de limitation de bande passante envisagées pour les files de type CBQ suffisent à laisser passer les flux soumis à la QoS.
Une fois ces valeurs établies, vous pouvez alors mettre en places vos files d'attente CBQ.

Limites et caractères autorisés dans les noms des files d'attente et des Traffic shapers

Files d'attente de QoS

  • Le nom est limité à 31 caractères.
  • Les caractères interdits sont :
  • @ [ ] # ! \ " | <space> <tab>

  • Le nom ne doit pas contenir les expressions réservées suivantes :
  • internet any any_v4 any_v6 firewall_ network_ broadcast anonymous none all original

Traffic shapers

  • Le nom est limité à 15 caractères,
  • Les caractères interdits sont :
  • @ [ ] # ! \ " | <space> <tab>

Nommage des interfaces dans cette Note Technique

Pour une meilleure compréhension des différents cas d'usage présentés, les interfaces d'origine du firewall ont été renommées comme suit :

  • Interface in : LAN,
  • Interface out : WAN,
  • Interface dmz1 : DMZ,
  • Interface dmz2 : WAN2.