Anderes OS = andere MTU?

Hallo Netzwerker!

Ich hab hier ein mir unerklärliches Phänomen und suche Erleuchtung . . .

Ich hab diese Woche meinen „Server“ aufgrund verschiedener kleiner Software-Nickeligkeiten nach jetzt vier Jahren Dauerbetrieb von Windows 2000 auf Windows XP umgestellt.

Beim „Finetuning“ bin ich jetzt über die MTU-Einstellung gestolpert. Der SG TCP-Optimzier gibt mir beim Test eine MTU von 1500 Byte aus. Was mich außerordentlich irritiert, denn der gleiche Test unter dem alten Betriebssystem gab mir 1454 Byte als optimale MTU aus.
Das ist reproduzierbar, ich hab jetzt mehrere Mal die Systemimages hin- und hergespielt, unter W2k immer 1454, unter XP immer 1500.

Wie kann das?
Die MTU ist doch meines Wissens nach „die dünnste Stelle“ in der gesamten Verbindung, die sollte mit meinem lokalen Netz/Rechnern/Betriebssystemen doch eigentlich nicht das Geringste zu tun haben?

Irgendjemand ne Idee?

Heissen Dank!
mabuse

Hallo,

ich würde mich da nicht zu sehr wundern, bzw. auch nicht allzuviele Hoffnung in diese TCP Tuningtools legen.

Die maximale Framegröße im Ethernet (ohne VLAN-Tag) beträgt eigentlich 1518 Bytes.

Würde Dein Optimierer unter XP 1500 Bytes als max. Layer 3 Frame ansehen, würde es passen. 1500 Bytes plus 14 Bytes Header Layer 2 und 4 Bytes FCS = 1518 Bytes.

Die 1454 Bytes Deines W2K Systems könnte man jetzt rechnerisch herleiten. Wenn man zu dieser MTU die zusätzlichen Bytes bei einem ICMP Paket hinzuaddiert (ICMP 8 Bytes, Layer 3 Header 20 Bytes, Layer 2 Header 14 Bytes und Layer 2 FCS 4 Bytes) kommt man wieder auf 1500 Bytes. Warum nur 1500 Bytes, keine Ahnung - möglicherweise hat MS beim Sprung von 2K auf XP auch was am IP-Stack geschraubt.

Meine persönliche Meinung ist, dass moderne Systeme durchaus vernünftige Werte für die einzelnen Verbindungsparameter mitbringt (die MTU Size ist ja nur einer von vielen Parametern). Und dadurch TCP Optimierer eher überflüssig sind. Zumindest im Zeitalter von LAN’s im Heimbereich und schnellen Breitbandverbindungen ins Internet.

Gruß
C.S.

Hallo,

ich würde mich da nicht zu sehr wundern, bzw. auch nicht
allzuviele Hoffnung in diese TCP Tuningtools legen.

Kommt darauf an, was man davon erwartet. Ich finde persönlich, TCPOptimizer ist ganz nützlich.

Die maximale Framegröße im Ethernet (ohne VLAN-Tag) beträgt
eigentlich 1518 Bytes.

Würde Dein Optimierer unter XP 1500 Bytes als max. Layer 3
Frame ansehen, würde es passen. 1500 Bytes plus 14 Bytes
Header Layer 2 und 4 Bytes FCS = 1518 Bytes.

MTU ist NICHT gleich Framesize. Bei IP-Paketen heißt die korrekte Bezeichnung Packetsize, bei Ethernet Framesize. Allerdings:
Es gibt da einige Begriffsverwirrungen, weil manche Routerhersteller das anders (proprietär)handhaben.
Entscheidend und standardkonform ist die maximale Nutzlast des Ethernet-Frames von 1500. Mit der Einstellung MTU wird ausgesagt, dass die IP-Pakete dieses Limit erhalten, weil die darunterliegende OSI-Schicht nicht mehr aufnehmen kann/soll.
Da z.B. mein Internetzugang PPPOE benutzt, ist bekanntermassen die maximale Nutzlast reduziert, wegen dem 8-Byte-PPPOE-Header, nämlich auf 1492, mehr sollte also ein LAN-Ethernetframe auch nicht an Nutzlast transportieren, da sonst an meinem WLAN-Router fragmentiert (und defragmentiert!) werden würde.
Bei meiner W2k-Workstation liefert mir TCPOptimizer exakt 1492 Bytes als Vorschlag für die MTU.
Die Meldung sieht so aus:
The largest possible non-fragmented packet is 1464 (1492 - 28 ICMP & IP headers).
You can set your MTU to 1492

Ich habe allerdings die MTU vor dem Test nicht auf 1500 zurückgestellt, da ich nicht den Rechner neustarten wollte.
Bei MTU=1500 würde das Tool also vermutlich als largest non-fragmented packet 1472 angegeben haben. Macht plus 28 ICMP&IP also 1500, die maximale Nutzlast für Ethernet-Frames.

Die 1454 Bytes Deines W2K Systems könnte man jetzt
rechnerisch herleiten. Wenn man zu dieser MTU die zusätzlichen
Bytes bei einem ICMP Paket hinzuaddiert (ICMP 8 Bytes, Layer 3
Header 20 Bytes, Layer 2 Header 14 Bytes und Layer 2 FCS 4
Bytes) kommt man wieder auf 1500 Bytes. Warum nur 1500 Bytes,
keine Ahnung - möglicherweise hat MS beim Sprung von 2K auf XP
auch was am IP-Stack geschraubt.

TCPOpt. rechnet aber den ICMP- und Layer2-Overhead bereits heraus.
Das Problem muss also hier im Grunde entweder an einer Begrenzung im Netzwerkpfad oder an einer limitierenden Einstellung im W2k-Server liegen.
Wenn also der Fragende dem Vorschlag des Tools folgt, und mit einer Grundeinstellung von MTU=1500 beginnt,(ich nehm das jetzt mal an), dann fehlen mit einem Vorschlag von 1454, sofern der Internetzugang ebenfalls PPPOE benutzt, genau 18 Bytes gegenüber dem Wert 1472, den ich bei meiner W2k-WS-Version bekomme.
Im Grunde kommen wir hier beide zu der selben Differenz von 18 Bytes, wenn du auch hier noch bei der Rechnung den Umweg über den Ethernet-Header gehst, der eigentlich soweit nichts zur Sache tut.
Jetzt wäre die Frage, liegt es am Netzwerkpfad, dann müssten die Pakete von dem W2k-Server irgendwo auf dem Weg entweder über einen anderen Pfad (einen anderen Router oder Gateway)geleitet werden, oder aber am Gateway bzw. einem anderen Router anders behandelt werden, als die Pakete von dem XP-Server.
Es stellt sich also hier die Frage:
Wie sieht denn grob die Netzwerktopologie aus? Handelt es sich um eine Windows-Domäne?
Werden für bestimmte Maschinen oder Netzwerkadapter per Gruppenrichtlinie oder anderswie verschiedene Netzwerkeinstellungen vorgesehen, wird da vielleicht schon zweigleisig IP4 und IP6 gefahren ?
Dann müsste der Unterschied aber im Grunde 20 Bytes und nicht 18 betragen.
Findet vielleicht auf dem Weg zum Gateway Tunneling/VPN statt?
Oder ist es nur ein kleines SOHO, und der Server ist nur „zum Spaß“ da, als normales Arbeitsgruppenmitglied?
Wird hier das PathMTU, dass TCPOpt. verwendet, anders grundkonfiguriert/ausgeführt bei einem XP-Server als bei einem 2k-Server?

Meine persönliche Meinung ist, dass moderne Systeme durchaus
vernünftige Werte für die einzelnen Verbindungsparameter
mitbringt (die MTU Size ist ja nur einer von vielen
Parametern). Und dadurch TCP Optimierer eher überflüssig sind.
Zumindest im Zeitalter von LAN’s im Heimbereich und schnellen
Breitbandverbindungen ins Internet.

Ich habe die Erfahrung gemacht, dass dem nicht so ist. Netzwerke sind nicht autokonfigurierend.
Z.B. bei dem Zugang, den ich mit per WLAN-Router mit 2-3 Anderen teile, hat es sich erwiesen, dass bei einer MTU von 1500, und daher stattfindender Paketfragmentierung im Router vor dem Übergang ins PPPOE, und das bei 3 Rechnern mit dieser Einstellung, die Rechenlast des Routers rapide ansteigt, weil er dauernd Pakete puffern, schneiden und wieder neu zusammensetzen muss.
In der Praxis wird dadurch die Bandbreite des Routers deutlich schlechter, und die Datenrate beginnt zu schwingen, besonders wenn wirklich alle 3 Rechner gleichzeitig Verkehr machen.
Teilweise stürzt der Router(AP) dann mehrmals am Tag ab.
Im Sommmer öfter, vermutlich wegen der erhöhten Wärmebeanspruchung.
Seit wir alle MTU 1492 benutzen, schwingt die Performance des Internetzugangs nicht mehr(bzw. nicht mehr so stark), und abstürzen tut der Router nur noch selten.
Wenn, hängt sich höchstens mal die Verbindung zum Provider auf, das liegt aber an der Funkstrecke zum WiMax-Knoten des Providers.
Nur der Wert von 18 Byte Differenz erscheint mir im Moment etwas sehr rätselhaft, irgendwie sehr krumm…

Gruß Uwe

1 Like

Korrektur
Natürlich ist das mit dem Startwert, ob 1492 oder 1500, den man bei dem MTU Test mitbringt, egal, das Tool ermittelt ja sowieso die maximale nichtfragmentierte Nutzlast.
Die wird aber durch den Netzwerkpfad bestimmt.
Die Rechnung ergibt also:
Max. non-fragmented packet size,müsste eigentlich heißen max non-fragmented IP-Payload (= maxMTU minus IP-Header minus ICMP), ergibt 1464.
Dementsprechend Vorschlag für den MTU-Wert, der in der Registry eingetragen wird 1492.
Der PPPOE-Overhead, 8 Byte, der von der IP-Nutzlast abgeht, ist hier also schon einberechnet.

Ich setze mal voraus, Mabuse benutzt auch dsl, dementsprechend wäre eigentlich der selbe Wert zu erwarten, nämlich 1492. Und die Angabe für maxnonfragmentedIPpayload müsste dementsprechen auch 1464 sein.
Er bekommt aber nur 1454, also brutto, als MTU, sogar 10 weniger, als bei mir netto (maxnonfragmentedIPpayload).
Dementsprechend, wenn hier nicht ein Ablesefehler aus der Ausgabe von TCPOpt. vorhanden ist, müsste es im Vergleich beider Ausgaben so aussehen:
Meine W2k-Workst. getested auf optimale MTU, Internetzugang DSL(PPPOE):
The largest possible non-fragmented packet is 1464 (1492 - 28 ICMP & IP headers).
You can set your MTU to 1492

Bei Mabuse, der anscheinend eine Standleitung hat, weswegen ihm bei XP laut Aussage MTU 1500 vorgeschlagen wird, sollte beim XP-Server folgende Ausgabe stehen:
The largest possible non-fragmented packet is 1472 (1500 - 28 ICMP & IP headers).
You can set your MTU to 1500

Dementsprechend sollte bei seinem W2k-Server stehen, wenn der dieselbe Internetverbindung nutzt, also irgendwas ohne PPPOE, so dass auf dem Weg ins Internet auch bei MTU 1500 nicht fragmentiert wird, wobei der Server aber irgendwie, weiß der liebe Gott warum, weniger liefert:
The largest possible non-fragmented packet is 1444 (1454- 28 ICMP & IP headers).
You can set your MTU to 1454

Ist das so richtig wiedergegeben, Dr. Mabuse?
Oder könntest du die beiden Ausgaben hier einfach nochmal posten???
Hast du vielleicht hier versehentlich den Wert für The largest possible non-fragmented packet angegeben, anstatt den Vorschlag You can set your MTU to 1454 ?

Ich gehe mal davon aus, du hast es richtig wiedergegeben, das hiesse dann also, bei deinem W2k-Server, und 1500 machbarer MTU unter XP, hast du erstmal einen Unterschied von 38 Bytes weniger als mein W2k-WS(MTU dank PPPOE 1492), und da du( ausweislich deines angegebenen Wertes von MTU1500 bei XP) dementsprechend eigentlich 8 Byte mehr haben solltest, da dein Internetzugang ohne PPPOE, so sollte das dann eine 46 Byte geringere IP-Nutzlast sein bei dir als bei mir, mit jeweils einem W2k-System.

Wennn ich jetzt also mal die Hypothese außer acht lasse, dass dein W2k im Netzwerkpfad anders behandelt würde als dein XP, sondern es an irgendeiner Einstellung deines Rechners handelt, also ein systemischer Unterschied, so ergeben sich folgende Differenzen:

Xp vs W2k an einenm 1500er maxMTU-Internet:
W2k-Serv. hat eine 46 Bytes kleinere maximale IP-Nutzlast vorzuweisen.

Dein W2k-Serv. vs. mein W2k-WS, und da ich an deinem 1500 maxMTU dementsprechend nicht 1464, sondern 1472 max. IP-Nutzlast hätte, macht das also:
W2k-Serv. hat ebenfalls eine 46 Bytes kleinere max. IP-Nutzlast vorzuweisen.
An einem Generatonsunterschied scheint es also nicht zu liegen.
Also entweder domänenbedingte Änderungen für die Netzwerkeinstellungen für den W2-Serv., die für den XP-Serv. nicht angewendet werden, oder aber an dem W2k-Serv. ist irgendwas schon von Anfang an verstellt.
Oder aber würde TCPOpt. bei dem XP-System irgendwas falsch auslesen, was ich aber erstmal nicht glauben will.

Mach doch mal den Test so:
Gib oben bei der Adressleiste des „Largest MTU“-Tabs statt www.speedguide.net einfach mal die aktuelle IP des verwendeten Netzwerkadapters ein, von dem du losstartest, oder auch 127.0.0.1. .
Sollte da auch wieder irgendwas unter 1500 rauskommen, dann ist irgendwas in dem W2k-Server verbogen.
Meines Wissens gibt es nämlich einmal adapterbezogene MTU-Einstellungen(und auch für andere Parameter), und zum anderen auch globale MTU-Einstellungen(und andere).
Und es könnte auch eine VPN-Software im Hintergrund laufen, bzw. das rgistrymäßig beeinflusst haben, auch wenn sie schon gar nicht mehr installiert ist. Nur eine mögliche Fehlerquelle.

Wichtig wäre also mal 1. die korrekten Ausgaben von TCP-Optimizer und 2. der Test auf die eigene IP des W2k-Servers bzw. auf die Loopback-IP.
Dann könnte man schonmal was ausschliessen bzw. folgern.
Die Art des Internetzugangs wäre auch mal interessant, ist das ne T2-Leitung oder was?

Ähem
Jetzt auch noch verschrieben,
Sollte an der Stelle dann so heißen:

_The largest possible non-fragmented packet is 14541426 (1454- 28
ICMP & IP headers).

You can set your MTU to 1454_

Erwischt!
Moien und Dank, das ihr euch über mein Problem Gedanken gemacht hat.

@Uwi, du hast mit jedem einzelnen deiner Worte absolut recht.

@C.S. die MTU ist sogar von überragender Wichtigkeit. Eine zu gering eingestellte MTU setzt den Durchsatz herab, weil sich das Verhältnis von Nutzlast zu Verwaltungsdaten verschiebt. Okay, da sind bestenfalls ein bis zwei Prozent, das könnte man verschmerzen.
Aber eine zu hoch eingestellte MTU führt dazu, das die Pakete auf dem Weg zum Ziel fragmentiert werden - und es gehört mittlerweile bei vielen SSL-verschlüsselten Verbindungen zu den Sicherheitsmaßnahmen, das solche Pakete nicht angenommen werden. Ich hab’s schon Dutzende Male erlebt, das auf verschiedensten Systemen Homebanking - und teilweise eBay - nicht mehr funktionierte. Nur wegen einer verstellten MTU!
Daher gehört der TCP-Optimizer mittlerweile auch zur Grundausstattung meiner Notfall-Programme.

Ich leb hier auf dem Dorf und bei DSL2000 ist das Ende des machbaren erreicht - und da versucht man schon, mit allen Tricks, die sich so bieten, auch noch das letzte Bit aus der Leitung herauszuwringen.

Und da sind wir dann auch bei der Lösung:
Neben allerlei Optimierungen fahr ich (natürlich) auch ein intensives TrafficShaping. Und cFosSpeed bringt eine eigene „MTU-Optimierung“ mit - die offensichtlich (nur unter 2k, nicht unter XP!) etwas seltsame Vorstellungen hat. Ist mir aufgefallen, weil meine Arbeitsstation kein lokales TS hat, die wird im Router auf maximale Priorität gestellt. Also kein cFosSpeed - und ebenfalls eine MTU von 1500 . . . zum Glück kann man diese Optimierung in cFosSpeed abschalten.

So einfach kann’s sein . . .

Aber damit ihr auch was für euer Mühen habt:

http://www.grc.com/dns/benchmark.htm

Habbich gestern zufällig gefunden. Überprüft ein paar tausend DNS-Server weltweit, anschließend kann man mit den 50 schnellsten einen intensiven Speed-Test fahren. Dauert alles in allem gut eine dreiviertel Stunde, aber die Zeit ist echt gut angelegt:
Wenn man dann die schnellsten DNS-Server in seinem System hinterlegt, dann geht aber echt die Luzie ab . . . besonders für Telekom-Kunden, denn deren DNS-Server scheinen noch rein mechanisch zu funktionieren . . . ich benutzt jetzt den der Heinrich-Heine-Unität in D’dorf, der antwortet fast zehnmal so schnell wie die Telekomiker . . .

Ein schönes Wochenende wünsch ich euch!
mabuse

Moien und Dank, das ihr euch über mein Problem Gedanken
gemacht hat.

Bitte. Ich mach das gern aus der Ferne, ein bisschen Deduktion und Induktion.
Schult das logische und kriminalistische Denken :smile:

@Uwi, du hast mit jedem einzelnen deiner Worte absolut recht.

Naja, nachts steigt nur leider die Tipp-und Kopfrechenfehlerrate etwas an.
Ich hasse es, dass man bei w-w-w seine Posts nicht mehr nachträglich editieren kann .

Daher gehört der TCP-Optimizer mittlerweile auch zur
Grundausstattung meiner Notfall-Programme.

Und es macht auch nur das, was ich will, im Gegensatz zu manchen anderen Tuning-Tools.

Ich leb hier auf dem Dorf und bei DSL2000 ist das Ende des
machbaren erreicht - und da versucht man schon, mit allen
Tricks, die sich so bieten, auch noch das letzte Bit aus der
Leitung herauszuwringen.

Das bringt mich dazu, jetzt hast du ja gesagt, dass du DSL hast.
Als kleiner Tipp, dann stell doch mal die MTU auf 1492, bzw. setz das Häkchen bei „PPPOE“, wie geschildert, bei unserem Accesspoint war ich sehr erstaunt, wie viel das an Performance ausmacht, wenn der kleine WRT54G Linksys nicht dauernd Pakete trennen und wieder neu zusammensetzen muss. Der hat ja nicht mehr grad viel RAM im Unterschied zu früheren Modellreihen.
Merkt man halt besonders, wenn man einen Provider mit solala Verbindungsqualität hat. Und ebenfalls nur 2 Mbit Bandbreite maximal.

Und da sind wir dann auch bei der Lösung:

Neben allerlei Optimierungen fahr ich (natürlich) auch ein
intensives TrafficShaping. Und cFosSpeed bringt eine eigene
„MTU-Optimierung“ mit - die offensichtlich (nur unter 2k,
nicht unter XP!) etwas seltsame Vorstellungen hat. Ist mir
aufgefallen, weil meine Arbeitsstation kein lokales TS hat,
die wird im Router auf maximale Priorität gestellt. Also kein
cFosSpeed - und ebenfalls eine MTU von 1500 . . . zum Glück
kann man diese Optimierung in cFosSpeed abschalten.

Was mich jetzt, wo ich mir schon einen Wolf geschrieben habe, wwirrklisch ganz gerne wüßte: Hast du das mal probiert, was ich schrieb, nämlich in TCPOpt. beim MTU-Test statt dem speedguide.net mal die eigene IP anzusteuern?
Und kam dann da genau der selbe reduzierte Wert raus bei deinem W2k?

Aber damit ihr auch was für euer Mühen habt:

http://www.grc.com/dns/benchmark.htm

Habbich gestern zufällig gefunden. Überprüft ein paar tausend
DNS-Server weltweit, anschließend kann man mit den 50
schnellsten einen intensiven Speed-Test fahren. Dauert alles
in allem gut eine dreiviertel Stunde, aber die Zeit ist echt
gut angelegt:

Ja, mach ich mal wenn ich Zeit hab, früh abends ist das eh ein bisschen schlecht hier bei mir, da ist der Provider einfach etwas zu vollgestopft.

Gruß Uwe

Morgen!

Ich hasse es, dass man bei w-w-w seine Posts nicht mehr nachträglich editieren kann .

ACK

Als kleiner Tipp, dann stell doch mal die MTU auf 1492, bzw. setz das Häkchen bei „PPPOE“, wie geschildert, bei unserem Accesspoint war ich sehr erstaunt, wie viel das an Performance ausmacht, wenn der kleine WRT54G Linksys nicht dauernd Pakete trennen und wieder neu zusammensetzen muss. Der hat ja nicht mehr grad viel RAM im Unterschied zu früheren Modellreihen.

Naja, aber das würde doch den Ergebnissen des Optimizers widersprechen.

Aber ich hab grad mal ein paar Test gefahren: mit eigener lokaler und öffentlicher IP, mit Yahoo.de, meinem email-Provider, unserer Firmen Homepage - ich bekomm immer eine MTU von 1500 angegeben. Sowohl auf dem Server mit XP und TrafficShaping als auch auf meiner Arbeitsmaschine mit 2k und ohne TS.

Deckt sich aber auch mit meinen Erfahrungen: Anscheinend gehen die ständigen Fragen wieso eBay und Bank nicht funktioniert den Providern so auf die Nerven, das die klammheimlich so nach und nach ihre Netze auf 1500 umstellen (DSL-Leitung also netto auf 1508) , damit’s auch mit den Windows-Standard-Einstellungen funktioniert. Ich bekomm bei meinen . . . „Hilfe“ . . .Einsätzen immer weniger Netze zu sehen, bei denen die MTU weniger als 1500 beträgt.

Merkt man halt besonders, wenn man einen Provider mit solala Verbindungsqualität hat. Und ebenfalls nur 2 Mbit Bandbreite maximal.

Eigentlich kann ich mich (nach den kleinen Optimierungen) kaum beschweren: Downloadrate konstant 230-240 kB, pings um die 100 (während der torrent-Clinet die Leitung am rauchen hält!) . . . kann man mit leben.

Und da der Server eh rund um die Uhr online ist, stört die dünne Bandbreite auch nicht weiter. Dauert zwar teilweise was, aber der Gesamt-Durchsatz passt schon. Nur etwas mehr Upload hätt ich gerne für meinen FTP-Server.

Witziges (und auch wieder unerklärliches) Detail am Rande: hab gerade gemerkt, das in meinem Router auch die MTU von 1454 hinterlegt war.
müsste der dann nicht größere Pakete, die bei ihm eintreffen selbstständig fragmentieren? bzw. Pings, bei denen das nofragment-Flag gesetzt ist, abweisen?
Umstellung des Routers auf 1500 hat am Ergebniss des Optimizers nichts geändert, wieder ein halbes Dutzend Hosts und auch lokale IPs getestet . . .

Computer sind schon echt seltsam . . .

schönen Sonntag wünsch ich dir!
mabuse