Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO

Здесь есть возможность читать онлайн «Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: ОС и Сети, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Linux Advanced Routing & Traffic Control HOWTO: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Linux Advanced Routing & Traffic Control HOWTO»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Оригинальную версию документа вы найдете по адресу
.
Практическое руководство по применению
(и в меньшей степени
) для управления трафиком.

Linux Advanced Routing & Traffic Control HOWTO — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Linux Advanced Routing & Traffic Control HOWTO», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Как видите, CBQ требует много больше настроек по сравнению с HTB.

# tc class add dev eth0 parent 1:1 classid 1:3 cbq bandwidth 100Mbit \

rate 5Mbit weight 0.5Mbit prio 5 allot 1514 cell 8 maxburst 20 \

avpkt 1000

# tc class add dev eth0 parent 1:1 classid 1:4 cbq bandwidth 100Mbit \

rate 3Mbit weight 0.3Mbit prio 5 allot 1514 cell 8 maxburst 20 \

avpkt 1000

Здесь создаются два класса, управляющие веб и почтовым трафиками. Обратите внимание на то, как указаны веса классов. Пропускная способность классов не ограничивается, но они подчинены классу 1:1, который имеет ограничение по полосе пропускания. Таким образом, сумма пропускных способностей этих классов не сможет превысить ограничение родительского класса. Старшие номера дескрипторов дочерних классов (classid) наследуют старший номер родительского класса.

# tc qdisc add dev eth0 parent 1:3 handle 30: sfq

# tc qdisc add dev eth0 parent 1:4 handle 40: sfq

При создании, к каждому из классов, по-умолчанию присоединяется дисциплина FIFO, однако, для более равномерного распределения пропускной способности между соединениями, присоединим к каждому из классов дисциплину обработки очереди SFQ.

# tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip \

sport 80 0xffff flowid 1:3

# tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip \

sport 25 0xffff flowid 1:4

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

Обратите внимание: команда tc class addСОЗДАЕТ класс в пределах дисциплины, а tc qdisc add– добавляет дисциплину к классу.

У вас может возникнуть резонный вопрос: "Что будет с трафиком, который не подпадает под условия установленных фильтров?". В этом случае трафик останется неклассифицированым и будет обработан корневой дисциплиной 1:0, т.е. пройдет без ограничений.

Если сумма SMTP+web трафиков превысят сконфигурированные 6 мегабит, то вся полоса пропускания будет разделена между классами, в соответствии с их весами. Таким образом WEB-сервер получит 5/8 ширины канала, а SMTP-сервер — 3/8.

В соответствии с данной конфигурацией можно утверждать, что WEB-сервер всегда будет иметь полосу, как минимум 5/8*6=3.75 мегабита.

9.5.4.5. Прочие параметры настройки CBQ: split и defmap.

Как уже говорилось выше, для классификации трафика, полноклассовые дисциплины используют фильтры.

Но кроме фильтров, CBQ может предложить вам параметры split и defmap. Хотя назначение этих параметров достаточно сложно понять, и к тому же они не являются жизненно необходимыми, тем не менее я постараюсь описать их.

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

Значение приоритета пакета складывается по "И" с параметром defmap и проверяется — есть ли совпадение. Проще говоря — это самый простой способ создания высокоскоростных фильтров, которые работают с незначительным числом приоритетов. С параметром defmap , равным 0xFF будет совпадать любой пакет, 0x00 — ни один. Возможно пример настройки поможет вам полнее понять вышесказанное:

# tc qdisc add dev eth1 root handle 1: cbq bandwidth 10Mbit allot 1514 \

cell 8 avpkt 1000 mpu 64

# tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 10Mbit \

rate 10Mbit allot 1514 cell 8 weight 1Mbit prio 8 maxburst 20 \

avpkt 1000

Самое обычное начало для CBQ. Значения для параметра defmap можно определить из следующей таблицы:

TC_PRIO.. Число Значение поля TOS
BESTEFFORT 0 Maximize Reliablity (0x04) (Максимальная надежность)
FILLER 1 Minimize Cost (0x02) (Минимальная стоимость)
BULK 2 Maximize Throughput (0x08) (Максимальная пропускная способность)
INTERACTIVE_BULK 4
INTERACTIVE 6 Minimize Delay (0x10) (Минимальная задержка)
CONTROL 7

Уровень приоритета TC_PRIO.. рассчитывается исходя из значения поля TOS (за дополнительной информацией о значениях приоритета пакета, обращайтесь к разделу pfifo_fast).

Теперь создадим классы, через которые пойдет интерактивный и объемный трафик:

# tc class add dev eth1 parent 1:1 classid 1:2 cbq bandwidth 10Mbit \

rate 1Mbit allot 1514 cell 8 weight 100Kbit prio 3 maxburst 20 \

avpkt 1000 split 1:0 defmap c0

# tc class add dev eth1 parent 1:1 classid 1:3 cbq bandwidth 10Mbit \

rate 8Mbit allot 1514 cell 8 weight 800Kbit prio 7 maxburst 20 \

avpkt 1000 split 1:0 defmap 3f

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Linux Advanced Routing & Traffic Control HOWTO»

Представляем Вашему вниманию похожие книги на «Linux Advanced Routing & Traffic Control HOWTO» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Linux Advanced Routing & Traffic Control HOWTO»

Обсуждение, отзывы о книге «Linux Advanced Routing & Traffic Control HOWTO» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x