The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

tc-tbf (8)
  • >> tc-tbf (8) ( Русские man: Команды системного администрирования )
  • tc-tbf (8) ( Linux man: Команды системного администрирования )
  •  

    ИМЯ

    tbf - фильтр буфера токенов (Token Bucket)  

    СИНТАКСИС

    tc qdisc ... tbf rate скорость burst байтов на ячейку ( latency мс | limit размер ) [ mpu размер [ peakrate скорость mtu байтов на ячейку ] ] burst можно заменить на buffer или maxburst. mtu можно заменить на minburst.  

    ОПИСАНИЕ

    Фильтр Token Bucket является безклассовой очередью для управления трафиком командой tc(8).

    TBF является простой очередью и не планирует трафик. Пакеты помещаются в очередь, пока не будет достигнут определенный размер очереди, который затем передается на обработку (но происходит некоторая задержка данных, т.к. происходит ожидание необходимого количества пакетов для поддержания постоянной скорости передачи). Если же скорость превышает заданную, то "лишние" пакеты просто отбрасываются. На всех платформах (кроме Alpha) позволяет обрабатывать более 1 мбит/с обычного трафика с минимальной задержкой, отправляя данные точно с заданной скоростью.

    Более высокая скорость поддерживается, но задержка на обработку увеличивается. В этом случае данные из очереди отправляются с заданной скоростью, но возможно увеличение скорости на несколько миллисекунд. Поскольку пакеты отправляются в очередь сетевого адаптера, часто это не является проблемой.

    Ядра с высоким 'HZ' могут обрабатывать высокие скорости с минимальной задержкой. На платформе Alpha HZ в десять раз выше, что позволяет ограничивать скорость до 10 мбит/с с приемлемой задержкой. Эти условия достижимы для пакетов с размером около 1000 байтов.

     

    АЛГОРИТМ

    Как ясно из имени, трафик фильтруется на базе токенов . Токены грубо соответствуют байтам, однако любой пакет содержит несколько токенов безотносительно от размера пакета. Это необходимо для отражения того факта, что даже пустой пакет занимает канал при передаче.

    При создании TBF для очереди накапливаются токены, отражающие объем помещённого в очередь трафика. Токены прибывают с постоянной скоростью до тех пор, пока буфер не окажется полон.

    Если нужное количество токенов недоступно, пакеты, не добирающие заданную скорость, помещаются в очередь. После этого вычисляется дефицит токенов и очередь замораживается до тех пор, когда отправляется первый пакет из очереди.

    Если ограничена передача пакетов с максимальной скоростью, должна быть настроена пиковая скорость (peakrate) для ограничения скорости, при достижении которой очищается буфер. Ограничение пиковой скорости реализовано в виде второго TBF с очень маленьким буфером.

    Для достижения приемлемой задержки второй буфер может содержать только один пакет, который соответствует вышеупомянутому пределу в 1 мбит/с.

    Этот предел связан с минимальным временем, необходимым ядру для отправки в виде одного "мига", который зависит от HZ как 1/HZ. Для идеальной классификации только один пакет может быть отправлен в один "миг". Для HZ=100 это означает 100 пакетов по 1000 байтов, что приблизительно соответствует 1 мбит/с.

     

    ПАРАМЕТРЫ

    См. tc(8) для указания единиц измерения значений.
    limit или latency
    Limit (предел) - число байт, которые могут быть помещены в очередь для ожидания, latency (латентность) - максимальное время, которое может провести пакет в очереди. Эти два параметра взаимно исключают друг друга.
    burst
    (buffer или maxburst). длина буфера очереди в байтах, чем больше заданная скорость передачи, тем больше должен быть буфер данных. На платформе Intel для скорости 10 мбит/с потребуется буфер размером 1 кб.

    Если буфер будет слишком маленький, лишние пакеты будут отбрасываться поскольку потребуется получить заданную скорость и для этого нужно набрать необходимое количество токенов. Минимальный размер буфера определяется делением заданного уровня скорости на HZ.

    Подсчет токенов осуществляется по таблице, заполняемой при анализе 8 пакетов по умолчанию. Это поведение может быть изменено указанием другого размера ячейки (cell) . Например, для указания размера буфера в 6000 байт с 16-байтной ячейкой, установите burst как 6000/16.

    mpu
    минимальный размер пакета для помещения в очередь, пакеты меньшей длины отбрасываются, для сетей ethernet каждый пакет должен быть больше 64 байт. По умолчанию - 0.
    rate
    заданный уровень скорости. См. примечания об ограничениях выше и tc(8) для обозначения единицы измерения.

    Если потребуется указать максимальную скорость передачи пакетов, используйте следующие параметры:

    peakrate
    максимально возможная скорость передачи пакетов из очереди в интерфейс, по умолчанию 1 мбит/с на Intel, 10 мбит/с на Alpha. Обычно не требуется устанавливать.

    mtu/minburst
    размер буфера максимальной скорости. Должен быть равен MTU интерфейса. Буфер в 3000 байт позволяет установить максимальную скорость передачи в 3 мбит/с (отправка 1000-байтовых пакетов).

    Так и burstsize, вы можете установить размер ячейки (cell) .

     

    ПРИМЕР

    Для установки очереди с гарантированной скоростью 0,5 мбит/с, а максимальной скоростью 1,0 мбит/c, буфером в 5 кб, ограничивающей ожидание 70 мс и приемлемым временем задержки выполните: # tc qdisc add dev eth0 root tbf rate 0.5mbit \
      burst 5kb latency 70ms peakrate 1mbit       \
      minburst 1540

     

    СМ. ТАКЖЕ

    tc(8)

     

    АВТОРЫ

    Алексей Кузнецов <kuznet@ms2.inr.ac.ru>. man-страница сопровождается Бертом Хубертом (Bert Hubert) <ahu@ds9a.nl>

     

    ПЕРЕВОД

    Андрей Черепанов <cas@altlinux.ru> 2007


     

    Index

    ИМЯ
    СИНТАКСИС
    ОПИСАНИЕ
    АЛГОРИТМ
    ПАРАМЕТРЫ
    ПРИМЕР
    СМ. ТАКЖЕ
    АВТОРЫ
    ПЕРЕВОД


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру