Rozdeleni downstremu do 2 ifacu pomoci ALTQ
Honza
honza at solc-cz.net
Sun Dec 4 01:58:18 CET 2005
Dekuji za velmi rozsahlou odpoved,
je jasne, ze asi neni zrovna dobry napad zahazovat neco, co uz prislo,
ale jak tedy omezit neohleduplne jedince? Upload jde omezit krasne, to
uz mam nastaveno...
Da se tedy resit omezovani rychlosti downloadu jinak? Jak na zminene UDP
datagramy?
Zatim jsem to vyresil tak, ze na sitovce, na ktere je HW AP, mam 3
fronty - default 99Mbps a pak 2x 512 cbq(borrow), ale tim jsem vyresil
jen to, ze kdyz potrebuji ja, tak mam celou kapacitu, protoze jedu pres
jinej interface - neprijde mi to moc korektni at uz z technickeho, ci
moralniho hlediska. Co delat v tomto pripade?
Honza
Dan Lukes wrote:
>Honza napsal/wrote, On 12/03/05 16:34:
>
>
>>je router, 3 interfacy, na jednom je net, na druhym lan a na tretim wlan, ale net odebiraji lide z lan i z wlan.
>>
>>
>
>
>
>>Potrebuji, aby celou download kapacitu si mohli navzajem "pujcovat" -
>>jediny reseni, ktery me zatim napadlo je, ze pro lan bude 1Mb a pro wlan
>>taky (mam 2Mb downstream z inetu). Ale pokud na jedny siti nikdo nic
>>nebude delat, zbytecne to tem na ty druhy pojede jenom polovicni
>>rychlosti. Lze toto nejak vyresit?
>>
>>
>
> Nebude vadit, ze to nebudu resit pomoci ALTQ ?
>
> Na tohle staci*) stare dobre IPFW se svymi pipe a queue:
>
>--------------
>Queues are used for implementing weighted fair queuing, and cannot used
>without a pipe. All queues connected to a pipe share the bandwidth of
>that pipe in a certain configurable proportion
>--------------
>
> Jinymi slovy -
>
>ipfw pipe 1 config bw 2048kbit/s
>ipfw queue 5 config pipe 1 weight 50
>ipfw queue 6 config pipe 1 weight 50
>
> Vytvori dve fronty k jedne pipe, pricemz odbavovani z obou probiha
>"jedna k jedne" - pokud jsou data v obou a plnou rychlosti z kterekoliv
>z nich, pokud je nektera z nich prazdna.
>
> A nyni uz jen klasifikovat data do front:
>
>ipfw add queue 5 ip from any to any out recv $EXTIF xmit $INT1IF
>ipfw add queue 6 ip from any to any out recv $EXTIF xmit $INT2IF
>
> Jednoduche a snadno pochopitelne, ne ?
>
> Ma to jediny hacek -
>----------
>*) - nefunguje to a, bohuzel, principielne ani nemuze.
>----------
>
> Vy se totiz muzete zabyvat jen temi pakety, ktere uz linkou k vam
>prisly. Nemuzete odmitnout pruchod linkou jednomu paketu a tak uvolnit
>pruchod paketu jinemu. Jedine co muzete je zahazovat pakety, ktere mely
>to stesti, ze se jim pretizenou linkou podarilo projit (a tim snizovat
>jeji uz tak spatnou efektivitu).
>
> Linkou vam muze prijit nejvyse 2Mbps - vic ne. A prave tolik jich
>projde obema frontami jelikoz nakonfigurovana kapacita PIPE je prave
>takova. Pokud linkou budou prichazet pakety v pomeru 1:2 bude proste
>jedna fronta nedostatecne naplnena - a dojde presne k tomu, co jste si
>pral- druha vyuzije volne kapacity. Celkove projde tech 2Mbps - presne
>tolik, kolik prislo. Zadny paket se nezahodi.
>
> Pokud by vas treba napadlo, ze tedy hodnotu pipe nastavite treba na 90%
>kapacity - aby se obcas neco zahodilo a tak mohl zabrat flow-control
>mechanismus, ktery v sobe ma TCP, tak to je dobry napad, ale i to ma
>svuj hacek. Nejenze tak prijdete trvale o desetinu kapacity - ale hlavne
>- i v pripade, ze by to zafungovalo, zafunguje to predevsim na to TCP.
>Nejruznejsi P2P systemy pouzivajici UDP vam budou linku libovolne
>zacpavat dal a to podle pravidla - cim agresivnejsi system, tim vic si
>urve. Ostrouhaji tedy zejmena ti ohleduplni.
>
> A to je principialni problem, ktery se bude tykat kazde "jednostranne"
>metody (tedy metody, kde neexistuje spoluprace tohoto konce linky s
>protejsim koncem, ktery do ni data cpe). ALTQ nemuze byt lepsi.
>
> Jo, pokud chcete spravedlive rozdelovat kapacitu linky pro ODCHOZI
>provoz, tak to je jina, to bude fungovat tak, jak jsem popsal shora jen
>je treba prohodit "xmit" a "recv" v pravidlech.
>
> Dan
>
>
>
>
>
More information about the Users-l
mailing list