文章目录
- 什么是封装和分用?
- 封装
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
- 分用
- 物理层
- 数据链路层
- 网络层
- 传输层
- 应用层
什么是封装和分用?
我们前面讲过协议会分层,每一层都有各自的功能。而在数据传输的过程中,得按照顺序把每一层协议都加上才能进行传输;在使用数据时,也得按照顺序对每一层协议进行解析才能得到数据。
所以:
封装:就是对原始数据按照顺序依次套上协议要求格式的过程;
分用:就是对传来的数据按照顺序依次解析协议格式得到原始数据的过程。
下面我们以主机A通过QQ向主机B发送“hello”为例,详细介绍封装和分用的过程。
封装
主机A发送数据的过程
应用层
QQ根据自己的应用层协议生成一个应用层的数据报,然后发送给传输层。
传输层
传输层这里有很多的协议,我们以TCP协议为例:
TCP协议在原数据的基础上,加上一个TCP协议的报头,然后发送给网络层。
网络层
网络层这里也有很多的协议,我们以IP协议为例:
IP协议在整个TCP数据报的基础上,加上一个IP协议的报头,然后发送给数据链路层。
数据链路层
数据链路层这里也有很多的协议,我们以以太网为例:
以太网在整个IP数据报的基础上,加上一个以太网数据帧,然后发送给物理层。
物理层
把整个以太网数据报的二进制bit流,转换成光信号、电信号进行传输。
分用
主机B接收数据的过程。
物理层
将收到的光信号、电信号转换为二进制的bit流,然后发送给数据链路层由以太网协议进行解析。
数据链路层
由以太网协议解析去掉帧头、帧尾,取出载荷部分,然后发送给网络层由IP协议进行解析。
网络层
由IP协议解析去掉IP报头,取出载荷,然后发送给传输层由TCP协议进行解析。
传输层
由TCP协议解析去掉TCP报头,取出载荷,然后发送给应用层进行解析。
应用层
由QQ根据自己的应用层协议进行解析,取出里面的数据。