TCP ist ein Streaming-Protokoll und kein Nachrichtenprotokoll. Der TCP-Stack im Betriebssystem stellt sicher, dass Daten in der richtigen Reihenfolge an die Anwendung weitergeleitet werden und dass kein Datenverlust und keine Duplizierung der Daten erfolgt. Es ist nicht wichtig, Paketgrenzen beizubehalten, da, wie gesagt, TCP ein Stream-Protokoll ist. Dem Sender steht es außerdem frei, einen einzelnen Schreibvorgang in mehrere Pakete aufzuteilen oder mehrere Schreibvorgänge zu einem einzigen Paket zusammenzufassen. Es wird eine Aufteilung vorgenommen, um die Paketgröße an die MTU / PMTU anzupassen, um eine Paketfragmentierung während der Zustellung zu vermeiden, und es wird kombiniert, um den Overhead der Zustellung zu reduzieren.
Die Anwendung sollte sich daher niemals auf implizite Nachrichtengrenzen stützen, da die sendende Anwendung die Daten geschrieben hat. Stattdessen müssen explizite (auf Anwendungsebene) Nachrichtengrenzen verwendet werden.
Gibt es eine Möglichkeit, das Betriebssystem so zu konfigurieren, dass diese Pakete neu zusammengestellt werden, wenn sie auf dem Port dieser Schicht empfangen werden?
Nein, in Ihrer Bewerbung müssen Sie richtig damit umgehen.