My-library.info
Все категории

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

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Мартин Браун - HOWTO по управлению трафиком с помощью tcng и HTB. Жанр: Программное обеспечение издательство неизвестно, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
HOWTO по управлению трафиком с помощью tcng и HTB
Издательство:
неизвестно
ISBN:
нет данных
Год:
неизвестен
Дата добавления:
16 сентябрь 2019
Количество просмотров:
138
Читать онлайн
Мартин Браун - HOWTO по управлению трафиком с помощью tcng и HTB

Мартин Браун - HOWTO по управлению трафиком с помощью tcng и HTB краткое содержание

Мартин Браун - HOWTO по управлению трафиком с помощью tcng и HTB - описание и краткое содержание, автор Мартин Браун, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info

HOWTO по управлению трафиком с помощью tcng и HTB читать онлайн бесплатно

HOWTO по управлению трафиком с помощью tcng и HTB - читать книгу онлайн бесплатно, автор Мартин Браун

Программа 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 и выполните: ./configure --no-tcsim перед компиляцией.

Если вы работаете с дистрибутивом, основанном на RPM, то можете использовать SPEC-файл tcng/build/tcng.spec для сборки пакета. Можно взять готовый SRPM здесь. Результатом сборки этого SRPM станут два пакета: tcc и tcc-devel. Для создания конфигураций вам понадобится только tcc.

Для работы с tcc вам понадобиться пакет cpp, поскольку tcc его использует в работе.

3. Примеры конфигураций

Приведенные в этом документе примеры представляют переработанные конфигурации, доступные по адресу http://linux-ip.net/code/tcng/.

Примеры могут использоваться как самостоятельные конфигурационные файлы для синтаксического анализатора tcc, или в комбинации с примером скрипта начальной загрузки для SysV. Данный скрипт начальной загрузки является модификацией скрипта, предложенного raptor'ом в списке рассылки LARTC.

Если вы собираетесь пользоваться этим скриптом начальной загрузки, посмотрите на пример файла /etc/sysconfig/tcng:

Пример 1. /etc/sysconfig/tcng

# - мета-конфигурационный файл tcng

#

# -- 2003-03-15 создание; -MAB

# -- 2003-03-31 модификация для поддержки переопределения ENVAR; -MAB

#

# -- В этом каталоге будут храниться все конфигурационные файл tcng

#    для данного хоста

#

TCCONFBASEDIR=${TCCONFBASEDIR:-/etc/sysconfig/tcng-configs}


# -- активная конфигурация для tcng

#    обратите внимание, что благодаря поддержке конструкции #include

#    модульность конфигурации tcng может быть встроена в

#    конфигурационные файлы в $TCCONFBASEDIR

#

TCCONF=${TCCONF:-$TCCONFBASEDIR/global.tcc}


tcstats=${tcstats:-no}   # -- подавляет вывод статистики

tcstats=${tcstats:-yes}  # -- передает ключ "-s" в tc


tcdebug=${tcdebug:-0}    # -- для повседневного использования

tcdebug=${tcdebug:-1}    # -- для вывода дополнительной информации

tcdebug=${tcdebug:-2}    # -- для вывода отладочной информации

#

#

# -- в качестве дополнительной меры, вы можете переопределить местоположение утилит

#    tc и tcc, например:

#

#  tc=/usr/local/bin/tc

#  tcc=/usr/local/tcng/bin/tcc

#

#

3.1. Использование tcng для ограничения входящего потока

Пример 2. /etc/sysconfig/tcng/class-selection-path.tcc

/*

 * Простой пример с комментариями файла управления трафиком для tcng.

 *

 * Martin A. Brown < [email protected]>

 *

 * Пример: Использование алгоритма выбора класса.

 *

 *

 */

#include "fields.tc"[1]

#include "ports.tc"


#define INTERFACE eth0[2]


dev INTERFACE {

 egress {[3]


  /* при использовании алгоритма выбора класса, вначале указываются фильтры! DSmark */[4]


  class ( <$ssh> ) if tcp_sport == 22 && ip_tos_delay == 1 ;

  class ( <$audio> ) if tcp_sport == 554 || tcp_dport == 7070 ;

  class ( <$bulk> )

   if tcp_sport == PORT_SSH || tcp_dport == PORT_HTTP ;[5]


  class ( <$other> ) if 1 ;[6]


  /* секция, в которой мы конфигурируем дисциплины обработки очередей и классы */

  htb () {[7]


   class ( rate 600kbps, ceil 600kbps ) {[8]

    $ssh = class ( rate 64kbps, ceil 128kbps ) { sfq; } ;


    [9]$audio = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;

    $bulk = class ( rate 256kbps, ceil 512kbps ) { sfq; } ;

    $other = class ( rate 128kbps, ceil 384kbps ) { sfq; } ;[10]

   }

  }

 }

}

3.2. Использование двухскоростного трехцветного измерителя

Пример 3. /etc/sysconfig/tcng/two-rate-three-color-meter.tcc

/*

 * Простой пример с комментариями файла управления трафиком для tcng.

 *

 * Martin A. Brown < [email protected]>

 *

 * Пример: Использование измерителя.

 *

 *

 */


#define EXCEPTION 192.168.137.50

#define INTERFACE eth0


$meter = trTCM( cir 128kbps, cbs 10kB, pir 256kbps, pbs 10kB );[11]


dev eth0 {

 egress {


  class ( <$full> ) if ip_src == EXCEPTION ;[12]


  class ( <$fast> ) if trTCM_green( $meter ) ;[13]


  class ( <$slow> ) if trTCM_yellow( $meter ) ;[14]


  drop if trTCM_red( $meter ) ;[15]

  htb {

   class ( rate 600kbps, ceil 600kbps ) {

    $fast = class ( rate 256kbps, ceil 256kbps ) { sfq; } ;

    $slow = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;

    $full = class ( rate 600kbps, ceil 600kbps ) { sfq; } ;

   }

  }

 }

}

4. Разнообразные замечания

К счастью, tcng положил конец маленькому неудобству в использовании tc. Ниже приводится таблица соответствия между сокращениями этих утилит с русским языком.


Таблица 1. Синтакс описания скорости: tcng против tc

tcng Русский tc bps бит в секунду bit Bps байт в секунду bps (ух!) kbps килобит в секунду kbit kBps килобайт в секунду kbps Mbps мегабит в секунду mbit или Mbit MBps мегабайт в секунду mbps или Mbps pps пакетов в секунду ??

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

Например, мы можем использовать традиционные обозначения скорости в конфигурации tcng: 100Mbps, 128kbps и даже 2Gpps. Посмотрите раздел руководства по tcng о единицах измерения.


Мартин Браун читать все книги автора по порядку

Мартин Браун - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


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

Отзывы читателей о книге HOWTO по управлению трафиком с помощью tcng и HTB, автор: Мартин Браун. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.