Protocol data unit


In telecommunications, a protocol data unit is a single unit of information transmitted among peer entities of a computer network. A PDU is composed of protocol-specific control information and user data. In the layered architectures of communication protocol stacks, each layer implements protocols tailored to the specific type or mode of data exchange.
For example, the Transmission Control Protocol implements a connection-oriented transfer mode, and the PDU of this protocol is called a segment, while the User Datagram Protocol uses datagrams as protocol data units for connectionless communication. A layer lower in the Internet protocol suite, at the Internet layer, the PDU is called a packet, irrespective of its payload type.

Packet-switched data networks

In the context of packet switching data networks, a protocol data unit is best understood in relation to a service data unit.
The features or services of the network are implemented in distinct "layers". For example, sending ones and zeros across a wire, fiber, etc. is done by the physical layer, organizing the ones and zeros into chunks of data and getting them safely to the right place on the wire is done by the data link layer, passing data chunks over multiple connected networks is done by the network layer and delivery of the data to the right software application at the destination is done by the transport layer.
Between the layers, the layers pass service data units across the interfaces. The higher layer understands the structure of the data in the SDU, but the lower layer at the interface does not; the lower layer treats the SDU as payload, undertaking to get it to the same interface at the destination. In order to do this, the protocol layer will add to the SDU certain data it needs to perform its function; which is called encapsulation. For example, it might add a port number to identify the application, a network address to help with routing, a code to identify the type of data in the packet and error-checking information. All this additional information, plus the original service data unit from the higher layer, constitutes the protocol data unit at this layer.
The SDU and metadata added by the lower layer can be larger than the maximum size of that layer's PDU. When this is the case, the SDU must be split into multiple payloads of a size suitable for transmission or processing by the lower later; a process known as IP fragmentation.
The significance of this is that the PDU is the structured information that is passed to a matching protocol layer further along on the data's journey that allows the layer to deliver its intended function or service. The matching layer, or "peer", decodes the data to extract the original service data unit, decide if it is error-free and where to send it next, etc. Unless we have already arrived at the lowest layer, the PDU is passed to the peer using services of the next lower layer in the protocol "stack". When the PDU passes over the interface from the layer that constructed it to the layer that merely delivers it, it becomes a service data unit to that layer. The addition of addressing and control information to an SDU to form a PDU and the passing of that PDU to the next lower layer as an SDU repeats until the lowest layer is reached and the data passes over some medium as a physical signal.
The above process can be likened to the mail system in which a letter is placed in an envelope on which is written an address making it a PDU. The sending post office might look only at the postcode and place the letter in a mailbag so that the address on the envelope can no longer be seen, making it now an SDU. The mailbag is labeled with the destination postcode and so becomes a PDU until it is combined with other bags in a crate when it is now an SDU, and the crate is labeled with the region to which all the bags are to be sent, making the crate a PDU. When the crate reaches the destination matching its label, it is opened and the bags removed only to become PDUs when someone reads the code of the destination post office. The letters themselves are SDUs when the bags are opened but become PDUs when the address is read for final delivery. When the addressee finally opens the envelope, the top-level SDU, the letter itself, emerges.

Examples

OSI model

Protocol data units of the OSI model are:
Given a context pertaining to a specific OSI layer, PDU is sometimes used as a synonym for its representation at that layer.
When the PDU of one layer, sent as SDU to the layer one lower than it, plus any metadata layer n-1 adds to the SDU would exceed the largest size layer n-1's PDU can be, it must be broken up into multiple payloads to fit in the layer-n-1 PDU's. This process is called IP fragmentation.

Internet protocol suite

Protocol data units for the Internet protocol suite are:
  • The transport layer PDU is the TCP segment for TCP, and the datagram for UDP.
  • The Internet layer PDU is the packet.
  • The link layer PDU is the frame.
On TCP/IP over Ethernet, the data on the physical layer is carried in Ethernet frames.

ATM

The data link layer PDU in Asynchronous transfer mode networks is called a cell.

Media access control protocol data unit

A media access control protocol data unit is a message that is exchanged between media access control entities in a communication system based on the layered OSI model.
In systems where the MPDU may be larger than the MAC service data unit, the MPDU may include multiple MSDUs as a result of packet aggregation. In systems where the MPDU is smaller than the MSDU, then one MSDU may generate multiple MPDUs as a result of packet segmentation.