Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| wiki:hfsc [22/11/2009 18:41] – Boris V. Vuks | wiki:hfsc [08/02/2010 19:17] (текущий) – внешнее изменение 127.0.0.1 | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== hfsc ====== | ||
| + | Алгоритм позволяющий проводить ограничение трафика в 2 этапа. | ||
| + | Формат команды: | ||
| + | Задать root класс для интерфейса: | ||
| + | **tc qdisc add dev $dev root handle $ID: hfsc [default $classID ]** \\ | ||
| + | |||
| + | Подключить соответствующие иерархические данные: | ||
| + | **tc add class dev $dev parent parentID classid $ID hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]**\\ | ||
| + | |||
| + | где: | ||
| + | < | ||
| + | SC := [ [ m1 BPS ] [ d SEC ] m2 BPS | ||
| + | m1 : slope of first segment (ограничение в начальный период времени) | ||
| + | d : x-coordinate of intersection (длительность периода m1) | ||
| + | m2 : slope of second segment (ограничение во второй период) | ||
| + | </ | ||
| + | // | ||
| + | < | ||
| + | SC := [ [ umax BYTE ] dmax SEC ] rate BPS | ||
| + | umax : maximum unit of work | ||
| + | dmax : maximum delay\\ | ||
| + | rate : rate\\ | ||
| + | </ | ||
| + | **rt** - real time (реальное время) нижняя величина пропускной способности. (может быть только на листьях дерева)\\ | ||
| + | **ls** - link sharing (разделяемая полоса) полоса которая допустима с учетом заимствования из равных классов\\ | ||
| + | **ul** - upper limit (верхний лимит) величина которую трафик не превысить\\ | ||
| + | **sc** - в случае равенства параметров **rt** и **ls**, что бы избежать повторения можно указать их как параметр **sc**.\\ | ||
| + | \\ | ||
| + | //**rt и ls - Дополнение.** Если есть превышение по классу ls и в равном классе возникает необходимость в классе rt производится заимствование из класса ls для обеспечения требований класса rt. Таким образом можно определить поведение класса rt как гарантированное обслуживание. Необходимо учитывать, | ||
| + | \\ | ||
| + | \\ | ||
| + | Альтернативный формат используется для манипуляции пакетом и задержкой с соответствующим объемом.\\ | ||
| + | |||
| + | При формировании дерева не забывать формировать очереди в классах которые пропускают пакеты.\\ | ||
| + | |||
| + | Пример: | ||