Option "ping" bei Windows 2000 SP 4

df1kf

Lieutenant
Registriert
Juli 2004
Beiträge
659
Guten Tag,

wo finde ich eine verständliche Anleitung zur Bestimmung der besten Einstellungen des Internetzugangs
unter Nutzung der Option cmd-ping unter Windows 2000 ?

Gruss
Wolf
 
Viel Optimieren ist mit ping nicht möglich. Das einzige, was machbar ist, ist die Bestimmung der MTU (Maximum Transfer Unit - Header + Nutzdaten).

Dazu wird ein Paket fester Größe verschickt, dessen "Don't Fragment"-Flag gesetzt ist. Das Paket darf also nur komplett einen Hop überlaufen - ist dies nicht möglich (das Paket ist zu groß und müsste in kleinere Pakete zerlegt werden), so wird das Paket verworfen und der Absender erhält eine Information darüber in Form eines ICMP-Pakets (Internet-Control-Message-Protocol).
Aufgabe ist es also, mit ping die Größe zu finden, bis zu der das Paket noch einwandfrei versendet werden konnte. Der gefundene Wert entspricht dann der MSS (Maximum Segment Size - das ist der Nutzdatenanteil eines Paketes ohne Protokollinformationen sprich Header). Nun muss man sich überlegen, was noch an Protokollinformationen aufaddiert werden muss. TCP/IP liegt ja grundsätzlich zunächst mal vor,w as bedeutet:

MTU = MSS + 20Byte + 20Byte

Der TCP-Header, sowie der Header der unterliegenden IP-Schicht benötigen jeweils 20Byte. Wird das Paket dann noch per PPPoE vermittelt, so kommen nochmals 8Byte Protokollinformationen dazu, also:

MTU = MSS + 20Byte + 20Byte + 8Byte

Nun zum pingen - wie folgt:

ping heise.de -f -l X -n 1

Wir pingen also heise.de mit gesetzten Don't-Fragment-Flag (Option -f) und einer vorgegebenen Paketgröße (Option -l und X als Größe in Byte). Die n-Option definiert zusätzlich noch, dass nur ein Paket gesendet werden soll - das reicht uns ja.

Fangen wir bei 1500 Byte an:

ping heise.de -f -l 1500 -n 1

Es wird sehr wahrscheinlich erscheinen:

Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.

Die gewählte Paketgröße ist also zu groß. Wir verringern die Größe also:

ping heise.de -f -l 1450 -n 1

Hat dies nun geklappt, wissen wir, dass 1450Byte an Nutzdaten vermittelbar sind. Wir erhöhen also:

ping heise.de -f -l 1460 -n 1

usw.usw
Wir suchen genau den Wert, bei dem das Paket noch "durch geht". Wenn wir den Wert gefunden haben, addieren wir noch obige Header-Größen auf und haben die MTU gefunden, welche wir nun an diversen Stellen einstellen können.

-----
Anhang: Zu den erwähnten Schichten

Ein Kommunikationsprotokoll beschreibt eine Schichtstruktur, was dazu dienen soll, die Komplexität zu partitionieren. Es wird sich also nicht an einer Stelle um sämtliche Dinge gekümmert (Verpacken, Checksummen bilden und prüfen, Daten auf das Medium geben, Timing....), sondern es wird in Schichten gedacht:

Sender Empfänger
7................7
6................6
5................5
4................4
3................3
2................2
1................1
----------------

Bei der Abbildung zu beachten: Wo die Punkte sind, sollten Leerzeichen hin, welche das Forum aber entfernt. Es wird also NUR vertikal kommuniziert, nicht horizontal!!!!

Auf Senderseite wandern die Daten von oben nach unten durch die Schichten (von Schicht7 nach Schicht1). Auf jeder Schicht geschieht irgendwas mit den Daten und es werden jeweils schichtspezifische Daten hinzugefügt. Jede Schicht verpackt sozusagen den erhaltenen Briefumschlag in einen größeren Briefumschlag und beschriftet ihn entsprechend. Die unterste Schicht gibt die Daten dann auf das Medium. Auf Empfängerseite werden die Briefumschläge nun von Schicht1 beginnend bis zu Schicht7 nach und nach wieder ausgepackt.
So hat im ping-Beispiel die TCP-Schicht 20Byte an Daten hinzugefügt (TCP-Briefumschlag). IP hat dann den TCP-Briefumschlag erhalten und diesen wiederum um 20Byte erweitert, denn IP-Briefumschlag sozusagen...
 
Zuletzt bearbeitet:
Das ist ja sehr gut !

Herzlichen Dank für die ausführliche und hilfreiche Auskunft.

Ich habe es einmal durchgeführt und bei einem Wert von 546(=MSS) gehen die Daten noch
durch.

Der hier zur Zeit eingestellte Wert der MTU beträgt 576.

Auf welchen Wert müßte er geändert werden ? Ist 586 richtig ?

Hat die geringfügige Änderung auch feststellbare Auswirkungen ?

MfG
Wolf
Hier das Ergebnis eines Test meiner Verbindung:
http://ttester.broadbandreports.com/tweak/block:403a378?service=isdn&speed=28&os=win2k&via=normal
 
Zuletzt bearbeitet:
Als Folge meiner Tests habe ich nun den Wert "MTU" auf 600 eingestellt und der
Datenfluß ist merklich höher geworden.:)

Gruss
Wolf
 
kuehnch schrieb:
Viel Optimieren ist mit ping nicht möglich. Das einzige, was machbar ist, ist die Bestimmung der MTU (Maximum Transfer Unit - Header + Nutzdaten).

Dazu wird ein Paket fester Größe verschickt, dessen "Don't Fragment"-Flag gesetzt ist. Das Paket darf also nur komplett einen Hop überlaufen - ist dies nicht möglich (das Paket ist zu groß und müsste in kleinere Pakete zerlegt werden), so wird das Paket verworfen und der Absender erhält eine Information darüber in Form eines ICMP-Pakets (Internet-Control-Message-Protocol).
Aufgabe ist es also, mit ping die Größe zu finden, bis zu der das Paket noch einwandfrei versendet werden konnte. Der gefundene Wert entspricht dann der MSS (Maximum Segment Size - das ist der Nutzdatenanteil eines Paketes ohne Protokollinformationen sprich Header). Nun muss man sich überlegen, was noch an Protokollinformationen aufaddiert werden muss. TCP/IP liegt ja grundsätzlich zunächst mal vor,w as bedeutet:

MTU = MSS + 20Byte + 20Byte

Der TCP-Header, sowie der Header der unterliegenden IP-Schicht benötigen jeweils 20Byte. Wird das Paket dann noch per PPPoE vermittelt, so kommen nochmals 8Byte Protokollinformationen dazu, also:

MTU = MSS + 20Byte + 20Byte + 8Byte

Nun zum pingen - wie folgt:

ping heise.de -f -l X -n 1

Wir pingen also heise.de mit gesetzten Don't-Fragment-Flag (Option -f) und einer vorgegebenen Paketgröße (Option -l und X als Größe in Byte). Die n-Option definiert zusätzlich noch, dass nur ein Paket gesendet werden soll - das reicht uns ja.

Fangen wir bei 1500 Byte an:

ping heise.de -f -l 1500 -n 1

Es wird sehr wahrscheinlich erscheinen:

Paket müsste fragmentiert werden, DF-Flag ist jedoch gesetzt.

Die gewählte Paketgröße ist also zu groß. Wir verringern die Größe also:

ping heise.de -f -l 1450 -n 1

Hat dies nun geklappt, wissen wir, dass 1450Byte an Nutzdaten vermittelbar sind. Wir erhöhen also:

ping heise.de -f -l 1460 -n 1

usw.usw
Wir suchen genau den Wert, bei dem das Paket noch "durch geht". Wenn wir den Wert gefunden haben, addieren wir noch obige Header-Größen auf und haben die MTU gefunden, welche wir nun an diversen Stellen einstellen können.

-----
Anhang: Zu den erwähnten Schichten

Ein Kommunikationsprotokoll beschreibt eine Schichtstruktur, was dazu dienen soll, die Komplexität zu partitionieren. Es wird sich also nicht an einer Stelle um sämtliche Dinge gekümmert (Verpacken, Checksummen bilden und prüfen, Daten auf das Medium geben, Timing....), sondern es wird in Schichten gedacht:

Sender Empfänger
7................7
6................6
5................5
4................4
3................3
2................2
1................1
----------------

Bei der Abbildung zu beachten: Wo die Punkte sind, sollten Leerzeichen hin, welche das Forum aber entfernt. Es wird also NUR vertikal kommuniziert, nicht horizontal!!!!

Auf Senderseite wandern die Daten von oben nach unten durch die Schichten (von Schicht7 nach Schicht1). Auf jeder Schicht geschieht irgendwas mit den Daten und es werden jeweils schichtspezifische Daten hinzugefügt. Jede Schicht verpackt sozusagen den erhaltenen Briefumschlag in einen größeren Briefumschlag und beschriftet ihn entsprechend. Die unterste Schicht gibt die Daten dann auf das Medium. Auf Empfängerseite werden die Briefumschläge nun von Schicht1 beginnend bis zu Schicht7 nach und nach wieder ausgepackt.
So hat im ping-Beispiel die TCP-Schicht 20Byte an Daten hinzugefügt (TCP-Briefumschlag). IP hat dann den TCP-Briefumschlag erhalten und diesen wiederum um 20Byte erweitert, denn IP-Briefumschlag sozusagen...

Ich habe zu dem oben gesagten noch eine Frage:

Welche Faktoren beeinflußen den MTU-Wert ?
 
Zurück
Oben