In telecommunications, a protocol data unit (PDU) is a single unit of information transmitted among peer entities of a computer network. It 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 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 (PDU) is best understood in relation to a service data unit (SDU).

The features or services of the network are implemented in distinct layers. The physical layer sends ones and zeros across a wire or fiber. The data link layer then organizes these ones and zeros into chunks of data and gets them safely to the right place on the wire. The network layer transmits the organized data over multiple connected networks, and the transport layer delivers the data to the right software application at the destination.

Between the layers (and between the application and the top-most layer), the layers pass service data units (SDUs) across interfaces.  The higher layer understands the structure of the data in the SDU, but the lower layer at the interface does not; moreover, the lower layer treats the SDU as the 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 PDU must be split into multiple payloads of a size suitable for transmission or processing by the lower layer; 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 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 (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.

Examples

OSI model
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.

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.

Internetwork packet exchange (IPX)
 For IPX, the IPX packet is the network layer PDU for IPX, and can simultaneously be used in the transport layer as well.
 The SPX packet on top of IPX, is a transport layer PDU.
 The link-layer PDU is the frame.

ATM
The data link layer PDU in Asynchronous Transfer Mode (ATM) networks is called a cell.

Media access control protocol data unit
A media access control protocol data unit (MAC PDU or MPDU) is a message that is exchanged between media access control (MAC) 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 (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.

See also
 
 IP fragmentation
 MAC service data unit
 Smart card application protocol data unit
 Transaction Protocol Data Unit

References

Further reading

External links 
 comp.protocols.iso FAQ (search for "PDU")

Data transmission
Packets (information technology)
프로토콜 데이터 단위(Protocol Data Unit)는 데이터 통신에서 상위 계층이 전달한 데이터에 붙이는 제어정보를 뜻한다.

PDU의 내용 
정보를 추가한 계층에 따라 PDU를 지칭하는 이름과 포함하는 내용이 달라진다.
 전송계층 : 세그먼트(segment)

 발신지 포트 : 발신하는 application의 포트
 목적지 포트 : 수신해야 할 application의 포트
 순서 번호 : 순차적 전송할 경우 순서를 붙이며, 순서가 어긋나면 목적지 프로토콜이 이를 바로 잡는다.
 오류검출코드 : 발신지와 목적지 프로토콜은 세그먼트를 연산하여 오류 검출 코드를 각각 만든다. 만약 발신지에서 전송한 세그먼트에 포함된 오류 검출 코드와 목적지에서 만든 오류 검출 코드가 다르다면 전송되는 과정에서 오류가 발생한 것이다. 이 경우, 수신측은 그 세그먼트를 폐기하고 복구 절차를 밟는다. 오류검출코드는 체크섬, 프레임 체크 시퀀스라고도 부른다.

 네트워크 계층 :패킷(packet)
 발신지 컴퓨터 주소 : 패킷의 발신자 주소
 목적지 컴퓨터 주소 : 패킷의 수신자 주소
 서비스 요청 : 네트워크 접속 프로토콜은 우선 순위와 같은 서브 네트워크의 사용을 요청할 수 있다.

OSI 모델 
PDU는 다음의 OSI모델의 앞쪽의 4개 층 사이의 각각의 관계와 관련이 있다.
 층 1(물리 계층) PDU – 비트(스트림)
 층 2(데이터 링크 계층) PDU – 전달정보(프레임)
 층 3(네트워크 계층) PDU – 패킷 혹은 UDP의 데이터그램
 층 4(전송 계층) PDU – TCP 세그먼트
 층 5-6-7 (응용 계층) PDU – 메시지, 데이터
특정 OSI와 관련된 문맥 내에서는 PDU는 그 계층 자체를 의미하기도 한다.

매체 접근 제어 프로토콜 데이터 단위 
매체 접근 제어 프로토콜 데이터 단위(MPDU)은 계층 개방형 시스템간 상호접속(OSI)모델에 기초한 소통 시스템의 매체 접근 제어 독립체 간에서 교환된 메시지이다. MPDU가 MAC서비스 데이터 단위보다 큰 시스템 내에서는 MPDU는 패킷 집합체의 결과로써 다수의 MSDU를 포함하기도 한다. MPDU가 MSDU보다 작은 시스템에서는 패킷 분할의 결과로 하나의 MSDU가 다수의 MPDU를 만들어내기도 한다.

패킷 교환 데이터 네트워크 
패킷 교환 데이터 네트워크에 대한 글 내에서, PDU는 서비스 데이터 단위(SDU)와 관련지어 이해하면 용이하다. 네트워크의 특징이나 서비스는 별개의 “계층” 내에서 주어진다. 예를 들어 전선, 섬유 등을 통해 0과 1로 이루어진 신호를 보내는 것은 물리 계층에 의해, 0과 1의 데이터를 수집하여 와이어의 적절한 곳에 도달하도록 하는 것은 데이터 링크 계층에 의해, 이러한 데이터들을 연결된 네트워크로 전송하는 것은 네트워크 계층에 의해, 그리고 적절한 소프트웨어 애플리케이션의 데이터를 목적지까지 보내는 것은 전송 계층에 의해 행해진다.

계층들은 인터페이스를 통해 데이터 단위를 주고받는다. 응용계층, 혹은 더 상위의 계층은 SDU 내의 데이터의 구조를 알 수 있지만 하위의 계층은 이를 알지 못한다. 이를 위해서 프로토콜 계층은 SDU에 그것이 기능을 하기 위한 특정한 데이터를 추가한다. 예를 들어 그것은 애플리케이션을 식별하기 위한 포트어드레스를 추가할 수도 있고 패킷 속의 데이터를 식별하고 오류를 알아내는 네트워크 주소를 추가할 수도 있다. 모든 추가적인 정보와 상위 계층에 있던 오리지널 서비스 데이터 단위는 이 계층의 프로토콜 데이터 단위를 구성한다. 이것의 중요성은 PDU는 매칭 프로토콜 계층에 단순히 데이터의 전송의 단계를 넘어서 그것이 의도하는 기능 혹은 서비스를 하도록 전송되는 구조화된 정보이다. 매칭 계층 혹은 “피어”는 오리지널 서비스 데이터 단위를 추출하기 위해서 데이터를 해독하고, 그것인 오류가 없는지, 다음으로 그것을 어디로 전송해야 할지에 대한 결정을 한다. 만약 우리가 이미 가장 낮은(물리적)계층에 도달하지 않았다면 PDU는 다음으로 낮은 단계의 계층 속의 프로토콜 “스택”을 사용하여 피어로 전송된다. PDU가 단지 그것을 전송하기 위해서 만들어진 특정 계층으로부터 인터페이스 너머로 전송되면 그것은 그 계층의 서비스 데이터 단위가 된다. PDU를 생성하고 그 PDU를 다음 하위 계층으로 보내는 SDU에 정보를 처리하고 통제하는 것(encapsulation)을 추가한 것은 가장 낮은 계층에 도달하고 어떤 매체에게로 데이터가 물리적 신호로 전달될 때가지 반복된다.

위의 과정은 PDU를 만드는 주소가 쓰여있는 봉투 속의 메일(SDU)이 있는 메일시스템과 관련이 있다. 전송하는 쪽의 우체국은 우편번호만을 보고 그것이 다시는 보일 수 없게 가방 안에 넣어버릴 수도 있는데 이 때 그것은 SDU가 된 것이다. 그 가방에는 우편번호의 목적지가 붙고 그것이 그것이 SDU일 때 다른 가방과 결합될 때까지 PDU가 되고 그리고 그 결과물은 모든 가방들이 보내질 지역이 붙고 이것은 그 결과물을 PDU로 만든다. 그 결과물이 그것의 라벨이 지시하는 곳으로 도달하면 그것은 개봉되고 그것을 담고 있던 가방(SDU)은 단지 우체국에서 누군가가 목적지를 알기 위해 읽었던 PDU가 되고 제거될 뿐이다. 그 편지들 그 자체는 그 가방이 개봉되었을 때는 SDU이지만 그 주소가 마지막으로 배달되기 위해 읽히면 그것인 PDU가 된다. 그 처리자가 마침내 그 봉투를 열면 가장 높은 단계의 SDU 즉 그 편지 자체가 나타나게 된다.

각주 

데이터 전송
네트워크 프로토콜
패킷