Are Segments, Packets and Frames the same size if we ignore headers?

I've looked for some explanation about the differences between Segments, Packets and Frames, and from what I read:

  • Segment is the original data + Transport Layer header.
  • Packet is a Segment + Network Layer header.
  • Frame is a Packet + Data Link Layer header.

So basically that means that if we put the headers aside, Segments = Packets = Frames.

I remember reading that the Data Link layer takes the data transferred to it by the Network Layer and splits it to smaller chunks of data for the Physical Layer to transfer. Therefore, I assumed that those Frames are smaller pieces of a given Packet.

But everywhere I search I read that the only difference between Segments, Packets and Frames are the headers attached to the original data in the different layers, and that the names are different because they're unique to each layer, even though it is basically the same thing.

Are Segments, Packets and Frames really the same thing, except for the headers each one of them includes? Are all of them the same size?


enter image description here

Each layer have its header, as you can see:

  • Segments: Transport layer (TCP/UDP) = transport header + data (from upper layer)
  • Packet: Internet layer (IP) = network header + transport header and data (both transport and data from upper layers)
  • Frames: Network layer (Ethernet) = frame header + network , transport header and data (from three upper layers).

So, to answer your question, the difference between segment, packet and frames are basically what its respective layer consider as "data". On a segment, data comes from the application layer; on a packet, data comes from the transport layer (transport header + data); and on a frame, the data comes from the internet layer (transport and internet headers + data from application layer).