[Linux] Upload traffic shaping

Pagina: 1
Acties:
  • 143 views sinds 30-01-2008
  • Reageer

  • eborn
  • Registratie: April 2000
  • Laatst online: 11-02 20:05
Ik ben al sinds een hele lange tijd bezig om een oplossing te vinden voor het volgende probleem: ik heb een ADSL 512/128 verbinding die gedeelt wordt via een Linux router (kernel 2.4.20). In principe werkt dat allemaal perfect. Maar er ontstaat een probleem bij het gelijktijdig downloaden en spelen van een online spel (zoals Quake 2 of Counter-Strike). Er blijft blijkbaar te weinig bandbreedte over voor het spel, zodat je een aardige vertraging (ping) krijgt. Het spel wordt hierdoor uiteraard onspeelbaar.

Nu ben ik al een geruime tijd op de hoogte van de mogelijkheid tot traffic shaping onder Linux. Ik heb de HOWTO op http://www.lartc.org/ al meerdere malen doorgelezen en ook het op de site aangeboden script (WonderShaper) geprobeert. Dit natuurlijk in combinatie met iptables, in de poging om game-pakketjes een hogere prioriteit te geven.

Maar het wil allemaal niet lukken. Wat ik ook overal instel en wat ik ook probeer: als ik ga downloaden schiet de ping omhoog.

Dus heb ik een andere aanpak geprobeert, namelijk met twee gescheiden traffic classes: één voor al het game-verkeer en één voor de rest. De twee class regels die ik hiervoor gebruik zijn:

code:
1
2
3
4
5
6
7
# Game traffic goes here
tc class add dev $DEV parent 1:1 classid 1:10 htb 
rate $[5*$UPLINK/10]kbit burst 15k cburst 1 prio 1

# All the other traffic goes here
tc class add dev $DEV parent 1:1 classid 1:20 htb 
rate $[5*$UPLINK/10]kbit burst 15k cburst 1 prio 2


De variabele UPLOAD bevat 128 (mijn upload) en DEV mijn internet-interface (ppp0). Ik wijs het verkeer aan de game class toe door middel van een mark bij iptables.

code:
1
2
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 1 
fw flowid 1:10
Maar ook dit heeft verder geen effect. De ping blijft hoog en de download gaat gestaag door op dezelfde snelheid.

Ik zal verder niet mijn hele script posten, het is namelijk ook te vinden op: http://fb.xs4all.nl/qos-games

Mijn vraag is nu of iemand ervaring heeft met deze manier van traffic shaping (met name voor dit doel). Het moet volgens mij gewoon mogelijk zijn. Maar blijkbaar zie ik toch iets over het hoofd of gebruik ik de verkeerde instellingen. Enige hulp zou dus erg gewaardeerd worden.

  • aj-san
  • Registratie: Februari 2001
  • Laatst online: 14-01 08:34
Ik gebruik QoS, werkt als een trein.
Een goeie Howto, die ik ook gebruikt heb: http://www.prout.be/qos/
Deze doet ongeveer hetzelfde als wat jij doet, alleen is de manier waarop traffic prioriteit krijgt wat anders... nou ja lees zelf maar ;)

Don't try... do. Or do not. There is no try. -- Master Yoda


  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Maar het wil allemaal niet lukken. Wat ik ook overal instel en wat ik ook probeer: als ik ga downloaden schiet de ping omhoog.
Ik weet niet of je dit helemaal kan voorkomen, aangezien er aan de providerkant wel eens beetje gebufferd wordt, en dit zorgt ervoor dat jij niet eerst de game-pakketjes kan sturen voordat de downloadpakketjes worden verstuurd. Ik heb zelf wondershaper pas op een computer gezet met adsl lite (256/64) en dit hielp wel aardig om de ping laag te houden. Ik zou je aanraden in wondershaper bij destinationpoort de poort in te vullen waarvandaan je download zodat die poort een lagere prioriteit krijgt en de waardes in wondershaper voor download en upload niet al te hoog zetten. Dan kun je volgens mij met jouw verbinding wel pings hebben die onder de 200 blijft, met een gemiddelde dat een stuk lager ligt :)

  • eborn
  • Registratie: April 2000
  • Laatst online: 11-02 20:05
cool_zero schreef op 07 januari 2003 @ 12:25:
Ik zou je aanraden in wondershaper bij destinationpoort de poort in te vullen waarvandaan je download zodat die poort een lagere prioriteit krijgt en de waardes in wondershaper voor download en upload niet al te hoog zetten. Dan kun je volgens mij met jouw verbinding wel pings hebben die onder de 200 blijft, met een gemiddelde dat een stuk lager ligt :)
Het probleem is alleen wel dat er vaak van FTP sites wordt gedownload die op euh.. redelijk willekeurige poorten zitten :) Verder lijkt de overmacht van KaZaa bijvoorbeeld ook niet tegen te houden te zijn. Als er 50 files staan te Searchen slibt alles gewoon dicht. En ja, dan kan ik wel zeggen dat ze dat niet moeten doen, maar dat werkt toch niet :)

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Ja, ik ken het inderdaad, als mijn broer zit te kazaa'en dan werkt het inderdaad weer minder, maar nog alijd beter dan zonder wondershaper. Je zou natuurlijk kazaa ook uit kunnen zetten :P en die paar verschillende poorten voor ftp-servers kun je zo in je scriptje wijzigen en daarna het scriptje opnieuw draaien. :) Ik zag trouwens ook in je script dat de upload speed op het maximum hebt staan en de download speed ook nog vrij hoog. Misschien is het handig om de wat lager te zetten zodat er meer vrije ruimte overblijft op de link om eventuele belangrijke packetjes ruimte te geven. Dit vertraagt dan wel de downloads enzo, maar verlaagt ook de ping.

[ Voor 4% gewijzigd door cool_zero op 07-01-2003 17:46 ]


Verwijderd

Naast bandbreedte beperking wil QOS ook heel erg veel helpen in dit soort gevallen ;)

Het komt erop neer, dat je wil bewerkstelligen dat verkeer alla kazaa, zo min mogelijk voorrang krijgt. Meer info staat in de Advanced Routing HOWTO op www.tldp.org

Over trafic shaping zijn al redelijk wat topics voorbij gekomen, waarin een aantal mensen redelijk wat uitleg geven over het onderwerp :)

  • cool_zero
  • Registratie: Juni 2001
  • Laatst online: 25-10-2022
Verwijderd schreef op 07 January 2003 @ 18:28:
Naast bandbreedte beperking wil QOS ook heel erg veel helpen in dit soort gevallen ;)
Daar gaat het hierboven toch al over ;)

  • duronbug
  • Registratie: November 2000
  • Laatst online: 19:28

duronbug

Step on it.....!

Ik ben er ook uren mee aan het stoeien geweest met dezelfde problemen zoals zo velen hebben: kazaa, heavy downloads/uploads icm gamen. De beste oplossing die ik toen gevonden heb was met HTB wat jij zo te zien ook gebruikt.

Het schijnt dat deze iets nauwkeuriger is dan CBQ. Voor meer info over HTB zie http://luxik.cdi.cz/~devik/qos/htb/

Je moet idd ook ff je maximum snelheid voor een class iets lager zet dan de capaciteit van je adsl verbinding. Dus 120 of 112 kbit.

Maar ook al heb je dit allemaal goed geconfigureerd, je zal het altijd iets merken aan de ping. Waar ik normaal ping 30-40 had heb ik met HTB gemiddeld ping 80-100 bij maximale upload.
Het blijft een lastig en vervelend probleem, waar naar mijn inziens niet een perfecte oplossing voor is, maar wel een aantal redelijk goeie oplossingen.
Pagina: 1