数据链路层在物理层提供服务的基础上向网络层提供服务,其
主要作用是加强物理层传输原始比特流的功能,将物理层提供的可
能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层
表现为一条无差错的链路。
3.11 为网络层提供服务
(1)无确认的无连接服务:源机器发送数据帧时不需要先建立链路
连接,目的机器收到数据帧时不需发回确认。对丢失的帧,数据链
路层不负责重发而交给上层处理。适用于实时通信或误码率较低
的通信信道,如以太网。
(2)有确认的无连接服务:源机器发送数据帧时不需要先建立链路
连接,但目的机器收到数据帧时必须发回确认。源机器在所规定
的时间内未收到确定信号时,就重传丢失的帧,以提高传输的可靠
性。该服务适用于误码率较高的通信信道,如无线通信。
(3)有确认的面向连接服务:帧传输过程分为三个阶段:建立数据
链路、传输帧、释放数据链路。目的机器对收到的每一帧都要给
出确认,源机器收到确认后才能发送下一帧,因而该服务的可靠性
最高。该服务适用于通信要求(可靠性、实时性)较高的场合。
注意:有连接就一定要有确认,不存在无确认的面向连接的服务。
3.1.2 链路管理
数据链路层连接的建立,维持和释放过程称为链路管理,它主
要用于面向连接的服务.链路两端的节点要进行通信,必须首先确
认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始
化,然后才能建立连接,在传输过程中则要能维持连接,而在传输
后要释放该连接。在多个站点共享同一物理信道的情况下如何要
求通信的站点间分配和管理信道也属于数据链路层管理的范畴。
3.1.3 帧定界、帧同步与透明传输
两个工作站之间传输信息时,必须将网络层的分组封装成帧,
以帧的格式进行传送.将一段数据的前后分别添加首部和尾部,就
构成了帧.首部和尾部中含有很多控制信息,它们的一个重要作用
是确定帧的界限,即帧定界.而帧同步指的是接收方应能从接收到
的二进制比特流中区分出帧的起始与终止.透明传输就是不管所
传数据是什么样的比特组合,都应当能在链路上传送.
3.1.4 流量控制
流量控制实际上就是限制发送方的数据流量,使其发送速率
不超过接收方的接收能力.
这个过程需要通过某种反馈机制使发送方能够知道接收方是
否能跟上自己,即需要有一些规则使得发送方知道在什么情况下
可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到
某种反馈信息后继续发送.
3.1.5 差错控制
用以使发送方确定接收方是否正确收到由其发送的数据的方
法称为差错控制.通常这些错误可以分为位错和帧错.
位错指帧中某些位出现了差错.通常采用循环冗余校验(CRC)
方式发现位错,通过自动重传请求(ARQ)方式来重传出错的帧.具
体做法是:让发送方将要发送的数据帧加一定的CRC冗余检错码一
并发送,接收方则根据检错码对数据帧进行错误检测,若发现错误
则丢弃,发送方超时重传该数据帧.这种差错控制法称为ARQ法.
只需返回很少的控制信息就可有效地确认所发数据帧是否被正确
接收.
帧错指帧的丢失、重复或失序等错误.在数据链路层引入定
时器和编号机制,能保证每一帧最终都能有且仅有一次正确地交
付给目的结点.