计算机网络模型

2025 年 9 月 10 日 | 阅读 9 分钟

通信子系统是一个复杂的硬件和软件组成的系统。早期尝试实现这类子系统的软件是基于一个单一的、复杂的、非结构化的程序,包含许多相互作用的组件。由此产生的软件非常难以测试和修改。

为了克服这些问题,ISO 采用了一种分层的方法。在分层方法中,网络概念被划分为几个层,每一层都分配了特定的任务。因此,我们可以说网络任务取决于层。

分层架构

  • 分层架构的主要目的是将设计分解成小的部分。
  • 每一层通过向高层提供服务来管理通信和运行应用程序,从而提供一套完整的服务。
  • 它提供了模块化和清晰的接口,即提供了子系统之间的交互。
  • 它通过提供从低层到高层的服务而不定义服务如何实现来确保层之间的独立性。因此,对某一层进行的任何修改都不会影响其他层。
  • 层的数量、功能、每一层的内容会因网络而异。然而,每一层的目的都是向高层提供服务,并隐藏服务是如何实现的细节。
  • 分层架构的基本要素是服务、协议和接口,它们如下
    • 服务:它是层向高层提供的一组操作。
    • 协议:它定义了一组规则,层使用这些规则与对等实体交换信息。这些规则主要涉及消息的含义和顺序。
    • 接口:它是消息从一层传输到另一层的方式。
  • 在 n 层架构中,一台机器上的 n 层将与另一台机器上的 n 层进行通信,用于通信的规则称为 n 层协议。

让我们以一个五层架构为例。

Computer Network Models
  • 在分层架构的情况下,数据不会从一台机器的 n 层传输到另一台机器的 n 层。相反,每一层都将数据传递给其正下方的层,直到达到最低层。
  • 在第 1 层之下是实际进行通信的物理介质。
  • 在分层架构中,难以管理的任务被分解为多个小的、可管理的任务。
  • 数据通过接口从上层传递到下层。分层架构提供了清晰的接口,因此层之间共享的信息最少。它还确保一个层的实现可以轻松地被另一个实现替换。
  • 一组层和协议称为网络架构。

分层架构的好处

以下是计算机网络中分层架构的主要好处

  • 模块化:通过将任务分解为不同的部分,系统变得更容易理解和维护。
  • 互操作性:层允许来自不同组织的设备通过遵循标准协议进行有效通信。
  • 可扩展性:当引入新技术或协议时,系统保持不受影响。
  • 故障排除:问题可以追溯到特定层,并且可以单独检查和测试每一层。

分层架构的缺点

分层架构存在不同的缺点,有些如下

  • 复杂性:分层架构中的额外层及其交互可能会使软件更加复杂。它也可能使理解应用程序的整体组织和设计变得更加困难。
  • 性能开销:随着每一层的抽象和间接性的增加,可能会出现性能开销。如果优化不当,层到层的通信也可能导致应用程序滞后。
  • 维护成本:维护一个庞大、复杂的架构可能既耗时又困难,特别是当需要修改多个层时。
  • 过度工程:添加过多的层可能导致过度工程和不必要的复杂性。软件可能会变得更难维护和理解。

我们为什么需要分层架构?

  • 分治法:分治法以一种方式进行设计,将不可管理的任务分解为小的、可管理的任务。简而言之,这种方法可以降低设计的复杂性。
  • 模块化:分层架构更加模块化。模块化提供了层的独立性,更容易理解和实现。
  • 易于修改:它确保了层的独立性,因此在一个层的实现可以更改而不影响其他层。
  • 易于测试:分层架构的每一层都可以单独分析和测试。

OSI模型

OSI 模型是一个用于理解网络通信的七层理论框架。它作为解释数据在设备之间传输时如何被处理的指南。每一层都有不同的角色并与相邻层进行交互。

Computer Network Models

OSI 模型的 7 层

1. 物理层

物理层负责设备之间的实际连接。它规定了网络在电气和物理方面的要求,包括电压电平、电缆和连接器。它负责通过物理介质传输原始比特流(1 和 0)。

物理层的功能

  • 比特同步:物理层提供了一个时钟,使比特能够同步。这个时钟提供比特级同步,它同时调节发送方和接收方。
  • 比特率控制:传输速率也由物理层指定,这是每秒传输的比特数。
  • 物理拓扑:物理层描述了网络中不同设备或节点在物理上的排列方式。可以是网状、星型或总线拓扑。
  • 传输模式:物理层定义了两台连接设备之间的数据流。有三种可能的传输模式:全双工、半双工和单工。

2. 数据链路层

此层确保数据在物理链路上无误地传输。它管理错误检测和纠正,并将物理层的原始比特组织成帧。它还控制网络介质的访问。

数据链路层的功能

  • 成帧:数据链路层控制成帧。它为发送方提供了一种方法来发送接收方可以理解的一组比特。这可以通过在帧的开始和结束处附加独特的比特模式来完成。

在创建每一帧后,数据链路层将其发送方和/或接收方的物理地址(MAC 地址)添加到帧的头部。

  • 错误控制:作为其错误控制机制的一部分,数据链路层会检测并重新传输损坏或丢失的帧。
  • 访问控制:当多个设备共享一个通信信道时,数据链路层的 MAC 子层有助于识别哪个设备当前控制该信道。

3. 网络层

网络层允许在位于不同网络的主机之间进行数据传输。它还管理数据包路由,这是选择可用路径中最佳路径来发送数据包的过程。

网络层将发送方和接收方的 IP 地址插入到头部。在网络层,一个段被称为一个数据包。 路由器交换机 和其他网络设备实现了网络层。

网络层的功能

  • 路由:网络层协议决定从源到目标的最佳路径。路由是网络层此功能的名称。
  • 逻辑寻址:网络层建立的寻址方案为连接到网络的每个设备提供了唯一标识。网络层将发送方和接收方的 IP 地址添加到头部。每个设备通过其地址都可以得到唯一且普遍的区分。

4. 传输层

该层确保数据以端到端的方式在主机之间传递。它对来自会话层的数据进行分段,并添加错误检查和排序信息。用户数据报协议 (UDP) 和传输控制协议 (TCP) 是此层的关键协议。

传输层功能

  • 分段和重组:分段和重组层接收来自会话层的消息,并将其划分为可管理的数据块。生成的每个段都附带一个头部。传输层在目标站将消息重新组合起来。
  • 服务点寻址:服务点地址,也称为端口地址,是传输层头部中用于将消息定向到相关进程的一种地址。传输层通过提供此地址来确保消息到达正确的进程。

5. 会话层

会话层在两个设备之间创建、控制和结束通信会话。它负责对话控制和同步,确保会话保持打开状态足够长的时间以传输所有数据。

函数

  • 建立、维护和终止会话:该层使两个进程能够连接和断开。
  • 对话控制器:会话层使得两个系统之间可以进行半双工或全双工通信。

6. 表示层

该层关注数据的语法和格式。它处理加密、解密和数据压缩等过程,将数据转换为接收应用程序可以理解的格式。

表示层功能

  • 翻译:例如,ASCII 到 EBCDIC
  • 加密/解密:数据加密将信息转换为不同的代码或格式。解密后的数据称为明文,加密后的数据称为密文。数据使用密钥值进行加密和解密。
  • 压缩:使用压缩可以减少需要在网络上传输的比特数。

7. 应用层

应用层是直接与用户软件通信的层。应用程序使用它来访问网络服务,并且 SMTP(电子邮件)、FTP(文件传输)和 HTTP(网络浏览)等协议在此层运行。

函数

  • 网络虚拟终端 (NVT):它允许用户登录到远程主机。
  • 文件传输访问和管理 (FTAM):文件传输访问和管理 (FTAM) 应用程序使用户能够从远程计算机管理或控制文件,以及从远程主机访问和检索文件。
  • 邮件服务:提供电子邮件支持。
  • 目录服务:此程序提供对有关不同对象和服务以及分布式数据库源的全局数据的访问。

OSI 模型优点

以下是 OSI(开放系统互连)模型的主要优点

  1. 模块化:通过将网络通信分解为七个具有不同功能的独立层,使其更易于理解和控制。
  2. 可扩展性:提供了一个适应性强的结构,可用于各种网络配置和大小。
  3. 更好的故障排除:将通信分解为不同的层,可以更容易地识别和修复网络问题。
  4. 增强安全性:允许在不同层部署安全协议,增强网络的整体安全性。
  5. 增强互操作性:允许集成各种技术和网络系统,促进互操作性并增强通信。

TCP/IP模型

在通过互联网发送数据时,TCP/IP 模型是标准通信协议。对于互联网和其他计算机网络的通信,传输控制协议/Internet 协议 (TCP/IP) 模型被广泛使用。它由四层组成。

Computer Network Models
  • 链路层:此层负责通过物理连接进行数据传输。
  • 数据包:互联网在网络之间路由数据包
  • 传输层:此层确保数据可靠传输。
  • 应用层:使用底层传输协议,应用层为各种应用程序的通信提供接口。

TCP/IP 模型优点

对于互联网和其他计算机网络通信,传输控制协议/Internet 协议 (TCP/IP) 模型被广泛使用。以下是 TCP/IP 模型的一些优点。

  1. 广泛采用:互联网的骨干网 TCP/IP 被广泛用于许多不同的网络和通信系统。
  2. 可扩展性:TCP/IP 的设计使其能够适应网络规模和复杂性的扩展和变化。
  3. 互操作性:TCP/IP 的灵活性和互操作性使得不同网络和系统之间的通信成为可能。

网络模型的挑战

  • 实现复杂性:在实践中实现 OSI 等理论模型可能很困难。
  • 适应现代技术:传统模型难以应对 5G、云计算和物联网等发展,这些发展需要更大的适应性。
  • 安全挑战:确保所有层面的完全安全是一项挑战,而一个层面的漏洞可能会危及整个系统。
  • 可扩展性问题:模型可能无法有效管理大型复杂网络的扩展,这可能导致性能限制。
  • 协议依赖性(TCP/IP):协议的使用限制了它们适应新协议或不同协议的能力。
  • 互操作性:使用不同模型的系统或设备之间实现顺畅通信可能很困难。

常见问题解答

1. 网络模型的主要类型有哪些?

  • OSI 模型:一个 7 层理论参考模型。
  • TCP/IP 模型:一个 4 层实践实现模型。
  • 混合模型:结合了 OSI 和 TCP/IP 的概念。

2. 我们为什么要使用网络模型?

通过使用网络模型,可以有效地设计和管理通信结构,确保资源优化、数据传输和安全性。

3. TCP 是会话层吗?

传输控制协议 (TCP) 明确来说不是一个会话层协议。它负责可靠的数据传输和错误恢复,并在 OSI 模型的传输层上运行。

4. OSI 模型和 TCP/IP 模型有什么区别?

  • OSI 是理论性的,侧重于通信应该如何进行。
  • TCP/IP 是实践性的,定义了通信实际如何进行(实现)。

5. 为什么我们需要分层网络模型?

  • 它通过将网络分解成更小的部分来简化设计。
  • 它确保不同供应商之间的互操作性。
  • 通过将问题隔离到特定层,可以更容易地进行故障排除。

下一主题OSI 模型