Die Wonder Shaper is 'n baie spesiale netwerk Shaper script met 'n baie van die funksies. Werk op Linux 2.4 & hoër.
Doelwitte
Ek het probeer om die heilige graal skep:
* Handhaaf lae latency vir interactief verkeer te alle tye.
Dit beteken dat die aflaai of oplaai van lêers nie SSH of selfs telnet moet steur nie. Dit is die mees belangrike dinge, selfs 200ms latency is traag om oor werk.
* Laat 'navigeer' teen 'n redelike spoed, terwyl op of af te laai
Selfs al is http 'grootmaat' verkeer, moet die ander verkeer nie verdrink dit te veel.
* Maak seker uploads nie downloads benadeel, en die ander manier om
Dit is 'n baie waargeneem verskynsel waar stroomop verkeer eenvoudig vernietig aflaai spoed. Dit blyk dat dit alles moontlik is, op die koste van 'n klein bietjie van die bandwydte. Die rede is dat uploads, afgelaai en ssh seer mekaar, is die teenwoordigheid van 'n groot toue in baie binnelandse toegang toestelle soos kabel-of DSL modems.
Hoekom is dit nie goed werk by verstek
ISPs weet dat hulle uitsluitlik maatstaf van hoe vinnig mense kan aflaai. Behalwe beskikbaar bandwydte, is download spoed sterk beïnvloed deur pakkie verlies, wat TCP / IP prestasie ernstig belemmer. Groot toue kan help packetloss voorkom en te bespoedig downloads. So ISPs instel groot toue.
Hierdie groot toue interaktiwiteit beskadig egter. A aanslag moet eers reis die stroomop tou, wat kan wees sekondes (!) Lank en gaan na jou afgeleë gasheer. Dit word dan vertoon, wat lei tot 'n pakkie terug te kom, wat dan moet deurkruis die stroomaf tou, geleë op jou ISP, voordat dit op jou skerm verskyn.
Dit HOWTO leer jy hoe om mangelen en verwerk die tou in baie maniere, maar ongelukkig nie almal toue is toeganklik vir ons. Die tou oor die ISP is heeltemal buite perke, terwyl die stroomop tou waarskynlik leef in jou kabel modem of DSL toestel. Jy kan of mag nie in staat wees om dit in te stel. Waarskynlik nie.
So, wat volgende? As ons nie kan beheer een van dié toue, moet hulle uitgeskakel, en verhuis na jou Linux router. Gelukkig is dit moontlik.
Limiet oplaai spoed ietwat
Deur die beperking van ons oplaai spoed effens minder as die ware beskikbaar koers, daar is geen toue opgebou in ons modem. Die tou is nou verskuif na Linux.
Limiet aflaai spoed
Dit is effens moeiliker as wat ons kan nie regtig beïnvloed hoe vinnig die internet skepe ons data. Ons kan egter daal pakkies wat kom in te vinnig, wat veroorsaak TCP / IP stadiger net die koers wat ons wil hê. Omdat ons nie wil verkeer onnodig laat val, het ons 'n stel 'bars' grootte ons toelaat dat by 'n hoër spoed.
Nou, wanneer ons dit gedoen het, het ons die stroomaf tou heeltemal uitgeskakel (behalwe vir kort sarsies), en kry die vermoë om die stroomop tou te bestuur met al die krag Linux bied.
Laat interaktiewe verkeer slaan die tou
Wat nog gedoen moet word, is om seker te maak interaktiewe verkeer spring aan die voorkant van die stroomop tou. Om seker te maak dat die oplaai nie downloads seer, beweeg ons ook ACK pakkies aan die voorkant van die tou. Dit is wat gewoonlik veroorsaak dat die groot verlangsaming waargeneem word wanneer die opwekking grootmaat verkeer beide maniere. Die ERKENNINGS stroomaf verkeer moet meeding met stroomop verkeer, en kry in die proses vertraag.
Ons beweeg ook ander klein pakkies aan die voorkant van die tou - dit help bedryfstelsels wat nie ingestel TOS stukkies, soos alles van Microsoft.
Die gebruiker toelaat om 'n lae prioriteit verkeer spesifiseer (nuwe in 1.1!)
Soms kan jy 'n lae prioriteit uitgaande verkeer sien stadiger belangrike verkeer. In daardie geval, kan die volgende opsies jou help:
NOPRIOHOSTSRC
Stel hierdie na leërskare of netmasks in jou netwerk wat lae prioriteit moet hê
NOPRIOHOSTDST
Stel hierdie na leërskare of netmasks op die internet wat 'n lae prioriteit moet hê
NOPRIOPORTSRC
Stel hierdie bron hawens wat lae prioriteit moet hê. As jy 'n onbelangrik webbediener op jou verkeer, stel dit na 80
NOPRIOPORTDST
Stel hierdie na bestemming hawens wat lae prioriteit moet hê.
Sien die begin van wshaper en wshaper.htb
Resultate
As ons dit doen al kry ons die volgende afmetings gebruik te maak van 'n uitstekende ADSL verbinding van xs4all in Nederland:
Basislyn latency:
ronde-trip min / avg / max = 14,4 / 17,1 / 21,7 ms
Sonder verkeer conditioner, terwyl die aflaai:
ronde-trip min / avg / max = 560,9 / 573,6 / 586,4 ms
Sonder verkeer conditioner, terwyl die oplaai:
ronde-trip min / avg / max = 2041,4 / 2332,1 / 2427,6 ms
Met conditioner, tydens 220kbit / s oplaai:
ronde-trip min / avg / max = 15,7 / 51,8 / 79,9 ms
Met conditioner, tydens 850kbit / s aflaai:
ronde-trip min / avg / max = 20,4 / 46,9 / 74,0 ms
Wanneer laai, downloads voort op ~ 80% van die beskikbare spoed. Uploads op ongeveer 90%. Latency spring dan na 850 ms nog uitzoeken waarom.
Wat jy kan verwag van hierdie script hang baie af van jou werklike uplink spoed. Wanneer laai op volle spoed, sal daar altyd 'n enkele pakkie wees voor jou aanslag. Dit is die onderste grens van die latency jy kan bereik - verdeel jou MTU deur jou stroomop spoed te bereken. Tipiese waardes ietwat hoër as dit wees. Verlaag jou MTU vir 'n beter effekte!
'N klein tabel:
Uplink spoed | Verwagte latency weens oplaai
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
So om jou doeltreffende latency bereken, neem 'n basislyn meting (ping op 'n ongelaaide skakel), en kyk op die aantal in die tabel en voeg dit. Dit is oor die beste wat jy kan verwag. Hierdie getal kom uit 'n berekening wat veronderstel dat u stroomop aanslag voor dit sal hê op die meeste half 'n volle grootte pakkie.
Dit kom neer op:
MTU * 0,5 * 10
-------------- + Baseline_latency
kbit
Die faktor 10 is nie heeltemal korrek, maar werk goed in die praktyk.
Jou kernel
As jy 'n onlangse verspreiding hardloop, moet alles wees ok. Jy moet 2,4 met QoS opsies aangeskakel.
As jy jou eie kern stel, moet dit 'n paar opsies in staat gestel het. Veral in die spyskaart Netwerke Options, QoS en / of regverdige Wachtrij, draai ten minste CBQ, VOORAFGAANDE ADMINISTRATIEVE, SFQ, Toegang, Verkeer Polisiëring, QoS ondersteuning, Rate Estimator, QoS klassifiseerder, U32 klassifiseerder, fwmark klassifiseerder.
In die praktyk, ek (en die meeste afdelings) draai net oor alles.
Die skrifte
Die script kom in twee weergawes, een wat werk op standaard pitte en geïmplementeer met behulp CBQ. Die ander een gebruik die uitstekende HTB qdisc wat nie in die standaard kern. Die CBQ weergawe is meer getoets is as die HTB een!
Sien 'wshaper' en 'wshaper.htb.
Tuning
Hierdie skrifte moet die 'regte 'n koers van jou ISP verband te leer ken. Dit is moeilik om te bepaal vooraf as verskillende ISP's gebruik verskillende soorte stukkies dit lyk. Mense rapporteer sukses met behulp van die volgende tegniek:
Skat beide jou stroomop en stroomaf by die helfte van die koers van jou ISP spesifiseer. Nou verifieer of die script funksioneer - check interaktiwiteit tydens die oplaai en tydens die laai. Dit moet die latency te lewer soos hierbo bereken. Indien nie, kyk of die script uitgevoer sonder foute.
Nou stadig verhoog die stroomop & stroomaf getalle in die script totdat die latency kom terug. Hierdie manier kan jy optimum waardes vir jou konneksie te vind. As jy gelukkig is, kan jy dit aanmeld vir my so ek 'n lys van die nommers wat goed werk kan maak. Laat my asseblief weet wat ISP jy gebruik en die naam van jou inskrywing, en sy beweerde spesifikasies, so ek kan jou hier te lys en te red ander die moeilikheid.
Installasie
As jy bel in, kan jy die script om /etc/ppp/ip-up.d kopieer en dit sal by elke Connect hardloop.
As jy wil hê dat die Vormer van 'n koppelvlak verwyder, hardloop 'wshaper stop. Om status informasie, hardloop 'wshaper status' te sien.
Bekende probleme
As jy foute kry, voeg 'n -x die eerste reël, soos volg:
#! / Bin / bash -x
En probeer weer. Dit sal jou wys watter lyn 'n fout gee. Voor kontak my, maak seker dat jy 'n onlangse weergawe van iproute!
Onlangse weergawes kan gevind word by jou Linux verspreider, of as jy verkies opstel van hier:
ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz
Sagteware besonderhede:
Weergawe: 1.1a
Upload datum: 2 Jun 15
Lisensie: Gratis
Populariteit: 55
Kommentaar nie gevind