计算机网络(16)数据链路层:数据链路层的功能

目录

1、为网络层提供服务

1.1、无确认的无连接服务

1.2、有确认的无连接服务

1.3、有确认的面向连接服务

2、链路管理

3、帧定界、帧同步与透明传输

4、流量控制


数据链路层在网络层提供服务的基础上向网络层提供服务,其主要作用是在加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无错差的数据链路,使之对网络层表现为一条无差错的链路。

1、为网络层提供服务

对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。数据链路层通常可为网络层提供如下服务:

1.1、无确认的无连接服务

源机器发送数据帧时不需要先建立链路连接,目的机器收到数据帧时不需要发挥确定。对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通信或误码率较低的通信信道,比如以太网。

1.2、有确认的无连接服务

源机器发送数据帧时不需要先建立链路连接,但目的机器收到帧时必须发回确认。源机器在所规定的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠性。该服务适用于误码率较高的通信信道,如无线通信。

1.3、有确认的面向连接服务

帧传输过程分为三个阶段:减六数据链路、传输帧、释放数据链路。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发送下一帧,因而该服务的可靠性最高。该服务适用于通信要求(可靠性、实时性)较高的场合。

注: 有连接一定要有确认,即不存在无确认的面向连接服务

2、链路管理

数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务。链路两端的结点要进行通信,必须首先确认对方已处于就绪状态,并交换一些必要的信息对帧序号初始化,然后才能建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接。

在多个站点共享同一物理信道的情况下(例如在局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。

3、帧定界、帧同步与透明传输

两个工作站之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。首部和尾部含有很多控制信息,他们的一个重要作用是确定帧的界限,即帧定界。而帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始和中止。

如在HDLC通信规程中,用表示位F(01111110)来标识帧的开始和结束。通信过程中,检测到帧标识位F即认为是帧的开始,然后一旦检测到帧标识位F即表示帧的结束。HDLC标准帧格式如图16.1所示

计算机网络(16)数据链路层:数据链路层的功能

                                  图16.1、HDLC标准帧格式

如果在数据中恰好出现于帧定界符相同的比特组合(会误认为”传输结束“而丢弃后面的数据),那么就要采取有效的措施解决这个问题,即透明传输。更确切地说,透明传输就是不管所传数据是什么样的比特组合,都应当能在链路上传送。

4、流量控制

由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力的现象,如果不适当限制发送方的发送速率(即链路上的信息流量),前面来不及接收到额帧会被后面不断发送来的帧“淹没”,造成帧丢失而出错。因此,流量控制实际上就是限制发送方对的数据流量,使其发送速率不超过接收方的接收能力。

这个过程需要某种反馈机制使发送方能够知道接收方是否能跟上自己,即需要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到反馈信息后继续发送

流量控制并不是数据链路层特有的功能,许多高层协议中也提供此功能,只不过控制的对象不同而已。对数据链路层而言,控制的是相邻结点之间数据链路上的流量,而对运输层而言,控制的则是源端到目的端之间的流量

计算机网络(16)数据链路层:数据链路层的功能

                                                 图16.2  数据链路层的流量控制

 

 

人,总是要有一点精神的,不是吗