HOWTO по управлению трафиком с помощью tcng и HTB [заметки]

Шрифт
Интервал

1

Язык tcng обеспечивает поддержку c-подобных директив include, которые позволяют присоединить любой файл. Файлы присоединяются относительно текущего каталога или библиотеки tcng (обычно /usr/lib/tcng/include). Строго говоря, указывать директивы #includeports.tc и #includefields.tc необязательно, поскольку tcc их присоединяет по умолчанию.

Использование директив #include увеличивает гибкость определения переменных и подключения общих элементов управления трафиком.

За дальнейшей информацией обращайтесь к руководству tcng, раздел подключений

2

Поддерживаются директивы CPP. Директива #define может использоваться для создания макросов или констант. За подробной информацией обращайтесь к руководству tcng, раздел переменных

3

Ключ egress является синонимом dsmark. Приведенный пример использует class selection path. Для использования в конфигурации ключа egress необходима поддержка dsmark в ядре и tc

4

Алгоритм выбора класса (class selection path) — это один из подходов к ограничению трафика. При использовании алгоритма выбора класса, пакет маркируется (DiffServ mark) при поступлении в маршрутизатор. На основе этой маркировки маршрутизатор позднее может выполнять различные действия по ограничению, упорядочиванию и классифицированию трафика.

За подробностями обращайтесь к разделу описания алгоритма выбора класса руководства по tcng

5

Этот пример показывает использование имен портов вместо их номеров. Это одно из удобств tcng, предоставляемых подключением ports.tc. Имена портов соответствуют названиям портов IANA. Узнать имена портов можно в списке зарегистрированных портов IANA или изучив файл ports.tc.

Имена и номера портов одинаково допустимы. 

6

Обратите внимание на эту специфическую конструкцию, которая классифицирует все ранее не классифицированные пакеты. Все пакеты, которые не были классифицированы вышеуказанными классификаторами, помещаются в класс "$other". Конструкция if 1 может применяться для классифицирования неклассифицированного трафика. 

7

Здесь создается корневая дисциплина обработки очереди устройства, в нашем случае eth0. Проконсультируйтесь со справочными материалами tcng, дополнение по параметрам дисциплин обработки очереди. Любые параметры дисциплины очереди могут быть вставлены в круглые скобки, так же как и параметры класса далее в примере. Если параметры не указаны, скобки необязательны. 

8

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

Параметры rate и ceil должны быть знакомы всем, кто пользовался HTB. Это специфические параметры HTB и соответствующим образом обрабатываются утилитой tcc. Обратитесь к таблице аббревиатур скоростей tcng

9

Это присвоение класса переменной. Обычно выполняется как часть алгоритма выбора пути.

10

По совету Мартина Девера, приведенном на сайте HTB, каждому классу назначается дисциплина обработки очереди SFQ, которая позволяет эффективо разделять пропускную возможность класса, между сессиями. Обратите внимание на отсутствие параметров у этой дисциплины.

Если для подклассов не указаны дисциплины обработки очереди, то они используют стандартную дисциплину pfifo_fast qdisc. Включение стохастической дисциплины (sfq) для подклассов позволяет избежать превалирования одного соединения над остальными внутри класса. 

11

В этой строке выполняется объявление измерителя (meter) для классификации трафика. Обратитесь к руководству по tcng, раздел измерителей за списком и примерами различных измерителей.

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

С переменной $meter могут оперировать функции, работающие с типом измерителя. В нашем случае используются три функции, позволяющие проверить состояние $meter: trTCM_green, trTCM_yellow и trTCM_red. Для эффективности, обратите внимание на ускоренные аналоги

12

В нашем примере к трафику хоста 192.168.137.50 специально не применяются правила ограничения применяемые ко всему остальному трафику на интерфейсе eth0.

13

До гарантированной скорости (cir), пакеты будут проходить через этот класс. Токены будут использоваться из буфера cir/cbs.

Измеритель зеленый. 

14

Трафик, превышающий возможности буфера cir/cbs будет направляться в буфер pir/pbs (pir — это пиковая скорость [peak information rate], pbs — это размер пикового буфера). Это позволяет гарантировать отдельному потоку полосу пропускания до определенной скорости,а при превышении ее происходит переклассификация.

Измеритель желтый. 

15

Трафик, превышающий возможности буфера pir/pbs классифицируется в этой строке. Обычные конфигурации начинают терять пакеты, превышающие пиковую скорость, но можно настроить и переклассификацию трафика из класса гарантированной пропускной способности в класс максимальной пропускной способности.

Измеритель красный. 


Рекомендуем почитать
Это ваше Fido

Одно из немногих изданий на русском языке, которое посвящено старейшей глобальной компьютерной сети "Fidonet". Сатирический справочник о жизни и смерти самого древнего сетевого сообщества, которое до сих пор существует среди нас.


Безопасность информационных систем

В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).


UNIX — универсальная среда программирования

В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.


QNX/UNIX: Анатомия параллелизма

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.


Виртуальные  машины: несколько компьютеров в  одном

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.


Недокументированные и малоизвестные возможности Windows XP

Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.