

TCP will generally try to send application data as soon as it is written to the socket, however: TCP needs to segment the data to encapsulate it in IP packets for transport across the network, but it does so in a manner completely decoupled from the application message and document boundaries.

The API that TCP sockets offer is agnostic to, and completely ignores, the structure of the application communication, and offers a completely generic model of communication as a simple continuous stream of bytes. Distributed applications communicate by exchanging messages and documents and, at the system level, typically do so using BSD-style sockets connected by TCP.

Briefly, Wireshark marks TCP packets with "TCP segment of a reassembled PDU" when they contain payload that is part of a longer application message or document that is completed in a later packet.Ī fuller explanation than this somewhat terse answer requires a little bit of a deep-dive into the operation of TCP.
