Original von wh!t*GeForce
So mal wieder ein neuer Versuch von mir die arme Community aufzuklären, damit sich nicht GANZ soviele "Anfänger" von den angeblichen "Pro-Checkern" der Community über den Tisch gezogen werden, vlt. bezahlen diese dann ja mal ihre Premium-Accounts in der ESL selber *rolleyes*.
Fakt ist, CS läuft über UDP.
Fakt ist, CS hat nichts mit TCP zu tun.
Fakt ist, RWIN und MTU sind NICHT UDP.
Daraus ist zu schließen, RWIN und MTU beeinflussen CS nicht.
Das zu akzeptieren wäre dann vielleicht mal ein guter Schritt, WENN dann nicht diejenigen, die schon von den Lügen der angeblichen "Pro-Checkern" schon soweit geblendet wurden dass sie die Tatsachen nicht mehr erkennen können, mit folgender Frage kommen würden.
"Ich hab jetzt mein RWIN auf 2000 und mein MTU auf 200 (bei beiden Werten handelt es sich lediglich um BEISPIELE) gestellt und nun kackt mein CS total rum. Wenn CS nichts mit TCP zu tun hätte, warum kackt dann mein Spiel so komisch herum?"
Die Antwort auf diese Frage ist jedoch offensichtlich:
Weil am MTU Wert herumgespielt wurde.
1500 bzw 1492 (wegen 8-bit Overhead von etwaigem NAT) bytes sind da Standard pro Paket.
Der Overhead pro Paket (der Paketheader) beträgt bei TCP 192, bei UDP 64 Bytes. Ergo müssen bei kleiner MTU (Maximale Paketgröße) mehr Pakete für die gleiche zu transportierende Datenmenge generiert werden. Gleichzeitig wird dann gleich fast ein Viertel der übertragenden Bandbreite durch Overhead "verballert".
Deswegen, und NUR deswegen "kackt" das Spiel dann so komisch rum.
Nochmal zur Verständnis zusammengefasst:
RWIN ändert NICHTS (TCP-Option zur Flusskontrolle), aber auch gar nichts, und über eine kleinere MTU macht man seine Verbindungs bestenfalls SCHLECHTER wenn nicht ganz kaputt.
Pakete können nämlich ruhig so klein sein wie sie wollen, sie werden nicht unnötig auf die maximale MTU aufgeblasen, im Gegenzug wird aber, wenn man nun den MTU unnötig niedrig stellt, alles was größer ist auf mehrere Pakete aufgeteilt.
Sogar ein .. unintelligenterer Mensch sollte erkennen, dass es doch mehr Sinn macht und auch einfacher ist ein Auto z. B. im ganzen in einem Überseecontainer mit der Post zu verschicken, anstatt es erst auf die Größe einer Zigarettenschachtel zu zersägen, einzeln zu verschicken, um dann die Teile am Zielort wieder zusammenzubasteln.
Nun könnte man damit kommen, wenn MTU ein TCP Parameter ist, wieso beeinflusst es CS denn trotzdem? Immerhin kackt das Spiel dann ja rum (was auch sehr nützlich ist)
Die Antwort:
Ganz einfach weil MTU eben kein reiner TCP-Parameter ist, sondern ein Parameter des IP-Protokolls, welches sowohl TCP als auch UDP für den Transport benutzen.
Alles ab OSI-Layer2 wird nun mal in Pakete gepackt, bei der die Größe der Ethernet-Frames begrenzt wird, um zB bei Übertragungsfehlern nicht endlos riesige Pakete wiederholen zu müssen.
Die MTU beeinflusst alle Pakete die gesendet werden, TCP sowieo auch UDP.
Allerdings mit der Einschränkung, dass man seine Verbindung nur verschlechtern kann, wenn man die MTU kleiner einstellt als den Standardwert.
Mit freundlichen Grüßen, whit.