Интерактивная система просмотра системных руководств (man-ов)
tc-sfq (8)
>> tc-sfq (8) ( Русские man: Команды системного администрирования )
tc-sfq (8) ( Linux man: Команды системного администрирования )
ИМЯ
sfq - очередь равномерного случайного распределения пакетов (SFQ)
СИНТАКСИС
tc qdisc ... perturb
секунд
quantum
байтов
ОПИСАНИЕ
Очередь SFQ является безклассовой очередью для управления трафиком командой
tc(8).
Очередь SFQ не классифицирует трафик, а распределяет передачу пакетов на базе потоков.
SFQ не позволяет захватить одному клиенту все ресурсы
обработки пакетов, поэтому обеспечивается примерно одинаковая скорость
поступления данных от различных клиентов. Это может частично смягчать последствия DoS-атак.
SFQ всегда доставляет пакет если есть хотя бы один доступный.
АЛГОРИТМ
При постановке в очередь каждый пакет прикрепляется к буферу хэшей на основании
(i)
адреса источника
(ii)
адреса приемника
(iii)
порта источника
SFQ поддерживает ipv4 и ipv6, а также UDP, TCP и ESP. Пакеты других протоколов хэшируются
на основании 32-битных представлений адреса приемника и сокета.
Каждый из буферов имеет свой внутренний поток. Поток,
получивший маркер передает один пакет данных, а маркер переходит к
следующему потоку. Случайность передачи обеспечивается тем, что размер
потоков обычно не фиксируется жестко и данные могут попадать в
различные потоки.
Максимальная длина очереди SFQ составляет 128 пакетов, которые распределяются по 128 потокам из доступных 1024.
Для предотвращения переполнения пакеты, не помещающиеся в очередь, отбрасываются.
ПАРАМЕТРЫ
perturb
число секунд, после которого происходит перерасчет длины
потоков, по умолчанию - 0, т.е. переконфигурирования не происходит.
Рекомендуется устанавливать этот параметр равный примерно 10 секундам
quantum
число байтов, которые может передать поток, получивший маркер.
Значение по умолчанию - MTU интерфейса, - подходит для большинства случаев,
т.к. это гарантирует, что очередь сможет передать хотя бы один пакет.
ПРИМЕР
Назначение на интерфейс ppp0:
# tc qdisc add dev ppp0 root sfq perturb 10
Очереди SFQ удобно применять для балансирования нагрузки канала. Это подходит для модемов, соединений SDN и немаршрутизируемых каналов Ethernet.
ЛИТЕРАТУРА
o
Paul E. McKenney "Stochastic Fairness Queuing",
IEEE INFOCOMM'90 Proceedings, San Francisco, 1990.
o
Paul E. McKenney "Stochastic Fairness Queuing",
"Interworking: Research and Experience", v.2, 1991, p.113-131.
o
См. также:
M. Shreedhar and George Varghese "Efficient Fair
Queuing using Deficit Round Robin", Proc. SIGCOMM 95.