( I ) 易于实现和维护 。整个系统被分解为若 干相对独立的子 系统,每一层只实现一种相对独立的功能,使得系统的实现复杂度大为降低且易千维护。
( 2 ) 灵活性好。任何一层都不必关心其下层的具体实现方法 ,而只需知道下层通过层间接口所提供的服务。因此,当某一层发生变化时 ,只 要层间接口不变 , 则该 层以上或以下各层均不受影响。此外,当某层提供的服务不再需要时,甚至可以将该层删除。
( 3 ) 结构上可分割。每一层均可以采用最为合适的技术予以实现 。
( 4 ) 易千促进标准化。由于每一层的功能及所提供的服务均已 精确地说明, 故有利于相关标准的制定。
当然,分层结构也会带来一些问题,一些功能会在不同的层中重复出现,例如差错控制、流量控制等,造成额外的开销。
在进行网络设计时,层次的划分直接关系到网络的效率乃至网络设计的成败。分层时应合理分配每一层的功能,若 层数太少,会使每一层的协议太复杂;而层数过多又会在描述和综合各层功能时遇到较多的困难,例如某些功能在不同的层中重复出现。通常各层实现的功能主要包含以下一种或多种。
( 1) 差错控制:检测或纠正数据在传输过程中出现的差错,保证对等层次间通信的可靠性。
( 2 ) 分片和重装:发送端将要发送的数据划分为更小的单位,而在接收端将其还原。
( 3) 寻址:发送端为分组选择合适的路由 ,使分组可准确地到达目的端。
( 4 ) 流量控制: 控制发送端的发送速率不要过快,以 免 造成接收端来不及接收。
( 5) 复用和分用:发送端多个高层会话可复用一条低层的 连接,在接收端再进行分用。
( 6 ) 连接建立和释放:发送数据前先建立一条逻辑连接,数据传输结束后释放连接。
我们将计算机网络的各层及其协议 的集合称为网络体系结构(比chitec ture )。
这里需要说明的是,网络体系结构只精确定义了计算机网络的逻辑构成及所应完成的功能,它实际上是一组设计原则,而不包括对如何实现这些功能的具体软件和硬件设计方法的说明。因此,网络体系结构和网络的实现是两个不同的概念,前者 是抽象的,仅说明网络应该“做什么” ,而后者是具体的 ,解决了“怎么做"的问题。