自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一,
一、停止等待协议:源站发送单帧之后必须等待确认,在收到确认之前不能发送其它的数据帧。
二、后退N帧协议:允许发送方连续发送多个帧(即发送窗口可以大于1
),以解决停等协议信道利用率低的问题,接收窗口智能是1,
三、选择重传协议 - SR:允许发送方连续发送多个帧发送窗口可以大于1
,接收窗口也可以大于1
,缓存乱序到达的帧,发送方可在未收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去;接收方可接收未按序到达但没有误码并且序号落在接收窗口内的数据分组
练习题:
1.主机甲采用停止-等待协议向主机乙发送数据,数据传输率是3kb/s,单向传播时延是200ms,忽略确认帧的传输时延,当信道利用率等于40%时,数据帧的长度为(800bit)
解题:先画出数据的传输步骤
2.对于滑动窗口协议,如果分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是(B)
A.2 B.3 C.4 D.5
解析:滑动窗口协议含一下三种
1)停止-等待协议 发送窗口大小=1,接收窗口大小=1
2)后退N帧协议GBN 发送窗口大小>1,接收窗口大小=1,加上可以缓存的窗口, 发送串口+接收窗口 <= 帧长
3)选择重传协议SR 发送窗口大小>1,接收窗口>1, 发+收<=帧长
5+x = 8
满足要求只能是x等于3.
3.假设主机甲采用停-等协议向主机乙发送数据帧,数据帧长与确认帧长均为1000B,数据传输速率是10kbps,单项传播延时是200ms,则甲的最大信道利用率()
A.80% B.66.7% C.44.4% D 40%
解析:
数据大小 1000B=1000*8=8000bit,1B=8bit。
8000bit/10kbps
4.在选择重传ARQ协议中,设编号用3bit,再设发送窗口Wt=6,而接收窗口Wr=3,试找出一种情况,使得此情况下不能正确工作?
解析:由题可知,发送和接收窗口都大于1,可以知道是选择重发SR协议,该协议的特点就是,允许接收窗口大于1, 要保证协议能正常工作需满足该多项式,Wt+Wr<=8 (2的3次方),发送窗口是6,接收窗口是3必然会导致冲突不能正确工作。
详细解析如下图
5.假定卫星信道的数据率为100kb/s,卫星信道的单程传播时延为250ms,每个数据的帧长均为2000位,并且不考虑误码、确认帧长、头部和处理时间等开销,为达到传输的最大效率,试问帧的顺序号应为多少位?此时信道利用率是多少?
解析:主要考察窗口大小、信道利用率
由题目可知利用为达到最大传输效率,实际就是说明效率是100%,也就是1.
效率公式:工作效率×工作时间=工作总量。
工作效率=工作总量/单个工作时间。
传输的最大效率和一次发送多少帧有关系,每次发送的帧越多,传输效率就越高,因为无需等待确认,具体发送多少帧,可以设置为一次发送X帧,能达到最大的传输。
注:
计算题中会涉及到窗口大小的计算:
1)停止-等待协议 发送窗口大小=1,接收窗口大小=1
2)后退N帧协议GBN 发送窗口大小>1,接收窗口大小=1,加上可以缓存的窗口, 发送串口+接收窗口 <= 帧长 x+1 <=帧长
3)选择重传协议SR 发送窗口大小>1,接收窗口>1, 发+收<=帧长,一般都是2x=帧长
帧长和发送窗口序号的关系, 帧长是二进制表示,序号是帧的长度二进制位的范围,如2的3次方范围是0-7,因此帧的序号取值就是0-7.,8个数字范围
6.在某个卫星信道上,发送端从一个方向发送长度为512B的帧,而且发送端的数据发送速率为64kb/s,接收端在另一端返回一个很短的确认帧,设卫星信道端到端的单向传播延时为270ms,对于发送窗口的尺寸分别为1、7、17、117的情况,信道的吞吐率分别为多少?
考点:吞吐率计算