最近写东西的时候突然想起了数据包、报文之类的概念,当时有点抓瞎,就上网查了一下,果然也有人再问,但是网上的东西,不能尽信,又翻了一下网络方面的书籍,《图解TCP/IP》,区分这几个概念如下(完全搬来书上的内容来参考):
“
1. 包:包可以说是全能的术语。
2. 帧:帧特指数据链路层上包的单位。
3. 数据报: 数据报是IP和UDP等网络层以上的分层中包的单位。
4. 段: 表示TCP数据流中的信息。
5. 消息:指应用协议中数据的单位。
”
综合书本和网络上的知识如下:
包也就是我们常说的数据包(packet)是个泛指的概念,各个层上的数据传输单元都可以说成是数据包;
帧(frame)特指在数据链路层上的传输单元,由帧头、有效载荷(存放数据包)、帧尾组成;
数据报(datagram),通常在网络层上的无连接的数据报网络中传输单元的概念;
段(segment),是传输层之间的交换单元,被包裹在IP数据包中间;
报文(Message),是网络中交换与传输的数据单元,也是网络传输的单位,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致。报文在传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头。