什么是数据链路层?
负责通过一条链路 ,从一个结点 向 物理链路对应的相邻的结点 传输数据报

功能概述
在物理层的服务的基础上 向网络层提供服务, 将源主机的网路层数据 可靠 的传输到目的主机的 网络层;
加强物理层传输原始比特流的功能,将物理层可能出错的物理连接 改造成逻辑上无差错的数据链路
功能一、 为网络层提供服务。无连接无确认服务,有确认无连接服务,有连接有确认服务。
功能二、 链路管理,管理链路的建立,维持,释放。
功能三、 组帧
功能四、 流量控制,控制发送方的速度
功能五、 差错控制
封装成帧 & 透明传输
一、 封装成帧
封装成帧 就是 在一段数据 前后部分添加上 首部和尾部标准信息 ,这样就构成了一个帧。
接收方通过物理层收到的比特流 可以根据首部尾部的标志信息 ,从比特流中 识别出帧的开始和结束(帧定界)

二、透明传输
指不管什么样的比特组合,都可以在链路上传输
会出现一个问题 :当所传数据比特组合 如果 和某一个控制信息一样,这个时候 接收方 会把这个比特组合 当作控制信息处理。
因此需要采取适当的措施(组帧的四大方式)
三、组帧的四大方式
1、字符计数方式

2、字符填充法
发送端扫描整个信息字段,当出现 数据比特组合 和 控制信息 一样 就在它前面加一个特定字符,标明这不是控制信息 ,
接收端接受到信息,去掉发送端加上的特定的字符,还原数据

3、零比特填充法
1、在发送端,扫描整个信息字段,只要出现连续5个1,就立刻填入一个0
2、在接收端收到一个帧时,找到标志字段定位边界,扫描比特流,没发现5个1,就把后面的0删除

4、违规编码法

差错控制
一、出现差错的原因

二、差错的类型

三、差错控制的方式

3.1奇偶校验码

3.2 CRC循环冗余码



流量控制
1、为什么要进行流量控制?
当 发送方发送速度过快 ,接收方接受速度较慢,速度不匹配,会造成传输出错
数据链路层的流量控制手段: 接受方收不下就不回复确认(停止 — 等待协议)
传输层的流量控制手段: 接收方给发送方一个窗口公告(滑动窗口协议)

2、流量控制的方法

一、停止—等待协议
发送窗口为1,接受窗口为1,每次发送一个数据,需要收到确认才能需要发送下一个,如果超时没有收到确认,会自动重传
几种应用情况 



性能分析
传输过程中 同一时间中 发送的数据量 太少,大部分时间用于等待确认,信道利用率太低

信道利用率的计算:

二、滑动窗口协议
1、后退N帧协议(GBN): 接收方给发送方 发送一个窗口公告,只有等这个窗口内的数据全部发送等到确认,才能向后移动一个窗口的数据

GBN中发送方必须响应的三件事
1、上层的调用
上层需要发送数据的时候,发送方先检查发送窗口是否已经满了
如果窗口没满,则产生一个帧进行发送
如果窗口满了,只需要将数据返回给上层,暗示上层 窗口已满,等一会再 发送
2、收到一个ACK
GBN协议中,对于n号帧采用累计确认,标记接受已经收到 n 号帧 和他之前的数据
3、超时事件
用一个定时器计算帧等待确认的时间,如果超时,则重传
2、选择重传协议:发送方窗口的中的数据,如果得不到确认,会自动重传


数据链路层详解:服务、功能与控制策略
592

被折叠的 条评论
为什么被折叠?



