8. Stochastic Fairness Queueing
8.1 PRINCIPE DE FONCTIONNEMENT
Stochastic
Fairness Queueing (SFQ) est une implémentation simple de la famille des
algorithmes de mise en file d’attente équitable. Elle est moins précise que les
autres, mais nécessite aussi moins de calculs.
Le mot clé
dans SFQ est conversation (ou flux), qui correspond principalement à une
session TCP ou un flux UDP. Le trafic est alors divisé en un grand nombre de
file d’attente FIFO, une par conversation. Une chance est alors donnée,
ensuite, à chaque session pour envoyer leurs données tour à tour.
Ceci conduit
à un comportement très équitable et empêche qu’une seule conversation n’étouffe
le reste. SFQ est appelé « Stochastic » car il n’alloue pas vraiment
une file d’attente par session, mais un algorithme qui divise le trafic à
travers un nombre limité de files d’attente en utilisant un algorithme de
hachage.
A cause de ce
hachage, plusieurs sessions peuvent finir dans le même seau, ce qui peut
réduire de moitié les chances d’une session d’envoyer un paquet, donc réduire
de moitié la vitesse effective disponible. Pour empêcher cette situation SFQ
change souvent son algorithme de hachage.
Il est
important de noter que SFQ n’est seulement utile que dans le cas où notre
interface de sortie est vraiment saturée. Si ce n’est pas le cas, il n’y aura
pas de files d’attente sur notre machine Linux et donc, pas d’effet.
8.2
SYNTAXE
La syntaxe
d’utilisation est la suivante :
tc qdisc {add | del} dev INTERFACE root
sfq [perturb PERTURB]
[quantum QUANTUM]
Avec pour paramètres :
Ø
perturb
: reconfigure le hachage une fois toutes les PERTURB secondes. S’il n’est pas
indiqué, le hachage se sera jamais reconfiguré ;
Ø
quantum
: Nombre d’octets qu’un flux est autorisé à retirer de la file d’attente avant
que la prochaine file d’attente ne prenne son tour.
8.3
EXEMPLE D'UTILISATION
Reconfiguration du
hachage une fois toutes les 10 secondes :
#
tc qdisc dev eth0 root sfq perturb 10