计算机网络模型
通信子系统是一个复杂的硬件和软件组成部分。早期为这些子系统实施软件的尝试基于一个单一、复杂、无结构的程序,其中有许多相互作用的组件。结果的软件非常难以测试和修改。为了克服这个问题,ISO开发了一种分层方法。在分层方法中,网络概念被分为几个层次,每个层次被分配一个特定的任务。因此,我们可以说网络任务取决于各个层次。
分层架构
- 分层架构的主要目的是将设计分成小块。
- 每个较低的层次将其服务添加到较高的层次中,以提供完整的服务集来管理通信并运行应用程序。
- 它提供了模块化和清晰的接口,即提供子系统之间的交互。
- 它通过向上层提供服务而确保层之间的独立性,而无需定义服务的实现方式。因此,对某一层的任何修改都不会影响其他层。
- 每个网络的层数、功能以及每个层次的内容都会有所不同。然而,每个层次的目的是提供从下层到上层的服务,并隐藏服务实现的细节。
- 分层架构的基本元素是服务、协议和接口。
- 服务: 它是一个层向上层提供的一系列动作。
- 协议: 它定义了层与对等实体交换信息的一组规则。这些规则主要涉及使用的消息的内容和顺序。
- 接口: 它是一种通过将消息从一层传输到另一层的方式。
- 在n层架构中,一台机器上的n层将与另一台机器上的n层进行通信,对话中使用的规则被称为层n协议。
让我们以五层架构为例。
- 在分层架构的情况下,不会将数据从一个机器的第n层传输到另一个机器的第n层。相反,每个层将数据传递给直接下面的层,直到达到最低层。
- 第1层以下是进行实际通信的物理媒介。
- 在分层架构中,无法管理的任务被分成几个小而可管理的任务。
- 数据通过接口从上层传递到下层。分层架构提供了清晰明确的接口,以便在不同层之间共享最少的信息。它还确保一层的实现可以很容易地被另一种实现替代。
- 一组层和协议被称为网络架构。
为什么我们需要分层架构?
- 分而治之法: 分而治之法使设计过程将无法管理的任务分解为小而可管理的任务。简而言之,可以说这种方法降低了设计的复杂性。
- 模块化: 分层架构更加模块化。模块化提供了各个层之间的独立性,更容易理解和实现。
- 易于修改: 它确保了各个层的独立性,以便可以在不影响其他层的情况下改变一层的实现。
- 易于测试: 分层架构的每个层都可以单独进行分析和测试。
本文链接:http://so.lmcjl.com/news/19939/