• LARTC HOWTO ( Берт Хуберт [Bert Hubert] и другие )
• Руководство по организации IP-сетей в linux ( Мартин А. Браун )
Язык tcngобеспечивает поддержку c-подобных директив include, которые позволяют присоединить любой файл. Файлы присоединяются относительно текущего каталога или библиотеки tcng(обычно /usr/lib/tcng/include ). Строго говоря, указывать директивы #includeports.tc и #includefields.tc необязательно, поскольку tccих присоединяет по умолчанию.
Использование директив #include увеличивает гибкость определения переменных и подключения общих элементов управления трафиком.
За дальнейшей информацией обращайтесь к руководству tcng, раздел подключений.
Поддерживаются директивы CPP. Директива #define может использоваться для создания макросов или констант. За подробной информацией обращайтесь к руководству tcng, раздел переменных.
Ключ egress является синонимом dsmark . Приведенный пример использует class selection path. Для использования в конфигурации ключа egress необходима поддержка dsmark в ядре и tc.
Алгоритм выбора класса (class selection path) — это один из подходов к ограничению трафика. При использовании алгоритма выбора класса, пакет маркируется (DiffServ mark) при поступлении в маршрутизатор. На основе этой маркировки маршрутизатор позднее может выполнять различные действия по ограничению, упорядочиванию и классифицированию трафика.
За подробностями обращайтесь к разделу описания алгоритма выбора классаруководства по tcng.
Этот пример показывает использование имен портов вместо их номеров. Это одно из удобств tcng, предоставляемых подключением ports.tc . Имена портов соответствуют названиям портов IANA. Узнать имена портов можно в списке зарегистрированных портов IANAили изучив файл ports.tc .
Имена и номера портов одинаково допустимы.
Обратите внимание на эту специфическую конструкцию, которая классифицирует все ранее не классифицированные пакеты. Все пакеты, которые не были классифицированы вышеуказанными классификаторами, помещаются в класс "$other". Конструкция if 1 может применяться для классифицирования неклассифицированного трафика.
Здесь создается корневая дисциплина обработки очереди устройства, в нашем случае eth0 . Проконсультируйтесь со справочными материалами tcng, дополнение по параметрам дисциплин обработки очереди. Любые параметры дисциплины очереди могут быть вставлены в круглые скобки, так же как и параметры класса далее в примере. Если параметры не указаны, скобки необязательны.
Корневой класс в этом примере задает максимальную полосу пропускания для всего класса. Давайте предположим, что eth0 — это интерфейс, подключенный к локальной сети. Тогда скорость передачи данных в локальную сеть будет ограничена 600 килобитами.
Параметры rate и ceil должны быть знакомы всем, кто пользовался HTB. Это специфические параметры HTB и соответствующим образом обрабатываются утилитой tcc. Обратитесь к таблице аббревиатур скоростей tcng HOWTO по управлению трафиком с помощью tcng и HTB Версия 1.0 Мартин А. Браун История пересмотров Пересмотр 1.0 Начальный пересмотр LDP 2003-04-16 Пересмотрено: tab Пересмотр 0.5 передача в tldp, переименование в HOWTO 2002-04-01 Пересмотрено: MAB Пересмотр 0.4 новый пример, быстрый экскурс по буферам 2002-03-31 Пересмотрено: MAB Пересмотр 0.3 коррекция и замечания от Джакоба Теплитски (Jacob Teplitsky), raptor и Джошуа Хелинга (Joshua Heling) 2002-03-16 Пересмотрено: MAB Пересмотр 0.2 ссылки, чистка, публикация 2002-03-15 Пересмотрено: MAB Пересмотр 0.1 начальный пересмотр 2002-03-14 Пересмотрено: MAB © 2003, Martin A. Brown Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no invariant sections, with no Front-Cover Texts, with no Back-Cover Text. A copy of the license is located at www.gnu.org/copyleft/fdl.html .
.
Это присвоение класса переменной. Обычно выполняется как часть алгоритма выбора пути.
По совету Мартина Девера, приведенном на сайте HTB, каждому классу назначается дисциплина обработки очереди SFQ, которая позволяет эффективо разделять пропускную возможность класса, между сессиями. Обратите внимание на отсутствие параметров у этой дисциплины.
Если для подклассов не указаны дисциплины обработки очереди, то они используют стандартную дисциплину pfifo_fast qdisc. Включение стохастической дисциплины (sfq) для подклассов позволяет избежать превалирования одного соединения над остальными внутри класса.
Читать дальше