数据段、数据报、数据包、帧的区别与联系

时间:2019-04-15
本文章向大家介绍数据段、数据报、数据包、帧的区别与联系,主要包括数据段、数据报、数据包、帧的区别与联系使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

帧与数据包

首先不容易理解的是数据包

数据包,就是从最上层,一层一层封装,直到网络层的,最后借由数据链路层发送出去的数据单元。

帧,是数据链路层的传输单元。

这么一看,数据包和帧好像没什么不一样,好像数据传递的都是一样的。可是为什么会把它们区分开呢?学习 TCP/IP 协议的同学应该都知道,数据链路层中有 MTU 这样一个东西,它是帧最大传输单元。

数据包是一个完整的数据单元,但是如果数据包的大小超过了 MTU 呢?所以,可能许多帧组合在一起,才能形成一个完整的数据包,这就是帧和数据包的关系。

数据包与数据报

说完了数据包与帧,那么数据包与数据报又是什么关系呢?

数据包是整个的数据单元,那么数据报就是组成这一个数据单元的分组。每一层封装后的数据都可以称作数据报也就是说,一个完整的数据包是有若干个数据报组成的。

而和帧不同的是,帧是作为数据链路层的传输单元,而数据报数据包的分组。

数据段

在看协议的时候,有了一个疑问,那就是同是在传输层的 TCP 和 UDP 两个协议,一个称为 TCP 数据段,一个称为 UDP 数据报。这是为啥嘞?

原来上面的数据报还有一条,数据报是面向无连接传输的协议,而 TCP 是面向连接的协议。

UDP 是无连接的协议,就是随着 IP 一起传输就可以了,不必去管连接和分组问题。可是 TCP 不一样了,面向连接,在数据部分很大的时候,要分组。这样每个分组就称为 TCP 数据段。这些 TCP 段组成了一个完整的 TCP 数据报。