Token Bucket Filter (TBF) - простая бесклассовая дисциплина, пропускающая поступающие пакеты со скоростью, не превышающей заданной. Эта дисциплина относится весьма бережливо к ресурсам системы, поэтому в случае, если надо просто ограничить скорость исходящего трафика - это лучший выбор.
Смысл работы данной дисциплины заключается в следующем. Поступающие для передачи пакеты записываются в буффер дисциплины, откуда они с заданной скоростью поступают на исходящий интерфейс. Возможно три ситуации:
Пакеты поступают со скоростью, равной скорости передачи их на исходящий интерфейс. В этом случае пакеты проходят через интерфейс без задержек.
Пакеты поступают со скоростью, меньшей скорости передачи их на исходящий интерфейс. В этом случае при кратковременном возрастании скорости входящего трафика - он будет накоплен во входящей очереди и передан с заданной скоростью.
Пакеты поступают со скоростью, превышающей скорость передачи их на исходящий интерфейс. В этом случае через некоторое время пакеты начнут сбрасываться.
Дисциплина имеет несколько параметров, позволяющих управлять ее работой:
Rate - скорость, с которой поступающий трафик передается на исходящий интерфейс
Tocken Buffer - число байт, передаваемых в момент времени на исходящий интерфейс
Limit - размер буфера в байтах, в который записываются поступающие пакеты, если скорость их поступления превышает скорость их передачи на исходящий интерфейс. При превышении этого параметра пакеты будут сбрасываться.
Latency - время, которое пакет может находиться, ожидая передачи на исходящий интерфейс. По истечении этого времени, пакет будет сброшен.
Одновременно можно выставлять либо Limit, либо Latency.