Последние тесты и рассуждения
:
Так выглядит обычный выход в инет
Цитата:
/.........
/ -------(канал до пользователя1)---ЮЗВЕРЬ
ПРОВАЙДЕР ----(канал в инет )---- НАШ СЕРВЕР---|-------(канал до пользователя2)----ЮЗВЕРЬ
\--------(канал до пользователя3)---ЮЗВЕРЬ
\........
Подход к решению проблемы с шейпингом: Мы вручную за счет программы Tispd устанавливали ограничения(восновном входящие) на нашем сервере(НАШ СЕРВЕР).
Но исходящий траффик пользователей никак не резали?(канал до пользователя Х).
Обьясняю к чему это приводит: Пользователь лезет куда-то или чо-то качает -> усиленно кидает пакетыв инет на удаленные сервера. В обратку они шлют ему ответ(входящий трафф, который мы так хотим правильно резать ака шейперить). Дальше уже идет такая цепочка - сервер из инета начинает кидать через вас вашему пользователю трафф, забивая тем самым ваш общий канал(канал в инет), и как только доходит до вашего сервера(НАШ СЕРВЕР) этот трафф начинает усиленно резаться, посредством нашего любимого ТИ и выдаваться юзеру скажем так - помаленьку. К чемуже это приводит? --- канал просто захлебывается однотипной информацией, которую сервер все кидает пакеты... а пользователь их не получает. То есть общий канал в инет забит(чего очень как раз и не хочется), а вот канал до юзера, после нашего сервака - пропускает стока инфы, скока мы ему и разрешаем. В итоге мы просто напросто сами как не парадоксально забиваем свой же канал, урезая входящий канал до пользователя.
Выход из сложившейся ситуации: Необходимо резать исходящий траффик пользователя(исходящие пакеты или запросы), соответственно входящий траффик будет контролируем, причем он будет одинаков, что до пользователя, что до сервера из инета.
Проблема этого метода: Существуют разные способы использования интернета
Самым проблематичным для меня является 80 порт(он же самый распространенный). При скачиванни файла из интернета коэфициент входящего и исхоядщего примерно 50 к 1.
При просмотре сайтов 4 к 1.(цифры приблизительны и возможно не всегда точны).
Как видим разница огромна, поэтому нужно пересмотреть взгляд на решение проблемы.
Решение проблемы по средством программирования:
Необходимо переделать, или сделать шейпер(так как тема про ТИСПД, то пишу на основе этого модуля) который будет анализировать входящий траффик и изменять значения ограничения исходящего трафа. Это возможно сделать так - в модуле мы будем также указывать ограничение на прием допустим 40кбит/с.(у всех пользователей галочка с ограничения входящего траффика выключена) Модуль ставит допустим ограничение на исходящий трафф в 1кбит/с(считая, что пользователь начал закачку). Дальше через "ВРЕМЯ_ОБНОВЛЕНИЯ_С_СЕРВЕРА_ТИ" мы получаем сумму входящего трафа за 1с(приведем к системе СИ
), теперь модуль сравнивает, если входящий траф в 1 секунду меньше, чем ограничение, то можно и увеличить ему ограничение -> увеличить и входящий траффик. А если же привышает входящий трафф ограничения(виртуального, которое мы указали в модуле, но оно больше нигде не используется), то исходящую скорость нада резать, что приведет к общему уменьшению нагрузки на канал из интернета.
Собственно в крадце всё Жду собственно мнений, по данному решению, особенно хочу услышать Юру.(GuestABC)
Считаю, что модуль получится достаточно близок к реальности, скажем так реальным настолько, насколько это можно сделать на уровне модуля к ТИ.