打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
局域网技术-数据链路层的基本概念

数据链路层(Data Link Layer,DLL)是OSI 7层参考模型的第二层,属于低三层中的中间一层。

1.基本概念

数据链路层(Data Link Layer,DLL)是OSI 7层参考模型的第二层,属于低三层中的中间一层。数据链路可以粗略地理解为数据通道。数据链路的建立、释放,对数据的检错、纠错是数据链路层的基本任务。数据链路层的主要作用是用来建立、管理和维护网络通信中的数据链,为数据通信提供可靠的通信链路。

2.数据链路的一般模型

数据链路层的基本服务是把源主机网络层的数据以帧为单位,透明、无差错地传输给目的主机的网络层。数据链路层完成这一服务是通过物理连接来实现的,但具体的数据通路要经过层间接口形成,即源主机由网络层将数据传向数据链路层,再由数据链路层传向物理层,并由物理层发送到目的主机;在目的主机接收后,会以相反的顺序传送到目的主机的网络层。用户也可以将其看作两个数据链路层的实体使用数据链路协议进行通信,如图所示。

图 数据链路层模型

3.链路层的功能和提供服务

·链路层的功能

数据链路层最基本的服务是将源计算机网络层传来的数据可靠地传输到相邻节点的目标计算机的网络层。其功能具体表现在以下几个方面。

(1)链路管理:

数据链路层的“链路管理”功能包括数据链路的建立、维持和释放3个主要方面。在面向连接服务中,当两台计算机进行通信时,发送方必须确认知道接收方是处在准备接收数据的状态。为此,通信双方必须交换一些必要的信息,建立一条数据链路,并且为保证数据传输的可靠性,做一些必要的准备(如对帧序号进行初始化等);同时在传输数据时要维持数据链路;通信完毕时要释放数据链路,以期待下一次连接。

(2)帧同步:

为了向网络层提供服务,数据链路层必须使用物理层提供的服务。而物理层是以比特流进行传输的,这种比特流并不能保证在数据传输过程中不出现错误,接收到的位数量可能少于或多于发送的位数量。而且它们还可能有不同的值,这时数据链路层为了能实现数据有效的差错控制,就采用了一种“帧”的数据块进行传输。而要采用帧格式进行传输,就必须要有诸如帧的起始、结束等同步技术,这就是数据链路层的“帧同步”功能。

好处及问题:

好处:在发现有数据传送错误时,只需将有差错的帧再次进行传送即可,而不需要将全部数据的比特流进行重传,在传送效率上得到了很大的提高。

于此同时也带来了如下两方面的问题:

如何识别帧的开始与结束?

在夹杂着重传的数据帧中,接收方在接收到重传的数据帧时应识别成新的数据帧,还是识别成重传帧?

这就要靠数据链路层的各种“帧同步”技术来判断了。

“帧同步”技术使接收方既能从并不是完全有序的比特流中准确地区分出每一帧的开始和结束,同时还可识别重传帧。

(3)流量控制:

在双方的数据通信中,如何控制数据通信的流量同样非常重要。它既可以确保数据通信的有序进行,还可避免在通信过程中出现接收方来不及接收而造成的数据丢失。这就是数据链路层的“流量控制”功能。数据的发送与接收必须遵循一定的传送速率规则,使得接收方能够及时地接收发送方发送的数据。

另外,在传输过程中,由于出现差错和数据丢失等状况,目的主机收到帧的顺序可能与源主机发送的顺序不同,在数据链路层的实体将收到的信息上传至网络层之前,还需要对接收到的帧的顺序进行调整。

(4)差错控制:

在数据通信过程中因物理链路性能和网络通信环境等因素,可能会出现一些传送错误,为了确保数据通信的准确性,必须使这些错误发生的几率尽可能低。这一功能也是在数据链路层实现的,这就是 “差错控制”功能。

在数据通信系统中,通常利用抗干扰编码进行差错控制。一般分为4种方式:

前向纠错(FEC,Forward Error Correction):是在信息码序列中,以特定结构加入足够的冗余位——“监督元”(或“校验元”)。接收端解码器可以按照双方约定的这种监督规则,自动识别出少量差错,并予以纠正。FEC最适用于实时的高速数据传输的情况。

反馈检测(ARQ,Automatic Repeat reQuest):在非实时数据传输中,常用ARQ差错控制方式。解码器对接收码组逐一按编码规则检测其错误。如果核对无误,则向发送端反馈“确认”ACK信息;如果有错,则反馈ANK信息,以请求发送端重新发送改信息。ARQ方式的优点在于编码冗余位较少,有较强的检错能力,同时编码、解码相对简单。

混合纠错(HEC,Hybrid Error Correction):是一种全回执式的最简单差错控制方式。在该检错方式中,接收端将收到的信码原样转发回发送端,并与原发送信码相比较,若发现错误,则发送端再进行重发。该方式适用于低速非实时数据通信。

信息反馈(IRQ,Information Repeat reQuest):是上述两种方式的有机结合,即在纠错能力内,实行自动纠错;而当超出纠错能力的错误位数时,可以通过检测而发现错码,不论错码多少都可以利用ARQ方式进行控制。

(5)HEC方式IRQ方式区分数据与控制信息:

由于数据和控制信息都是在同一信道中进行传输的,因此在许多情况下,数据和控制信息均处于同一帧中,因此一定要有相应的措施令接收方能够将它们区分开,以便向上传送真正意义的数据信息。

(6)MAC寻址:

MAC寻址是数据链路层中的MAC子层的主要功能。这里所说的“寻址”是指寻找计算机网卡的MAC地址,也称“物理地址”“硬件地址”,而不是IP地址。在以太网中,采用媒体访问控制(MAC,Media Access Control)地址进行寻址,MAC地址被烧入每个以太网网卡中。在多点连接的网络通信中,必须保证每一帧都能准确地发送到正确的目的地,接收方也应当知道发送方是哪一个点。

(7)透明传输:

这里所说的“透明传输”是指无论哪种比特组合的数据,都可以在数据链路上进行有效传输。这就需要在所传数据中的比特组合与某一个控制信息完全一样时,能采取相应的技术措施,使接收方不会将这样的数据误认为是某种控制信息。

·链路层提供的服务

数据链路层的设计目标就是为网络层提供各种服务。通过网络层与数据链路层之间的接口,以服务原语的形式完成服务的调用与被调用。网络层调用数据链路层的服务,数据链路层为网络层服务,它们之间使用了标准的请求、指示、响应和确认等4种类型的服务原语。

数据链路层提供的服务,实际上在不同的系统中可能是不一样的。对于传输质量较高的网络,由于其传输系统的误码率极低,几乎可以省去复杂的差错控制,将检错和纠错的工作交给高层去处理;对于一些要求通信快捷、允许少量出错的实时通信系统,也可以不进行差错控制;但对于不可靠的通信系统(如无线网络),能够在数据链路层上及早发现和纠正错误,将会大大提高传输效率。

数据链路层为网络层提供的服务主要有以下几种。

(1)无确认的无连接服务:

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

(2)有确认的无连接服务:

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

(3)有确认的面向连接服务:

大多数数据链路层都采用向网络层提供面向连接的确认服务。利用这种服务,源计算机和目标计算机在传输数据之前需要先建立一个连接,该连接上发送的每一帧也都被编号,数据链路层保证每一帧都会被接收,而且它还保证每一帧只被按正常顺序接收一次。这种服务类型存在3个阶段,即数据链路建立阶段、数据传输阶段和数据链路释放阶段。大多数广域网的通信子网的数据链路层均采用面向连接确认服务。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第4版(2003)的Ch3-数据链路层
转贴:数据链路层的作用(转载)
OSI参考模型数据链路层
高级数据链路控制的概念
数据链路层到底是什么
【思唯网络】数据链路层介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服