数据链路层
功能
定义
- 基本功能是 向该层用户 提供透明和可靠的数据传送基本服务
- 帧和介质访问控制
- 数据链路层 是 对物理层传输原始比特流功能的加强,将物理层提供的可能出错的粗粒连接改造成逻辑上无差错的数据链路,使之对网络层表现为无差错的线路。
帧同步
-
目的
- 为了使传输种发生差错后将有错的有限数据进行重发,数据链路层将比特流组合成以帧为单位进行传送
- 帧的组织结构必须设计成能从比特流中区分出帧的起始和终止的结构,这就是帧同步要解决的问题
-
字节计数法
- 以一个特殊字符表示帧的开始,并以一个专门字段来标明帧内字节数的帧同步方法
-
使用字符填充的首尾定界符法
- 用一些特定字符来定界一帧的起始和终止,为了不使数据信息位中出现与特定相同的字符被误判为帧的首位定界符,可以在这种数据字符前填充一个转义控制字符以示区别
-
使用比特填充的首尾标志法
- 以一组特定的比特模式来标志一帧的起始与终止
-
违法编码法
- 在物理层采用特定的比特编码时采用
- 他只适合用于冗余编码的特殊编码环境
差错控制
- 必备能力,使差错被控制在所能允许的,尽可能小的范围内,就是差错控制过程。
- 对差错编码的检查,可以判定一帧在传输过程中是否发生了错误。一旦发生错误,一般可以采用反馈重发的方法来纠正。
流量控制
-
原因
- 接收方要在缓存区快满的时候,通知发送方让其降低发送速度,即数据链路层的流量控制
-
停等流量控制
- 发送实体发送一个帧,接收实体吉他手处理后必须回发一个对于这个帧的确认,表示自己同意接受下一个帧,发送方收到这个确认后,才能发送下一个帧
- 控制简单,效率不高
-
滑动窗口流量控制
- 等停控制方法的升级 ,为了提高效率
- 滑动窗口协议即利用窗口控制连续发送的数据量,位每一个帧分配一个序号,接收端需要按照序号接收,进行教育你是否出错
链路管理
- 主要用于面向连接的服务
- 数据链路层连接的建立,维持 和释放称作链路管理
差错控制
问题
-
帧出错
- 差错检查
-
帧丢失
- 差错纠正
差错检测
-
奇偶校验码(OCC)
-
循环冗余校验(CRC)
- 这是一种根据传输或保存的数据而产生的固定位数校验码的方法,
- 主要用来检测或检验数据传输或保存后可能出现的错误
差错纠正
-
反馈检测法
- 如果判断该数据帧除了错,则发送端向接收端发送一个DEL字符及响应的帧信息,提示接收端删除对应的帧,然后重发该帧,否则表示接收端已经正确接受了对应的帧
- 通常发送时引入计时器来限定接收端发挥反馈信息的时间,
- 为了避免同一帧数据可能被多次重复传送,采用对发送的帧进行编号的方法
-
空闲重发请求方案
-
先让发送端将要发送的数据帧附加一定的校验码PCC或CRC等一起发送,接收端则根据校验码对数据帧进行错误检测,若发现错误,就返回请求重发的响应,不用返回全部的帧,一个信号即可,发送端收到请求重发的响应后,便重新发送该数据帧
-
缺点:
- 信道利用率底,站控时间与传送一个帧的全部时间的比例,称为占空比,数据帧语段,占空比越大,信道利用率月底,所以较短的数据帧传送,传输效率底下
-
-
连续重发请求方案
-
连续重发请求是指 发送端可以连续发送一些列数据帧,即不用等前一阵被确认便可以继续发送下一个帧,提高效率,
-
重发处理策略
-
回退N帧策略
-
哪一帧错了,从此帧往后开始重新发送
-
缺点‘
- 降低传输效率,当通信链路传输质量差,误码率大时。没优势
-
-
选择重发策略
- 哪一帧错了,重新传输这一帧信息,通过向发送端返回NACK否认帧,要求发送端重发出错的哪一帧。一旦收到冲i想你发来的正确帧,就可以与原来已存于缓冲区的其余帧一起按正确的顺序递交给网络层
-
-
进本数据链路协议
停等协议
-
最简单最基础的数据链路层协议
-
定义
- 每发送完一个分组就停止发送,等待对方确认,在收到确认后在发送下一个分组
-
基本过程
- 在通信系统中两个相连的设备相互发送信