《系统设计》课程学习笔记—OSI模型

248 阅读3分钟

OSI模型是一个逻辑和概念模型,定义了开放互连和与其他系统通信的系统所使用的网络通信。开放系统互连(OSI模型)还定义了一个逻辑网络,并通过使用不同的协议层有效地描述了计算机数据包传输。

OSI模型可以被视为计算机网络的通用语言。它基于将通信系统拆分为七个抽象层的概念,每个抽象层放置在下一层之上。

osi-model.webp

为什么OSI模型很重要?

开放系统互连(OSI)模型定义了网络讨论和文档中使用的通用术语。这使我们能够将一个非常复杂的通信过程分解并评估其组成部分。

虽然该模型没有直接在当今最常见的TCP/IP网络中实现,但它仍然可以帮助我们做更多的工作,例如:

  • 使故障排除更容易,并帮助识别整个堆栈中的威胁。

  • 鼓励硬件制造商创建可以通过网络相互通信的网络产品。

  • 对于培养安全第一的心态至关重要。

  • 将复杂功能分离为更简单的组件。

OSI模型的七个抽象层可以自上而下定义如下:

应用层

这是唯一与来自用户的数据直接交互的层。Web 浏览器和电子邮件客户端等软件应用程序依赖于应用程序层来启动通信。但应明确,客户端软件应用程序不是应用层的一部分,而是应用层负责软件所依赖的协议和数据操作,以向用户呈现有意义的数据。应用层协议包括HTTP和SMTP等。

表示层

表示层也称为转换层。这里提取应用层的数据,并按照所需格式进行处理,以便通过网络传输。表示层的功能是转换、加密/解密和压缩。

会话层

这是负责打开和关闭两个设备之间通信的层。通信打开和关闭之间的时间称为会话。会话层确保会话保持打开足够长的时间以传输正在交换的所有数据,然后立即关闭会话以避免浪费资源。会话层还将数据传输与检查点同步。

传输层

传输层(也称为第4层)负责两个设备之间的端到端通信。这包括从会话层获取数据,并在将其发送到网络层(第3层)之前将其分成称为段的块。它还负责将接收设备上的段重新组装成会话层可以使用的数据。

网络层

网络层负责促使两个不同网络之间的数据传输。网络层在发送方设备上将来自传输层的段分解为更小的单元,称为分组,并在接收设备上重新组装这些分组。网络层还为数据找到到达其目的地的最佳物理路径,这称为路由。如果通信的两个设备在同一网络上,则不需要网络层。

数据链路层

数据链路层与网络层非常相似,只是数据链路层用于同一网络上两个设备之间的数据传输。数据链路层从网络层接收数据包,并将它们分成称为帧的小块。

物理层

该层包括数据传输中涉及的物理设备,如电缆和交换机。这也是将数据转换为位流的层,位流是由1和0组成的字符串。两个设备的物理层还必须就信号约定达成一致,以便在两个设备上区分1和0。