数据链路层为网络层提供服务,将数据从源机器的网络层传输至目的机器的网络层。数据链路层提供的服务可以分为3种:
1.无确认的无连接服务,适用于比较可靠的信道,如以太网,
2.有确认的无连接服务,适用于不太可靠的信道,如无线网,
3.有确认的有连接服务,包含建立连接、传送数据、释放连接,保证每个数据帧都按照编号的顺序被正确接收,并且只接收一次,相当于为网络层进程提供了一个可靠的位流。
当一个数据链路层的帧到来时,首先硬件检查是否有错,如果没有错误则将它递交给数据链路层软件,数据链路层软件检验它是否是期望得到的帧,如果是则将帧的净荷递交给路由软件进行选路,路由软件选择正确的输出线路,并且将分组向下交给数据链路层软件发送出去。
- 成帧机制
1、字符计数法
2、字符填充分界符法,转义字符
3、位填充分界标志法,开始结束时的特殊比特流为01111110,每五个1填充一个0
4、物理层编码违例法
- 错误控制
采用定时器应对硬件错误,为帧提供序列号保证数据帧不被重复存储。
(参考:计算机网络第四版 Andrew S.Tanenbaum)