什么是协议分层?
**协议**是一组规则和标准,主要概述了设备将用于通信的语言。网络中广泛使用各种各样的协议,并且它们通常在多个层中实现。
它提供了一种通信服务,其中使用该过程来交换消息。当通信简单时,我们只需使用一个简单的协议。
当通信复杂时,我们必须将任务划分为不同的层,因此,我们需要在每一层遵循一个协议,我们使用这种技术称为协议分层。这种分层允许我们将服务与实现分离。
每一层都需要从较低层接收一组服务,并向较高层提供服务。对任何一层所做的修改都不会影响其他层。
分层架构的基本要素
分层架构的基本要素如下:
服务 - 从一层到较高层提供的一组操作或服务。
协议 - 它定义了一组规则,一层使用这些规则与其对等实体交换信息。它涉及使用消息的内容和顺序。
接口 - 它是从一层到另一层传输消息的方式。
原因
使用分层协议的原因解释如下:
协议的分层提供了层之间明确定义的接口,因此一层中的更改不会影响相邻层。
网络协议极其复杂,并且分层设计它们使其实现更加可行。
优点
分层协议的优点如下:
有助于协议样式,因为在特定层运行的协议概述了它们的工作信息以及与之上和之下的层的定义接口。
促进竞争,因为来自不同供应商的产品将一起工作。
防止一层中的技术或功能更改影响其上和其下的不同层。
提供了一种典型的语言来解释网络功能和能力。
缺点
分层协议的缺点如下:
分层系统的主要缺点主要在于由于层之间的抽象屏障而导致的计算和消息报头中的开销。因为消息通常需要通过多个(10 个或更多)协议层,所以这些边界的开销通常超过正在执行的计算。
上层无法看到下层的内容,这意味着应用程序无法纠正连接中出现问题的位置或确切的问题是什么。
上层无法控制下层的所有方面,因此它们无法在必要时修改传输系统(例如控制窗口、报头压缩、CRC/奇偶校验检查等),也无法指定路由,并且应该依赖于较低协议的操作,并且在出现问题时无法指定替代方案。