数据帧、数据包、数据报三者区分

首先我们有清楚, 信息交换是发生在OSI模型中的相同层面,即:等层信息交换 ,源机中每一层都把信控制信息附加在数据中,而目的机器的每一层都会都接收到的信息进行分析,并从数据中移除控制信息
在开始之前,需要先了解一下什么是数据单元?

数据单元(data unit) 是网络信息传输的基本单位。一般网络连接不允许传送任意大小数据包,而是采用分组技术将一个数据分成若干个很小的数据包,并给每个小数据包加上一些关于此数据包的属性信息。, 常用的数据单元有服务数据单元(SDU)—— 是在同一台机器上的两层之间传送信息 ,协议数据单元(PDU)—— 是发送机器上每层的信息到接收机器上的相应层

协议数据单元(PDU): 在分层网络结构,例如在 开放式系统互联 (OSI)模型中,在传输系统的每一层都将建立协议数据单元(PDU)。PDU包含来自上层的信息和当前层的实体附加的信息,这个PDU会被传送到下一较低的层。而在不同层中PDU所代表的都是不同的,如:在网络层中的PDU为数据包,在数据链路层就为数据帧, 传输层 (第四层)PDU指 数据段 Segment )。

SDU(service Data Unit):服务数据单元,又叫业务数据单元,是指定层的用户服务的数据集,传送到接收方的时候同一协议层时数据没有发生变化 ,即业务部分,然后发给下层之后,下层将其封装在PDU中发送出去。服务数据单元是从高层协议来的信息单元传送到低层协议。第N层服务数据单元SDU,和上一层的协议数据单元(PDU)是一一对应的。根据协议数据单元的数据的不同,送到接收端的指定层。

N层用户与N层协议之间传递的数据 称为服务数据单元(SDU)
N层协议实体之间传递的数据 称为协议数据单元(PDU),通过数据发送/接收管理把 用户提交的SDU以PDU的形式,通过下层通道发送到对端协议实体。 接收端再将PDU还原成SDU送给收端用户。

数据帧(Frame): 数据链路层,传递的单位是frame 帧, 就是 数据链路层 的协议数据单元,它包括三部分:帧头, 里面有mac地址,通过这个地址可以在底层的交换机这个层面里顺着网线找到你的计算机。 数据部分, ip数据包,意思是使用ip地址定位的一个数据包。 帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。     
     
数据包(Packet): TCP/IP协议 通信传输中的数据单位,处于网络层,在 局域网 中,“包”是包含在“帧”里的。 packet是整个tcpip通信协议里网络层的传输单位,也是最小的单位。一个ip包里有什么呢?跟帧一样,有着目的地的ip地址及其来源的ip地址和其他的校验信息。它也被称为头。那么还有什么呢?来自传输层托付给自己待传送的信息。这个信息会被分成多个ip数据包发送出去。
所以网络层传递的是ip包,ip包里是待传输消息的一部分。
     
数据报( Datagram ): 现在来到传输层了,传输层直接接受来自你的消息,小到你给朋友发个晚安,大到你给别人传递个文件,只要提供对方的ip地址(还有端口号),其它的都交给传输层帮助你实现。就很像你与快递公司的关系。一种发送前会先探路,保证送货到家的,这是tcp协议,另一种只管寄,不管是否查收的就是udp。这两种协议都会在发送前把你的消息拆分成多个ip数据包来传输。udp英文就叫 user datagram protocol。所以数据报是啥,就是带地址的消息。
 有人说,局域网中传输的不是 ”(Frame) 吗?没错,但是 TCP/IP 协议是工作在 OSI 模型第三层 ( 网络层 ) 、第四层 ( 传输层 ) 上的,而帧是工作在第二层 ( 数据链路层 ) 。上一层的内容由下一层的内容来传输,所以在局域网中, 是包含在 里的。  
也就是数据链路层的传输单位叫frame,传送的数据其实是ip数据包。

猜你喜欢

转载自blog.csdn.net/weixin_41055137/article/details/80101297