HOWTO по управлению трафиком с помощью tcng и HTB [Мартин А Браун] (fb2) читать постранично

- HOWTO по управлению трафиком с помощью tcng и HTB (пер. Иван Песин) 35 Кб скачать: (fb2)  читать: (полностью) - (постранично) - Мартин А. Браун

 [Настройки текста]  [Cбросить фильтры]

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.

1. Введение

Этот документ представляет собой краткое руководство по использованию tcng (Traffic Control Next Generation) с HTB (Hierarchical Token Bucket) для ограничения трафика на Linux-машине.

Это руководство предназначено для системных администраторов,

• которые имеют хотя бы базовое представление об управлении трафиком

• которые в состоянии скомпилировать iproute2 и tcng из исходных текстов или умеют собирать пакеты RPMS из существующих SRPM

• работающих на системах, чьё ядро имеет поддержку модулей htb и dsmark

• которые в состоянии скомпилировать ядро с поддержкой htb и dsmark 

Note

Этот документ не претендует на полноту изложения и абсолютную точность. Автор ждет позитивных и негативных откликов по адресу <mabrown@securepipe.com>. Исправления, дополнения и примеры приветствуются. Всегда.

1.1. Что такое управление трафиком и как это работает?

Управление трафиком — название, объединяющее в себе все части подсистемы организации очередей в сети или сетевом устройстве. Управление трафиком состоит из нескольких операций: классифицирование (classification) — механизм, позволяющий идентифицировать пакеты и помещать их в определенные потоки или классы; ограничение входящего трафика (policing) — механизм, с помощью которого можно ограничить количество пакетов или байт в потоке, соответствующих определенной классификации; планирование (scheduling) — процесс принятия решений, при котором пакеты упорядочиваются и переупорядочиваются для дальнейшей передачи; наконец, ограничение исходящего трафика (shaping) — процесс при котором пакеты задерживаются и передаются таким образом, чтобы реализовать постоянную и предсказуемую скорость потока.

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

Одним из ключевых моментов управления трафиком является понятие токенов. Реализация ограничения входящего и исходящего трафиков требует вычисления количества пакетов или байт проходящих за момент времени для определения скорости. Каждый пакет или байт (в зависимости от реализации) соответствует токену и передается только в случае наличия свободного токена. Общее образное хранилище, где находятся токены, называется буфером (bucket). Если кратко, то буфер характеризует две величины: количество токенов, которые могут быть одновременно использованы (размер буфера) и скорость, с которой буфер заполняется новыми токенами.

В секции 1.2 приведены примеры буферов системы управления трафиком в Linux.

В Linux, управление трафиком исторически сложная задача. Команда tc обеспечивает интерфейс со структурами ядра, ответственными за ограничение, планирование и классификацию трафика. Синтаксис этой команды, однако, весьма загадочен. Проект tcng предоставляет более дружественный пользователю интерфейс к такой мощной утилите как tc, определяя свой язык описания конфигурации. Его использование при написании конфигурации системы управления трафиком упрощает поддержку, облегчает понимание и, что важно, увеличивает переносимость.

1.2. Что такое htb?

Hierarchichal Token Bucket — это классовая дисциплина обработки очереди, написанная Мартином Девером (Martin Devera) с упрощенным набором конфигурационных параметров по сравнению с CBQ. Есть много хорошей документации по HTB и ее применению на сайте автора и сайте Стефа Коэна (Stef Coene). Ниже приведено очень краткое описание системы HTB.

Идеологически, HTB представляет собой набор иерархически упорядоченных буферов токенов (да, наверно вы и сами догадались об этом [В переводе с английского