什么是协议分层?

协议是一组规则和标准,主要概括了设备将用于通信的语言。网络中有大量广泛使用的协议,它们通常在许多层中实现。

它提供了一种通信服务,其中进程用于交换消息。当通信简单时,我们只能使用一种简单的协议。

当通信复杂时,我们必须在不同层之间划分任务,因此,我们需要在每一层遵循一个协议,这种技术我们过去称为协议分层。这种分层允许我们将服务与实现分开。

每一层都需要从下层接收一组服务并将这些服务提供给上层。任何一层所做的修改都不会影响其他层。

分层架构的基本元素

分层架构的基本元素如下 -

  • 服务 - 从一层到更高层提供的一组操作或服务。

  • 协议 - 它定义了一组规则,其中一层用于与其对等实体交换信息。它关注所用消息的内容和顺序。

  • 接口 - 这是一种将消息从一层传输到另一层的方式。

原因

使用分层协议的原因解释如下 -

  • 协议分层在各层之间提供了明确定义的接口,因此一层的变化不会影响相邻的层。

  • 网络协议极其复杂,分层设计使它们的实现更加可行。

好处

分层协议的优点如下 -

  • 支持协议风格,因为在特定层运行的协议已经概述了它们的工作信息以及与上下层的定义接口。

  • Foster 的竞争,因为来自完全不同供应商的产品将一起工作。

  • 防止某一层的技术或能力变化触及上下不同的层。

  • 提供一种典型的语言来解释网络功能和能力。

缺点

分层协议的缺点如下 -

  • 分层系统的主要缺点主要包括由层之间的抽象障碍引起的计算和消息头中的开销。因为一条消息通常应该通过几个(10 个或更多)协议层,这些边界的开销通常比正在完成的计算要多。

  • 上层无法看到下层中的内容,这意味着应用程序无法纠正极端连接中的问题所在或确切的问题。

  • 高层不能控制低层的所有方面,因此如果有帮助,它们不能修改传输系统(如控制窗口、报头压缩、CRC/奇偶校验等),也不能指定路由,并且应该依赖于较低的协议运行,并且在出现问题时无法指定替代方案。