Автор Тема: Advanced Linux QoS  (Прочетена 2832 пъти)

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Advanced Linux QoS
« -: Sep 26, 2009, 22:08 »
Направих една програма на PHP която подава ip-та на linux машина с използвайки tc от пакета iproute2
Проблема е следния - искам да направя през линукс системата да минава огромен трафик, Дори като обединя 4 мрежови изхода в 2 входни и 2 изходни в 2 gigabit порта сървърът да се справя с огромният трафик.
Проблемът който виждам е в големият брой ip-та и скоростите им които ще претоварят сървъра. Бих искал да задам на сървъра да контролира скоростта на хиляди ip-та.  Протеснява ме факта че cpu lookups ще станат твърде много поради големия брой tc правила

Има ли по-добър вариaнт освен tc да контролирам скоростите на всяко ip? 

Другият вариант е да пиша модул за ядрото но се съмнявам за че ще постигна някакъв резултат
 
Активен

seaman

  • Напреднали
  • *****
  • Публикации: 65
    • Профил
Re: Advanced Linux QoS
« Отговор #1 -: Sep 27, 2009, 10:14 »
Вярно не е за Линукс но:
Ако искаш да правиш велики неща - то хората от solaris са го измислили вече :-).

Потърси в google за crossbow.
Погледни ТУК и ТУК
« Последна редакция: Sep 27, 2009, 10:28 от seaman »
Активен

wfw

  • Напреднали
  • *****
  • Публикации: 249
  • Distribution: Debian
  • Window Manager: none
    • Профил
Re: Advanced Linux QoS
« Отговор #2 -: Sep 27, 2009, 13:37 »
защо не помислиш за друга топология на мрежата? един рутер, който ти рутира трафика без никакви ограничения (малко натоварване при голям мрежов трафик) и няколко по-малки, по-евтини, които да ти управляват shaper-ите за крайните клиенти?
« Последна редакция: Sep 27, 2009, 13:40 от wfw »
Активен

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Re: Advanced Linux QoS
« Отговор #3 -: Sep 27, 2009, 15:05 »
Вярно не е за Линукс но:
Ако искаш да правиш велики неща - то хората от solaris са го измислили вече :-).

Потърси в google за crossbow.
Погледни ТУК и ТУК

Благодаря за идеята. На практика реализирал ли си такова решение и имаш ли наблюдение върху производителността на такова решение?

п.п. Целта ми точно е да сложа един главен рутер от висок клас който да рутира и с по евтини сървъри на ключови места в мрежа да контролирам трафика. Обаче бих искал и да внедря и по-сложни сценарии кадето има огромна мрежа която трябва да се управлява та дори бих искал и да направя опит да сложа един сървър с QoS управляван от моята програма между 2 автономни системи и да тествам как ще се справя
Явно в OpenSolaris е решението
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Re: Advanced Linux QoS
« Отговор #4 -: Sep 27, 2009, 20:11 »
Все пак погледна ли
http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=380752598

Vladsun, там е описал решение проблема с линейното обхождане на правилата.

ipfw + dummynet също има интереснa функционалност в това отношение. Стига да става дума само за чист шейпинг. Но това под *BSD

Всъщност има и портната версия под линукс
http://info.iet.unipi.it/~luigi/dummynet/


Предполагам проблема ще ти повече в pps,  от колкото Mbps
« Последна редакция: Sep 27, 2009, 20:19 от Slevin_ »
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Re: Advanced Linux QoS
« Отговор #5 -: Sep 27, 2009, 22:25 »
Все пак погледна ли
http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=380752598

Vladsun, там е описал решение проблема с линейното обхождане на правилата.

Малко еволюираха решенията ми от тогава ;)

По-добре да се ползва IPSET, вместо чист IPTABLES за контрол на достъпа.
Също така интересно е да се види (още не съм го ползвал) http://www.mail-archive.com/netdev@vger.kernel.org/msg60638.html
Позволява TC да прави същото каквото IPCLASSIFY, според мен.
Това http://lartc.org/howto/lartc.adv-filter.hashing.html също е интересно четиво ;)
« Последна редакция: Sep 27, 2009, 22:27 от VladSun »
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

rcbandit

  • Напреднали
  • *****
  • Публикации: 144
    • Профил
Re: Advanced Linux QoS
« Отговор #6 -: Sep 28, 2009, 03:11 »
получи се така

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 1 u32 match ip src 192.168.1.101 police rate 600kbit burst 15k drop flowid 1:1

Обаче дава неточно скорост когато го пробвах - не мога да го настроя точно скорост да пуска
Как точно се ичислават rate и burst за да се получи точно скорост
« Последна редакция: Sep 29, 2009, 23:01 от rcbandit »
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
advanced linux routing
Настройка на програми
sunhater 13 3843 Последна публикация Jul 02, 2003, 12:41
от KNK
linux advanced routing with iproute2+tc
Преводи на документация
x11r6 23 10570 Последна публикация Nov 27, 2005, 18:34
от divak
Slackware vs Red Hat Enterprise Linux Advanced Ser
Настройка на хардуер
kiroffbg 16 4517 Последна публикация Aug 03, 2005, 11:34
от toxigen
advanced routing
Хардуерни и софтуерни проблеми
st_dimitrov 10 3890 Последна публикация Dec 21, 2005, 00:00
от alex_c
Advanced linux Programming (New Readers; 2001)
Общ форум
angie_bg 6 2465 Последна публикация Apr 21, 2014, 23:15
от gat3way