The Wonder Shaper

Screenshot der Software:
The Wonder Shaper
Softwarebeschreibung:
Version: 1.1a
Upload-Datum: 2 Jun 15
Entwickler: Bert Hubert
Lizenz: Frei
Popularität: 32

Rating: nan/5 (Total Votes: 0)

Die Wunder-Shaper ist ein ganz besonderes Netzwerk Former-Skript mit vielen Funktionen. Funktioniert auf Linux 2.4 & höher.
Goals
Ich versuchte, den heiligen Gral zu erstellen:
* Beibehaltung niedriger Latenz für interfactive Verkehr zu allen Zeiten.
Dies bedeutet, dass das Herunterladen oder Hochladen von Dateien sollte nicht stören SSH oder Telnet. Dies sind die wichtigsten Dinge, sogar 200 ms Latenz träge zu überarbeiten.
* Lassen Sie 'Surfen' zu vernünftigen Geschwindigkeiten während oder Herunterladen
Auch wenn http ist 'bulk' Verkehr sollten andere Verkehrs nicht ertrinken es zu viel.
* Stellen Sie sicher, Uploads nicht schaden Downloads und umgekehrt
Dies ist eine viel beobachtete Phänomen, wo Upstream-Verkehr zerstört einfach die Download-Geschwindigkeit. Es stellt sich heraus, daß dies alles ist möglich, auf Kosten der ein klein wenig Bandbreite. Der Grund, dass Uploads, Downloads und ssh verletzen einander ist die Anwesenheit von großen Warteschlangen in vielen inländischen Zugangsgeräte wie Kabel oder DSL-Modems.
Warum es nicht auch standardmäßig arbeiten
ISPs wissen, dass sie nur auf, wie schnell Menschen herunterladen können Benchmarking. Neben der verfügbaren Bandbreite, wird die Download-Geschwindigkeit stark von Paketverlust, die ernsthaft behindert TCP / IP-Leistung beeinflusst. Große Warteschlangen kann verhindern, Packetloss, und beschleunigen Downloads. So ISPs konfigurieren großen Warteschlangen.
Diese großen Warteschlangen jedoch beschädigen Interaktivität. Ein Tastendruck müssen Sie zunächst die Upstream-Warteschlange, die Sekunden sein kann, reisen (!) Lang und gehen Sie zu Ihrem Remote-Host. Es wird angezeigt, was zu einem Paket zurück, das dann durchqueren müssen die nachgeschalteten Warteschlange, bei Ihrem Internetdienstanbieter befindet, bevor es auf dem Bildschirm angezeigt führt.
Dieses HOWTO lehrt, wie man mangle und die Warteschlange in vielerlei Hinsicht zu verarbeiten, aber leider nicht alle Warteschlangen uns zugänglich sind. Die Warteschlange über am ISP ist völlig tabu, während die Upstream-Warteschlange lebt wahrscheinlich in Ihrem Kabelmodem oder DSL-Gerät. Sie können oder nicht in der Lage, es zu konfigurieren. Wahrscheinlich nicht.
Also, was nun? Da wir keine Kontrolle über eine der beiden Warteschlangen, müssen sie beseitigt werden, und auf Ihre Linux-Router bewegt. Zum Glück ist das möglich.
Limit Upload-Geschwindigkeit etwas
Durch die Begrenzung unserer Upload-Geschwindigkeit auf etwas weniger als die wirklich verfügbare Rate, sind keine Warteschlangen in unserem Modem aufgebaut. Die Warteschlange wird nun auf Linux verschoben.
Limit Download-Geschwindigkeit
Das ist etwas schwieriger, da wir nicht wirklich beeinflussen, wie schnell das Internet Schiffe uns Daten. Wir können jedoch Drop-Pakete, die in zu schnell kommen, die TCP / IP verursacht auf nur der Preis, den wir wollen zu verlangsamen. Denn wir wollen nicht unnötig Verkehr fallen, konfigurieren wir ein "Burst" Größe erlauben wir bei höherer Geschwindigkeit.
Nun, wenn wir dies getan haben, haben wir die nachgeschalteten Warteschlange vollständig eliminiert (außer kurze Ausbrüche), und die Fähigkeit erlangen, die Upstream-Warteschlange mit der ganzen Kraft Linux bietet verwalten.
Lassen interaktiven Verkehr springen die Warteschlange
Was bleibt noch zu tun ist, um sicherzustellen, interaktive Verkehrs springt auf der Vorderseite des Upstream-Warteschlange. Um sicherzustellen, dass Uploads nicht downloads weh, wir bewegen ACK-Pakete an die Spitze der Warteschlange. Dies ist, was in der Regel bewirkt, dass die beobachteten bei der Generierung von Datenübertragungen in beide Richtungen riesige Verlangsamung. Die Danksagung für die Downstream-Traffic muss mit Upstream-Verkehr zu konkurrieren, und erhalten in den Prozess verzögert.
Wir bewegen uns auch andere kleine Pakete an den Anfang der Warteschlange - dies hilft, Betriebssysteme, die nicht TOS-Bits festlegen, wie alles, was von Microsoft.
Erlauben dem Benutzer, Verkehr niedriger Priorität festlegen (neu in 1.1!)
Manchmal können Sie mit niedriger Priorität ausgehenden Datenverkehr bemerkt Verlangsamung wichtiger Verkehrs. In diesem Fall können Sie die folgenden Optionen helfen:
NOPRIOHOSTSRC
Setzen Sie dies auf Hosts oder Netzmasken in Ihrem Netzwerk, die niedrige Priorität haben sollte
NOPRIOHOSTDST
Setzen Sie dies auf Hosts oder Netzmasken im Internet, die niedrige Priorität haben sollte
NOPRIOPORTSRC
Stellen Sie hier Source-Ports, die mit niedriger Priorität haben sollte. Wenn Sie auf Ihr Traffic haben eine unwichtige Webserver, setzen Sie diese auf 80
NOPRIOPORTDST
Setzen Sie diese auf Ziel-Ports, die mit niedriger Priorität haben sollte.
Siehe den Beginn wshaper und wshaper.htb
Ergebnisse
Wenn wir all das bekommen wir die folgenden Messungen mit Hilfe eines hervorragenden ADSL-Verbindung von XS4ALL in den Niederlanden:
Grundlinienlatenz:
Round-Trip-min / avg / max = 14,4 / 17,1 / 21,7 ms
Ohne Verkehr Anlage, während des Herunterladens:
Round-Trip-min / avg / max = 560,9 / 573,6 / 586,4 ms
Ohne Verkehr Anlage, beim Hochladen:
Round-Trip-min / avg / max = 2041,4 / 2332,1 / 2427,6 ms
Mit Anlage, während 220kbit / s Upload:
Round-Trip-min / avg / max = 15,7 / 51,8 / 79,9 ms
Mit Anlage, während 850kbit / s herunterladen:
Round-Trip-min / avg / max = 20,4 / 46,9 / 74,0 ms
Beim Upload, Download fortfahren zu ~ 80% der verfügbaren Geschwindigkeit. Uploads bei rund 90%. Latency springt dann zu 850 ms, immer noch herauszufinden, warum.
Was Sie von diesem Skript erwarten hängt viel von Ihrer aktuellen Uplink-Geschwindigkeit. Beim Hochladen auf Hochtouren, es wird immer ein einzelnes Paket vor Ihrer Tastendruck sein. Das ist die Untergrenze für die Latenzzeit Sie erreichen können - teilen Sie Ihre MTU von Ihrem Upstream-Geschwindigkeit zu berechnen. Typische Werte etwas höher als die. Senken Sie Ihre MTU für eine bessere Wirkung!
Ein kleiner Tisch:
Uplink-Geschwindigkeit | Erwartete Latenz aufgrund hochladen
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58MS
256 | 29ms
So, Ihre effektive Latenz zu berechnen, nehmen Sie ein Baseline-Messung (ping auf einer unbelasteten Verbindung), und suchen Sie die Nummer in der Tabelle, und fügen Sie es. Das ist ungefähr das Beste, was Sie erwarten können. Diese Zahl stammt aus einer Berechnung, die davon ausgeht, dass Ihre vorgeschalteten Tastendruck wird maximal die Hälfte ein voller Größe Paket vor sich zu haben.
Dies läuft darauf hinaus:
   mtu * 0,5 * 10
   -------------- + Baseline_latency
       kbit
Der Faktor 10 ist nicht ganz richtig, aber funktioniert gut in der Praxis.
Ihren Kernel
Wenn Sie eine aktuelle Verteilung ausführen, sollte alles in Ordnung sein. Sie müssen mit 2.4 QoS-Optionen eingeschaltet.
Wenn Sie einen eigenen Kernel kompilieren, muss es einige Optionen aktiviert ist. Vor allem im Menü Netzwerkoptionen, QoS und / oder Messe Queueing, schalten mindestens CBQ, PRIO, SFQ, Ingress, Verkehr Policing, QoS Unterstützung Rate Estimator, QoS-Klassifikator, U32-Klassifikator, fwmark Klassifikator.
In der Praxis I (und die meisten Distributionen) gerade über alles zu machen.
Die Skripte
Das Skript ist in zwei Versionen, eine, die auf Standard-Kernel arbeitet und mit CBQ implementiert. Der andere nutzt die ausgezeichnete HTB qdisc, die in der Standard-Kernel nicht. Die CBQ-Version ist mehr getestet als der HTB one!
Siehe 'wshaper "und" wshaper.htb'.
Stimmung
Diese Skripte müssen den 'echten' Rate Ihrer ISP-Verbindung kennen. Das ist schwer zu bestimmen, wie im Vorfeld verschiedene ISPs verwenden verschiedene Arten von Bits es erscheint. Menschen berichten Erfolg mit dem folgenden Verfahren:
Schätzen sowohl Ihre vor- und nachgelagerten der halben Rate gibt an Ihren ISP. Jetzt überprüfen, ob das Skript funktioniert - einfach Interaktivität beim Hochladen und beim Herunterladen. Dies sollte die Latenz zu liefern, wie oben berechnet. Wenn nicht, prüfen Sie, ob das Skript fehlerfrei ausgeführt.
Nun langsam die stromaufwärts und stromabwärts Zahlen in das Skript, bis der Latenz kommt zurück. Auf diese Weise können die optimalen Werte für die Verbindung finden. Wenn Sie zufrieden sind, melden Sie sich bitte an mich, damit ich eine Liste von Zahlen, die gut funktionieren werden. Bitte lassen Sie mich wissen, welche ISP, die Sie verwenden und den Namen des Abonnements, und seine angeblichen Spezifikationen, so kann ich Ihnen hier auflisten und speichern Sie anderen die Mühe.
Installation
Wenn Sie wählen Sie sich, können Sie das Skript zu /etc/ppp/ip-up.d kopieren und es wird bei jedem Verbindungs ​​ausgeführt werden.
Wenn Sie die Former aus einer Schnittstelle entfernen möchten, führen Sie 'wshaper stop'. Statusinformationen, führen 'wshaper Status "zu sehen.
BEKANNTE PROBLEME
Wenn Sie Fehlermeldungen erhalten, fügen Sie ein -x in die erste Zeile wie folgt:
#! / Bin / bash -x
Und erneut versuchen. Dies wird Ihnen zeigen, welche Zeile einen Fehler gibt. Vor der Kontaktaufnahme mit mir, stellen Sie sicher, dass Sie eine aktuelle Version von iproute werden!
Neuere Versionen können bei Ihrem Linux-Distributor gefunden werden kann, oder wenn Sie es vorziehen Kompilieren, hier:
 ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz

Andere Software von Entwickler Bert Hubert

Kommentare zu The Wonder Shaper

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!