Protocol data unit
In telecommunications, a protocol data unit (PDU) 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 (TCP) implements a connection-oriented transfer mode, and the PDU of this protocol is called a segment, while the User Datagram Protocol (UDP) uses datagrams as protocol data unit for connection-less transfer. 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
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 (and between the application and the top-most layer), 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 (lower) 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 (known as the maximum transmission unit; MTU). When this is the case, the SDU must be split into multiple payloads of 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 (physical) 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 (and therefore does not understand its internal structure), it becomes a service data unit to that layer. The addition of addressing and control information (encapsulation) 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 (SDU) is placed in an envelope on which is written an address (addressing and control information) making it a PDU. The sending post office might look only at the post code and place the letter in a mail bag so that the address on the envelope can no longer be seen, making it now an SDU. The mail bag is labelled with the destination post code 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 labelled 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 (SDUs) 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.
Protocol data units of the OSI model are:
- The Layer 4: transport layer PDU is the segment or the datagram.
- The Layer 3: network layer PDU is the packet.
- The Layer 2: data link layer PDU is the frame.
- The Layer 1: physical layer PDU is the bit or, more generally, symbol.
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 (n), sent as SDU to the layer one lower than it (n-1), plus any metadata (headers/trailers) 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's corresponding data link layer PDU is called a cell.
Media access control protocol data unit
In systems where the MPDU may be larger than the MAC service data unit (MSDU), 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.
- "Data Encapsulation, Protocol Data Units (PDUs) and Service Data Units (SDUs)". The TCP/IP Guide. Retrieved April 5, 2012.
- comp.protocols.iso FAQ (search for "PDU")