280 likes | 439 Views
Quality of Service и шейпинг трафика. Автор: Ковалев Максим, группа С-84, 2011 г. maxim.kovalev@2012.auditory.ru. Качество. ISO9000 Заявленное и полученное. 1. Как продавать интернет?. Клиентов много Канал один. 2. Виртуальный канал. Максимальное качество Высокая цена
E N D
Quality of Service и шейпинг трафика Автор: Ковалев Максим, группа С-84, 2011 г. maxim.kovalev@2012.auditory.ru
Качество • ISO9000 • Заявленное и полученное 1
Как продавать интернет? • Клиентов много • Канал один 2
Виртуальный канал • Максимальное качество • Высокая цена • Низкая потребность: пульсация трафика 3
Неравномерность пульсаций • Много клиентов в одном канале • Друг друга не заметят 4
HTB • Полоса гарантированного пропускания • QoS не максимальный но известный 5
Провайдеры Анти-QoS Ограничение, но не гарантия QoS только для юрлиц 6
QoS дома Одно подключение Несколько компьютеров Торренты Web Skype 7
Netfilter Iptables tc 8
Понятия Класс Дисциплина Фильтр 9
Базовая дисциплина tc qdisc add dev eth0 root handle 1: htb default 12 10
Иерархия классов tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:2 htb rate 40kbps ceil 100kbps tc class add dev eth0 parent 1:2 classid 1:10 htb rate 30kbps ceil 100kbps tc class add dev eth0 parent 1:2 classid 1:11 htb rate 10kbps ceil 100kbps tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps 11
Фильтры tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \ match ip src 1.2.3.4 match ip dport 80 0xffff flowid 1:10 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \ match ip src 1.2.3.4 flowid 1:11 12
Только исходящие Контролируем только своим пакеты Отбросив входящие, не уменьшим загрузку 13
Шейпинг TCP Ожидание пакета пакет Шейпер задержка Сервер Клиент Ожидание подтверждения 14
IFB Псевдоустройство Управляется tc Входящий трафик в исходящий 15
Проблемы фильтра NAT или одна машина Исходящий порт запроса случайный Нет признаков входящего пакета ipp2p и MASQUERADE работают после tc 16
Создаём признак Случайный sport Заданный sport NAT ipp2p torrent Сервер Заданный dport Шейпер match dport 17
Ставим модули sudo apt-get install xtables-addons-common sudo apt-get install module-assistant sudo module-assistant auto-install xtables-addons-source 18
Включаем IFB sudo /sbin/depmod -a sudo modprobe ifb sudo ip link set dev ifb0 up 19
Настраиваем NAT iptables -F sudo iptables -t nat -A POSTROUTING --match ipp2p --bit -p tcp -j MASQUERADE --to-ports 4096-4249 sudo iptables -vnL 20
Базовый класс tc qdisc add dev ifb0 root handle 1: htb default 12 tc class add dev ifb0 parent 1: classid 1:1 htb rate 5000kbit ceil 5000kbit 21
Дисциплины шейпинга tc class add dev ifb0 parent 1:1 classid 1:11 htb rate 100kbit ceil 5000kbit tc class add dev ifb0 parent 1:1 classid 1:12 htb rate 4900kbit ceil 5000kbit 22
Фильтр torrent tc filter add dev ifb0 parent 1:1 protocol ip prio 1 u32 match ip dport 0x1000 0xff00 flowid 1:11 23
Активируем IFB tc qdisc add dev eth0 ingress tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0 24
Проверяем tc -s -d class show dev ifb0 sudo iptables -vnL 25
Прибираем iptables -F tc qdisc del dev eth0 root tc qdisc del dev eth0 ingress tc qdisc del dev ifb0 root tc qdisc del dev ifb0 ingress 26
Конец Quallity of service и шейпинг трафика Ковалев Максим Максимович АВТ, кафедра ИКТ, 4 курс maxim.kovalev@2012.auditory.ru