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

 *

 * Martin A. Brown

 *

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

 *

 *

 */

#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]

   }

  }

 }

}

<p id="AutBody_0examples-1">3.2. Использование двухскоростного трехцветного измерителя</p>Пример 3. /etc/sysconfig/tcng/two-rate-three-color-meter.tcc

/*

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

 *

 * Martin A. Brown

 *

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

 *

 *

 */

#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; } ;

   }

  }

 }

}

<p id="AutBody_0misc">4. Разнообразные замечания</p>

К счастью, 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 о единицах измерения.

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

<p id="AutBody_0further">5. Ссылки и другая документация</p>

• проект linux DiffServ

• страница HTB (Martin "devik" Devera)

• Traffic Control Next Generation (tcng)

• Руководство по TCNG manual (Вернер Альмесбергер)

iproute2 (Алексей Кузнецов )

iproute2 manual (Алексей Кузнецов )

Перейти на страницу:

Похожие книги