The OpenNET Project / Index page

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

[FreeBSD] ipfw2 динамическое ограничение кол-ва сессий для ip (freebsd ipfw bandwidth trafic shaper queue)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, ipfw, bandwidth, trafic, shaper, queue,  (найти похожие документы)
Date: Thu, 26 Feb 2004 03:07:36 +0500 From: Alexander Sheiko <adsh@i.com.ua> Newsgroups: ftn.ru.unix.bsd Subject: [FreeBSD] ipfw2 динамическое ограничение кол-ва сессий для ip --- cut Если ограничение пропускной способности для каждого конкретного пользователя - не самоцель, а только средство "справедливо" разделить между ними имеющийся канал, то более корректной будет работа с одним каналом и несколькими очередями (возможно, с различным проиритетом), например: /sbin/ipfw pipe 1 config bw 1000Kbit/s /sbin/ipfw queue 1 config pipe 1 weight 50 mask dst-ip 0x00000000 /sbin/ipfw add queue 1 ip from any to 192.168.0.1/24 справедливо разделит пропускную способность в 1 мегабит между всеми пользователями сети, т.к. очереди равноприоритетны (пакеты будут выходить из пользовательских очередей "по очереди") /sbin/ipfw pipe 1 config bw 1000Kbit/s /sbin/ipfw queue 1 config pipe 1 weight 50 mask dst-ip 0x00000000 /sbin/ipfw queue 2 config pipe 1 weight 75 mask dst-ip 0x00000000 /sbin/ipfw add queue 1 ip from any to 192.168.0.1/25 /sbin/ipfw add queue 2 ip from any to 192.168.0.128/25 даст некоторый проиоритет в использовании канала пользователям с адресами, большими 192.168.0.128. Это неплохой инструмент для VIP-обслуживания некоторых абонентов сети без "глобального" ущемления прав рядовых пользователей: если никому из VIP-группы в данный момент канал не нужен, то обычные пользователи делят между собой пропускную способность поровну, но если VIP-абоненту понадобились услуги - простые пользователи автоматически подвигаются --- cut Я бы ещё добавил в конце правил очереди via int in/out... Тебе ещё, возможно, пригодится это http://www.opennet.dev/base/net/ipfw_one_pass.txt.html.
From: Alexander Sheiko <adsh@i.com.ua> AV>>> Как нарезку траффика сделать очень плавной и четкой? Общие сведения: http://www.opennet.dev/base/net/red_qos.txt.html Подробный "разбор полётов": http://www.icir.org/floyd/papers/red/red.html (скачай PDF оттуда) http://www.icir.org/floyd/REDparameters.txt http://ee.tamu.edu/~zzlarry/vprm_red.html http://www.opennet.dev/base/net/linux_traffic_qos.txt.html Hедавно я сам с этим всем разбирался. Переход от tail drop к gred выглядит разительно. В первом случае - скорость прокачки постоянно скачет, в статистике куча дропов. Во втором - наблюдается плавное регулирование скорости, без скачков, и - очень малое количество дропов. Экспериментально у меня очень хорошо заработала такая настройка gred 0.002/10/30/0.1 для конфигурирования очередей (я загонял очереди с масками в пайпы) . Число слотов в очередях поставил в сотню. При увеличении очереди от 10 до 30 слотов - процент дропаемых пакетов плавно растёт от нуля до 10. При дальнейшем увеличении очереди (2 х 30 = 60 слотов) - процент дропаемых пакетов плавно растёт от 10 до 100. В случае простого red - после достижения очереди в 30 слотов дропаются все пакеты. Gred тут действует заметно мягче. Смысл тут в том, что, при передаче данных, исходя из процента дропнутых пакетов (и не только), автоматически устанавливатся оптимальная скорость передачи. Если что написал не совсем точно - пусть меня коллеги поправят.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, jonson (?), 15:19, 27/03/2006 [ответить]  
  • +/
    прописал у себя
    /sbin/ipfw pipe 1 config bw 2000Kbit/s
    /sbin/ipfw queue 1 config pipe 1 weight 50 mask dst-ip 0x00000000
    /sbin/ipfw add queue 1 ip from any to 192.168.20.0/24
    как проверить что это работает? так как изменений я не заметил
     
  • 2, Александр (??), 13:09, 16/01/2008 [ответить]  
  • +/
    Как разделить общий канал 3Мбит при условии:
    в общем канале есть пользователи
    1я очередь - пользователи с высоким приоритетом,
    2я очередь - пользователи с низким приоритетом
    3я очередь - все что осталось, делят между собой пользователи с выделеной полосой 128, 256к и получали свою полосу в случае если общая полоса не занята пользователями с высокими приоритетами. 1 и 2

    или так
    как разделить 3Мбит из условий:
    1Мбит для 2х очередей
    1я очередь - высокий приоритет
    2я очередь - низкий  приоритет
    и в оставшиеся 2Мбит запихать пользователй 128, 256к
    причем если 2мбит свободны то каждый из них получал гарантированые 128, 256
    если канал занят то пользователи с 128 и 256 каналами делили все поровну.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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