数据链路控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a 的值越大,则站点之间的数据率越高和/或距离越远。 也就是说,在链路的比特长度大于帧长度的情况下,就会 导致严重的效率低下
停止等待链路利用率
滑动窗口流量控制
• 滑动窗口流量控制允许一次传输多个帧
– 接收方缓存可以接受W个帧 – 发送方在不等待任何确认帧的情况下发送W个帧,每个帧
都通过一个序号来标识 – 接收方发送确认帧(ACK)确认已接收的多个帧,ACK
• 帧损伤-一个可辨认的帧到达,但其中的一些比特有差错
最常用的差
差错检测
错控制技术
肯定确认
是由右侧的
部分或全部 技术组成的
否认与重传
超时重传
4
差错控制技术
最常用的差错控制技术是以下的部分或全部技术组成
• 差错检测 — 终点检测到某些帧出错并丢弃这些帧 • 肯定确认 — 终点为成功接收到、没有差错的帧返回一个肯定确认 • 超时重传 — 在预定时间没有收到确认的情况下,源点会重新传输一
现代通信网络基础
第 7 章 –数据链路控制
信息与通信工程学院 张薇
本章内容
授课题目 授课时数
章 第7章 数据链路控制
7.1 流量控制 节 7.2 差错控制
7.3 高级数据链路控制(HDLC) 纲 第二部分 数据通信
4
授课方式 理论讲授、多媒体教学
本章内容(续)
教学目标
教学重点 教学难点
掌握: 1. 流量控制和差错控制的基本原理 2. 停止等待和滑动窗口流量控制 3. 停止等待、返回N和选择拒绝差错控制 4.高级链路控制协议(HDLC)的帧结构
• 如果一个站点有确认,但却没有需发送的数据,站点会发 送一个独立确认帧,如RR 或RNR
• 如果一个站点需要发送的数据,但却没有新的确认,站点 必须重新发送上一次已经发送过的确认
7.2 差错控制
差错控制技术
差错控制指的是检测和纠正帧传输过程中出现的差错
的机制。差错类型如:
• 帧丢失-帧没有到达另一方
– 寻址
— 在类似局域网这样的共享链路上,传输设计的两
个站点的身份必须指明
– 控制信息和数据在同一链路上
— 控制信息没有物理上独立的通信路径
– 链路管理 — 持续不断的数据交换的初始化、维持以及终止等

工作需要站点之间大量的协同与合作,因而需要

具有管理这些交换的过程
1
数据链路控制的两种主要机制:
– 停止等待(stop-and-wait) – 返回N(go-back-N) – 选择拒绝(selective-reject)
• 所有这些形式都是基于流量控制技术的应用
停止等待ARQ
• 基于停止等待流量控制 • 源点传输一个帧后,必须等待一个确认(ACK)
– 在终点的确认返回源点之前,源点不能发送其他数据帧 – 帧被交替标记为0和1,且肯定确认的格式分别为ACK1 /
– 当数据率非常高,或发送方与接收方之间距离非常远 时,停止等待流量控制所提供的线路利用率不高
停止等待流量控制(续2)
Stop and Wait Flow Control
链路的比特长度 B = R× d V
B=以比特为单位的链路长度。即当比特流完全占满整个链路 时,链路上的比特容量 R=链路的数据率,以 bps 为单位 d=链路的长度,或者说是距离,以 m 为单位 V=传播速率,以 m/s 为单位
– 终点丢弃该帧及后面所有的帧,直到差错帧被正确接收 – 发送方必须返回并重新发送该帧及其后的帧
返回N – 操作流程
• 设想站点A向站点B发送帧,在每次传输之后,A为刚才传 输的帧设置确认计时器。假设B已经成功接收到前面的(i-1) 个帧,并且A刚刚传输了帧 i。考虑四种可能的情况:
1. 帧损伤 2. 帧丢失 3. RR损伤 4. REJ损伤
认 (acknowledgement ,ACK) – 源实体在传输下一帧之前等待 ACK – 终点可以通过不发送确认(ACK)来终止数据流
网络层
发送方 获取数据
数据链路层
物理层 接收帧发送帧
数据帧
事件
来自网络 层的请求
一直重复 发送方站点算法
事件
来自物理层的 通知
接收方 数据传输
网络层
数据链路层
接收帧发送帧 物理层
• 帧损伤
– 帧 i 出现差错,站点B 否认帧 i(REJ i) – 站点A重传帧 i 以及所有的后继帧
5
返回N – 操作流程(续1)
• 帧丢失
– 帧 i 丢失,分两种情况: A. 在合理的时间范围内,站点 A 继续发送帧 (i+1),站点 B 收到帧(i+1) 后发现次序不对 ,于是发送一个REJ i 。 A必须重传帧 i 以及所有的后继帧 B. 站点A 并没有马上发送其他帧,B 没有接收到任何帧,并 且B 既不返回RR,也不返回REJ。当站点A计时器超时, A 会传输一个RR帧,并在其中包含一个被置为1的称为P比 特的比特位。B将这个RR帧中的P比特位解释成一条命令, B 必须通过发送一个RR响应信号来表明自己希望接收下一 个帧 ,也就是帧 i。
中包含下一个希望接收到的帧序号,同时隐含表明已准备 就绪接收以指明序号为首的后W个帧 (Receive Ready, RR) – 发送方维护一张允许发送的序号列表 – 接收方维护准备接收的序号的列表 – 两张列表都可以被认为是一个帧窗口
3
滑动窗口流量控制(续)
– 若接收方确认已接收的帧 ,但禁止继续发送后面的帧, 则发送RNR报文(Receive Not Ready,RNR)
流量控制和差错控制
7.1 流量控制
流量控制
• 流量控制是用于确保实体发送的数据不会超出接 收实体接收数据能力的一种技术。
– 避免缓存溢出
• 影响因素包括:
– 传输时间(transmission time) • 将一个帧的所有比特送到媒体上所花费的时间
– 传播时间(propagation time) • 一个比特经过链路从源点到达终点所需要的时间。
停止等待ARQ
帧传输时间 传播时间
优点
• 简单易行
间隔超时
帧0丢失 A重传
缺点
• 效率低下
间隔超时
ACK丢失 A重传
ACK传输时间
时 间
B丢弃 重复的帧
返回N ARQ
• 最常用的差错控制形式 • 基于滑动窗口流量控制 • 利用滑动窗口技术,没有收到确认的帧的最大数目取
决于窗口的大小 • 如果没有差错, 终点发送肯定确认(RR) • 如果存在差错,终点发送一个否认(REJ)
如果A的计时器超时,它会传输一个 RR命令,并设置一个P比特计数器 。
如果B 不响应,A会超时,重发RR (重复多次)
若重复次数超过一个最大值后A仍未 收到确认,则A启动复位过程
返回N – 操作流程(续3)
REJ损伤
REJ丢失
等同于发送超时帧丢失的情况
思考:采用滑动窗口流量控制时,若窗口大小设置 为2k而不是2k -1,采用返回N ARQ 会发生什么问题?
由接收者 丢弃
帧4重传
超时
由接收者 缓存
7.3 高级链路控制协议(HDLC)
6
高级数据链路控制协议
(High Level Data Link Control ,HDLC)
滑动窗口举例
滑动窗口举例(续)
• RR : 接收就绪
• RR5 :我已接收到第4号帧之前的所有帧,并且准备接收5号帧; 事实上,我已经准备接收以5号帧为首的后7个帧(假设k=3)
• RNR :接收未就绪
• RNR5 : 我已接收到第4号帧之前的所有帧,但是无法接收更多的 帧
• 发送RNR后的某个时刻,站点必须发送一个正常的确认帧来重新 启动滑动窗口
网际层/网络层 为高层屏蔽物理网络的配置细节。 提供路由选择;可能提供QoS和拥 塞控制
网络接入层/数据链路层 到实际网络硬件的逻辑接口。可 能是面向流的,也可能是面向分 组的,可能提供可靠的交付
物理层 通过物理媒介传输位流,处理与 物理介质有关的细节
数据链路控制协议
• 发送数据时,为了实现必要的控制功能,在物理 层之上又增加了一个 逻辑层, 这个逻辑称为数据 链路控制(data link control)或数据链路控制协 议(data link control protocol)
滑动窗口示意图
已经发送的帧
帧被缓存直至 收到确认信息
可以发送的帧窗口
帧序号
已确认的 已发送的 最后一帧 最后一帧
当帧被发送时 窗口从后沿收缩
从发送者的角度观察
当接收到确认时 窗口从前沿扩展
已经接收到的帧
可以接收的帧窗口
已确认的 最后一帧
已接收的 最后一帧
收到帧时窗口 从后沿收缩
从接收者的角度观察
发送确认后 窗口从前沿扩展
停止等待流量控制(续3)
Stop and Wait Flow Control
将传输时间取归一化值 1,并且传播时延用变量a表示
a= B L
B=以比特为单位的链路长度。即当比特流完全占满整个链路 时,链路上的比特容量
L=一个帧中的比特容量(以比特为单位的帧长度) 当a < 1时,传播时间小于传输时间 当a > 1时,传播时间大于传输时间
选择拒绝 (ARQ)
• 也称为选择重传,被重传的只有那些接收到否认的 帧或超时的帧
• 接收方接收后续的帧并缓存它们,直到接收到重传 帧
• 最小化了被重传的帧数 • 接收方必须要足够大的缓存 • 发送方需要更复杂的逻辑
– 未广泛使用
• 对传播时延较长的卫星链路较为适用
返回N

帧4、5、6 重传
选择拒绝 超时 比较
个帧
• 否认与重传 — 终点为检测到差错的帧返回一个否认。源点重新传
输这些帧
以上的机制统称为自动重传请求(Automatic Repeat Request, ARQ)
自动重传请求
(Automatic Repeat Request, ARQ)
• 所有差错控制机制的总称 • ARQ 的作用就是使不可靠的数据链路变得可靠 • 三种 ARQ 标准:
ACK0 • 如果到达终点的帧已经被损伤,则丢弃它
– 发送方设置一个计时器 – 如果计时器超时而没有确认,则再次发送同一个帧
• 如果 ACK 损伤,发送方将无法辨认
– 计时器超时,发送方重传同一个帧 – 接收方收到两份互为副本的帧 – 帧被交替标记为0和1,且肯定确认的格式分别为ACK1 / ACK0
• 假设所有的帧在到达时与他们被发送时的顺序是 一致的
帧传输模型
停止等待流量控制
Stop and Wait Flow Control
• 流量控制主要包括停止等待和滑动窗口流量控制 • 停止等待流量控制中最简单的形式 • 停止等待流量控制操作过程
– 源实体传输一个帧 – 目的实体接收该帧并返回一个对刚刚接收到的帧的确
返回N – 操作流程(续2)
RR损伤 —— case1
RR损伤 —— case2
站点 B 收到帧 ,发送确认RR(i+1), 而它在传输中丢失
由于确认是累积的,依次下一个RR (i+2) 可能在帧 i 的计时器超时之前
到达
站点A发送帧 (i+2)
站点 B 收到帧 ,发送确认RR(i+1), 而它在传输中丢失
了解: 1. HDLC的基本特点 2. HDLC的运行方式 1. 流量控制 2. 差错控制 1. HDLC的帧结构 2. HDLC的运行方式
TCP/IP 分层及协议举例
应用层 为用户提供对TCP/IP环境的接入, 同时提供分布式信息服务
传输层 在端点之间传递数据。可能会提 供端到端的差错控制、流量控制、 拥塞控制、可靠的交付
– 接收方重启滑动窗口,必须发送一个正常的确认帧 – 序号的范围受序号字段内序号长度限制 (k)
• 帧号以 2k 为模,通常 k=3 • 最大的窗口尺寸为 2k – 1 • 如果链路为全双工链路,通常会采用一种 称为捎带 (piggyback) 的技术:每个数据帧除了存放帧序号的 字段之外,还有一个用于存放确认序号的字段 • 与停止等待流量控制相比,滑动窗口流量控制能够很 大程度地提高效率
ACK帧
一直重复 接收方站点算法
事件
来自物理层的 通知
2
发送方
请求
到达 请求 到达
时间
接收方 到达 到达
时间
停止等待流量控制(续1)
Stop and Wait Flow Control
• 停止等待流量控制适用于将一个报文通过少量 但比较长的帧发送的场合
– 停止等待流量控制不适用于将大块数据分割成较小数 据块并使用多个帧传输的情况,根本问题在于一次只 能够传送一个帧
• 使用数据链路协议时,系统之间的传输媒体被称 为数据链路(data link )
数据链路控制的必要性
• 链路上对数据通信ቤተ መጻሕፍቲ ባይዱ行管理的要求和目标:
– 帧同步 — 每个帧的开始和结束必须可以辨别
– 流量控制 — 发送站点发送帧的速度不得超过接收站点接纳
这些帧的速度
– 差错控制 — 传输系统引起的比特差错必须纠正
相关文档
最新文档