在2.3.5节讨论了数据链路LLC子层的连接服务,LLC子层连接服务的目的是控制发/接数据的流量和速率,并向双方通告帧丢失或损坏的信息,以确保数据传输的可靠性。在网络层的连接服务,将完全借用数据链路LLC子层的连接服务的机制,以增加网络之间进行数据交换的可靠性。
网络层的连接服务,其实就是如何保证数据分组在网络间正确传输的方法或机制。OSI网络层有关连接服务同样提供了以下三种基本连接服务的类型。
1.无确认无连接服务
在“无确认无连接服务”的数据分组交换中,不带有数据传输正确性的确认机制。具体表现在数据分组传输过程中,发送方和接收方之间没有流量控制、差错控制或分组顺序控制。
2.面向连接服务
“面向连接服务”是网络间数据交换中最完善的数据交换正确性的保障机制。该服务通过确认、流量控制、差错控制及分组顺序控制的方法,确保数据分组在网络之间交换成功。
3.带确认无连接服务
在现代网络的数据传输应用中,绝大多数情况下使用“带确认无连接服务”的数据传输机制。该服务方式,使用确认机制,并在发送和接收双方之间提供流量控制和差错控制,以保障网络之间数据交换的成功。但该服务方式没有“面向连接服务”所必需的分组顺序控制,需要由接收数据方的上层协议,在收到数据后,对分组进行排序以便装配并恢复原来的报文。
下面讨论在网络层连接服务中的三种基本控制方法:流量控制、差错控制和分组顺序控制。
(1)网络层流量控制
数据链路层流量控制是根据设备的容量来控制数据流量,而网络层的流量控制是根据网络之间的通信容量来控制网络间数据交换的流量。(www.xing528.com)
在互连网络的数据传输中,随着发送方和接收方之间通信量的变化,网络传输速率和网络的可靠性也随之改变。一般来讲,网络层流量控制作用于一条给定路由上的数据传输。当有些网络间存在多条路径时,情况将变得比较复杂,流量控制将随之进行不断的调整。
此外,在网络层流量控制中,通常加进一些智能路径选择规则,以缓解网络上的拥塞。例如,当数据在某个站点严重地被延迟,流量控制机制可临时改变某些分组的路由,让这些分组沿着另一个路径到达目的地。所以,网络层流量控制常被称做拥塞控制。
与数据链路层流量控制相似,网络层的流量控制,也可通过动态或静态窗口控制以及保速流量的方法来实现。但是,在网络层与链路层的流量控制中,确认机制两者有很大的不同,往往发送数据的一方无法得知,究竟是网络的差错使窗口的确认丢失,还是由于网络拥塞使确认被延迟最终导致超时而使确认丢失。出于这种原因,有些协议用特定的分组来标识网络中间设备之间是否存在网络拥塞,以判断确认丢失原因,确保流量控制的有效性。
(2)网络层差错控制
网络层差错控制主要关心分组是否丢失、分组是否重复以及数据是否在传输中被改变。具体方法是通过给分组加上一个CRC(循环冗余检测)或其他校验和,来检测数据被改变,有时还可纠正被改变的数据。这些校验和在每经过一个路由器时都将被再计算一次,或仅计算关于数据的校验和。
尽管在网络层还可用顺序号和确认来通告分组丢失和分组重复的差错情况,但在实际协议的应用中,上述任务通常留给传输层来实现。
(3)网络层分组顺序控制
网络层分组顺序控制是将到达目的地的数据分组排成一个合适的顺序,以便重新装配成报文,而并不需要接收设备使用上层协议的支持。显然,在分组交换网络中,由于各分组到达目的地时,通常已错序,即使对于大的虚电路网络也同样不可避免。如果没有分组顺序控制,当一条链路出现故障时,又建立起一条新的链路并开始重传各分组时,就会出现错误。典型的错误是:第一条链路传输来的分组被延迟,第二条链路传输来的分组与第一链路的分组序号相同,具有相同序号的分组都到达了同一目的地,造成了分组重复。这种错误就需要分组顺序控制加以避免。
在实际的应用中,虽然分组顺序控制由网络层的协议完成,但也常常交给传输层的协议代劳。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。