In telecommunications, the term protocol data unit (PDU) has the following meanings:
- Information that is delivered as a unit among peer entities of a network and that may contain control information, such as address information, or user data.
- In a layered system, a unit of data which is specified in a protocol of a given layer and which consists of protocol-control information and possibly user data of that layer. For example: Bridge PDU or iSCSI PDU
OSI model
PDUs are relevant in relation to each of the first 4 layers of the OSI model as follows:
- The Layer 1 (Physical Layer) PDU is the bit or, more generally, symbol (can also be seen as "stream")
- The Layer 2 (Data Link Layer) PDU is the frame
- The Layer 3 (Network Layer) PDU is the packet
- The Layer 4 (Transport Layer) PDU is the segment for TCP or the datagram for UDP
- The Layer 5-6-7 (Application Layer) PDU is the data, which can be clear text, encrypted, or compressed
Given a context pertaining to a specific OSI layer, PDU is sometimes used as a synonym for its representation at that layer
Media access control protocol data unit
Media access control protocol data unit or MPDU is a message (Protocol data unit) exchanged between media access control (MAC) entities in a communication system based on the layered Open Systems Interconnection model.
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.
Packet-switched data networks
In the context of packet-switched data networks, a protocol data unit (PDU) is best understood in relation to a service data unit (SDU).
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 application or higher layer understands the structure of the data in the SDU, but the lower layer at the interface does not; it treats it 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. 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 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 (which is called 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.