The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Справедливое прозрачное распределение полосы пропускания во ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от opennews (??) on 01-Дек-08, 12:10 
""Справедливый" прозрачный шейпер на FreeBSD  (http://www.opennet.ru/base/net/transparent_shaper.txt.html)" - пример настройки FreeBSD для равномерного распределения полосы пропускания между конечными клиентами.

URL: http://www.opennet.ru/base/net/transparent_shaper.txt.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=19158

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Nick email(??) on 01-Дек-08, 12:10 
>    [Router]---[Shaper]---[Router]

Да таких хавату пруд-пруди.

А вот если сам роутер является одним из потребителей инета одновременно с клиентами _за_ ним - то на этот вопрос и линух толком не отвечает...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от fa email(??) on 01-Дек-08, 12:47 
Зря Вы так. Статья хорошая. Кратко и по делу. Даже с готовым решением.

Кстати, подскажите, как правильно выбрать верхнюю планку канала (то, что в статье urate и drate). Пару раз приходилось чуть ли не воевать с клиентами, которым ставил шейпер. Все норовят поставить число повыше.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от terminus (ok) on 01-Дек-08, 13:06 
С научной точки зрения не расскажу, потому, что не помню уже как расчитывать (лабараторки делали, но было это давно) :(
Но в общем есть такая вешь в теории информации - есть теоремы доказывающие, что при передаче сигнала в канале с задержкой и потерями, обеспечить передачу без потерь можно только тогда, когда скорость источника меньше скорости канала (короче канал должен быть чуть больше чем скорость источника). Вот поэтому и зарезают на шейпере делая чуть меньше иначе начинают проявляться непредвиденные потери.

Кто конкретней опишет как расчитывать? Обычно, кажется, выставляют на 1-2% меньше.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Дмитрий Иванов email on 01-Дек-08, 13:49 
Теория информации здесь ни при чем. Скорее, теория очередей, a.k.a. теория массового обслуживания.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Nick email(??) on 01-Дек-08, 13:22 
>Кстати, подскажите, как правильно выбрать верхнюю планку канала (то, что в статье
>urate и drate). Пару раз приходилось чуть ли не воевать с
>клиентами, которым ставил шейпер. Все норовят поставить число повыше.

Ну, как грицо, "социализм - это контроль и учет".
Контроль - понятно, а вот учет изучает наука метрология.
Следовательно, все и каждый выводы должны быть метрологически состоятельны
(а не как рабские кредиты в современном банке: берешь 100%, возвращаешь >=120%).

Автор сделал верхнюю планку ниже (не суть на сколько) с подчеркнутой целью:
создать очередь своих клиентов у себя, а не у ISP. Почему это так для него важно - в статье, увы, не рассмотрено и принято за аксиому.

У нас 2 варианта: полнота использования того, за что заплачено (100мбит в примере);
и некие плюсы, принятые автором за аксиому.
Не доказав пользу второго - автоматом стоит принимать первый (т.к. деньги, все же, заплОчены).
Итого, наш шейпер выстраивает последовательность пришедших ему исходящих пакетов согласно настроенным правилам. И отправляет их апстриму. Т.е. апстрим получает от нас запросы в уже заданном нами порядке. А т.к. нормального апстрима НЕ ДОЛЖНО волновать что и по каким протоколам (TCP, UDP, ICMP...) поверх IP (собственно, услуга апстрима; но тут уж нужно принимать во внимание текст договора с апстримом) мы передаем - то последовательность наших запросов апстрим НЕ меняет, "гоним" ли мы на него наши законные 100мбит, 95 или пытаемся загнать все 200. С какой реальной скоростью он уже будет обслуживать наши упорядоченные запросы - уже нашего шейпера касаться не должны. Но если касаются, и реальная пропускная ниже установленной в нашем шейпере ( < urate) - то в конце концов дропы (ответное падение пропускной) постигнут наших клиентов в любом случае.
Возможно, автор опасается именно этого, (а на практике апстримы могут реально давать такие результаты) и принимает алгоритм дропа как случайный - то да, чтобы улучшить качество приоритезации - стоит опустить планку ниже апстрима.
Но если алгоритм дропа _может_ учитывать заданные параметры шейпера и дропать недополученную полосу у всех клиентов согласно их лимитам - то любое падение пропускной апстрима отразится на всех клиентах ожидаемым образом, согласно лимитам.

В зависимости от того может ли такое ваша ОС - вы определяете занимать ли вам всю полосу или все же "чучуть" ниже.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Дмитрий Иванов email on 01-Дек-08, 13:53 
>Автор сделал верхнюю планку ниже (не суть на сколько) с подчеркнутой целью:
>
>создать очередь своих клиентов у себя, а не у ISP. Почему это
>так для него важно - в статье, увы, не рассмотрено и
>принято за аксиому.

.........

>[оверквотинг удален]
>обслуживать наши упорядоченные запросы - уже нашего шейпера касаться не должны.
>Но если касаются, и реальная пропускная ниже установленной в нашем шейпере
>( < urate) - то в конце концов дропы (ответное падение
>пропускной) постигнут наших клиентов в любом случае.
>Возможно, автор опасается именно этого, (а на практике апстримы могут реально давать
>такие результаты) и принимает алгоритм дропа как случайный - то да,
>чтобы улучшить качество приоритезации - стоит опустить планку ниже апстрима.
>Но если алгоритм дропа _может_ учитывать заданные параметры шейпера и дропать недополученную
>полосу у всех клиентов согласно их лимитам - то любое падение
>пропускной апстрима отразится на всех клиентах ожидаемым образом, согласно лимитам.

Да, вы более развернуто объяснили то, что мне казалось очевидным.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Nick email(??) on 01-Дек-08, 14:08 
Я вообще, по жизни, не занимался глубокими изысканиями в этом вопросе: насколько высоко задавать планку шейпера.

Но я изучал "Достаточно общую теорию управления" (ДОТУ) авторского коллектива ВП СССР.
Как видите, она дает возможность войти в любую проблемматику и дать достаточно полный анализ.
Горячо рекомендую всем и каждому с целью повышения управленческих способностей:
http://dotu.ru/2004/06/23/20040623-dotu_red-2004/

Или в виде аудиокниги:
http://kob.in.ua/sound/dotu_audioboock.rar

ДОТУ лежит в основе Концепции общественной безопасности (КОБ),
которая является единственным (без преувеличений) выходом из того развала,
куда нас опустили в процессе "независимости" после развала СССР.
Рекомендуется всем думающим людям.

Кратко и наглядно изложено в видеолекциях Петрова:
http://pravdu.ru/lessons/petrov/

PS Не примите за спам, ибо это реальные и очень важные знания.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Дмитрий Иванов email on 01-Дек-08, 14:14 
Гы-гы, я с эти делом давно знаком, как и весь наш отдел :)

Собственно, вот: http://dotu.stalin.lv/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Дмитрий Иванов email on 01-Дек-08, 13:48 
Верхнюю планку следует выставлять немного ниже толщины канала. На практике где-то 95%. Главным образом определяется точностью шейпера у вас и у апстрима. Или точностью определения толщины канала (тут тоже бывают варианты). Главное, чтобы очередь гарантированно была у вас, а не в другом месте. В этом главная идея QoS: переносим очередь в то место, где можем управлять ею.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Аноним (??) on 01-Дек-08, 16:50 
> А вот если сам роутер является одним из потребителей инета одновременно с клиентами _за_ ним - то на этот вопрос и линух толком не отвечает...

Да ну?!
"А мужики-то не знают!.." (с)
Видимо, это только у юнг не работает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Nick email(??) on 01-Дек-08, 17:04 
>> А вот если сам роутер является одним из потребителей инета одновременно с клиентами _за_ ним - то на этот вопрос и линух толком не отвечает...
>
>Да ну?!
>"А мужики-то не знают!.." (с)
>Видимо, это только у юнг не работает.

ок, слушаю "на пальцах" как классифицировать пакет-ответ (входящий во интерфейс) на реальный аддресс, за которым сидят И проги с самого роутера И клиенты в локалке.

Т.е. пакет-ответ идет на адресс, на котором осуществляеццо SNAT.
За сим, информации о том кому на самом деле направляется пакет (самому роутеру или одному из клиентов - что доступно только на этапе deNAT'а, а он много дальше, чем ingress на ифейсе с реальным ИП по тракту IP модуля) на этапе входящего (а только там можно зажать траффик для самого роутера) шейпинга.

Я даже предпринял попытку реализовать это дело. Даже написал патч и отправил. Меня послали, но указали в чем я был неправ.

Вобщем, я весь во внимании. ДОпускаю, что чего-то я и не заметил.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от terminus (ok) on 01-Дек-08, 18:20 
На ipfw можно очень по-разному организовать, что сначала - шейпинг или нат. Вот кривиникий пример который будет шейпить все сразу и для клиентов за натом и для самого рутера.

em0 - inet
fxp0 - lan
--
/etc/sysctl.conf
net.inet.ip.fw.one_pass: 0
--

ipfw add 100 allow all from any to any via lo0

ipfw add 210 pipe 100 config bw 95Mbit/s
ipfw add 220 pipe 200 config bw 95Mbit/s
ipfw add 230 queue 111 config weight 30 queue 50 pipe 100 gred 0.002/5/15/0.05
ipfw add 240 queue 112 config weight 70 queue 50 pipe 100 gred 0.002/5/15/0.05
ipfw add 231 queue 211 config weight 30 queue 50 pipe 200 gred 0.002/5/15/0.05
ipfw add 241 queue 212 config weight 70 queue 50 pipe 200 gred 0.002/5/15/0.05

ipfw add 250 queue 111 udp from me to any out via em0
ipfw add 260 queue 112 tcp from me to any out via em0
ipfw add 270 queue 211 udp from any to me in via em0
ipfw add 280 queue 212 tcp from any to me in via em0

ipfw add 290 check-state

ipfw add 300 allow tcp from me to any out via em0 keep-state
ipfw add 400 allow udp from me to any out via em0 keep-state
ipfw add 500 allow ip from me to any out via em0 keep-state

ipfw add 550 queue 111 udp from any to any out via em0
ipfw add 560 queue 112 tcp from any to any out via em0

ipfw add 800 nat 1 config if em0 log deny_in reset same_ports
ipfw add 900 nat 1 all from any to any via em0
ipfw add 1024 allow all from any to any
--

Почитайте вот этот материал - просветляет очень :)
http://nuclight.livejournal.com/124348.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от adsh email(ok) on 01-Дек-08, 16:23 
А как соотносятся:

net.inet.ip.dummynet.hash_size=1024
net.inet.ip.fw.dyn_buckets=1024

если у имеется 4900 динамических очередей? Не мало?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Справедливое прозрачное распределение полосы пропускания во ..."  
Сообщение от Аноним (??) on 01-Дек-08, 20:18 
не кошерный шейпер - он работает по алгоритму дропа пакетов.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру