数据链路层是OSI/RM的第二层,它把物理层传来的原始数据打包成帧,并负责帧在计算机之间进行无差错的传输。
数据链路层的作用就是负责数据链路信息从源点传输到目的点的数据传输与控制,如连接的建立、维护和拆除,异常情况处理,差错控制与恢复等。
主要功能
链路管理
链路管理就是进行数据链路的建立、维护和拆除。在链路两端的节点进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序列进行初始化,然后再建立链路连接
帧同步
为了使传输中发生差错后只将有错的有限数据进行重发,数据链路层将比特流封装成帧进行传送。
流量控制
为防止双方速度不匹配或接收方没有足够的接收缓存而导致数据拥塞或溢出,数据链路层必须采取一定的措施使通信网络中的链路或节点上的信息流量不超过某一限制值,即发送端发送的数据要能使接收端来得及接收。
差错控制
为了保证数据传输的正确性,在计算机通信中,通常采用的是检错反馈重发方式,即接收方每收到一帧便检查帧中是否有错,一旦有错,就让发送方重发该帧,直至接收方正确接收为止。
透明控制
当所传输的数据中的比特组合恰巧与某一个控制信息完全一样时,必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。
在这些功能中,差错控制和流量控制是数据链路层的两个重要功能。
数据链路层常用于差错控制和流量控制的协议有停止等待协议(自动请求重传协议)、连续ARQ协议和选择重传ARQ协议等。
数据链路层协议是两个直接连接的节点间的通信协议,它不能解决数据经过通信子网中多个转接节点的通信问题。