1、数据链路层三个基本问题:封装成帧、透明传输和差错检测。
2、封装成帧:
帧同步,帧定界。封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
帧定界方法:①字符计数法、②字符填充的首尾定界法、③比特填充的首尾标志法、④违规编码法
3、透明传输
隐藏数据字段中与控制字段相同的部分。
①字节/符填充法:在需要隐藏信息前添加转义字符ESC(其16进制编码是1B,二进制是00011011);
②零比特填充法:只要有5个连续的1就填入一个0。
4、差错检测
误码率=传输错误的比特/传输比特总数
Ⅰ、对于数据错:
①奇偶校验法在:末尾添加0/1时帧中的一个数为奇=偶。
② 循环冗余检测CRC:收发双方事先规定一个数P作为除数,发送方将二进制数据模2除P,得到的余数R作为冗余码(又称帧检测序列FCS),接收方在用P模2除(数据+冗余码),若=0/1,则正确/错误。
③海明码:检查出错误及丢弃,使向上层提供逻辑上无差错的数据链路。
Ⅱ、对于帧错:
定时器(超时重传)、编号机制(帧失序/重复)。
5、点对点协议PPP
PPP协议就是用户计算机和ISP(因特网服务提供商)进行通信所使用的数据链路层协议,一对一通信。PPP协议是面向字节的,PPP不使用序号和确认机制,只保证无差错接收。