报文和帧 - 知乎

·  阅读 188
原文链接: zhuanlan.zhihu.com

在OSI七层与TCP/IP五层网络架构中,数据发送时,由上层向下层封装,报文(4层叫法)是网络传输的单位,传输过程中会不断封装成分组、包(3层叫法)、帧(2层叫法)来传输,封装的方式就是添加一些信息段。


四层,传输层传输的是数据报文,主要是协议格式。

报文(message):网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。

报文就是个数据块,包括要传送的数据,也包括必要的附加信息(包括目的IP,目的端口,源地址,源端口,数据长度,所用协议,加密等等)。就好像是邮寄一封信,对方要得到的只是里边的内容,但你要发送,就必须有信封,有邮票,有地址邮编,等等附加的东西,报文指的就是包括信封在内的所有东西,而不是单指客户要发送的数据。

报文段(segment):组成报文的每个分组。分组交换也称为包交换,它将用户通信的数据划分成多个更小的等长数据段,在每个数据段的前面加上必要的控制信息作为数据段的首部,每个带有首部的数据段就构成了一个分组。首部指明了该分组发送的地址,当交换机收到分组之后,将根据首部中的地址信息将分组转发到目的地,这个过程就是分组交换。能够进行分组交换的通信网被称为分组交换网。

三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息

数据报(Datagram):通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和其它数据之间的关系。可以理解为传输数据的分组。我们将通过网络传输的数据的基本单元称为数据报。

二层,数据链路层传输的是数据帧,包含数据包,并且增加相应MAC地址与二层信息

帧(frame):数据链路层的协议数据单元。我们将链路层分组称为帧。

数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。

不同的层对应不同的传输单元,自上而下:

TCP (Transport layer 传输层) ==> message[报文] Segment [报文分组]

IP (Network layer 网际层) ==> Datagram [数据报 or 数据包],抓包就是在这一层抓

Ethernet (Link layer 链路层) ==> Frame [帧]

物理层 ==> Bit [比特]

另外,存在一个泛称,通指所有层的基本传输单元:

Packet [分组]

分类:
阅读
标签:
分类:
阅读
标签:
收藏成功!
已添加到「」, 点击更改