Taking from Section 1.2 in ., 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.
segment 是一整个东西有规律的分成的片断.比如说:一个电视节目,动物世界,老虎篇,会分成三个segment,每天播一个segment.
fragment 是没有规律的片断,比如说:失意,我只记得fragment of my memories (一些记忆的片断)