Seau Ă jetons
Le seau Ă jetons (token bucket) est un algorithme permettant de contrĂŽler le dĂ©bit passant par un nĆud d'un rĂ©seau informatique. Il est souvent confondu Ă tort avec le seau percĂ© (leaky bucket).
Utilisation
L'algorithme du seau Ă jetons permet de contrĂŽler le dĂ©bit d'un flux passant par un nĆud sur un rĂ©seau. Il est utilisĂ© en particulier pour fluidifier des Ă©changes irrĂ©guliers (shaping) ou pour limiter un dĂ©bit (policing), mais n'est pas limitĂ© Ă ces seules applications.
Fonctionnement
L'algorithme du seau Ă jetons est trĂšs voisin de celui du seau percĂ©. La diffĂ©rence principale est que l'algorithme du seau Ă jetons permet de rĂ©gler directement le dĂ©bit en bits par seconde, alors que l'algorithme du seau percĂ© envoie les paquets Ă un rythme rĂ©gulier, qu'ils soient gros ou petits, ce qui empĂȘche de rĂ©gler le dĂ©bit[1].
Une analogie simple permet de comprendre l'algorithme :
- Soit un seau percé en son fond : si le seau n'est pas vide alors le contenu s'y écoule avec un débit constant.
- La taille du seau reprĂ©sente la quantitĂ© d'informations qui peut y ĂȘtre stockĂ©e, mesurĂ©e en nombre d'octets.
- Lorsqu'un paquet arrive, s'il reste suffisamment d'espace dans le seau, il y est placé. Sinon, le seau déborde (paquet en excÚs).
Les paquets en excĂšs sont en gĂ©nĂ©ral jetĂ©s. Ils peuvent aussi ĂȘtre mis en attente, ou marquĂ©s comme non-conformes avant d'ĂȘtre envoyĂ©s.
L'algorithme peut ĂȘtre implĂ©mentĂ© de la façon suivante :
- Un compteur est incrémenté à intervalles réguliers.
- Le compteur ne peut pas dépasser un certain seuil.
- Quand un paquet de n octets arrive, si le compteur est plus grand que n, on lui soustrait n, et on envoie le paquet.
- S'il n'est pas possible de soustraire n du compteur, le compteur reste inchangé, et le paquet est considéré « en excÚs ».
Voir aussi
Notes et références
- Douglas Comer, TCP/IP - Architecture, protocoles et applications, 5e Ă©dition, p. 525, Pearson Education France, 2006, (ISBN 2-7440-7186-2)