首页 > 电脑教程/ 正文
流量控制是一种协调发送站和接收站工作步调的技术,其目的是避免发送速度过快,使得接收站来不及处理而丢失数据。通常接收站维持一定大小的接收缓冲区,当接收到的数据进入缓冲区后,接收器要进行简单的处理,然后才能清除缓冲区,再开始接收下一批数据。如果发送得过快,缓冲区就会溢出,从而引起数据的丢失。流控机制可以避免这种情况的发生。
首先讨论没有传输错误的流控技术,即传输过程中不会丢失帧,接收到的帧都正确的,
无须重传,并且所有发出的帧都能按顺序到达接收端。
1.停等协议
最简单的流控协议是停等协议。它的工作原理是:发送站发出一帧,然后等待应答信号到达后再发送下一帧:接收站每收到一帧后送回一个应答信号(ACK),表示愿意接收下一帧,
如果接收站不送回应答,则发送站必须等待。这样,在源和目标之间的数据流动是由接收站控制的。
假设在半双工的点对点链路上,站S1向站S2发送数据帧,S1每发出一个帧就等待S2送回应答信号。根据图3-13所示,发送一帧的时间
其中,tp为传播延迟,tf为发送一帧的时间(称为一帧时).
于是线路的利用率为
(3.1)
定义a=tp/tf,则
(3.2)
这是在停等协议下线路的最高利用率,也可以认为是停等协议的效率.事实上,数据帧中还包含一些控制信息,例如地址信息及校验和等,再加上已忽略了的某些时间开销,因而实际的线路利用率更低。
为了更深入理解式(3.2)的含义,对a进行一些分析。由于a是线路传播延迟和一个帧时
的比,故在线路长度和帧长固定的情况下a是个常数。又由于线路传播延迟是线路长度d和信号传播速度v的比值,而一帧时是帧长L和数据速率R的比,因而有
(3.3)
式(3.3)的分子Rd/v的单位为位,其物理意义是线路上能容纳的最大位数,即线路的位长度,它是由线路的物理特性决定的。因而,a可理解为线路位长和帧长的比,或者说线路的帧计数长度.
考虑下面的例子.通常卫星信道的传播延迟是270ms,假设数据速率是64Kbps,帧长是4000位。因而对于卫星链路可得
a=64 x 270/4 000=4.32>1
根据式(3.2),卫星链路的利用率为
可见卫星链路的利用率仅为1/10左右,大量的时间用在等待应答信号上了。
按照最新的传输技术,传送一帧的时间会降到6 ms,甚至1255s.这样a的值将是45~
2160,在应用停等协议的情况下,链路的利用率可能只有0.00020
另外一个例子是局域网,线路长度d一般为0.1^-10 km,传播速度v--200m/5s。设数据速率R=lOMbps,帧长L=500位,则a的取值范围为10-5^-1.如果取a=0.l,则链路利用率为0.83;如果取a=0.01,则链路利用率为0.98。可见,在局域网上利用简单的停等协议时效率要高得多。
2.滑动窗口协议
滑动窗口协议的主要思想是允许连续发送多个帧而无须等待应答。如图3-14所示,假设站S1和S2通过全双工链路连接,S2维持能容纳6个帧的缓冲区(W收=6).这样,S1就可以连续发送6个帧而不必等待应答信号(W发=6)。为了使S:能够表示哪些帧已被成功地接收,每个帧都给予一个顺序编号.如果帧编号字段为k位,则帧以2k为模连续编号。S1发出一个应答信号ACKi,并把窗口滑动到i~W-i+l的位置,表明i之前的帧已正确接收,期望接收后续的w个帧。随着数据传送过程的进展窗口向前滑动,因而取名滑动窗口协议。
现在考查窗口大小(w)对协议效率的影响.按照图3-14,假设S1向S2发出0号帧,S2收到0号帧后返回应答帧ACK1,并把窗口滑动到图中虚线的位置。根据前面的分析,从0号帧开始发送到ACK1到达s1的时间是2tp+tf加在这段时间内,s1可连续发送w个帧,它的工作时间是WXtf0所以协议的效率为
(3.4)
在以上讨论中,都假定发送应答信号的时间可忽略。其实应答信号是用专门的控制帧传输
的,也需要一定的时间来发送和处理。在利用全双工线路进行双向通信的情况下,应答信号可以放在S2到S1方向发送的数据帧中,这种技术叫“捎带应答”。如果应答信号被捎带送回发送站,则应答信号的传送时间可计入反向发送数据帧的时间中,因而上面的假定是符合实际情况的。
3.差错控制
差错控制是检测和纠正传输错误的机制。前面假定没有传输错误,但实际情况不是这样。
在数据传输过程中有的帧可能丢失,有的帧可能包含错误的位,这样的帧经接收器校验后被
拒绝。通常应付传输差错的办法如下。
(1)肯定应答。接收器对收到的帧校验无误后送回肯定应答信号ACK,发送器收到肯定
应答信号后可继续发送后续帧。
(2)否定应答重发。接收器收到一个帧后经校验发现错误,则送回一个否定应答信号NAK,发送器必须重新发送出错帧。
这种技术的主要思想是利用差错检侧技术目动地对去失帧和错误顿请求重发,因而叫做
ARQ (Automatic Repeat reQuest)技术。结合前面讲的流控技术,可以组成三种形式的ARQ协议.
1)停等ARQ协议
停等ARQ协议是停等流控技术和自动请求重发技术的结合。根据停等ARQ协议,发送站发出一帧后必须等待应答信号,收到肯定应答信号ACK后继续发送下一帧;收到否定应答信号NAK后重发该帧:在一定的时间间隔内没有收到应答信号也必须重发。最后一种情况值得注意,没有收到应答信号的原因可能是帧丢失了,也可能是应答信号丢失了。无论哪一种原因,发送站都必须重新发送原来的帧。发送站必须有一个重发计时器,每发送一帧就开始计时。计时长度不能小于信号在线路上旅行一个来回的时间。另外在停等ARQ协议中,只要能区分两个相邻的帧是否重复就可以了,因此只用0和1两个编号,即帧编号字段长度为1位。图3-15表示出了各种可能的传送情况。
2)选择重发ARQ协议
下面介绍的协议是滑动窗口技术和自动请求重发技术的结合。由于窗口尺寸开到足够大
时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。根据出错帧和丢失帧处理上的不同,连续ARQ协议分为选择重发ARQ协议和后退l`.I帧ARQ协议。
图3-16所示为两种连续ARQ协议的例子,图3-16 (a)是在全双工线路上应用选择重发ARQ协议时帧的流动情况.其中第2帧出错,随后的3,4,5帧被缓存.当发送站接收到NAK2时,重发第2帧。值得强调的是,虽然在选择重发的情况下接收器可以不按顺序接收,但接收站的链路层向网络层仍是按顺序提交的。
对于选择重发ARQ协议,窗口的大小有一定的限制.假设帧编号为3位,发送和接收窗口大小都是7,考虑下面的情况.
(1)发送窗口和接收窗口中的帧编号都是0-60
(2)发送站发出0^-6号帧,但尚未得到肯定应答,窗口不能向前滑动。
(3)接收站正确地接收了0-6号帧,发出ACK7,接收窗口向前滑动,新窗口中的帧编
号为7, 0, 1, 2, 3, 4, 5.
(4) ACK7丢失,发送站定时器超时,重发0号帧.
(5)接收站收到0号帧,看到该帧编号落在接收窗口内,以为是新的0号帧而保存起来,这样协议就出错了。
协议失败的原因是由于发送窗口没有向前滑动,接收窗口向前滑动了最大的距离,而新的
接收窗口和原来的发送窗口中仍有相同的帧编号,造成了接收器误把重发的帧当作新到帧。避免这种错误的办法就是缩小窗口,使得接收窗口向前滑动最大距离后不再与旧的接收窗口重叠。显然,当窗口大小为帧编号数的一半时就可达到这个效果,所以采用选择重发ARQ协议时窗口的最大值应为帧编号数的一半,即W发=w收≤2k—1
6.后退N帧ARQ协议
后退N帧ARQ协议就是从出错处重发已发出过的N个帧。在图3-16 (b)中,接收窗口的大小为1,因而接收器必须按顺序接收,当第2帧出错时,2, 3, 4, 5号帧都必须重发。
再一次强调在全双工通信中应答信号可以由反方向传送的数据帧“捎带”送回,这种机制进一步减小了通信开销,然而也带来了一定的问题。在很多捎带方案中,反向数据帧中的应答字段总是捎带一个应答信号,这样就可能出现对同一个帧的重复应答。假定帧编号字段为3位长,发送窗口大小为8。当发送器收到第一个ACK1后把窗口推进到后沿为1、前沿为0的位置,即发送窗口现在包含的帧编号为1, 2, 3, 4, 5, 6, 7, 0。如果这时又收到一个捎带回的ACK1,发送器如何动作呢?后一个ACKI可能表示窗口中的所有帧都未曾接收,也可能意味着窗口中的帧都己正确接收。然而,如果规定窗口的大小为7,则可以避免这种二义性。所以在后退N帧协议中必须限制发送窗口大小W≤2k—1
- 上一篇:X.25公共数据网之CCITT X.21接口详细介绍
- 下一篇:HDLC协议是什么
更多 X.25公共数据网之流量控制和差错控制相关文章
- 增强无线网络信号的小秘密
- 学习计算机可以吗?
- 一个当兵回来的人没什么特长没什么文化应该干点什么好?
- 学计算机网络技术有前途吗?
- 学历不高能学网络吗?
- 学习C语言应从哪几方面着手
- IE浏览器主页被绑架该怎么办
- win7系统遇到网络每隔几分钟就必须断开解决办法
- 计算机的启动原理是什么?
- 软件测试流程讲解
- 最新爆库漏洞技巧实战分享
- 如何把硬盘残留数据彻底摧毁
- 分享网站渗透的一些经验
- 学电脑从新手到高手要怎样学
- 怎么查看Win7系统无线网络密码
- “get”和“post”那个相对安全性
- 计算机网络体系结构(二)
- 数据通信的基本概念
- 数据编码是什么
- 通信方式和交换方式有哪些呢
- ISDN和ATM课程详解
- TCP和UDP是什么
- Linux Apache服务器的配置
- IPv6配置与部署
- 简单网络管理协议
- 郑州计算机教程电脑故障分类及产生的原因
- 搜索
-
- 热门标签
-
- 信阳计算机学校比较好的
- 2021年初中生学什么技术好
- 初中生考不上高中能学计算机吗
- 在郑州如何挑选专业靠谱的计算机IT培训学
- 郑州北大青鸟电脑学校招生有哪些要求呢
- 初中生刚毕业学什么专业好
- 主板与主芯片组
- 孩子初中毕业不想上学了怎么办呢
- 郑州北大青鸟IT职业教育是干什么的
- 郑州网络硬件工程师培训选择什么学校好
- 郑州计算机网络技术培训学校口碑推荐
- 河南还有那些补录学校
- 三门峡市义马市北大青鸟学校
- 郑州计算机技校哪个学校好
- 北大青鸟郑州财大校区招生问题解答
- 郑州技校去哪个学校好
- 初中毕业了没学历学点什么技术好
- 郑州计算机培训机构专业靠谱的
- 无法安装英特尔通锐程序
- 郑州有没有技校学计算机技术比较好的