Am 23.09.2022 um 09:23 schrieb Marc Haber:
> Du darfst gerne selbst im TCP-RFC nachlesen ob das Einhalten des
> in der MSS-Option gesetzten Wertes ein SHOULD oder ein MUST ist.
Das war ja nicht mein Ding, sondern ob das denn überhaupt ein Problem
verusacht wenn sich die Gegenseite nicht dran hält und größere Segmente
verschickt.
Ich meine die Sache funktioniert doch auf Betriebssystem-Seite so, dass
immer entsprechend genug Speicher da ist damit der NIC Pakete beliebiger
Größe per DMA schreiben kann. Man kann ja nicht sagen: für Verbindung X
halte ich jetzt nur soundsoviel Speicher vor weil man ja nicht weiß ob
das nächste Paket eben für Verbindung X ist.
Das so empfangene Paket wird dann an IP und von da an TCP weitergereicht
und steht weiterhin an der selben Stelle im RAM. Von da aus wird es in
einen Empfangspuffer oder direkt in den lesenden Prozess kopiert. Auf
jeden Fall gibt es keinen logischen Grund, weswegen irgendwo in dieser
Verarbeitungs-Kette ein fester Buffer stehen sollte der solch übergroße
Pakete ausschließt. Von daher solte so ein "Fehler" an der Stelle Folgen
-los beiben.
> Die Gegenseite kann nichtmal unterscheiden, ob der übermittelte Wert
> jetzt vom Gegner oder von einem Router auf dem Weg gesetzt wurde.
Das ist klar und ich hab auch nichts gegensätzliches geesagt.
> Frage an kompetente Diskussionspartner: Wie funktioniert MSS-Clamping
> wenn im Verbindungsaufbau keine MSS-Option drin war? So weit wird ein
> Router wohl nicht ins Paket eingreifen wollen.
Das ist ja wohl trivial: der "Clamper" schaut einfach, ob er eine
niedrigere MSS zu erzwingen hat und tut das ggf.