Definition of Network Units: Fragment, Segment, Packet, Frame, Datagram

Taking from Section 1.2 in TCP/IP Illustrated: Vol 1 by Richard Stevens et al.,
consider the 4 layered TCP/IP stack:

        +-------------+-------------------------+
        | Application |  Telnet, FTP, etc       |
        +-------------+-------------------------+
        | Transport   |  TCP, UDP               |
        +-------------+-------------------------+
        | Network     |  IP, ICMP               |
        +-------------+-------------------------+
        | Link        | drivers, interface card | 
        +-------------+-------------------------+

Segment: If the transport protocol is TCP, the unit of data sent from TCP to
network layer is called Segment.

Datagram: This is used in 2 layers. If the network protocol is IP, the unit of
data is called Datagram. At transport layer, if protocol is UDP, we use datagram
there as well. Hence, we differentiate them as UDP Datagram, IP Datagram.

Frame: Physical layer representation.

Packet: It is a more generic term used either transport layer or network layer.
TCP Packet, UDP Packet, IP Packet etc. I have not seen it to represent
Physical layer data units.

Fragment: My guess here is that when a unit of data is chopped up by a
protocol to fit the MTU size, the resultant unit of data is called Fragments.
But I am guessing.

Leave a Comment