OSI 七层参考模型与数据封装解封装过程


前言

在网络环境中常用的分层模型有两种:OSI 参考模型与 TCP/IP 参考模型。下面将分别 介绍这两种模型。

一、OSI 七层参考模型

OSI 参考模型是一个开放式 体系结构,它规定将网络分为七层,从下往上依次是物理层、数据链路层、网络层、传输层、 会话层、表示层和应用层,如图所示。
OSI 七层参考模型与数据封装解封装过程

应用层

网络服务与最终用户的一个接口。人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符

表示层

数据的表示、安全、压缩。将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据加密和解密等工作

会话层
建立、管理、中止会话。管理是否允许不同机器上的用户之间建立会话连接关系

传输层

定义传输数据的协议端口号,以及流控和差错校验。将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信

网络层

进行逻辑地址寻址,实现不同网络之间的路径选择。将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输

数据链路层
建立逻辑连接、进行硬件地址寻址、差错校验等功能。将上层数据加_上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。

物理层
建立、维护、断开物理连接。报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输

在后来的使用过程中,借鉴 OSI 的七 层参考模型,将网络接口层划分为物理层和数据链路层,形成了一个新的五层结构。TCP/IP 是一系列协议的集合,所以严格的称呼应该是 TCP/IP 协议簇。
OSI 七层参考模型与数据封装解封装过程

二、数据的封装与解封装过程

1.数据的封装过程

OSI 七层参考模型与数据封装解封装过程

在应用层,数据转化为二进制语言。在传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装 TCP 报文头部。 在 TCP 头部有一个关键的字段信息——端口号,它用于标识上层的协议或应用程序,确保上层应用数据的正常通信。在网络层,上层数据被封装上新的报文头部——IP 头部。 在 IP 头部中有一个关键的字段信息——IP 地址,它是由一组 32 位的二进制数组成的, 用于标识网络的逻辑地址。在数据链路层,上层数据被封装一个 MAC 头部,其内部有一个关键的字段信息 ——MAC 地址,它由一组 48 位的二进制数组成。在 MAC 头部也同时封装着目标 MAC 地址和源 MAC 地址。在物理层,将这些二进制数字组成的比特流转换成电信号在网络中传输。

2.数据的解封装过程

OSI 七层参考模型与数据封装解封装过程

在物理层,首先将电信号转换成二进制数据,并将数据送至数据链路层。在数据链路层, 将查看目标 MAC 地址,判断其是否与自己的 MAC 地址吻合,并据此完成后续处理。如果 数据报文的目标 MAC 地址就是自己的 MAC 地址,数据的 MAC 头部将被“拆掉”,并将剩余 的数据送至上一层;如果目标 MAC 地址不是自己的 MAC 地址,对于终端设备来说,它将 会丢弃数据。在网络层与在数据链路层类似,目标 IP 地址将被核实是否与自己的 IP 地址相 同,从而确定是否送至上一层;到了传输层,首先要根据 TCP 头部判断数据段送往哪个应 用层协议或应用程序,然后将之前被分组的数据段重组,再送往应用层;在应用层,这些二 进制数据将经历复杂的解码过程,以还原发送者所传输的原始信息。

3.PDU 协议数据单元

OSI 七层参考模型与数据封装解封装过程