Приоритезация и динамический шейпинг SRR

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SyCraft
Сообщения: 8
ОС: ubuntu

Приоритезация и динамический шейпинг SRR

Сообщение SyCraft »

Планировщик пакетов SRR (Simple Round Robin)


Simple Round Robin планировщик пакетов - это планировщик сетевых пакетов для операционной системы linux с ядрами 2.4 и 2.6. Его целью является просто равномерное распределение ресурсов отведенной полосы между ее потребителями.
Работает он следующим образом: внутреняя очередь планировщика разделяется на заданное количество виртуальных очередей (слотов). Каждый слот, в свою очередь, имеет жестко заданный предел количества находящихся в нем пакетов. Внутренний классификатор распределяет поступающие в планировщик пакеты по слотам, основываясь либо на ip адресе получателя, либо на ip адресе отправителя. При выборе пакета из планировщика, слоты будут обрабатываться циклически, что обеспечит более или менее равномерное распределение.

Скачать:

Планировщик (ядро 2.6.29): sch_srr.v0.4.4.tgz
Планировщик (ядро 2.6.24): sch_srr.v0.4.2.tgz
Планировщик (ядро 2.6.22): sch_srr.v0.4.1.бtgz
Планировщик (ядро 2.6.20): sch_srr.v0.4.tgz

make && make install

iproute2: iproute-20041019.srr.patched.v0.4.tgz

./configure && make SBINDIR=/sbin && make SBINDIR=/sbin install

http://mordor.strace.net/sched-srr/


# reset all qdisc
tc qdisc del dev eth0 root
tc qdisc del dev eth0 ingress
#
tc qdisc add dev eth0 root handle 1:0 htb default 17
tc class add dev eth0 parent 1: classid 1:1 htb rate 928kbit ceil 1024kbit
#
tc class add dev eth0 parent 1:1 classid 1:11 htb rate $[928/8]kbit ceil 928kbit burst 10k prio 1
tc class add dev eth0 parent 1:1 classid 1:12 htb rate $[928/8]kbit ceil 928kbit burst 10k prio 2
tc class add dev eth0 parent 1:1 classid 1:13 htb rate $[928/8]kbit ceil 928kbit burst 10k prio 3
tc class add dev eth0 parent 1:1 classid 1:14 htb rate $[928/8]kbit ceil 928kbit burst 10k prio 4
tc class add dev eth0 parent 1:1 classid 1:15 htb rate $[928/8]kbit ceil 928kbit burst 10k prio 5
tc class add dev eth0 parent 1:1 classid 1:17 htb rate $[928/8]kbit ceil 928kbit burst 10k prio 7
#
tc qdisc add dev eth0 parent 1:11 handle 11: srr slots 64 limit 1024 classify dst
tc qdisc add dev eth0 parent 1:12 handle 12: srr slots 64 limit 1024 classify dst
tc qdisc add dev eth0 parent 1:13 handle 13: srr slots 64 limit 1024 classify dst
tc qdisc add dev eth0 parent 1:14 handle 14: srr slots 64 limit 1024 classify dst
tc qdisc add dev eth0 parent 1:15 handle 15: srr slots 64 limit 1024 classify dst
tc qdisc add dev eth0 parent 1:17 handle 17: srr slots 64 limit 1024 classify dst
#
# ssh + telnet
tc filter add dev eth0 parent 1:0 prio 1 protocol ip u32 match ip protocol 6 0xff match ip sport 22 0xfffe classid 1:11
#
# icmp
tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip protocol 1 0xff classid 1:12
#
# dns
tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip sport 53 0xffff classid 1:12
#
# icq, jabber, firebird, postgres
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 5190 0xffff classid 1:13
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 5222 0xffff classid 1:13
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 5223 0xffff classid 1:13
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 3050 0xffff classid 1:13
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 5432 0xffff classid 1:13
#
# rdesktop, pop3, smtp, imap
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 443 0xffff classid 1:14
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 3389 0xffff classid 1:14
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 110 0xffff classid 1:14
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 25 0xffff classid 1:14
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 143 0xffff classid 1:14
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32 match ip protocol 6 0xff match ip sport 220 0xffff classid 1:14
#
# ftp, http, https,
tc filter add dev eth0 parent 1:0 prio 4 protocol ip u32 match ip protocol 6 0xff match ip sport 21 0xffff classid 1:15
tc filter add dev eth0 parent 1:0 prio 4 protocol ip u32 match ip protocol 6 0xff match ip sport 80 0xffff classid 1:15
tc filter add dev eth0 parent 1:0 prio 4 protocol ip u32 match ip protocol 6 0xff match ip sport 8080 0xffff classid 1:15
tc filter add dev eth0 parent 1:0 prio 4 protocol ip u32 match ip protocol 6 0xff match ip sport 3128 0xffff classid 1:15
#
# udp
tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip protocol 17 0xff classid 1:17


Код: Выделить всё

tc -s qdisc ls


Полезная информация:

http://www.opennet.ru/base/net/adsl_qos.txt.html
http://gazette.linux.ru.net/rus/articles/taleLinuxTC.html
http://belgorod.lug.ru/wiki/index.php/Шейпер

Оригинал:
livelinux.ru
Сделай то что хочешь из того что нравится!
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: Приоритезация и динамический шейпинг SRR

Сообщение expdot »

спасибо
вот бы больше информации по распределению траффика
эпический LARTC достаточно устарел
Спасибо сказали:
expdot
Сообщения: 176
ОС: Fedora 13, Win Vista

Re: Приоритезация и динамический шейпинг SRR

Сообщение expdot »

подскажите, чем оно лучше чем ESFQ
Спасибо сказали:
Аватара пользователя
SyCraft
Сообщения: 8
ОС: ubuntu

Re: Приоритезация и динамический шейпинг SRR

Сообщение SyCraft »

В отличие от esfq для SRR нет необходимости пересобирать ядро. в sfq, flow который может работать с src хешем появился начиная с ядра 2.6.25, а значит в энтерпрайзе будет не скоро

обновился конфиг на осеновном сайте, расширина классификация трафика, внесены уточнения в некласифицируемый трафик.
Сделай то что хочешь из того что нравится!
Спасибо сказали:
alex22yu
Сообщения: 1

Re: Приоритезация и динамический шейпинг SRR

Сообщение alex22yu »

а у кого есть Simple Round Robin, а то сайт http://mordor.strace.net/sched-srr/ не работает?
Спасибо сказали:
Аватара пользователя
SyCraft
Сообщения: 8
ОС: ubuntu

Re: Приоритезация и динамический шейпинг SRR

Сообщение SyCraft »

alex22yu писал(а):
28.09.2009 17:39
а у кого есть Simple Round Robin, а то сайт http://mordor.strace.net/sched-srr/ не работает?



у меня есть стукни в аську 3-174-139
Сделай то что хочешь из того что нравится!
Спасибо сказали:
everererest
Сообщения: 1

Re: Приоритезация и динамический шейпинг SRR

Сообщение everererest »

а у кого есть Simple Round Robin,(sch_srr.v0.4.4.tgz) а то сайт http://mordor.strace.net/sched-srr/ не работает?Бросьте pls на espirantomail@gmail.com
Спасибо сказали: