七层模型

  • 应用层:网络服务与最终用户的一个接口。人机交互窗口,把人的语言输入到计算机当中。
  • 表示层:数据的表示、安全、压缩。将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据加密和解密等工作。
  • 会话层:建立、管理、中止会话。
  • 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层。
  • 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。
  • 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
  • 物理层:建立、维护、断开物理连接。

    七层模型图示

    ::: hljs-center

七层模型图示.png

:::

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

封装过程,如图所示

::: hljs-center

封装.png

:::

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

解封装过程,如图所示

::: hljs-center

解封装.png

:::

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