HOWTO по управлению трафиком с помощью tcng и HTB - [3]
Если вы работаете с дистрибутивом, основанном на 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:
># - мета-конфигурационный файл 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 для ограничения входящего потока
>/*
> * Простой пример с комментариями файла управления трафиком для 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. Использование двухскоростного трехцветного измерителя
>/*
> * Простой пример с комментариями файла управления трафиком для 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 о единицах измерения.
Для эффективного управления трафиком важно понимать, где находятся узкие места сети. В большинстве случаев, управление трафиком вам придется выполнять именно в узком месте или рядом с ним.
5. Ссылки и другая документация
• страница HTB (Martin "devik" Devera)
Одно из немногих изданий на русском языке, которое посвящено старейшей глобальной компьютерной сети "Fidonet". Сатирический справочник о жизни и смерти самого древнего сетевого сообщества, которое до сих пор существует среди нас.
В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.
Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.
Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.
Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.