目录
一、数据链路层功能概述
功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。有连接一定有确认!!!
功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。
功能三:组帧。
功能四:流量控制。限制发送方。
功能五:差错控制(帧错/位错)。
二、封装成帧
1.概念 :就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多控制信息,他们的一个重要作用:帧定界(确定帧的界限)。
2.帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
3.组帧的四种方法:1.字符计数法 2.字符填充法 3.零比特填充法 4.违规编码法
三、透明传输
1.概念:指不管所传输的数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
2.字符计数法:帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。 (易出错)
3.字符填充法:发送端填充转义字符ESC(ESC转义字符使后一字节无条件成为有效载荷,不予检查 FLAG为帧的边界)。 接收端把转义字符去除,剩下就是原始数据。
4.零比特填充法(5 “1” 1 “0”):定界符为01111110。在发送端,连续5个1就填充1个0;在接收端,发现5个1后为0,就把0删除。
零比特填充法保证了透明传输,在传输的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
5.违规编码法:曼彻斯特编码/差分曼彻斯特编码--正常的信号周期中间有跳变(高-低/低-高)。持续的高电平(或低电平,即高-高/低-低)为违规码,可以用作定界帧的起始和终止。
总结
由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。