数据链路层的三个基本问题
封装成帧
透明控制
差错控制
一、数据链路层的功能
1. 为什么要设置数据链路层
物理层的线路有传输介质与通信设备组成,比特流在传输介质上传输时一定会存在误差,而设置数据链路层目的就是为了在存在差错的物理层的基础上,采用差错检测,差错控制和流量控制等方法,将有差错的物理线路改进为无差错的数据链路,向网络层提供高质量的数据传输服务。
对于网络层,由于数据链路层的存在,网络层不需要知道物理层具体采用了哪种传输介质与通信设备的,是采用模拟通信方法,还是采用数字通信方法。只要接口关系与功能不变,物理层所采用的传输介质与通信设备的变化对网络层不会产生影响。
2. 数据链路的主要功能
封装成帧(framing):
将上层(网络层)交下来的数据包按照所采用协议分别添加首部和尾部协议控制信息,构成了一个帧。帧首部+帧的数据部分(IP数据报)+帧尾部
帧同步
数据链路层的传输数据单位是帧,物理层的比特流封装在帧中进行传输,
帧同步指的是:接收端能从收到的比特流中正确的判断一帧的开始位和结束位
流量控制
发送端发送数据超过物理线路的传输能力或者超出接收端的帧接受能力时,就会发生链路阻塞。流量控制就是为了防止出现链路阻塞
差错控制
将有差错的物理线路改进为无差错的数据链路,向网络层提供高质量的数据传输服务
透明传输
不管传输数据的比特是什么样的组合,都应当能在链路上传送——有字节填充、位填充
寻址
多点连接时,为了保证每一帧都能传送到正确的接收端,因此数据链路层必须有寻址的能力