tcdebug=${tcdebug:-2} # -- для вывода отладочной информации
#
#
# -- в качестве дополнительной меры, вы можете переопределить местоположение утилит
# tc и tcc, например:
#
# tc=/usr/local/bin/tc
# tcc=/usr/local/tcng/bin/tcc
#
#
3.1. Использование tcng для ограничения входящего потока
/*
* Простой пример с комментариями файла управления трафиком для 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]
}
}
}
}
3.2. Использование двухскоростного трехцветного измерителя
/*
* Простой пример с комментариями файла управления трафиком для 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; } ;
}
}
}
}
4. Разнообразные замечания
К счастью, tcng положил конец маленькому неудобству в использовании tc. Ниже приводится таблица соответствия между сокращениями этих утилит с русским языком.
Таблица 1. Синтакс описания скорости: tcng против tc
tcng | Русский | tc |
---|---|---|
bps | бит в секунду | bit |
Bps | байт в секунду | bps (ух!) |
kbps | килобит в секунду | kbit |
kBps | килобайт в секунду | kbps |
Mbps | мегабит в секунду | mbit или Mbit |
MBps | мегабайт в секунду | mbps или Mbps |
pps | пакетов в секунду | ?? |
Обратите внимание, что это потребует небольшого привыкания для давних пользователей tc, но эти сокращения намного более понятны для тех, кто владеет английским языком.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии