openSuSe: Netzwerkgeschwindigkeit beschränken...

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

openSuSe: Netzwerkgeschwindigkeit beschränken...

Beitrag von DarkDragon »

Hallo,

Leider habe ich eine zu hohe Geschwindigkeit im Netzwerk unter openSuSe, was zur folge hat, dass viele Downloads ziemlich schnell abbrechen. Normalerweise sollte ich etwa 250kb/s Downloads und weniger haben, dann laufen die Downloads auch stabil. Oder ich verwende

> wget -c -T 2 -t 1000 "downloadlink"

was mich aber alle Pakete manuell runterladen lässt um sie dann mit Yast aus einem lokalen Verzeichnis zu installieren. Kennt jemand eine Möglichkeit die Netzwerkgeschwindigkeit Systemweit unter openSuSe zu beeinflussen?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Als einzige Lösung fällt mir nur ein, einen Proxy auf 127.0.0.1 zu installieren und dort eine Geschwindigkeitsbegrenzung einzustellen.

Aber ob es einen einfacheren Weg gibt, kann ich nicht sagen.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Re: openSuSe: Netzwerkgeschwindigkeit beschränken...

Beitrag von Thalius »

DarkDragon hat geschrieben:Hallo,

Leider habe ich eine zu hohe Geschwindigkeit im Netzwerk unter openSuSe, was zur folge hat, dass viele Downloads ziemlich schnell abbrechen. Normalerweise sollte ich etwa 250kb/s Downloads und weniger haben, dann laufen die Downloads auch stabil. Oder ich verwende

> wget -c -T 2 -t 1000 "downloadlink"

was mich aber alle Pakete manuell runterladen lässt um sie dann mit Yast aus einem lokalen Verzeichnis zu installieren. Kennt jemand eine Möglichkeit die Netzwerkgeschwindigkeit Systemweit unter openSuSe zu beeinflussen?
ehm - ich würde erst mal rausfinden warum die Downloads abbrechen ( sowas ist doch nich normal ... :)

Ansonsten kannst du auch im yast einen zusätzlichen oder anderen mirror ( naeher bei dir ) angeben und später wenn du willst. a via Yast -i <paket> das zeug direkt installieren.

Ansonsten ist der einfachste weg auch über nen Squid proxy unter benutzung von Delay Classes:

Siehe:
http://www.deckle.co.za/squid-users-gui ... ay_Classes

ansonsten kannst du auch deine NIC Geschwindigkeit verringern - entweder per driveroption oder du benutzt zb. den Shorewall anstatt Iptables firewall ( lässt sich ebenfalls unter webmin konfigurieren ) dieser erlaubt recht simples Traffic Shaping per Interface.

Thalius
"...smoking hash-tables until until you run out of memory." :P
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: openSuSe: Netzwerkgeschwindigkeit beschränken...

Beitrag von DarkDragon »

Danke. Das mit dem Proxy ist mir wiederum zu umständlich. Ich werde mal schauen, ob das vielleicht am MTU Wert liegt, was ich aber nicht glaube. Was ich aber absolut blödsinnig finde ist, dass Eclipse unter Linux nichts davon merkt wenn eine Netzwerkverbindung unterbrochen ist. Eclipse unter Windows schlägt bei unterbrochener Verbindung vor, die aktuelle Datei erneut herunterzuladen.
Thalius hat geschrieben:
DarkDragon hat geschrieben:Hallo,

Leider habe ich eine zu hohe Geschwindigkeit im Netzwerk unter openSuSe, was zur folge hat, dass viele Downloads ziemlich schnell abbrechen. Normalerweise sollte ich etwa 250kb/s Downloads und weniger haben, dann laufen die Downloads auch stabil. Oder ich verwende

> wget -c -T 2 -t 1000 "downloadlink"

was mich aber alle Pakete manuell runterladen lässt um sie dann mit Yast aus einem lokalen Verzeichnis zu installieren. Kennt jemand eine Möglichkeit die Netzwerkgeschwindigkeit Systemweit unter openSuSe zu beeinflussen?
ehm - ich würde erst mal rausfinden warum die Downloads abbrechen ( sowas ist doch nich normal ... :)

Ansonsten kannst du auch im yast einen zusätzlichen oder anderen mirror ( naeher bei dir ) angeben und später wenn du willst. a via Yast -i <paket> das zeug direkt installieren.
Die Downloads brechen nur dann ab, wenn ich mit ~250+ kByte/sek. empfange. Bei 170 geht es schon länger bis die Downloads abbrechen. Das liegt vermutlich am veralteten Router (T-Sinus 111 - Ich werde mir aber keinen neuen zulegen - habe kein Einkommen).
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

...Eclipse unter Linux nichts davon merkt wenn eine Netzwerkverbindung unterbrochen ist...
das liegt warschienlich dran das die Verbindung im Linux TCPKernel noch aktiv ist.

Hört sich schon nach nem Routerproblem an. Die MTU über Ethernet->Internet sollte bei 1496 liegen ansonsten werden die Pakete truncated.

Für T-Offline:
Formel: MTU-Wert - 40 (= Bytes für Transportprotokolle/Header) = MSS-Wert (Nutzdaten) x 44 = RWIN

Berechnungsbeispiele:
1492 (MTU) - 40 = 1452 (MSS) x 44 = 63888 (Default Receive Window (RWIN)
1484 (MTU) -40 = 1444 (MSS) x 44 = 63536

Unter Win:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
DWORD: TCPWindowSize -> 1444 ( für ein optimum )

kannst halt bissl damit rumspielen - je nachdem was fuer Anbieter / Verkapselung die verwenden kann das was bringen.

Wegen deinem Router hab ich schon so einige Horrorgeschichten von wegen stabilität gehört ( insbesondere des WLAN Teils ) ...

Viel Glück,

Thalius
"...smoking hash-tables until until you run out of memory." :P
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Thalius hat geschrieben:
...Eclipse unter Linux nichts davon merkt wenn eine Netzwerkverbindung unterbrochen ist...
das liegt warschienlich dran das die Verbindung im Linux TCPKernel noch aktiv ist.

Hört sich schon nach nem Routerproblem an. Die MTU über Ethernet->Internet sollte bei 1496 liegen ansonsten werden die Pakete truncated.

Für T-Offline:
Formel: MTU-Wert - 40 (= Bytes für Transportprotokolle/Header) = MSS-Wert (Nutzdaten) x 44 = RWIN

Berechnungsbeispiele:
1492 (MTU) - 40 = 1452 (MSS) x 44 = 63888 (Default Receive Window (RWIN)
1484 (MTU) -40 = 1444 (MSS) x 44 = 63536

Unter Win:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
DWORD: TCPWindowSize -> 1444 ( für ein optimum )

kannst halt bissl damit rumspielen - je nachdem was fuer Anbieter / Verkapselung die verwenden kann das was bringen.

Wegen deinem Router hab ich schon so einige Horrorgeschichten von wegen stabilität gehört ( insbesondere des WLAN Teils ) ...

Viel Glück,

Thalius
Danke.
Kann es sein, dass ich den Key erst erstellen muss? Und wieso hab ich CurrentControlSet001 und 002? Woher weiß ich meinen MTU Wert (Ich suche schon die ganze Zeit in den Router Einstellungen, finde das aber nicht)?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Ist unterschiedlich je nach Win version.

Ansonsten ists n key in den CurrentControlset/Interfaces. Aber las smal vorerst stehen unter Win - Unter linux ist das einfacher umzustellen plus du hast das problem ja hauptsächlich dort.

Du kannst deinen Max MTU Wert mit:

Code: Alles auswählen

ping -f -l <MTU> t-online.de 

Beispiel:
ping -f -l 1800 t-online.de = zu hoch!
ermitteln - ein zu hoher MTU für dein netzwerk resultiert in der Meldung das zb. DF Flag gesezt wurde ( paket wurde dropped ) - und das dieses fragmentiert wurde. Sobald du ne Response bekommst weisst du das der MTU ok ist. Versuch mal mit oben genannten Values bissl rum ( oft ists ne Sache von ein paar bytes per paket )

Thalius
"...smoking hash-tables until until you run out of memory." :P
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Also mit 1400 gehts prima, mit 1444 ist schon kein Empfang mehr (100% packetloss) und noch etwas mehr endet dann im DF. Unter Linux hab ich das heute Morgen mal spaßeshalber auf 400 gesetzt (Geht ja mit Yast ziemlich einfach - Unter Windows nur wenn es der Treiber kann/will), aber das hat nicht geholfen. Ich versuchs mal mit 1400 demnächst, vielleicht war der MTU Wert 400 zu niedrig und wurde ignoriert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

400 ist definitiv zu niedrig - desto hoeher die paketfragmentation desto mehr muss dein Router dafür arbeiten. Der Idealwert liegt in der regel beim maximalwert für dein Netzwerk - damit holst du am meisten speed raus ( da möglichst wenig truncated wird ) und belastest deinen Router am wenigsten () da von Netz zu netz sprich Ethernet -> adsl etc ) auch wieder eine fragmentierung statt findet - bei einem Wert von 400 kanns sein dass dann mal dreieinhalb pakete in einem Outgoing Paket platz haben usw.

Der Normalwert liegt bei 1496 ( siehe oben ) aber kann bei manchen konfigs auch bei weniger liegen ( 1444 ) etc. - auf jedenfall solltest du so nahe wie möglich an 1500 bleiben um die fragmentierung der Pakete möglichst klein zu halten.

beispiele für MTUs:

Code: Alles auswählen

 FDDI                                   4352
Ethernet                               1500
IEEE 802.3/802.2                  1492 <- WLAN
X.25                                      576
Sorry für bissl schlechte Darstellung - muss noch schnell zum Kunden rennen ... =/

Thalius
"...smoking hash-tables until until you run out of memory." :P
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Hmm also unter Windows hab ich das ganze nun auch mit http://www.aidex.de/software/improve-tcp/ diesem Tool verändert und es klappt immernoch nicht.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten