功能
在向物理层提供服务的基础上向网络层提供服务
1.加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。 2.将二进制比特流组织成数据链路层的帧; 3.控制帧在物理信道上的传输,包括处理传输差错;
为网络层提供服务
对于网络层来说,数据链路层的基本任务就是将源机器中来自于网络层的数据传输到目标机器的网络层。
1.无确认的无连接服务。源机器无需与目标机器先建立链路连接,目标机器收到数据帧无需发回确认,对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通讯或者误码率较低的通信通道。
2.有确认的无连接服务。源机器发送数据帧时不需要先建立链路连接,但目的机器收到数据帧时必须发回确认。源机器在所规定的时间内没有收到确定的信号,就要重传丢失的帧以提高传输的可靠性。该服务适用于误码率较高的通信信道,如无线通信。
3.有确认的面向连接服务。帧传输过程分成3个阶段:建立链路数据,传输帧,释放数据链路。目的机器对收到的每一帧都要给出确认,源机器收到确认后才能发出下一帧,因而该服务的可靠性最高。该服务适用于通信要求(可靠性,实施性)较高的场合。
链路管理
链路管理即数据链路层的建立,维持和释放过程,主要用于面向连接的服务。通信的站点间的分配和管理信道也属于数据链路的管理范围。
帧定界,帧同步,透明传输
帧界定:首部及尾部确定帧的界限
帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终点(HDLC中用标示位F(01111110)来表示帧的开始和结束)透明传输:如果恰好出现与帧定界符相同的组合会误以为传输结束而丢弃后面的数据,而透明传输可以不理会传输数据是怎样的比特组合,都应该能在链路上传输
流量控制
由于收发双方的工作速率和缓存空间的差异,可能出现发送方的发送能力大于发送速率接收方的接收能力的现象,若此时不对发送方的发送速率进行哟限制,前面来不及接收的帧会被后面不断发送的帧淹没,造成帧的丢失而出错,因此流量控制实际上就是限制发送方的数据流量,使其发送速率不至于超过接收方的接收能力。
流量控制不是数据链路层特有的功能,许多高层协议也提供此功能,只是控制对象不同,对于数据链路层来说,控制的是相邻两个节点之间数据链路上的流量,而对于运输层的来说则是控制源端到目的端之间的流量。
差错控制
差错控制通常分为位错和帧错
位错:指帧中某些位出现了差错。通常采用循环冗余校验(CRC)方式发现位错通过自动重传请求(Automatic Repeat reQest,ARQ)方式来重传出错的帧。具体做法:让发送方将要发送的数据帧附加一定CRC冗余检错码一并发送,接收方则根据检测码对数据帧进行错误检测。若发现错误则进行丢弃。发送方超时重传数据帧,这种差错控制方法称作ARQ法。ARQ仅返回很少的控制信息,便可有效的确认所发数据帧是否正确的被接收。 帧错是指帧的丢失,重复,失序等错误。在数据链路层引入定时器和编码机制,可保证每一帧最终都能有且仅有一次正确的交付给目的节点。
p.s
1.对于帧丢失,数据链路层采用计时器超时重发
2.流量控制实际上是对发送方数据流量的控制