Protocol data unit: Difference between revisions

Content deleted Content added
7xn (talk | contribs)
No edit summary
Tags: Reverted Visual edit
ce. grammar.
 
(44 intermediate revisions by 21 users not shown)
Line 1:
{{Short description|Unit of information transmitted between peer entities (at the same layer) ofover a computer network}}
{{Use American English|date = March 2019}}
{{Use mdy dates|date = March 2019}}
{{refimproveRefimprove|date=April 2012}}
 
[[Image:Pdu and sdu.svg|thumb|350px|[[Medium access control]] (MAC) layer protocol data unit (PDU) becomes [[physical layer]] [[service data unit]] (SDU).]]
 
In [[telecommunicationtelecommunications]]s, a '''protocol data unit''' ('''PDU''') is a single unit of information transmitted among peer entities of a [[computer network]]. A PDUIt is composed of protocol-specific control information and [[Payload (computing)|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 [[datagram]]s as protocol data units for [[connectionless communication]]. A layer lower in the [[Internet protocol suite]], at the [[Internet layer]], the PDU is called a [[network packet|packet]], irrespective of its payload type.
 
==Packet-switched data networks==
{{Unreferenced section|date=June 2023}}
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 Forphysical example,layer sendingsends ones and zeros across a wire, or fiber, etc. isThe donedata bylink thelayer physicalthen layer,organizes organizing thethese ones and zeros into chunks of data and gettinggets them safely to the right place on the wire. isThe donenetwork bylayer transmits the data link layer, passingorganized data chunks over multiple connected networks, is done byand the networktransport layer and delivery ofdelivers 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(SDUs) theacross 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 (computing)|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 (networking)|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) is written, 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:<ref>{{citeCite web |url=http://www.tcpipguide.com/free/t_DataEncapsulationProtocolDataUnitsPDUsandServiceDa.htm |title=Data Encapsulation, Protocol Data Units (PDUs) and Service Data Units (SDUs) |work=The TCP/IP Guide |access-date=2012-04-05}}</ref>
 
*The Layer 4: [[transport layer]] PDU is the [[Packet segmentsegmentation|segment]] or the datagram.
*The Layer 3: [[network layer]] PDU is the [[Network packet|packet]] or the [[datagram]].<ref>{{Cite web|url=https://www.cloudflare.com/learning/network-layer/what-is-a-packet/|title=What is a packet? {{!}} Network packet definition|work=Cloudflare}}</ref>
*The Layer 2: [[data link layer]] PDU is the [[Frame (networking)|frame]].
*The Layer 1: [[physical layer]] PDU is the [[bit]] or, more generally, [[Symbol (data)|symbol]], and logically, it can be a frame, i.e. the [https://patents.google.com/patent/US9357501 PPDU frame].
 
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 ([[Header (computing)|headers]]/[[Trailer (computing)|trailers]]) layer ''n-1'' adds to the SDU would exceed the largest size layer ''n-1''<nowiki/>'s PDU can be, IP fragmentation is invoked to break it up into multiple payloads that fit in the layer-''n-1'' PDU's.
 
===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 [[Network packet|packet]].
*The [[link layer]] PDU is the [[Frame (networking)|frame]].
 
On TCP/IP over Ethernet, the data on the physical layer is carried in [[Ethernet frame]]s.
 
===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 transferTransfer modeMode]] (ATM) networks is called a ''cell''.
 
{{anchorAnchor|MPDU}}
 
===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]].<ref name=":0">{{Cite web |date=2006 |title=Wimax MAC-Upperlayer Services |url=http://www.comlab.hut.fi/opetus/4210/presentations/37_wimax_mac.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.comlab.hut.fi/opetus/4210/presentations/37_wimax_mac.pdf |archive-date=2022-10-09 |url-status=live |website=www.comlab.hut.fi |pages=12–15}}</ref>
 
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]].<ref name=":0" />
 
==See also==
* {{slinkSlink|Distributed Interactive Simulation|Protocol data units}}
* [[Frame (networking)]]
* [[IP fragmentation]]
* [[MAC service data unit]]
* [[Smart card application protocol data unit]]
* [[Transaction Protocol Data Unit]]
 
==References==
{{reflistReflist}}
 
== Further reading ==
* {{cite book |last1=Alani |first1=Mohammed M. |title=Guide to OSI and TCP/IP models |date=2014 |publisher=Springer |___location=Cham |isbn=9783319051529}}
* {{cite book |last1=Wetteroth |first1=Debbra |title=OSI Reference Model for Telecommunications |date=27 November 2001 |publisher=McGraw-Hill Professional Publishing |isbn=978-0-07-138041-6 |edition=Illustrated |language=English}}
 
== External links ==
* [http://www.cl.cam.ac.uk/~mgk25/osi-faq.txt comp.protocols.iso FAQ] (search for "PDU")
* [https://www.techtarget.com/searchnetworking/definition/protocol-data-unit-PDU protocol data unit (PDU)]
 
[[Category:Data transmission]]