目录
一、主要作用
数据链路层的主要作用:
- 封装成帧:将网络层的数据封装成帧的个数,在数据前添加帧首,在数据后添加帧尾;
- 透明传输:对于出现在帧数据中的控制字符,但是要当做不存在的去处理;
- 差错检测:物理层只负责传输比特流,无法控制是否出错,所以需要数据链路层负责差错检测的工作。
1、封装成帧
帧是数据链路层数据的基本单元。发送端在网络层的一段数据的前后分别添加一个标记,形成“帧”;接收端根据帧前后的特定标识,识别出“帧”。
2、透明传输
透明传输指的是,控制字符在帧数据中,但是要当做不存在的去处理。也就是说,如果在帧数据中出现了和“帧尾部”的控制字符相同的字符,也要正确的进行处理。这需要对数据中的特殊字符,进行特殊处理。
对特殊字符进行处理的方法,就是在特殊字符前面,增加一个转义字符。如下图所示,ESC字符就是增加的转义字符。
如果帧数据中出现了转义字符,则继续在前面增加转义字符,表示这是转义字符: