网络协议有哪些,5个常见的网络协议( 四 )


数据链路层要解决的另一个问题是防止高速发送方的数据把低速接收方“淹没” 。 因此需要某种信息流量控制机制使发送方得知接收方当前还有多少缓存空间 。 为了控制的方便,流量控制常常和差错处理一同实现 。
在广域网中,数据链路层负责主机IMP、IMP-IMP之间数据的可靠传送 。 在局域网中,数据链路层负责制及之间数据的可靠传输 。

网络层:

网络层(network layer)的主要功能是完成网络中主机间的报文传输,其关键问题之一是使用数据链路层的服务将每个报文从源端传输到目的端 。 在广域网中,这包括产生从源端到目的端的路由,并要求这条路径经过尽可能少的IMP 。 如果在子网中同时出现过多的报文,子网就可能形成拥塞,因为必须加以避免这种情况的出现 。
当报文不得不跨越两个或多个网络时,又会带来很多新问题 。 比
在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的,因此网络层所要做的工作很少 。

传输层:

传输层(transport layer)的主要功能是实现网络中不同主机上的用户进程之间可靠的数据通信 。
传输层要决定会话层用户(最终对网络用户)提供什么样的服务 。 最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接时真正的点到点 。
由于绝大多数的主机都支持多用户操作,因而机器上有多道程序就意味着将有多条连接进出于这些主机,因此需要以某种方式区别报文属于哪条连接 。 识别这些连接的信息可以放入传输层的报文头中除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和取消 。 这就需要某种命名机制,使机器内的进程能够讲明它希望交谈的对象 。 另外,还需要有一种机制来调节信息流,使高速主机不会过快的向低速主机传送数据 。 尽管主机之间的流量控制与IMP之间的流量控制不尽相同 。

会话层:

会话层(SESSION LAYER)允许不同机器上的用户之间建立会话关系 。 会话层循序进行类似的传输层的普通数据的传送,在某某些场合还提供了一些有用的增强型服务 。 允许用户利用一次会话在远端的分时系统上登陆,或者在两台机器间传递文件 。
会话层提供的服务之一是管理对话控制 。 会话层允许信息同时双向传输,或任一时刻只能单向传输 。 如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方 。 一种与对话控制有关的服务是令牌管理(token management) 。 有些协议会保证双方不能同时进行同样的操作,这一点很重要 。 为了管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作 。 另一种会话层服务是同步 。 如果在平均每小时出现一次大故障的网络上,两台机器简要进行一次两小时的文件传输,试想会出现什么样的情况呢?每一次传输中途失败后,都不得不重新传送这个文件 。 当网络再次出现大故障时,可能又会半途而废 。 为解决这个问题,会话层提供了一种方法,即在数据中插入同步点 。 每次网络出现故障后,仅仅重传最后一个同步点以后的数据(这个其实就是断点下载的原理) 。

表示层:

表示层(presentation layer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决办法,而不必由每个用户自己来实现 。 表示层以下各层只关心从源端机到目标机到目标机可靠的传送比特流,而表示层关心的是所传送的信息的语法和语义 。 表示层服务的一个典型例子就是大家一致选定的标准方法对数据进行编码 。 大多数用户程序之间并非交换随机比特,而是交换诸如人名、日期、货币数量和发票之类的信息 。 这些对象使用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示的 。

推荐阅读