12.3. Les filtres de réglementation (Policing filters)

Pour réaliser des configurations encore plus compliquées, vous pouvez avoir des filtres qui analysent le trafic à hauteur d'une certaine bande passante. Vous pouvez configurer un filtre pour qu'il cesse complètement l'analyse de tout le trafic au-dessus d'un certain débit ou pour qu'il n'analyse pas la bande passante dépassant un certain débit.

Ainsi, si vous décidez de réglementer à 4mbit/s, mais qu'un trafic de 5mbit/s est présent, vous pouvez cesser d'analyser l'ensemble des 5mbit/s ou seulement cesser d'analyser le 1 mbit/s supplémentaire et envoyer 4 mbit/s à la classe correspondante.

Si la bande passante dépasse le débit configuré, vous pouvez rejeter un paquet, le reclassifier ou voir si un autre filtre y correspond.

12.3.1. Techniques de réglementation

Il y a essentiellement deux façons de réglementer. Si vous avez compilé le noyau avec Estimators, celui-ci peut mesurer plus ou moins pour chaque filtre le trafic qui est passé. Ces estimations ne sont pas coûteuses en temps CPU, étant donné qu'il ne compte que 25 fois par seconde le nombre de données qui sont passées, et qu'il calcule le débit à partir de là.

L'autre manière utilise encore le Token Bucket Filter qui réside à l'intérieur du filtre cette fois. Le TBF analyse seulement le trafic A HAUTEUR de la bande passante que vous avez configurée. Si cette bande passante est dépassée, seul l'excès est traité par l'action de dépassement de limite configurée.

12.3.1.1. Avec l'estimateur du noyau

Ceci est très simple et il n'y a qu'un seul paramètre : avrate. Soit le flux demeure sous avrate et le filtre classifie le trafic vers la classe appropriée, soit votre débit le dépasse et l'action indiquée par défaut, la « reclassification », est réalisée dans ce cas.

Le noyau utilise l'algorithme EWMA pour votre bande passante, ce qui la rend moins sensible aux courtes rafales de données.

12.3.1.2. Avec le Token Bucket Filter

Utilisez les paramètres suivants :

  • buffer/maxburst

  • mtu/minburst

  • mpu

  • rate

Ceux-ci se comportent la plupart du temps de manière identique à ceux décrits dans la section Filtre à seau de jetons. Notez cependant que si vous configurez le mtu du filtre de réglementation TBF trop bas, aucun paquet ne passera et le gestionnaire de mise en file d'attente de sortie TBF ne fera que les ralentir.

Une autre différence est que la réglementation ne peut que laisser passer ou jeter un paquet. Il ne peut pas le retenir dans le but de le retarder.

12.3.2. Actions de dépassement de limite (Overlimit actions)

Si votre filtre décide qu'un dépassement de limite est atteint, il peut mettre en oeuvre des « actions ». Actuellement, trois actions sont disponibles :

continue

Provoque l'arrêt de l'analyse du filtre, bien que d'autres filtres aient la possibilité de le faire.

drop

Ceci est une option très féroce qui supprime simplement le trafic excédant un certain débit. Elle est souvent employée dans le Ingress policer et a des utilisations limitées. Par exemple, si vous avez un serveur de noms qui s'écroule s'il traite plus de 5mbit/s de paquets, alors, vous pourrez dans ce cas utiliser un filtre d'entrée pour être sûr qu'il ne traitera jamais plus de 5mbit/s.

Pass/OK

Transmettre le trafic. Peut être utilisé pour mettre hors service un filtre compliqué, tout en le laissant en place.

reclassify

Permet le plus souvent une reclassification vers Best Effort. Ceci est l'action par défaut.

12.3.3. Exemples

Le seul vrai exemple connu est mentionné dans la section Protéger votre machine des inondations SYN.

FIXME: Si vous avez déjà utilisé ceci, partagez s'il vous plaît votre expérience avec nous.