Aufrechterhaltung einer langsamen DSL-Verbindung

583
Michael Lang

Ich habe eine Linux-Box, die als Firewall / Router für unser Heimnetzwerk dient. Ich wohne in den Boonies, also habe ich eine relativ langsame Breitbandverbindung:

Downstream Rate 7616 Kbps  Upstream Rate 512 Kbps  

Das ist realistischer etwa 5000 Kbit / s, 300 Kbit / s laut Speedtest.net.

Meine Kinder spielen gerne Steam, Skype und Minecraft sowie Multiplayer-Spiele auf ihrer Playstation 3. Wir schauen gerne Hulu und Netflix.

Wenn unsere Kinder spielen, tötet dies oft unser Videostreaming und im Allgemeinen auch die Internet-Reaktionsfähigkeit. Während solcher "Ausfälle" sehe ich oft hunderte von Verbindungen, die durch ihre Spielaktivitäten geschaffen wurden, und fand einen Weg, dies pro Host zu begrenzen, was enorm hilft. Eine sehr einfache IPTABLES-Regel zur Beschränkung auf 25 Verbindungen pro Host:

iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 25 -j REJECT 

Hat eine ganze Reihe von "Vorfällen" gelindert, aber wir haben immer noch Probleme, Hulu und Netflix zu sehen, wenn die Kinder neues Spiel herunterladen oder ihr aktuelles Heimvideo auf YouTube hochladen. Ich versuche jetzt herauszufinden, wie das geht einige grundlegende verkehrsgestaltung.

tc qdisc add dev eth0 root tbf rate 5000Kbit latency 50ms burst 1540 

Die Internet-Konnektivität wurde dadurch jedoch mehr oder weniger zunichte gemacht. Habe ich meine Zahlen falsch berechnet oder ist dies einfach der falsche Weg, um mein Problem zu lösen? Gibt es alternativ andere / bessere Techniken, um unser Internet für Netflix / Hulu-Streaming zu unterstützen? Ich lerne immer noch ein wenig über QoS und Traffic Shaping. Geben Sie daher bitte Referenzen an, wenn Sie einige gute Ressourcen kennen, die dieses Thema dokumentieren.

Ich arbeite meistens durch dieses Problem: http://lartc.org/lartc.html#LARTC.IPROUTE2, um zu versuchen, die Dinge herauszufinden.

2
Sie sprechen von 'Reaktionsfähigkeit', aber Netflix ist ein puffernder Stream und benötigt daher keine responsive Verbindung. OTOH für Spiele sollte normalerweise nicht mit der Bandbreite zu tun haben, sondern müsste reagieren, da Latenz + Jitter das Spielerlebnis negativ beeinflussen oder zerstören. Wenn der Netflix-Stream darunter leidet, bezweifle ich, dass es sich um Spiele handelt. Ich denke, Kinder laden etwas herunter. Ich würde eine QoS-Richtlinie erstellen, die die Kapazität der Netflix-Box garantiert, sodass alle anderen fallen, bis Netflix 5 MBit / s bekommt. Für die Reaktionsfähigkeit sollten Sie http://blog.ip.fi/2012/03/silver-bullet-for-home-qos.html suchen vor 11 Jahren 0

2 Antworten auf die Frage

1
Paul Gear

Installieren Sie Shorewall und verwenden Sie die einfache Anleitung zur Verkehrsgestaltung . Es bietet eine einfache Schnittstelle zu iptables und verschiedenen Routenformungs- und Lastausgleichsfunktionen.

1
Remi Letourneau

Leider hilft Ihnen QoS nur für OUTBOUND-Flows, da ich wirklich nicht glaube, dass Ihr ISP, NETLIX und das Spielernetzwerk Ihres Sohnes (PSN, XBoxLiv ...) QoS für Flows TOWARD verwenden.

Sie können ein wenig helfen, indem Sie eine niedrigere als die tatsächliche eingehende Geschwindigkeit formen. Dies funktioniert jedoch nur für den TCP-Datenverkehr (sobald Sie das von Ihnen festgelegte BW-Limit überschreiten, werden Sie einige Pakete verwerfen, und TCP wirkt sich darauf aus, um den Verkehrsfluss zu verringern). UDP wird immer noch alles verstopfen, da es meistens "Fire & Forget" ist

Da der Engpass für Ihre eingehende Verbindung die letzte Etappe ist - Ihre DSL-Verbindung -, wird Ihr ISP immer noch den für Sie bestimmten zufälligen Datenverkehr verlieren (da für Sie sicherlich keine Warteschlangenpriorität und -formung für normale Benutzer konfiguriert ist).

Dies ist eine hervorragende Beobachtung. Daher ist der beste Weg, den Umgang damit zu ermöglichen, ein ADSL-Modem zu finden, auf dem Linux installiert werden kann, und so auch QoS-Dienste zur Verkehrsgestaltung, um diesen Aspekt des eingehenden Datenverkehrs zu kontrollieren. Verstehe ich das richtig? Ich glaube, ich war hier eigentlich etwas auf dem richtigen Weg, indem ich meiner IPTABLES-Konfiguration Regeln für die Geschwindigkeitsbeschränkung hinzufügte, die einfach verworfen wurden und Pakete für ein bestimmtes Ziel eingehen, nachdem ein bestimmtes Limit erreicht wurde. Ich war mir nicht sicher, ob dies in diesem speziellen Aspekt wirklich effektiv war oder nicht. Michael Lang vor 11 Jahren 0
Even if you find a DSL endpoint where you can do QoS, incomming data has already saturated your link before even reaching the QoS point. Rate limiting will help you, as long as you have mostly TCP traffic it'OK as TCP will react to dropped packets by reducing the flows speed. If your traffic is mostly UDP or any other traffic without means to regulate flow, your link will still be maxed-out UDP and UDP-like traffic (video conferencing, Skype, regular VoIP, etc) is Fire & Forget. it doesn't really care if you skip a packet from time to time and so won't adapt its speed to the link. Remi Letourneau vor 11 Jahren 0