为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节
而是采用把通信问题划分为许多个小问题,然后为每个小问题设计一个单独的协议的方法,这样做使得每个协议的设计、分析、编码和测试都比较容易
分层模型(layering model)是一种用于开发网络协议的设计方法。本质上,分层模型描述了把通信问题分为几个小问题(称为层次)的方法,每个小问题对应于一层。
网络中同等层之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合,就是第N层的协议。
而同一计算机的不同功能层之间的通信规则称为接口( i n t e r f a c e),在第N层和第(N+ 1)层之间的接口称为N /(N+ 1)层接口。
总的来说,协议是不同机器同等层之间的通信约定,而接口是同一机器相邻层之间的通信约定。
分层优势:
各层之间是独立的。下层对于上层而言是个黑匣子,上层不需要知道下层是如何实现的,只需要知道下层提供什么功能怎么使用功能。
灵活性好。当任何一层发生变化时,只要层间接口保持不变,则其它层不受影响。
结构上可分割开。各层都可以采用最合适的技术来实现。
易于实现和维护。使得实现和调试一个庞大而又复杂的系统变得易于处理。
能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。
通常各层需要完成的功能包括以下一种或几种任务:
差错控制:使得通信更加可靠
流量控制:发送速率和接收速率基本同步
分段和重装:将数据分组发送,接收端再还原
复用和分用:复用底层连接,在接收端再进行分用
连接建立和释放:逻辑连接的建立和释放