考点一:数据链路层的功能

考点一:数据链路层的功能

从5层数学模型来看,数据链路层的上层是网络层,下层是物理层;从功能上看,要起到承上启下的作用。对上而言,数据链路层要给网络层提供服务;对下来说,数据链路层要解决一些比较现实的问题,如确定数据边界、发送方和接收方的流量控制,这些是物理层没有提供的。

1.为网络层提供服务

对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层,也就是数据链路层的功能是为网络层提供服务,对应的服务有以下几种:

(1)无确认的无连接服务。发送方发送数据帧时不需要先建立链路连接,目的机器收到数据帧时无须发回确认,对出错的帧,数据链路层交给上层处理。该服务的性能最好,但是服务可靠性最差。这个类似男生通过微信向女生用7种语言表白,但是女生不回复收到了表白。

(2)有确认的无连接服务。发送方发送数据帧时不需要先建立链路连接,但接收方收到数据帧时必须发回确认。发送方在所规定的时间内没有收到确认信号,就重传丢失的帧,以提高传输的可靠性。这个类似男生通过微信向女生用7种语言表白,但是女生回复收到了表白。

(3)有确认的面向连接服务。帧传输过程分为3个阶段:建立数据链路、传输帧、释放数据链路。接收方对收到的每帧都要给出确认,发送方收到确认后才能发送下一个帧,因而该服务的可靠性最高,但是该服务的性能最差(比较慢)。这个类似男生通过电话向女生用7种语言表白,首先需要接通电话,当然了,女生会回复收到了表白。

2.数据链路层的简单模型

数据链路层的简单模型如图3-1所示。数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层,注意,数据链路层传送的是帧。最主要的服务是将数据从源机器的网络层传输到目标机器的网络层,在源机器的网络层有一个实体(称为进程),它将一些比特交给数据链路层,要求传输到目标机器。数据链路层将这些比特传输给目标机器,然后封装成帧,再进一步交付给网络层,实际的传输过程则是沿着图3-1(a)所示的路径进行的,但很容易将这个过程想象成两个数据链路层的进程使用一个数据链路协议进行通信。站在分层的角度看,数据链路层不必考虑物理层如何实现比特传输的细节,我们还可以更简单地设想:沿着两个数据链路层之间的水平方向把帧直接发送到对方,如图3-1(b)所示。数据链路层协议有许多种,但有4个基本问题则是共同的,分别是:封装成帧、透明传输、差错检测及流量控制,考虑到流量控制比较难且重要,我们单独讲解这个考点。

图3-1 数据链路层的简单模型

(a)三层的简化模型;(b)只考虑数据链路层

【政哥点拨】

1.数据链路层向网络层提供的服务不包括( )。

A.有确认的面向连接服务 B.有确认的无连接服务

C.无确认的有连接服务 D.无确认的无连接服务

解析 C 本题考查数据链路层向网络层提供的服务类型。数据链路层提供的服务可以归为以下3种基本服务。

(1)无确认的无连接服务。该种服务下,源机器向目的机器发送独立的帧,而目的机器对收到的帧不作确认。无确认的无连接服务事先没有建立连接,事后也不存在释放。大多数局域网在数据链路层都使用无确认的无连接服务。但是这种服务传输质量不可靠,这类服务适用于误码率很低的情况。

(2)有确认的无连接服务。该种服务下,没有建立连接,但所发送的帧都要进行确认。所以发送方知道帧是否安全到达。这类服务适用于无线系统之类的不可靠信道。

(3)有确认的面向连接的服务。该种服务下,需要建立连接,在连接上发送帧,所发送的每帧都被编上号,数据链路层保证所发送的每帧都是按照顺序已收到一次。这种服务最可靠,但最复杂,不容易实现。

记住,有连接一定有确认,不会存在无确认的面向连接服务。故而选择C项。

2.下列属于数据链路层的功能的是( )。

Ⅰ.为网络层提供服务 Ⅱ.帧定界、同步和透明传输

Ⅲ.流量控制和差错控制 Ⅳ.透明进行比特传输

A.Ⅰ、Ⅱ和Ⅳ B.Ⅱ、Ⅲ和Ⅳ C.Ⅰ、Ⅲ和Ⅳ D.Ⅰ、Ⅱ和Ⅲ

解析 D 本题考查数据链路层的主要功能。数据链路层的主要功能如下。

①链路管理:数据链路的建立、维持和释放。

②帧同步:接收方能从收到的比特流中区分一帧的开始和结束的地方。

③差错控制:接收方收到有差错的数据帧时,能检错重传或纠错。

④流量控制:发送方发送数据的传输率必须使得接收方来得及接收。

⑤透明传输:不管所传输的数据是什么样的比特组合,接收方都能正确接收,并能将数据和控制信息分开。

⑥寻址:保证每帧都能发送到目的地。

3.设立数据链路层的主要目的是将一条原始的、有差错的物理线路变为对网络层无差错的( )。

A.物理链路 B.数据链路 C.传输介质 D.端到端连接

解析 B 本题考查设计数据链路层的目的。

数据链路层是OSI参考模型中的第2层,介于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源主机网络层传输来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路层必须实现一系列相应的功能,主要有以下几个:

①如何将数据组合成数据块,在数据链路层中称这种数据块为帧(帧是数据链路层的传送单位)。

②如何控制帧在物理信道上的传输,包括处理传输差错、调节发送速率以便与接收方相匹配。

③在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的线路。

政哥应试提醒:结合出题规律和知识点的情况,数据链路层的功能和数据格式是考查的重点,大家针对性记忆就可以了。

难度系数:★