LINUX.ORG.RU
ФорумAdmin

Шэйпинг траффика

 


0

2

Как разделить 100мбит между 100 ип, гарантировав скорость каждому в 1мбит, и увеличение до 100мбит если канал свободен? Для каждого ип отдельное правило писать?

★★★

разделить 100мбит между 100 ип

Ну ты и барыга... А я просто с соседом скидываюсь на общее подключение.

Как сделать это через правила я не знаю, но вот тебе немножко теории. Обычно (если нет приоритетов) шлюз поровну делит полосу пропускания между всеми соединениями. Не клиентами, а именно соединениями. Современные браузеры и уж тем более торрент-клиенты открывают десятки соединений. В результате полоса пропускания распределяется между клиентами не по каким то принципам справедливости, а по принципу «кто больше хапнет».

То есть задача состоит в том что бы все пакеты от одного клиента, завернуть в одно TCP соединение. А вернее пакеты ДЛЯ одного клиента. И вот здесь начинается главная сложность. Проблема ведь не с передаваемыми данными, а с принимаемыми из интернета. Все их нужно принимать и отдавать клиентам. то есть смысл шейпинга в регулировке входящего потока.

Поэтому нужно сформулировать задачу по другому. Как гарантировать для каждого клиента входящий канал 1 мегабит/секунду? И уже от этого начинать гуглить.

http://www.calculate-linux.org/main/ru/configuration_of_gateway_server#Настро...

Можно сделать всё несколько проще. Заверни весь http и https трафик на прозрачный шлюз, например SUQID, в его настрой на шейпинг.

https://www.google.ru/search?newwindow=1&dcr=0&biw=1440&bih=744&a...

Торренты порежь специальным правилом или заверни их через виртуальный интерфейс с пропускной способностью 10 мегабит/секунду.

PeKar
()
Ответ на: комментарий от PeKar

Обычно (если нет приоритетов) шлюз поровну делит полосу пропускания между всеми соединениями.

поровну делит дисциплина SFQ, А дисциплина по умолчанию pfifo_fast, которая работает «по принципу „первым пришел, первым ушел“ (First In, First Out). Это означает, что ни один пакет не получает специальной обработки. Однако это не совсем так. Данная очередь имеет три, так называемых, „полосы“. В каждой „полосе“ пакеты обрабатываются по принципу FIFO. Но полоса 1 не будет обслуживаться до тех пор, пока есть пакеты в полосе 0. Аналогично, пока есть пакеты в полосе 1, не обрабатывается полоса 2.» Резать торренты не вижу смысла, хочу просто каждому ип предоставить гарантированную полосу 1мбит, а чем ее забивать пусть каждый пользователь сам решает.

voltmod ★★★
() автор топика

как-то так:

$TC qdisc add dev $LAN root handle 1: hfsc default 12 $TC class add dev $LAN parent 1:1 classid 1:12 hfsc sc umax 1540 dmax 5ms rate 1Mbit ul rate 95Mbit $TC qdisc add dev $LAN parent 1:12 handle 50: sfq perturb 10 $TC filter add dev $LAN pref 1 parent 1:12 protocol ip handle 312 flow hash keys dst divisor 1024

anonymous
()
Ответ на: комментарий от PeKar

Не поможет, трафик торрента не ходит по портам 80 и 443, сквид ограничит скорость по портам на которые принимает соединения т.е. https & http

dispancer
()
Ответ на: комментарий от dispancer

проверял - торрент через него проходит незаметно, да в принципе как и все остальное

Насколько я знаю, торрент предпочитает UDP. Как я уже писал, всё UDP и всё не web нужно завернуть на отдельный виртуальный интерфейс.

PeKar
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.