Возможно вы искали: 'Sonic the Hedgehog 2'

May 15 2025 17:55:03
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Использование CBQ для ограничения трафика в Linux (cbq traffic limit linux queue)

Использование CBQ для ограничения трафика в Linux (cbq traffic limit linux queue)

Ключевые слова: cbq, traffic, limit, linux, queue, (найти похожие документы)

From: Alexey Topchy <apex595@yahoo.com.>
Newsgroups: email
Date: Mon, 17 May 2005 14:31:37 +0000 (UTC)
Subject: Использование CBQ для ограничения трафика в Linux


CBQ представляет собой систему ограничения трафика по скорости. Это
наиболее распространенный вариант шейпера (в RedHat вроде бы даже
включен в дистрибутив). К сожалению, может ограничивать только
исходящий трафик с компьютера, на котором установлен.

Данное описание составлено на основе перевода оригинальной
документации с английского языка. Переводил его я в меру своих
способностей. Может где и ошибся.

Итак начнем.


Для самых маленьких

Для начала рассмотрим простейший случай настройки. По личному опыту -
обычно больше и не надо.

Сама по себе система CBQ представляет собой один исполняемый файл.
Обычно он называется cbq.init и расположен в папке /etc/rc.d. Запуск
осуществляется командой `/etc/rc.d/cbq.init start` а остановка
`/etc/rc.d/cbq.init stop`. Также можно ввести команду
`/etc/rc.d/cbq.init restart` для перезапуска.

Настройка CBQ производится с помощью написания файлов конфигурации
шейперов. Файлы эти обычно располагаются в папке /etc/sysconfig/cbq и
должны иметь имена следующего формата:

cbq-<cbq_id>.<name>


, где:

"cbq-" - эта часть имени обязательна.

<cbq_id> - номер шейпера в системе. Это должно быть шестнадцатеричное
число в диапазоне 2-FFFF (номера 0 и 1 зарезервированы).

<name> - название шейпера. На ваше усмотрение.

Примеры:

cbq-20.director-internet
Cbq-FE03.godzilla


Каждый файл должен содержать строки:

DEVICE=<if-name>,<bandwidth>{Mbit|Kbit|bps}
RATE=<speed>{Mbit|Kbit|bps}
WEIGHT=<weigth>{Mbit|Kbit|bps}
RULE=[from_addr[/mask][:port],][to_addr[/mask][:port]]
...


DEVICE - описание интерфейса

<if-name> - наименование интерфейса. В Linux'е обычно eth0,
eth1, eth2... или ppp0, ppp1...

<bandwidth> - скорость интерфейса
Есть одна тонкость - шейпер может ограничивать только трафик исходящий
с указанного интерфейса. Если надо ограничить входящий трафик -
напишите еще один файл с другим интерфейсом. И еще - если в одном
файле указали "DEVICE=eth0,10Mbit", то в остальных файлах для этого
интерфейса можно писать просто "DEVICE=eth0".

RULE и WEIGHT - параметры шейпера.

<speed> - лимит скорости

<weigth> - погрешность лимита. То есть ограничиваемая скорость будет максимум
RATE+WEIGHT, а как правило - не выше RATE. Обычно величина
WEIGHT принимается 1/10 от RATE.

RULE - это указание от кого к кому (имеются в виду IP-адреса и порты)
работает данное ограничение.

Проще всего понять на примерах:

RULE=192.168.1.0/24:80,81.95.224.64/26:80


ограничивает трафик от подсети 192.168.4.0/24 (адреса
192.168.4.1-192.168.4.254) до подсети 81.95.224.64/26 (адреса
81.95.224.64 - 81.95.224.126) по порту 80 (HTTP).

RULE=192.168.2.1:21,10.0.1.0/24:2021


ограничивает трафик, который идет с порта 21 адреса 192.168.2.1 на
порт 2021 до порта 2021 любого компьютера подсети 10.0.1.0/24 (адреса
10.0.1.1 - 10.0.1.254).

RULE=192.168.4.5:25,


ограничивает весь трафик идущий с адреса 192.168.4.5 по порту 25 куда
угодно (обратите внимание - запятая в конце обязательна).

RULE=192.168.5.0/25:110


ограничивает весь трафик идущий на компьютеры подсети 192.168.5.0/25
(адреса 192.168.5.1 - 192.168.5.126) по порту 110 откуда угодно
(обратите внимание - запятая в начале не нужна).

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

Примеры файлов конфигурации:

Пример 1.

DEVICE=eth0,10Mbit
RATE=64Kbit
WEIGHT=6Kbit
RULE=192.168.1.0/24:8080,10.10.10.0/28:8080
RULE=192.168.75.3,81.95.224.30


Пример 2.

DEVICE=ppp1,56Kbit
RATE=32Kbit
WEIGHT=3Kbit
RULE=192.168.2.2


Трафик, не попадающий ни под одно правило, описанное в файлах - не
ограничивается.



Немного теории

Шейпер работает так: все ИСХОДЯЩИЕ пакеты, т.е. предназначенные для
выдачи на любой интерфейс вместо того, чтобы быть отправляться
напрямую на интерфейс ставятся в разные очереди. Длина каждой очереди
настраивается. Настраиваются также: скорость выдачи данных из очереди
(это и есть собственно лимит), длина очереди (размер в байтах), размер
пакета, выходящего из очереди (может не совпадать с длиной поступающих
пакетов) и многое другое. Пакеты, не помещающиеся в очередь,
сбрасываются. Данные из очереди выдаются на интерфейс и далее - к
клиенту. Вот как раз каждый файл конфигурации и представляет собой
описание одной очереди.

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

Для правильной работы очереди нужно знать следующие данные:

А) Какие пакеты направлять в очередь, а именно:

- пришедшие от каких адресов/портов;
- предназначенные для каких адресов/портов;
- предназначенные для выдачи на какой интерфейс.


Б) Параметры самой очереди, а именно:

- размер очереди в байтах;
- скорость выдачи данных из очереди;
- приоритет очереди;
- размер пакета, выдаваемого из очереди;
- и т.д.


Очереди бывают следующих классов:

- очереди без определенного класса (класс NONE). Если такая очередь
переполняется, то пакеты, не вмещающиеся в нее, остаются в
родительской очереди (если она есть), а если и она переполняется, то
данные, предназначенные для нее, остаются в ее родительской очереди, а
когда и та переполняется - в родительской очереди еще более высокого
уровня и т.д. И только если переполняется самая верхняя очередь
(класса CBQ), то пакет сбрасывается. Однако процесс можно регулировать
параметрами BOUNDED и ISOLATED.


- CBQ - это очереди самого верхнего уровня (они все имеют cbq_id,
равный 1). Их бывает по одной на каждый интерфейс. Создаются
автоматически. В каждую записываются пакеты, предназначенные для
данного интерфейса. Нельзя самому назначать параметры для таких
очередей.


- TBF - очереди со строгим ограничением (термин мой). Пакеты, не
помещающиеся в очередь, просто сбрасываются. Поведение очереди
определяется ее собственными [5]параметрами и от родительской никак не
зависит.


- SFQ - очереди со справедливым распределением (термин мой). В этом
типе очередей лимит родительской очереди распределяется среди дочерних
по особому математическому закону для более справедливого и
равномерного распределения.


Можно создать очередь, динамически меняющую скорость выдачи информации
в зависимости от дня недели и времени суток.

В общем это можно представить как водопроводную систему. На входе -
краны (очереди класса CBQ). Затем трубы разных диаметров и длины.
Длина трубы символизирует в нашем случае размер очереди, а ее диаметр
- скорость выдачи информации. На некоторых трубах есть клапаны на
входе или выходе (параметры BOUNDED/ISOLATED). На трубах также могут
быть вентили (с регулировкой в зависимости от времени суток и дня
недели)(параметры TIME).


Продвинутая настройка

Рассмотрим теперь подробно ВСЕ возможные параметры конфигурационных
файлов.


Интерфейс


DEVICE=<if-name>,<bandwidth>[,<weight>] - описание устройства, параметр обязательный

<if-name> - наименование интерфейса. В Linux'е обычно eth0, eth1, eth2... или ppp0, ppp1...

<bandwidth> - скорость интерфейса (10Mbit, 56Kbit, 2Mbit ...)

<weigth> - вес интерфейса (обычно 10% от <bandwidth>)

Примечание: - если в одном файле указали "DEVICE=eth0,10Mbit,1Mbit",
то в остальных файлах для этого интерфейса можно писать просто
"DEVICE=eth0"

Еще раз напомню, что шейпер ограничивает только трафик, исходящий с
данного интерфейса.



Общие параметры для всех классов очередей

RATE=<speed>{Mbit|Kbit|bps} - скорость выдачи данных с очереди, параметр обязательный

Примеры:

RATE=10Mbit (10 Мбит/с)
RATE=128Kbit (123 Кбит/с)
RATE=3600bps (3600 байт/с) ********** Не бит/с **********


----------
WEIGHT=<speed>{Mbit|Kbit|bps} - вес шейпера. Обычно 10% от RATE

Примеры:

WEIGHT=1Mbit (1 Мбит/с)
WEIGHT=12Kbit (12 Кбит/с)
WEIGHT=360bps (360 байт/с) ********** Не бит/с **********
RULE=[[saddr[/prefix]][:sport[/mask]],][daddr[/prefix]][:dport[/mask]]


Это фильтр, определяющий, для каких пакетов используется данная
очередь. Параметр обязательный. Он управляет т.н. "u32 filter rules".

saddr - адрес источника (IP).

prefix - маска подсети источника. Указывается не маска в формате
xxx.xxx.xxx.xxx, а число вкл. бит (32-1).
24 соответствует 255.255.255.0, 16 - 255.255.0.0 и т.д.

daddr/prefix - аналогично для адреса назначения.

sport - порт источника (0-65535).

mask - маска для порта (нужна, если надо указать не один порт
, а диапазон протов). Это шестнадцатеричное число формата
0x**** (например 0xfffe - маска на два порта, 0xff00 - на
256 портов). Вообще число портов подряд равно 0xffff минус mask.

dport/mask - аналогично для порта назначения.


Примеры:

RULE=10.1.1.0/24:80
RULE=10.2.2.5
RULE=10.2.2.5:20/0xfffe
RULE=10.5.5.5:80,
RULE=:25,10.2.2.128/26:5000
RULE=192.168.1.0/24:80,81.95.224.64/26:80


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


----------
TIME=[<dow>,<dow>, ...,<dow>/]<from>-<till>;<rate>/<weight>[/<peak>]

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

<dow> - дни недели (0-7, 0=воскресение). Если лимит
действует для нескольких дней, перечислите их
через запятую. Если не указано, то лимит действует на все дни.

<from-till> - интервал времени в формате ЧЧ:MM-ЧЧ:MM. Указывать обязательно.

<rate> - лимит скорости для данного периода (Mbit|Kbit|bps). См. RATE. Указывать обязательно.

<weight> - вес лимита для данного периода (Mbit|Kbit|bps). См. WEIGHT. Указывать обязательно.

<rate> - пик скорости для данного периода (Mbit|Kbit|bps). См. PEAK. Указывать необязательно.

Примеры:

TIME=0,1,2,5/18:00-06:00;256Kbit/25Kbit
TIME=18:00-06:00;256Kbit/25Kbit


Примечания: 1. Если интервалы времени перекрываются, действует тот,
который описан последним.

2. Если текущее время не попадает ни под одну строку TIME,
используются глобальные параметры RATE, WEIGHT и PEAK

3. Для того, чтобы это все действовало необходимо выполнять команду
`/etc/rc.d/cbq.init timecheck` каждую минуту (если с точностью до минут
надо менять шейпер).


----------
REALM=[srealm,][drealm] - Параметр управляет т.н. "route filter rules".
Параметр необязательный.

srealm и drealm - это должны быть десятичные числа или соответствующие им
строковые значения из файла /etc/iproute2/rt_realms.


Примеры:

REALM=russia,internet от russia до internet
REALM=10 до 10 от всех
REALM=freenet, от freenet до всех
REALM=internet,5 ot internet до 5


----------
MARK=<mark> - управляет т.н. "fw filter rules". Параметр необязательный.

<mark> - десятичное число - тег для пакетов.

Пример:

MARK=15


Примечание: В одном файле может быть несколько строк MARK.


----------
PRIO=<1-8> - приоритет шейпера (1-8). 1- максимальный
приоритет. Необязательный параметр. Если не
указать - по умолчанию 5.

Пример:

PRIO=3


----------
PARENT=<2-FFFF> - номер родительской очереди. Необязательный
параметр. Если не указать - данные берутся
напрямую с очереди типа CBQ соответствующего интерфейса.

Пример:

PARENT=3F00

Примечание: родительская очередь должна быть описана раньше, чем
дочерние. По видимому это означает, что номер ее должен быть меньше.


----------
LEAF=none|tbf|sfq - класс очереди. Можно создавать очереди
класса TBF или SFQ, а также очереди без
класса. Указывать необязательно, по умолчанию tbf.

Пример:

LEAF=sfq


----------
BOUNDED=yes|no - ограничение. Если поставить yes, то пакеты при переполнении
очереди не остаются в родительской, а сбрасываются. Указывать необязательно, по умолчанию yes

Пример:

BOUNDED=yes


Примечание: Для TBF - очередей всегда yes (даже если прямо указать no).


----------
ISOLATED=yes|no - изоляция. Если поставить yes на родительской очереди,
то все дочерние будут работать как будто у них BOUNDED=yes, то есть
без резервирования. Указывать необязательно, по умолчанию "no"

Пример:

ISOLATED=yes


Параметры для очередей класса TBF

LIMIT=<bytes>[{Mb|Kb}] - длина очереди в мегабайтах (Mb),
килобайтах (Kb) или в байтах, если не указана единица.
Указывать необязательно, по умолчанию 15Kb.

Примеры:

LIMIT=10Kb
LIMIT=1Mb
LIMIT=65535


----------
PEAK=<speed>{Mbit|Kbit|bps} - максимальная пиковая скорость выдачи информации
из очереди. Только на короткое время. Параметр необязателен.

Примеры:

PEAK=10Mbit (10 Мбит/с)
PEAK=128Kbit (123 Кбит/с)
PEAK=3600bps (3600 байт/с) ********** Не бит/с **********


----------
MTU=<bytes> - размер выходного пакета, исходящего из очереди.
Необязательный параметр, если не указать, то такой, как MTU на интерфейсе
(для Ethernet - 1500). Имеет смысл указывать, когда задан параметр PEAK.

Пример:

MTU=1024


----------
BUFFER=<depth>[{Mb|Kb}][/<interval>] - размер буфера.

<depth> - Это максимальное число байт (Кбайт, Мбайт), которое
может быть выдано из очереди за один раз.

<interval> - я не понял. В оригинале - parameter is used to
determine the Length of intervals in packet sizes,
for which the transmission times are kept.

Параметр указывать необязательно, по умолчанию 10Kb/8.


Параметры для очередей класса SFQ

QUANTUM=<bytes> - значение не может быть меньше MTU. Что означает - не знаю.
В оригинале тоже ничего не сказано. Это необязательный параметр.

Пример:

QUANTUM=1514


----------
PERTURB=<seconds> - период пертурбации hash-функции в секундах.
По умолчанию 10. Если не указать, пертурбация никогда не происходит.
Назначение непонятно.

Пример:

PERTURB=15


Еще раз хочу напомнить, что настройки каждого файла действуют только
на трафик, исходящий с интерфейса, описанного в параметре DEVICE.
413 Прочтений •  [Использование CBQ для ограничения трафика в Linux (cbq traffic limit linux queue)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Использование CBQ для ограничения т... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка