The Wonder Shaper

Software skärmdump:
The Wonder Shaper
Mjukvaruinformation:
Version: 1.1a
Ladda upp dagen: 2 Jun 15
Utvecklare: Bert Hubert
Licens: Gratis
Popularitet: 55

Rating: nan/5 (Total Votes: 0)

The Wonder Shaper är en mycket speciell nätverks shaper manus med en mängd funktioner. Fungerar på Linux 2.4 och högre.
Mål
Jag försökte skapa den heliga graal:
* Bibehålla låg latens för interfactive trafik vid alla tidpunkter.
Detta innebär att ladda ner eller ladda upp filer inte ska störa SSH eller Telnet. Dessa är de viktigaste sakerna är även 200 ms latency trög att arbeta över.
* Tillåt "surfa" till rimliga hastigheter samtidigt upp eller ladda ner
Även om http är "bulk" trafik bör övrig trafik inte drunknar det ut för mycket.
* Se till att uppladdningar skadar inte nedladdningar och tvärtom
Detta är en mycket observerade fenomenet där uppströms trafik förstör helt enkelt nedladdningshastighet. Det visar sig att allt detta är möjligt, på bekostnad av en liten bit av bandbredd. Anledningen till att uppladdningar, nedladdningar och ssh skada varandra är förekomsten av stora köer i många inhemska tillgång enheter som kabel- eller DSL-modem.
Varför det inte fungerar bra som standard
Internetleverantörer vet att de enbart jämföras på hur snabbt folk kan ladda ner. Förutom tillgänglig bandbredd, är nedladdningshastighet påverkas kraftigt av paketförlust, som allvarligt hämmar TCP / IP prestanda. Stora köer kan bidra till att förebygga packetloss, och påskynda nedladdningar. Så Internetleverantörer konfigurera stora köer.
Dessa stora köer skadar dock interaktivitet. En knapptryckning måste först resa uppströms kön, vilket kan vara sekunder (!) Lång och gå till din fjärrvärd. Det visas sedan, vilket leder till ett paket som kommer tillbaka, som sedan måste passera nedströms kön, som ligger på din ISP, innan det visas på skärmen.
Denna HOWTO lär dig hur du mangel och bearbeta kön på många sätt, men tyvärr inte alla köer är tillgängliga för oss. Kön över på ISP är helt off-limits, medan uppströms kö bor troligen i din kabelmodem eller DSL-enhet. Du kanske eller kanske inte att kunna konfigurera den. Troligen inte.
Så, vad händer sen? Eftersom vi inte kan styra någon av dessa köer måste de elimineras, och flyttade till din Linux router. Lyckligtvis är detta möjligt.
Begränsar uppladdningshastighet något
Genom att begränsa vårt uppladdningshastighet till något mindre än den verkligen tillgängliga pris, inga köer byggs upp i vårt modem. Kön är nu flyttat till Linux.
Begränsa nedladdningshastighet
Detta är något svårare eftersom vi inte riktigt kan påverka hur snabbt fartyg internet oss uppgifter. Vi kan dock släppa paket som kommer in för snabbt, vilket orsakar TCP / IP för att sakta ner till bara den takt vi vill. Eftersom vi inte vill släppa trafik i onödan, vi konfigurera en "burst" storlek vi tillåter vid högre hastighet.
Nu, när vi har gjort detta, har vi eliminerat nedströms kö helt (med undantag för korta skurar), och få möjlighet att hantera uppströms kö med all kraft Linux erbjuder.
Låt interaktiv trafik hoppa kön
Vad återstår att göra är att se till interaktiva trafik hoppar på framsidan av uppströms kön. För att vara säker på att uppladdningar inte skadar nedladdningar, vi flyttar även ACK paket på framsidan av kön. Detta är vad som orsakar normalt stora nedgången observeras när generera bulk trafik i båda riktningarna. De Tack för nedströms trafik måste konkurrera med uppströms trafik, och bli försenat i processen.
Vi flyttar även andra små paket på framsidan av kön - detta hjälper operativsystem som inte anges TOS-bitar, som allt från Microsoft.
Tillåt användaren att ange låg prioritet trafik (nytt i 1.1!)
Ibland kanske du märker låg prioritet utgående trafik bromsa viktig trafik. I så fall kan följande alternativ hjälpa dig:
NOPRIOHOSTSRC
Ställ in till värdar eller netmasks i nätverket som ska ha låg prioritet
NOPRIOHOSTDST
Ställ in till värdar eller nätmasker på internet som ska ha låg prioritet
NOPRIOPORTSRC
Ställ in till källportar som ska ha låg prioritet. Om du har en oviktig webbserver på din trafik, ställa detta till 80
NOPRIOPORTDST
Ställ in till destinationsportar som ska ha låg prioritet.
Se början av wshaper och wshaper.htb
Resultat
Om vi ​​gör allt detta får vi följande mätningar med en utmärkt ADSL-anslutning från XS4ALL i Nederländerna:
Baslinje latens:
rundresa min / avg / max = 14,4 / 17,1 / 21,7 ms
Utan trafik balsam, vid nedladdning:
rundresa min / avg / max = 560,9 / 573,6 / 586,4 ms
Utan trafik balsam, medan uppladdning:
rundresa min / avg / max = 2041,4 / 2332,1 / 2427,6 ms
Med balsam, under 220kbit / s uppladdning:
rundresa min / avg / max = 15.7 / 51.8 / 79.9 ms
Med balsam, under 850kbit / s nedladdning:
rundresa min / avg / max = 20.4 / 46.9 / 74.0 ms
När du laddar upp, nedladdningar fortgå vid ~ 80% av den tillgängliga hastigheten. Uppladdningar på omkring 90%. Latency hoppar sedan till 850 ms, fortfarande räkna ut varför.
Vad du kan förvänta dig från den här skriptet beror mycket på din faktiska upplänk hastighet. När du laddar upp i full fart, kommer det alltid att finnas ett enda paket före dina tangenttryckning. Det är den nedre gränsen till latensen du kan uppnå - dela din MTU av din uppströms hastighet för att beräkna. Typiska värden kommer att vara något högre än så. Sänk din MTU för bättre effekter!
Ett litet bord:
Uplink hastighet | Förväntad latens på grund av att ladda upp
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
Så för att beräkna din effektiva latens, ta en mätning baslinje (ping på en obelastad länk), och slå upp numret i tabellen, och lägga upp den. Det handlar om det bästa du kan förvänta dig. Detta nummer kommer från en beräkning som förutsätter att din uppströms knapptryckning kommer att ha högst en halv fullstor paket framför sig.
Detta handlar om att:
   mtu * 0,5 * 10
   -------------- + Baseline_latency
       kbit
Faktorn 10 är inte helt korrekt, men fungerar bra i praktiken.
Din kärna
Om du kör en ny fördelning, ska allt vara ok. Du behöver 2.4 med QoS alternativ påslagen.
Om du bygger din egna kärna, måste den ha vissa alternativ aktiverade. Framför allt i nätverksalternativ menyn, QoS och / eller Fair Queueing, sväng åtminstone CBQ, PRIO, SFQ, Ingress, Trafik Policing, QoS stöd, Rate kalkylatorn, QoS klassificerare, U32 klassificerare, fwmark klassificerare.
I praktiken, jag (och de flesta distributioner) bara slå på allt.
De skript
Skriptet finns i två versioner, en som fungerar på standard kärnor och genomförs med hjälp av CBQ. Den andra använder den utmärkta HTB qdisc som inte är i standardkärnan. Den CBQ versionen är mer testas än HTB en!
Se 'wshaper "och" wshaper.htb'.
Tuning
Dessa skript behöver veta det "riktiga" graden av din Internet-anslutning. Detta är svårt att avgöra upfront som olika Internetleverantörer använder olika typer av bitar det förekommer. Människor rapporterar framgång med hjälp av följande teknik:
Uppskatta både dina uppströms och nedströms vid halva hastigheten din ISP anger. Nu kontrollera om skriptet fungerar - kontrollera inter vid uppladdning och vid nedladdning. Detta bör leda till fördröjningen enligt ovan. Om inte, kontrollera om skriptet körningen fungerar felfritt.
Nu långsamt öka uppströms och nedströms siffror i skriptet tills latens kommer tillbaka. På så sätt kan du hitta optimala värden för anslutningen. Om du är nöjd, vänligen rapportera till mig så jag kan göra en lista med tal som fungerar bra. Låt mig veta vilken ISP du använder och namnet på ditt abonnemang och dess välrenommerade specifikationer, så jag kan räkna upp dig här och rädda andra problem.
Installation
Om du slår in, kan du kopiera skriptet att /etc/ppp/ip-up.d och det kommer att köras vid varje connect.
Om du vill ta bort shaper från ett gränssnitt, kör "wshaper stopp". För att se statusinformation, kör "wshaper status".
Kända problem
Om du får fel, lägg till -x till första raden, enligt följande:
#! / Bin / bash -x
Och igen. Detta kommer att visa dig vilken linje ger ett fel. Innan du kontaktar mig, se till att du kör den senaste versionen av iproute!
Nya versioner kan hittas på din Linux distributör, eller om du föredrar att sammanställa, här:
 ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz

Annan programvara för utvecklare Bert Hubert

Kommentarer till The Wonder Shaper

Kommentarer hittades inte
Kommentar
Slå på bilder!