skip to content

In the OSI model, what is the protocol data unit called at each layer, and why does using the precise name matter?

level: juniorimportance: should knowfreq 56%

answer

  1. one name per layer
  2. B, F, P, S, D
  3. TCP and UDP name their units differently
  4. the name points at the header

basics

~20 s

OSI protocol data units: bits at L1, frames at L2, packets at L3, segments at L4 for TCP (datagrams for UDP), and data or messages at L5-L7. The name tells a listener which layer's header and addressing is meant.

solid answer

~40 s

A **protocol data unit (PDU)** is what one layer builds: its own control information plus the data it carries. The conventional names are **bits** at L1, **frames** at L2, **packets** at L3, **segments** at L4 for TCP and **datagrams** for UDP, and **data** or **messages** from L5 up. The name matters because it pins the layer: "the frame was dropped" points at a link and hardware addresses, "the packet was dropped" at routing and logical addresses, "the segment was retransmitted" at the transport endpoints. The specifications have their own habits: the host requirements (RFC 1122) speak of IP datagrams, while the IPv6 specification (RFC 8200) defines a packet as the IPv6 header plus payload, so both words are in use at L3.

go deeper

for a junior

Recall bits, frames, packets, segments for TCP or datagrams for UDP, and data above Layer 4, in that bottom-up order.

for a middle

Explain what each name implies: which addresses the unit carries and which devices read it. Know that IP specifications say datagram, that IPv6 defines packet, and that UDP's unit is a datagram.

for a senior

Use the names precisely in incident reports so a reader knows which layer failed: a frame error, a dropped packet and a retransmitted segment send different people to different places.

for a principal

Hold a team to precise layer vocabulary in runbooks and postmortems, since ambiguous words like packet for everything lengthen diagnosis across network and service owners.

## What a protocol data unit is In the OSI vocabulary, a **protocol data unit (PDU)** is the unit one layer exchanges with its peer layer on the other side: the layer's own **control information** (usually a header, sometimes a trailer too) plus the **data** it was handed from above. The data handed down by the layer above is called that layer's **service data unit (SDU)**; so the PDU of layer N is, from layer N-1's point of view, just the SDU it must carry. How those control fields nest on the way down and come off on the way up is the encapsulation subject; this answer is about the **names**. ## The names, layer by layer | Layer | PDU name | What identifies it | Who reads it | |---|---|---|---| | L7-L5 Application, Presentation, Session | **data** or **message** | application-level fields | the two applications | | L4 Transport | **segment** (TCP) / **datagram** (UDP) | source and destination **ports** | the two end hosts | | L3 Network | **packet** (IP specifications also say *datagram*) | source and destination **logical addresses** | every router on the path | | L2 Data Link | **frame** | source and destination **hardware addresses** | the nodes on one link | | L1 Physical | **bits** (as signals or symbols) | nothing: no addresses at all | the medium's transceivers | A common memory aid for the bottom four is the initials **B-F-P-S** (bits, frames, packets, segments), with **D** for data above. ## What the specifications actually call them The OSI names are conventions; the Internet's own documents use their own terms, and a strong answer knows both: - **TCP**: RFC 9293 calls the unit a **segment** throughout, each TCP segment being sent as an IP datagram. - **UDP**: RFC 768 is the "User **Datagram** Protocol"; its unit is a datagram. A UDP datagram carries no sequence number, which is one reason it is not called a segment. - **IPv4**: RFC 1122 speaks of **IP datagrams**, and describes IP as "a connectionless or datagram internetwork service". - **IPv6**: RFC 8200 defines a **packet** as "an IPv6 header plus payload". - **Link layer**: the unit on a link is a **frame**, delimited so the receiver knows where it starts and ends. So "packet" at L3 and "datagram" for IP are both correct; what would be wrong is calling an L2 unit a segment or a TCP unit a frame. ## Why the precise name matters 1. **It names the layer, and therefore the addresses in play.** A frame carries hardware addresses that are only meaningful on one link; a packet carries logical addresses that stay meaningful across the network; a segment carries ports that pick a process. 2. **It names who touched it.** Frames are built and checked on each link; packets are examined by every router; segments are examined only by the two end hosts (middleboxes aside). 3. **It makes incident reports precise.** "Frames failing their check on one switch port" sends someone to a cable; "packets dropped for no route" sends them to routing; "segments retransmitted" sends them to transport behaviour between the endpoints. 4. **It separates size limits.** A limit on how big a frame's payload may be is a property of a link; a limit on how much TCP data goes in one segment is a transport choice. Mixing the words hides which one you mean. ## Common confusions - **"Everything is a packet."** In casual speech that is common, and interviewers accept it in passing, but asked for the PDU names you are expected to give each layer's word. - **"The physical layer carries frames."** L1 carries bits; framing is exactly what L2 adds on top. - **"UDP sends segments."** Some textbooks write "UDP segment", but RFC 768 calls the unit a datagram, and it has no sequence numbering; "datagram" is the precise word. - **"Session and presentation have special PDU names."** In practice everything above L4 is simply called data or a message; nobody is marked down for that. ## How to answer in an interview Give the list bottom up (bits, frames, packets, segments or datagrams, data), then show you know *why* the word matters with one example: a new frame is built for every link while the packet inside keeps its end-to-end addresses (address translation aside). That single sentence proves you are describing layers, not reciting vocabulary.

  • IP's own specifications call its unit a datagram; is calling it a packet at the OSI network layer wrong?
    No. RFC 1122 speaks of IP datagrams and describes IP as a datagram service, while RFC 8200 defines an IPv6 packet as the IPv6 header plus payload. Both words name the L3 unit. What would be wrong is using a word from another layer, such as calling an IP unit a frame or a segment.
  • In OSI terminology, what is the difference between a protocol data unit and a service data unit?
    The service data unit (SDU) is the data the layer above hands down for delivery. The protocol data unit (PDU) is what the layer builds from it: its own control information plus that SDU. Layer N's PDU therefore becomes layer N-1's SDU, which is why the names change on the way down.

saying these in an interview costs you the question

  • Every layer's unit is simply called a packet
  • Frames live at Layer 4 and segments at Layer 2
  • The physical layer carries frames with addresses
  • UDP sends segments numbered for ordering, just like TCP
  • Datagram is wrong for IP because only packet is correct
  • The PDU name is vocabulary only and says nothing about the layer