持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情
协议三要素
网络协议主要由以下三个要素组成:
-
语法,即数据与控制信息的结构或格式;
-
语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
-
同步,即事件实现顺序的详细说明。
协议分层的好处与坏处
好处
-
各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。
-
灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。当某层提供的服务不再需要时,也可以将这层取消。
-
结构上可分割开。各层都可以采用最合适的技术来实现。
-
易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
-
能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。
坏处
分层当然也有一些缺点,例如,有些功能会在不同的层次中重复出现,因而产生了额外开销。
协议分层注意事项
分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常各层所要完成的功能主要有以下一些(可以只包括一种,也可以包括多种):
-
差错控制:使得和网络对等端的相应层次的通信更加可靠。
-
流量控制:使得发送端的发送速率不要太快,要使接收端来得及接收。
-
分段和重装:发送端把要发送的数据块划分为更小的单位,在接收端将其还原。
-
复用和分:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
-
连接建立和释放:交换数据前先建立一条逻辑连接。数据传送结束后释放连接。
参考文档
- 《计算机网络》—— 谢希仁