计算机网络中的OSI模型层和协议


2022年1月14日, Learn eTutorial
1762

我们知道,计算机通过相互连接形成一个计算机网络。网络中的通信和数据传输是通过使用数据包(packet)来完成的。一个数据包有一个头部和一个数据部分,其中头部包含发送方和接收方的信息,数据部分包含数据。在发送和接收这些数据包的过程中,涉及许多协议和层次。

OSI(开放系统互连模型),可以被称为一个**参考模型**,它描述了在发送和接收数据包时所涉及的这些层次和协议。它从一个问题开始:一台计算机上的应用程序如何通过各个层次到物理媒介,将数据包发送给另一台计算机的应用程序并接收。

OSI模型由ISO组织于1984年开发,它由七个层次组成,每个层次都是独立的,在发送和接收数据包方面有其自己的功能。

为什么需要OSI模型?

有许多不同的观点描述了网络中需要一个参考模型的原因,其中包括:

  1. 易于学习和理解每个层次的功能
  2. 易于维护和排查功能故障
  3. 易于添加开发的新技术
  4. 能够比较各层的功能。

OSI模型的特点

OSI模型是网络中的一个国际模型,因此必须按照国际准则来制定。

每个层次在功能上必须是独立的,这样在一个层次上的更改不会影响到另一个层次。

将不同的功能放在不同的层次,同一层次不应有不同的功能。同时,不要设置太多的层次,以免使体系结构变得复杂。

OSI模型中的总层次分为两部分,即应用层(上层)和其他网络层(下层)。

应用层接近用户或应用程序,处理所有与应用相关的问题。应用层主要与网络中系统中运行的应用程序进行交互或通信。

layers

OSI模型的下层是围绕网络和数据传输的物理媒介设计的。物理层是OSI模型的最低端,处理所有物理媒介的问题。

OSI模型的历史

它始于1970年,当时ISO举办了一次研讨会,旨在为网络制定一些国际标准规则。

在1973年的一次**数据包**交换系统实验中,人们认识到了对更高级别协议的需求。

1983年,OSI的第一个模型初步开发完成,但直到1984年,ISO才接受了OSI模型的体系结构。

OSI模型各层的职责

正如我们所说,不同的层次是独立的,并在数据传输中被分配了不同的功能。让我们详细研究一下OSI各层及其功能,这对于了解网络和网络安全至关重要。

OSI模型层次

OSI layers
  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

1. 物理层

这是OSI模型中最底层,与数据传输的物理媒介相关。物理层不像OSI模型中的高层那样依赖任何协议。该层负责建立和维护物理媒介与系统之间用于数据传输的连接。物理层负责定义传输所需的电气和机械规范。

物理层的职责

  1. 它帮助我们物理地连接一个或多个设备。
  2. 它定义了数据在网络中如何从一个设备传输到另一个设备,可以是单工、半双工、全双工。
  3. 它帮助我们了解网络拓扑,即设备在网络中是如何排列的。
  4. 它定义了数据传输中使用的信号类型。

2. 数据链路层

这是物理层之上的下一层,因此来自物理层的数据进入数据链路层,在这里进行数据帧的无差错传输。

数据链路层为数据创建一种格式,并建立一个用于网络中设备数据传输和通信的协议。

从这一层开始,我们有了设备的IP地址,用于在网络中识别每个唯一的设备(逻辑寻址)。

为了便于理解数据链路层的功能,它被分为两个子层:

  1. 逻辑链路控制层
  2. 媒体访问控制层

逻辑链路控制层

  1. 它帮助我们进行流量控制和错误检测。
  2. 该层参与将数据包传输到接收方。
  3. 它检查数据包的头部以找到网络层协议的地址。

媒体访问控制

  1. 该层的职责是通过网络传输数据。
  2. 它帮助我们控制设备如何接入物理媒介并传输数据。

数据链路层的功能

  1. 成帧: 该层负责为数据传输创建数据包,数据包包含头部、尾部和数据部分。
  2. 物理寻址:数据链路层将地址添加到数据包的头部,即接收方地址。
  3. 流量控制: 数据的发送和接收必须以相同的速率进行,可能发送速率必须与接收方的处理能力相匹配,否则数据会损坏。数据链路层负责维护数据流并检查传输速率。
  4. 错误控制: 数据链路层负责通过CRC(循环冗余校验)进行错误检查。该层添加的尾部用于进行错误检查。如果数据不完整,接收方将发送一个作为尾部的确认信息,要求重发。
  5. 访问控制:如果多个设备连接到同一个信道,它帮助我们控制当时哪个设备拥有控制权。

3. 网络层

网络层是OSI模型的第三层,位于数据链路层之上。网络层负责数据的正确路由和转发。

该层能够找到并定位网络中的设备,并能在分析网络状况后使用最佳路由发送数据以到达接收方。

在这一层,我们使用诸如IP、IPV4和IPV6等协议来进行数据包的正确路由,这些协议被称为网络协议。

网络层的功能

  • 寻址: 网络层将发送方和接收方的地址添加到数据帧的头部。
  • 路由: 如我们所说,路由是找到将数据发送到接收方的完美路径的过程。该层使用不同的路由协议。
  • 互联网络: 它通过为网络中的所有对象提供逻辑连接来创建一个网络。
  • 打包: 通过使用IP协议,网络层将从上层接收到的数据制作成数据包,这被称为打包。

4. 传输层

传输层是OSI模型的第4层,也被称为**OSI模型的心脏**。传输层负责完整地发送数据,没有任何丢失。

该层确保数据以发送时的正确顺序传输,没有任何重复内容。

传输层是与发送方和接收方建立端到端连接,以确保数据可靠发送的层。

传输层将数据包分成更小的部分,这些部分可以称为数据段。

如我们所说,该传输层负责端到端的连接和无丢失或重复的数据传输。该层使用两种不同的协议。

  1. TCP
  2. UDP

传输控制协议 TCP

TCP是一种帮助数据通过网络发送的协议,它允许网络中的设备进行通信。它建立并维护发送方和接收方之间的连接。

使用TCP协议如何发送数据?

在TCP协议中,数据被分成不同的称为**段**的小部分;这些段通过最佳路由发送到接收方。不同的段走不同的路线,并以不同的顺序到达接收方。TCP会对它们进行重新排序以获得正确的数据。

用户数据报协议 UDP

UDP是传输层使用的另一种协议,但它不是一个可靠的协议,因此不如TCP常用。

UDP协议的问题在于,接收方没有确认机制来通知发送方数据已正确到达。这种缺乏确认使得UDP的可靠性较低。

传输层的功能

  • 端口寻址: 在一个系统中,多个进程需要向另一个系统发送数据,例如浏览器、FTP等,它们使用不同的端口或服务点。传输层的责任是将数据从一个进程传输到另一个进程。
  • 传输层添加一个端口地址到数据包中,该地址包含发送方和接收方进程的地址,以便它能正确到达不同计算机上的进程。
  • 分段和重组: 正如我们已经讨论过的,传输层在将数据发送到接收方之前,将数据分成带有序列号的不同段。接收方在将这些段发送到上层之前,会使用序列号重新组装它们。
  • 连接控制: 传输层可以建立两种连接。
    • 面向连接:在这种连接中,发送方和接收方的传输层之间会有一个稳固的连接,数据包通过单一路径传输。
    • 无连接:这里每个数据包被视为一个独立的自由数据包,它可以走任何路径到达接收方。
  • 流量控制: 它维护从端到端连接的数据包流。
  • 错误控制:它使用端到端连接执行错误检查。传输层确保所有数据包无误地到达接收方。

5. 会话层

会话层位于传输层之上,这一层与系统上运行的应用程序和进程关系更密切。

会话层对于建立和维护发送方和接收方应用程序之间的连接和通信非常重要。

会话层负责处理所有的登录及其凭证。

会话层的职责

  • 同步:会话层负责在传输数据时在数据中添加一些检查点。这些检查点的用途是,如果在传输过程中发生任何错误或数据丢失,可以从该检查点重新发送数据。
  • 通信控制:会话层负责允许发送方和接收方系统的两个进程之间进行通信。

会话建立、维护和关闭会话。

6. 表示层

表示层位于会话层之上,也称为语法层,因为它主要关注所传输数据的语法和语义。

表示层是操作系统的一部分,它会在将数据发送到接收方之前,将数据从一种格式转换为另一种格式,这被称为**加密**。

表示层的功能

  • 翻译: 发送方和接收方系统可能不使用相同类型的编码。表示层将数据从源编码格式转换为通用格式,然后接收方的表示层再将此通用格式翻译回接收方格式。
  • 加密: 加密是将数据从一种形式转换为另一种形式以维护数据隐私和安全的过程。表示层负责在传输数据时进行数据加密。
  • 压缩: 压缩是使数据发送过程更简单的过程(减少数据中的比特数),主要用于多媒体传输。表示层负责数据压缩。

7. 应用层

这是OSI模型中的顶层,它作为用户和进程使用网络的接口。该层的职责包括透明度和资源分配。该层为最终用户提供使用网络的服务,例如文件传输、电子邮件、远程登录等。

应用层的功能

  • 文件传输、访问和管理: 应用层负责允许用户访问远程系统中的文件。同时,管理和与另一系统中的其他进程进行交互。
  • 邮件: 应用层是网络中电子邮件服务的幕后推手。它允许远程登录并使用该系统,还提供互联网上大量的数据源。