您的位置:首页 > 理论基础 > 计算机网络

链路层向网络层提供的服务

2017-02-14 22:35 176 查看
数据链路层的设计目标就是为网络层提供各种需要的服务。实际的服务随系统的不同而不同,但是一般情况下,数据链路层会向网络层提供以下三种类型的服务:
l 无确认的无连接服务

l 有确认的无连接服务

l 有确认的面向连接服务

本节要对以上三种服务进行基本的介绍。

1. 无确认的无连接服务

“无确认的无连接服务”是指源计算机向目标计算机发送独立的帧,目标计算机并不对这些帧进行确认。这种服务,事先无需建立逻辑连接,事后也不用解释逻辑连接。正因如此,如果由于线路上的原因造成某一帧的数据丢失,则数据链路层并不会检测到这样的丢失帧,也不会恢复这些帧。出现这种情况的后果是可想而知的,当然在错误率很低,或者对数据的完整性要求不高的情况下(如话音数据),这样的服务还是非常有用的,因为这样简单的错误可以交给OSI上面的各层来恢复。如大多数局域网在数据链路层所采用的服务也是无确认的无连接服务。

2. 有确认的无连接服务

为了解决以上“无确认的无连接服务”的不足,提高数据传输的可靠性,引入了“有确认的无连接服务”。在这种连接服务中,源主机数据链路层必须对每个发送的数据帧进行编号,目的主机数据链路层也必须对每个接收的数据帧进行确认。如果源主机数据链路层在规定的时间内未接收到所发送的数据帧的确认,那么它需要重发该帧。 这样发送方知道每一帧是否正确地到达对方。这类服务主要用于不可靠信道,如无线通信系统。它与下面将要介绍的“有确认的面向连接服务”的不同之处在于它不需要在帧传输之前建立数据链路,也不要在在帧传输结束后释放数据链路。

3. 有确认的面向连接服务 

大多数数据链路层都采用向网络层提供面向连接确认服务。利用这种服务,源计算机和目标计算机在传输数据之前需要先建立一个连接,该连接上发送的每一帧也都被编号,数据链路层保证每一帧都会被接收到。而且它还保证每一帧只被按正常顺序接收一次。这也正是面向连接服务与前面介绍的“有确认无连接服务”的区别,在无连接有确认的服务中,在没有检测到确认时,系统会认为对方没收到,于是会重发数据,而由于是无连接的,所以这样的数据可能会复发多次,对方也可能接收多次,造成数据错误。这种服务类型存在3个阶段,即:数据链路建立、数据传输、数据链路释放阶段。每个被传输的帧都被编号,以确保帧传输的内容与顺序的正确性。大多数广域网的通信子网的数据链路层采用面向连接确认服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐