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

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

, сокращение от ceiling, определяет максимальную полосу пропускания, которую класс может получить. Любая полоса пропускания, находящаяся между rate и ceil одалживается у родительского класса, откуда вытекает утверждение, что для корневого класса значение параметров rate и ceil должны совпадать.

В корневом классе можно определять подклассы, каждому из которых можно выделить некоторую часть доступной полосы пропускания родительского класса. У классов-потомков, значения параметров rate и ceil не обязаны совпадать с соответствующими значениями родительского класса. Это позволяет резервировать часть пропускной способности заданного класса. Кроме того, это позволяет HTB рассчитывать отношение, в котором должна быть разделена полоса пропускания между классами. Это станет ясней после рассмотрения примеров.

Hierarchical Token Bucket реализует классовый механизм формирования очередей для системы управления трафиком в linux; пользователю предоставляются параметры rate и ceil для контроля над полосой пропускания отдельных классов и задания отношения распределения пропускной способности в случае, когда часть полосы пропускания остается свободной (до значения ceil).

При указании пропускной способности вы должны помнить, что ограничение полосы пропускания будет работать только в том случае, если вы (машина, на которой выполняется управление трафиком — Прим.пер.) являетесь узким местом между ЛВС и Internet. Обычно, это используется в домашних и офисных сетях, где вся локальная сеть обслуживается DSL– или T1-соединением.

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

1.3. Что такое tcng?

Traffic Control Next Generation (tcng) — это проект Вернера Альмесбергера (Werner Almesberger) призванный реализовать мощный, абстрактный и стандартизированный язык для описания структур управления трафиком. Синтаксический анализатор tcc из дистрибутива tcng преобразовывает язык tcng в различные форматы. По умолчанию, tcc читает входной файл (переданный в качестве аргумента или стандартный ввод) и выводит в стандартный вывод последовательности команд tc (смотрите ниже iproute2) необходимые для создания желаемой структуры управления трафиком в ядре.

Обратитесь к справочнику по параметрам tcng за информацией о поддерживаемых дисциплинах обработки очереди. Джакоб Теплитски (Jacob Teplitsky), активный участник списка рассылки LARTC и контрибьютор проекта tcng, написал поддержку htb для tcng.

Утилита tcc может генерировать вывод различных типов, но в этом документе мы будем рассматривать только стандартный вывод и вывод по умолчанию. За детальной информацией об использовании tcng обратитесь к руководству TCNG.

Программа tcsim — имитатор системы управления трафиком, который работает с конфигурационными файлами tcng и имитирует поведение ядра при передаче данных, согласно структурам управления трафиком. Несмотря на то, что tcsim является значительной частью проекта tcng, в этом документе он вообще не рассматривается.

2. Требования

Есть некоторые требования по поддержке ядром HTB и DSMARK, поддержке HTB и DSMARK в tc и самому tcng.

В частности, поддержка HTB в ядре и tc абсолютно необходима, иначе вы не сможете воспользоваться советами, предоставляемыми данным руководством (обратите внимание на название, если у вас есть какие-то сомнения). Поддержка DSMARK, строго говоря, необязательна, однако некоторые примеры (алгоритм выбора класса, в частности, и возможно и другие) могут не работать без нее.

2.1. Требования к ядру

Удовлетворить требования к ядру очень просто. Ядро 2.4.20 и более новые включают поддержку HTB и dsmark, так что просто убедитесь, что эти опции включены в разделе QoS/Fair Queuing конфигурации ядра. За кратким описанием параметров для, которые нужно выбрать в конфигурации ядра, обращайтесь к заметкам по конфигурации ядра для проекта DiffServ.

Для ядер версии меньше 2.4.20 необходим патч (к сожалению патч существует только для ядер 2.4.17 и выше).

2.2. Требования tc

Команда tc является частью набора утилит iproute2. За общей документацией по iproute2, обращайтесь на сайт http://linux-ip.net/ и к руководству по iproute2. Само программное обеспечение доступно на FTP-архиве Алексея Кузнецова, но обычно они поставляются в виде пакетов с дистрибутивом Linux. Если ваш дистрибутив использует пакеты RPM, вы можете загрузить этот SRPM и скомпилировать у себя в системе.

Если вам придется компилировать iproute2 самим, то чтобы включить поддержку htb в tc, возьмите патч к tc на сайте Мартина Дэвэра.

Кроме того, в tc потребуется поддержка dsmark, механизма маркировки diffserv. К счастью, его поддержка легко включается с помощью редактирования файла Config из пакета исходников iproute2. Просто измените строку TC_CONFIG_DIFFSERV=n на TC_CONFIG_DIFFSERV=y и скомпилируйте пакет.

Из этого SRPM можно собрать пакет iproute2 с поддержкой dsmark и htb, которые требуются для примеров этого документа.

2.3. Требования tcng

Компиляция tcng — самый простая часть всего процесса. Просто распакуйте исходный код tcng и выполните:


Рекомендуем почитать
Linux программирование в примерах

В книге рассмотрены вопросы, связанные с программированием под Linux: файловый ввод/вывод, метаданные файлов, основы управления памятью, процессы и сигналы, пользователи и группы, вопросы интернационализации и локализации, сортировка, поиск и многие другие. Много внимания уделено средствам отладки, доступным под GNU Linux. Все темы иллюстрируются примерами кода, взятого из V7 UNIX и GNU. Эта книга может быть полезна любому, кто интересуется программированием под Linux.


Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием.


Ubuntu 10. Краткое руководство пользователя

Книга ориентирована на домашнего и офисного начинающего Linux-пользователя и поможет ему самостоятельно настроить операционную систему Ubuntu Linux. Материал ориентирован на последние версии дистрибутива Ubuntu: 10.04 и 10.10. Описана установка дистрибутива, установка кодеков, настройка и специальные возможности загрузчика GRUB2. Рассмотрены вопросы, возникающие при ежедневной работе в Linux: установка и удаление программ, работа с файловой системой, настройка сети и Интернета, настройка приложений для работы в Интернете, работа с периферийными устройствами, использование офисных и мультимедийных приложений.


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.