Wonder Shaper on hyvin erityinen verkon shaper script paljon ominaisuuksia. Toimii Linux 2.4 tai uudempi.
Tavoitteet
Olen yrittänyt luoda Graalin:
* Pitäminen alhaisena latenssi interfactive liikenteessä aina.
Tämä tarkoittaa sitä, että lataaminen tai lataamalla tiedostoja ei pitäisi häiritä SSH tai edes telnet. Nämä ovat tärkeimmät asiat, jopa 200ms latenssi on hidasta työtä yli.
* Salli "surfing" kohtuullisella nopeudella, kun ylös tai lataamalla
Vaikka http on "irtotavarana" liikenne, muuta liikennettä ei pitäisi hukkua sitä liikaa.
* Varmista lisäykset eivät vahingoita lataukset ja toisinpäin
Tämä on paljon havaittu ilmiö, jossa alkupään liikenteen yksinkertaisesti tuhoaa latausnopeuden. Osoittautuu, että kaikki tämä on mahdollista, hinnalla pikkuisen kaistanleveyttä. Syystä, että kuvat, lataukset ja ssh satuttaa toisiamme on läsnäolo suurten jonoja monissa kotimaan pääsy laitteet, kuten kaapeli- tai DSL-modeemit.
Miksi se ei toimi hyvin oletuksena
Palveluntarjoajat tietävät, että ne täsmäytetään ainoastaan siitä, kuinka nopeasti ihmiset voivat ladata. Sitä paitsi käytettävissä oleva kaistanleveys, latausnopeus on vaikuttanut voimakkaasti vuoteen packet loss, joka vakavasti vaikeuttaa TCP / IP suorituskykyä. Suuret jonot voi estää packetloss, ja nopeuttaa latauksia. Joten ISP määrittää suuria jonoja.
Nämä suuret jonot kuitenkin vahingoittaa interaktiivisuutta. Näppäilyn täytyy ensin kulkea vastavirtaan jono, joka voi olla sekuntia (!) Pitkä ja mene kaukosäätimen isäntä. Sen jälkeen näyttöön, joka johtaa paketin tulossa takaisin, mikä on sitten kulkea loppupään jono, joka sijaitsee ISP, ennen kuin se näkyy näytöllä.
Tämä ohje opit mankeli ja käsitellä jonon monin tavoin, mutta valitettavasti eivät kaikki jonot ovat saatavilla meille. Jono haltuun ISP on täysin off-limits, kun taas alkupään jonossa luultavasti elää sisällä kaapelimodeemin tai DSL-laitteeseen. Sinulla voi olla tai ei voi määrittää sitä. Todennäköisesti ei.
Joten, mitä seuraavaksi? Koska emme voi valvoa myöskään näistä jonojen, ne on poistettava, ja muutti Linux reitittimen. Onneksi tämä on mahdollista.
Rajoita upload nopeus hieman
Rajoittamalla meidän latausnopeus vajaaseen todella käytettävissä korko, ei jonoja rakentuvat meidän modeemi. Jono on nyt siirretty Linux.
Raja latausnopeus
Tämä on hieman hankalampaa, koska emme voi todella vaikuttaa siihen, miten nopeasti Internet laivojen meille tietoja. Voimme kuitenkin pudottaa paketteja, jotka tulevat liian nopeasti, mikä aiheuttaa TCP / IP hidastaa vain korko haluamme. Koska emme halua pudottaa liikenteen tarpeettomasti, me määrittää syöksyvät "koko annamme suuremmalla nopeudella.
Nyt, kun olemme tehneet tämän, olemme poistaneet loppupään jono kokonaan (paitsi lyhyinä), ja saada kyky hallita alkupään jonossa kaikki valta Linux tarjoaa.
Anna interaktiivinen liikenne ohittaa jonon
Mitä on vielä tehtävä on varmistaa vuorovaikutteisen liikenteen hyppää eteen vastavirtaan jonossa. Voit varmistaa, että lisäykset eivät vahingoita latauksia, me myös siirtää ACK paketit jonon. Tämä on mitä yleensä aiheuttaa valtavaa hidastumista havaittiin, kun luodaan irtotavarana liikennettä molempiin suuntiin. Kiitokset loppupään liikenteessä on kilpailtava alkupään liikenteen, ja saada myöhässä prosessissa.
Olemme myös siirtää muita pieniä paketteja jonon - tämä auttaa käyttöjärjestelmiä, jotka eivät aseta TOS bittiä, kuten kaikki Microsoftin.
Salli käyttäjän määrittää matalan prioriteetin liikennettä (uusi 1.1!)
Joskus saatat huomata alhainen prioriteetti lähtevän liikenteen hidastumisen tärkeää liikennettä. Siinä tapauksessa, seuraavat vaihtoehdot voivat auttaa sinua:
NOPRIOHOSTSRC
Aseta tämä isännät tai netmasks omassa verkossa, että pitäisi olla alhainen prioriteetti
NOPRIOHOSTDST
Aseta tämä isäntien tai netmasks internetissä, pitäisi olla alhainen prioriteetti
NOPRIOPORTSRC
Aseta tämä lähdeportteja että pitäisi olla alhainen prioriteetti. Jos sinulla on merkityksetön verkkopalvelin liikenteestä, aseta 80
NOPRIOPORTDST
Aseta tämä satamista että pitäisi olla alhainen prioriteetti.
Katso alku wshaper ja wshaper.htb
Tulokset
Jos teemme kaiken tämän saamme seuraavat mittaukset käyttämällä erinomainen ADSL-yhteyden XS4ALL Alankomaissa:
Baseline latenssi:
edestakainen min / avg / max = 14,4 / 17,1 / 21,7 ms
Ilman liikennettä hoitoaine, ladatessa:
edestakainen min / avg / max = 560,9 / 573,6 / 586,4 ms
Ilman liikennettä hoitoaine, kun lähetät:
edestakainen min / avg / max = 2041,4 / 2332,1 / 2427,6 ms
Hoitoaine, aikana 220kbit / s upload:
edestakainen min / avg / max = 15,7 / 51,8 / 79,9 ms
Hoitoaine, aikana 850kbit / s download:
edestakainen min / avg / max = 20,4 / 46,9 / 74,0 ms
Kun lähetät, lataa etenee ~ 80% käytettävissä nopeuden. Ladatut noin 90%. Latenssi sitten hyppää 850 ms, vielä mietitään miksi.
Mitä voit odottaa tämän käsikirjoituksen riippuu paljon todellinen uplink nopeus. Kun lähetät täydellä nopeudella, on aina yhden paketin eteenpäin teidän napin painalluksella. Se on alaraja latenssi voit saavuttaa - jakaa teidän MTU teidän ylävirtaan nopeutta laskea. Tyypilliset arvot ovat jonkin verran korkeampia kuin. Laske MTU paremmin tehosteet!
Pieni pöytä:
Uplink nopeus | Odotettu latenssi takia ladata
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
Joten voit laskea tehokkaan latenssi, ota lähtötilanteen mittauksen (ping purettu linkkiä), sekä etsiä numeron taulukossa, ja lisää se. Joka on noin paras voit odottaa. Tämä numero tulee laskelman, joka oletetaan, että ylävirran keystroke on korkeintaan puolet täysikokoinen paketti edessään.
Tämä kuihtuu:
MTU * 0,5 * 10
-------------- + Baseline_latency
kbit
Kerroin 10 ei ole aivan oikea, mutta toimii käytännössä hyvin.
Ytimen
Jos suoritat viime jakelu, kaiken pitäisi olla ok. Tarvitset 2.4 QoS vaihtoehtoja päällä.
Jos käännät oman ytimen, sillä on joitakin vaihtoehtoja käytössä. Selkeimmin vuonna Networking Asetukset-valikosta, QoS ja / tai reilun Jonoteoria, käänny ainakin CBQ, PRIO, SFQ, Ingress, Traffic Poliisia, QoS tuki, Rate arviointityökalu, QoS luokittelija, U32 luokittelija, fwmark luokittelija.
Käytännössä I (ja useimmat julkaisut), vain päälle kaiken.
Skriptejä
Käsikirjoitus tulee kaksi versiota, joka toimii vakio ytimistä ja on toteutettu CBQ. Toinen käyttää erinomaisen HTB qdisc joka ei ole oletuksena ytimen. CBQ versio on enemmän testataan kuin HTB yksi!
Katso "wshaper" ja "wshaper.htb".
Viritys
Nämä skriptit täytyy tietää "todellisia" korko ISP yhteyden. Tämä on vaikea määrittää etukäteen, koska eri palveluntarjoajat käyttävät eri tyyppisiä bittejä se näkyy. Ihmiset raportoivat menestys käyttäen seuraavaa menetelmää:
Arvioimme sekä oman tuotantoketjun puolella nopeudella ISP täsmennetään. Nyt tarkistaa, jos käsikirjoitus toimii - tarkista interaktiivisuus lähettämisessä ja ladatessa. Tämän pitäisi toimittaa latenssi edellä laskettu. Jos ei, tarkista, jos käsikirjoitus toteuttaa ilman virheitä.
Nyt hitaasti lisätä ylä- ja alavirtaan numerot käsikirjoituksen kunnes latenssin tulee takaisin. Näin voit löytää optimaaliset arvot yhteys. Jos olet tyytyväinen, ilmoita minulle, jotta voin tehdä listan numeroita, jotka toimivat hyvin. Kerrothan mikä ISP käytät ja nimi tilauksesi, ja sen maineikkain tekniset, joten voin luetella teille täällä ja pelastaa muita ongelmia.
Asennus
Jos valitset, voit kopioida script /etc/ppp/ip-up.d, ja sitä ajetaan kussakin connect.
Jos haluat poistaa shaper peräisin käyttöliittymä, ajaa 'wshaper seis ". Jos haluat nähdä tilatiedot, suorita "wshaper tila".
Tunnetut ongelmat
Jos saat virheitä, lisää -x ensimmäiselle riville, seuraavasti:
#! / Bin / bash -x
Ja yritä uudelleen. Tämä näyttää mikä linja antaa virheilmoituksen. Ennen yhteydenottoa minua, varmista, että käytät viimeisintä versiota iproute!
Viimeaikaiset versiot löytyvät Linux jakelija, tai jos haluat kokoamisessa, tässä:
ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz
Ohjelmiston tiedot:
Kommentteja ei löytynyt