📜  OSI 模型的层次

📅  最后修改于: 2021-09-27 22:40:47             🧑  作者: Mango

先决条件:计算机网络基础

OSI 代表开放系统互连。它由 ISO – ‘国际标准化组织‘ 于 1984 年开发。它是一个 7 层架构,每一层都有特定的功能来执行。所有这 7 个层协同工作,将数据从一个人传输到全球范围内的另一个人。

1. 物理层(第 1 层):

OSI 参考模型的最低层是物理层。它负责设备之间的实际物理连接。物理层包含形式的信息它负责将单个位从一个节点传输到下一个节点。接收数据时,该层将接收到的信号转换为0和1发送到数据链路层,数据链路层将帧重新组合在一起。


物理层的功能是:

  1. 位同步:物理层通过提供时钟来提供位同步。该时钟控制发送方和接收方,从而提供位级同步。
  2. 比特率控制:物理层还定义了传输速率,即每秒发送的比特数。
  3. 物理拓扑:物理层指定不同设备/节点在网络中的排列方式,即总线、星形或网状拓扑。
  4. 传输模式:物理层还定义了数据在两个相连设备之间流动的方式。可能的各种传输模式是:单工、半双工和全双工。

* 集线器、中继器、调制解调器、电缆是物理层设备。
** 网络层、数据链路层和物理层也称为较低层硬件层

2. 数据链路层 (DLL)(第 2 层):

数据链路层负责节点到节点的消息传递。这一层的主要函数是确保从一个节点到另一个节点的数据传输在物理层上没有错误。当数据包到达网络时,DLL 负责使用其 MAC 地址将其传输到主机。
数据链路层分为两个子层:

  1. 逻辑链路控制 (LLC)
  2. 媒体访问控制 (MAC)

从网络层接收到的数据包会根据 NIC(网络接口卡)的帧大小进一步分为帧。 DLL 还在头中封装了 Sender 和 Receiver 的 MAC 地址。

接收器的 MAC 地址是通过将 ARP(地址解析协议)请求放置到线路上询问“谁拥有该 IP 地址?”而获得的。目标主机将回复其 MAC 地址。

数据链路层的功能是:

  1. 成帧:成帧是数据链路层的一个函数。它为发送方提供了一种发送一组对接收方有意义的比特的方法。这可以通过将特殊位模式附加到帧的开头和结尾来实现。
  2. 物理寻址:创建帧后,数据链路层在每个帧的头中添加发送方和/或接收方的物理地址(MAC 地址)。
  3. 差错控制:数据链路层提供差错控制机制,它检测并重传损坏或丢失的帧。
  4. 流量控制:双方的数据速率必须恒定,否则数据可能会被破坏,因此流量控制协调在接收确认之前可以发送的数据量。
  5. 访问控制:当多个设备共享单个通信信道时,数据链路层的 MAC 子层有助于确定在给定时间哪个设备控制该信道。

* 数据链路层中的数据包称为
** 数据链路层由主机的 NIC(网络接口卡)和设备驱动程序处理。
*** 交换机和网桥是数据链路层设备。

3. 网络层(第 3 层):

网络层用于将数据从一台主机传输到位于不同网络中的另一台主机。它还负责数据包路由,即从可用路由的数量中选择最短路径来传输数据包。发送方和接收方的 IP 地址由网络层放置在报头中。
网络层的功能是:

  1. 路由:网络层协议确定哪条路由适合从源到目的地。网络层的这种函数称为路由。
  2. 逻辑寻址:为了唯一地标识互联网络上的每个设备,网络层定义了一个寻址方案。发送方和接收方的 IP 地址由网络层放置在报头中。这样的地址唯一地和普遍地区分每个设备。

*网络层中的称为Packet

** 网络层由路由器等网络设备实现。

4. 传输层(第 4 层):

传输层向应用层提供服务,并从网络层获取服务。传输层中的数据称为Segments 。它负责完整消息的端到端传递。传输层还提供成功数据传输的确认,并在发现错误时重新传输数据。
• 在发送方:
传输层从上层接收格式化的数据,执行分段并实施流和错误控制以确保正确的数据传输。它还在其报头中添加源和目标端口号,并将分段数据转发到网络层。
注意:发送方需要知道与接收方应用程序关联的端口号。
通常,此目标端口号是默认配置的或手动配置的。例如,当 Web 应用程序向 Web 服务器发出请求时,它通常使用端口号 80,因为这是分配给 Web 应用程序的默认端口。许多应用程序都分配了默认端口。
• 在接收方:
传输层从其报头读取端口号并将其接收到的数据转发到相应的应用程序。它还执行分段数据的排序和重新组装。

传输层的功能是:

  1. 分段和重组:该层接受来自(会话)层的消息,将消息分解成更小的单元。产生的每个段都有一个与之关联的标头。目的站的传输层重新组装消息。
  2. 服务点寻址:为了将消息传递到正确的进程,传输层报头包括一种称为服务点地址或端口地址的地址。因此,通过指定此地址,传输层确保将消息传递到正确的进程。

传输层提供的服务:

  1. 面向连接的服务:这是一个三阶段的过程,包括
    – 连接建立
    – 数据传输
    – 终止/断开
    在这种类型的传输中,接收设备在收到一个数据包或一组数据包后向源发送确认。这种类型的传输可靠且安全。
  2. 无连接服务:这是一个单阶段过程,包括数据传输。在这种类型的传输中,接收器不会确认收到数据包。这种方法允许设备之间更快的通信。面向连接的服务比无连接的服务更可靠。

* 传输层中的数据称为Segments
** 传输层由操作系统操作。它是操作系统的一部分,通过系统调用与应用层通信。
传输层被称为OSI模型的核心。

5. 会话层(第 5 层):

该层负责连接的建立、会话的维护、身份验证并确保安全。
会话层的功能是:

  1. 会话建立、维护和终止:该层允许两个进程建立、使用和终止连接。
  2. 同步:该层允许进程将检查点添加到数据中,这些检查点被视为同步点。这些同步点有助于识别错误,以便正确地重新同步数据,并且不会过早地切断消息的末端,避免数据丢失。
  3. 对话控制器:会话层允许两个系统开始以半双工或全双工方式相互通信。

**所有以下3层(包括会话层)在TCP/IP模型中作为“应用层”集成为单个层。
**这 3 层的实现是由网络应用程序本身完成的。这些也称为上层软件层

设想:
让我们考虑这样一个场景:用户想要通过在其浏览器中运行的某个 Messenger 应用程序发送消息。此处的“Messenger”充当应用层,为用户提供创建数据的界面。此消息或所谓的数据经过压缩、加密(如果有安全数据)并转换为位(0 和 1),以便可以传输。

6.表示层(第6层):

表示层也称为翻译层。来自应用层的数据在这里被提取出来,并按照所需的格式进行操作,通过网络传输。
表示层的功能是:

  1. 翻译:例如,ASCII 到 EBCDIC。
  2. 加密/解密:数据加密将数据转换为另一种形式或代码。加密的数据称为密文,解密的数据称为明文。密钥值用于加密和解密数据。
  3. 压缩:减少需要在网络上传输的比特数。

7.应用层(第7层):

在 OSI 参考模型层堆栈的最顶部,我们找到了由网络应用程序实现的应用程序层。这些应用程序产生必须通过网络传输的数据。该层还作为应用服务访问网络和将接收到的信息显示给用户的窗口。
例如:应用程序 – 浏览器、Skype Messenger 等。
**应用层也称为桌面层。

应用层的功能是:

  1. 网络虚拟终端
  2. FTAM-文件传输访问和管理
  3. 邮件服务
  4. 目录服务

OSI 模型充当参考模型,由于其发明较晚,因此未在 Internet 中实现。当前使用的模型是 TCP/IP 模型。