Режем по-взрослому, или «advanced traffic shaping» :)

Поставили мне тут задачу: вырезать полосу гарантированной пропускной способности под видео-поток, но очень хитро вырезанную и с заумными требованиями…

Поток — 6 Мбит/с, когда он бегает — все курят и пользуются только тем, что осталось. Но когда потока нет — эта полоса должна отдаваться клиентам, которым «вечно не хватает скорости». Эдакая труба с плавающей границей. В нагрузку — нужно распределить приоритеты трафика (чтобы многогигабайтные ftp-транзакции не ложили канал и DNS-запросы в очередь не выстраивались), ну и, естественно, выдать определенным людям «правильные» приоритеты. Мрак, короче…

Со статической нарезкой в пингвинах (базовые понятия о CBQ и иже с ним) я когда-то сталкивался, хоть и давно. С динамической — столкнулся впервые…

Базовые знания и быстрый гуглинг (в стиле: что народ юзает и для каких задач) подсказали копать в сторону «HTB» + «fw-mark». Поскольку мы ВЗРОСЛЫЕ пингвины, то использовать костыли, а-ля htb.init и иже с ним, мы не будем (ввиду их ущербности и неприменимости к нашей задаче). Было решено строить полосы и цепочки вручную, с помощью монстрячей штуковины «tc» и «iptables»…

Весь день провел за раскуриванием «прозрачного» мануала LARTC и сочинением аццкого скрипта. Назвать это творчество прозрачным — все равно, что микрософт делить — сплошное на2.7балово. Мозги нафик опухли, скурена пачка сигарет, выпито несколько литров кофе…

РАБОТАЕТ! Вождь в экстазе! Все летает, расчитываем на премию… 😉

5 отзывов на Режем по-взрослому, или «advanced traffic shaping» :)

  1. Я когда-то подобное на ipfw / ipf делал. Нелюблю эти пингвиновы iptables… практически с деццтва 🙄

  2. пофигу, ибо iptables только маркирует пакеты… разбирает один фиг либо htb, либо cbq 😉

  3. Странно, я тестил — работало… 🙄
    Надо будет вдумчиво логи почтовика посмотреть…

  4. Посмотрел:

    2008-06-02 16:31:32 1K3A8K-0001Hq-Jn <= робот@media100.tv U=apache P=local S=1423 id=d8abe35816d4d529d25ce8daaf188383@ctpelok.com 2008-06-02 16:31:33 1K3A8K-0001Hq-Jn => твоемыло@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [209.85.135.114]
    2008-06-02 16:31:33 1K3A8K-0001Hq-Jn Completed

    Все уходит. Смотри в своих спам-фильтрах… 8)

Добавить комментарий