【计算机网络】数据链路层概述
数据链路层概述
数据链路层的位置
数据链路层的主要功能
主要功能是加强物理层传输原始比特流的功能,将物理层可能出错的物理连接改变成逻辑上无差错的数据链路,使其对于网络层来说表现为一条无差错的链路
1.为网络层提供服务的接口
为网络层提供如下的服务
- 无确认的无连接服务
- 有确认的无连接服务
- 有确认的面向连接服务
2.链路管理
数据链路层的连接的建立、维持和是释放
3.帧定界、帧同步、和透明传输
封装成帧
数据链路层就是在ip数据报的前面和末尾加了一个首部和尾部来代表ip数据包的开始和结束,首部和尾部都是由8位二进制数表示的,可以一样也可以不一样。
帧定界:确定帧的界限
帧同步:接受方可以从接收到的二进制的比特流中分辨出帧的开始和结束
透明传输:不管所传的数据是什么样的比特组合,都应当可以在链路上传输
4.流量控制
我们看下面链路的一跳。发送发给接受方发送数据,如果发送方每1秒发送100包,接收方只能1秒处理50包,会出现什么现象呢?接收方会在缓存中大量缓存接受的包,直到缓存区满了。满了之后会怎么样?接着就会出现最不能容忍的情况,缓冲区溢出,也就是丢包的现象。所以接收方一定要在缓冲区快满的时候通知发送方让他降低发送速度,这就是链路层的流量控制。流量控制用于确保实体发送的数据不会覆盖接受实体已接收的数据。
转载自https://blog.csdn.net/hanzhen7541/article/details/79012113
5.差错控制
帧同步虽然可以区分每个数据帧的起始和结束,但是还没有解决数据正确传输的两方面问题:一、如果有帧出现了错误?二、如果有帧丢失了?这都是数据链路层确保向网络层提供可靠数据传输服务解决的问题,也就是数据链路层的差错控制功能。
通常方法由CRC循环校验码发现错误、自动重传请求ARQ重传出错的帧