» » » Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO


Авторские права

Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO

Здесь можно скачать бесплатно "Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO" в формате fb2, epub, txt, doc, pdf. Жанр: Программное обеспечение. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Linux Advanced Routing & Traffic Control HOWTO
Автор:
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Linux Advanced Routing & Traffic Control HOWTO"

Описание и краткое содержание "Linux Advanced Routing & Traffic Control HOWTO" читать бесплатно онлайн.



Оригинальную версию документа вы найдете по адресу http://lartc.org/.

Практическое руководство по применению iproute2 (и в меньшей степени netfilter) для управления трафиком.






Базовое время ожидания отклика:

туда-обратно мин/ср/макс = 14.4/17.1/21.7 мсек


Во время скачивания, без формирователя трафика:

туда-обратно мин/ср/макс = 560.9/573.6/586.4 мсек


Во время отправки большого объема, без формирователя трафика:

туда-обратно мин/ср/макс = 2041.4/2332.1/2427.6 мсек


С формирователем трафика, при отправке большого файла на скорости 220 Кбит/сек:

round-trip min/avg/max = 15.7/51.8/79.9 мсек


С формирователем трафика, при скачивании на скорости 850 Кбит/сек:

туда-обратно мин/ср/макс = 20.4/46.9/74.0 мсек


При наличии исходящего трафика, скорость входящего достигает ~80% от максимально возможного значения. Скорость исходящего трафика колеблется около 90%. При этом время ожидания подскакивает до 850 мсек, причина пока не выяснена.

Чего можно ожидать от этого сценария, во многом зависит от фактической пропускной способности канала для исходящего потока. При наличии объемного исходящего трафика, перед исходящим интерактивным пакетом практически всегда будет стоять какой либо другой пакет, что и обусловливает нижний предел времени ожидания. Вы можете рассчитать этот предел, разделив MTU на максимальную скорость для исходящего потока. Типичные значения будут несколько выше. Чтобы достичь лучшего эффекта, можно попробовать несколько уменьшить MTU!

Ниже приводятся две версии сценария формирователя трафика. Одна версия построена на базе HTB, разработанной Девиком (Devik), другая -- на базе CBQ, которая, в отличие от HTB, включена в состав ядра Linux. Оба сценария проверены и дают прекрасные результаты.

15.8.2. Формирователь трафика на базе CBQ.

Может работать практически с любой версией ядра. В данной реализации, внутри CBQ qdisc размещаются две SFQ (Stochastic Fairness Queues), что даст возможность равноправного сосуществования нескольких потоков данных.

Входящий трафик формируется с помощью tc-фильтров, содержащих Token Bucket Filter.

Вы можете улучшить сценарий за счет добавления ключевых слов bounded в строках, начинающихся со слов tc class add .. classid 1:20. Если вы предполагаете уменьшать MTU, не забудьте уменьшить и значения allot и avpkt!

#!/bin/bash


# Формирователь трафика для домашнего соединения с Интернет

#

#

# Установите следующие параметры так, чтобы они были немного меньше фактических

# Единицы измерения -- килобиты

DOWNLINK=800

UPLINK=220

DEV=ppp0


# очистка входящей и исходящей qdisc

tc qdisc del dev $DEV root 2> /dev/null > /dev/null

tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null


###### исходящий трафик


# установка корневой CBQ


tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit


# ограничить общую исходящую скорость величиной $UPLINK -- это предотвратит

# появление огромных очередей в DSL модеме,

# которые отрицательно сказываются на величине задержки:

# базовый класс


tc class add dev $DEV parent 1: classid 1:1 cbq rate ${UPLINK}kbit \

 allot 1500 prio 5 bounded isolated


# высокоприоритетный (интерактивный) класс 1:10:


tc class add dev $DEV parent 1:1 classid 1:10 cbq rate ${UPLINK}kbit \

 allot 1600 prio 1 avpkt 1000


# класс по-умолчанию 1:20 -- получает немного меньший объем трафика

# и имеет более низкий приоритет:


tc class add dev $DEV parent 1:1 classid 1:20 cbq rate $[9*$UPLINK/10]kbit \

 allot 1600 prio 2 avpkt 1000


# оба получают дисциплину Stochastic Fairness:

tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10

tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10


# определения фильтров

# TOS = Minimum-Delay (ssh, НО НЕ scp) -- в 1:10:

tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \

 match ip tos 0x10 0xff flowid 1:10


# ICMP (ip protocol 1) -- в интерактивный класс 1:10

# так мы сможем удивить своих друзей:

tc filter add dev $DEV parent 1:0 protocol ip prio 11 u32 \

 match ip protocol 1 0xff flowid 1:10


# Поднять скорость входящего трафика, при наличии исходящего -- передать ACK-пакеты

# в интерактивный класс:

tc filter add dev $DEV parent 1: protocol ip prio 12 u32 \

 match ip protocol 6 0xff \

 match u8 0x05 0x0f at 0 \

 match u16 0x0000 0xffc0 at 2 \

 match u8 0x10 0xff at 33 \

 flowid 1:10


# остальной трафик не является интерактивным поэтому передаем его в 1:20

tc filter add dev $DEV parent 1: protocol ip prio 13 u32 \

 match ip dst 0.0.0.0/0 flowid 1:20


########## входящий трафик #############

# необходимо несколько уменьшить скорость поступления входящего трафика,

# это предотвратит задержку пакетов в очередях у поставщика услуг.

# Поставщики имеют обыкновение увеличивать размеры очередей,

# поэтому, экспериментальным путем подберите требуемые значения,

# при которых скачивание будет происходить с максимальной скоростью.

#

# присоединить входной ограничитель:


tc qdisc add dev $DEV handle ffff: ingress


# сбрасывать все подряд (0.0.0.0/0), что приходит со слишком большой скоростью.


tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \

 0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1

Если вы собираетесь использовать этот сценарий совместно с ppp — скопируйте его в /etc/ppp/ip-up.d.

Если последние две строки в сценарии порождают сообщения об ошибке — обновите версию tc!

15.8.3. Формирователь трафика на базе HTB.

Следующий вариант сценария достигает поставленных целей за счет использования замечательных особенностей HTB (см. раздел Hierarchical Token Bucket). Требует наложения "заплаты" на ядро!

#!/bin/bash


# Формирователь трафика для домашнего соединения с Интернет

#

#

# Установите следующие параметры так, чтобы они были немного меньше фактических

# Единицы измерения -- килобиты

DOWNLINK=800

UPLINK=220

DEV=ppp0


# очистка входящей и исходящей qdisc

tc qdisc del dev $DEV root    2> /dev/null > /dev/null

tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null


###### исходящий трафик


# установка корневой HTB, отправить трафик по-умолчанию в 1:20:


tc qdisc add dev $DEV root handle 1: htb default 20


# ограничить общую исходящую скорость величиной $UPLINK -- это предотвратит

# появление огромных очередей в DSL модеме,

# которые отрицательно сказываются на величине задержки:


tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 6k


# высокоприоритетный (интерактивный) класс 1:10:


tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${UPLINK}kbit \

   burst 6k prio 1


# класс по-умолчанию 1:20 -- получает немного меньший объем трафика

# и имеет более низкий приоритет:


tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[9*$UPLINK/10]kbit \

   burst 6k prio 2


# оба получают дисциплину Stochastic Fairness:

tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10

tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10


# TOS = Minimum-Delay (ssh, НО НЕ scp) -- в 1:10:

tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \

      match ip tos 0x10 0xff  flowid 1:10


# ICMP (ip protocol 1) -- в интерактивный класс 1:10

# так мы сможем удивить своих друзей:

tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \

match ip protocol 1 0xff flowid 1:10


# Поднять скорость входящего трафика, при наличии исходящего -- передать ACK-пакеты

# в интерактивный класс:


tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \

   match ip protocol 6 0xff \

   match u8 0x05 0x0f at 0 \

   match u16 0x0000 0xffc0 at 2 \

   match u8 0x10 0xff at 33 \

   flowid 1:10


# остальной трафик не является интерактивным поэтому он попадает в 1:20


########## входящий трафик #############

# необходимо несколько уменьшить скорость поступления входящего трафика,

# это предотвратит задержку пакетов в очередях у поставщика услуг.

# Поставщики имеют обыкновение увеличивать размеры очередей,

# поэтому, экспериментальным путем подберите требуемые значения,

# при которых скачивание будет происходить с максимальной скоростью.

#

# присоединить входной ограничитель:


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Linux Advanced Routing & Traffic Control HOWTO"

Книги похожие на "Linux Advanced Routing & Traffic Control HOWTO" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Bert Hubert

Bert Hubert - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO"

Отзывы читателей о книге "Linux Advanced Routing & Traffic Control HOWTO", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.