数据链路层可以简单理解为传送数据的链路加上实现控制数据传输的通信协议的软件和硬件。在谈论数据链路层的功能的时候,我们通常在两个对等的数据链路层的节点假想一条数据通道,而数据通道上传输的数据单位是帧。而我们知道数据链路层的下层物理层的传输的数据单位是比特,那么数据链路层的一个问题就是如何把比特组成帧。为了区分帧的开始和结束,那么又涉及到另外一个问题就是帧定界。
总的概括数据链路层的主要功能如下:
(1)链路管理:即链路的建立、维持和释放。当两个节点需要进行通信,数据发送方要知道接收方是否准备好了,为此就要事先约定好一些规则,然后正式通信前交换一些必要的信息。
(2)帧定界(帧同步):数据链路层数据的传输单位是帧,那么数据必须是一帧一帧的传送,收方应当能从收到的比特流中准确地区分一帧的开始和结束在什么地方。
(3)流量控制:发方发送数据的速率必须使收方来得及接收,当接不住的时候通过一些反馈机制及时控制发方发送数据的速率。
(4)差错控制:由于向前纠错(自动把差错改正)开销较大不适合计算机通信,故采