计算机网络——回退 N 帧协议
停止 等待协议 SW
停止-等待协议的信道利用率很低。若出现超时重传,则信道利用率更低
采用流水线传输可提高利用率
回退 N 帧协议
1、采用 3 个比特给分组编序号,即序号 0-7;2、发送窗口的尺寸 Wt 的取值为 l<Wt<=2^3-1 本例 Wt 取 Wt = 53.接收窗口的尺寸 Wr 的取值为 Wr = 1
接收方不一定要对收到的数据分组逐个发送确认
,而是可以在收到几个数据后(由具体实现决定),对按序到达的最后一个数据分组发送确认
。ACKn 表示序号为 n 及前的所有数据分组都已正确接收累积确认 即使确认分组丢失,发送方也可能不必重传!发送方收到重复的确认,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻重传!至于收到几个重复确认就立刻重传,由具体实现决定。
可靠传输的实现机制-回退 N 帧协议 GBN(GO-Back-N)
发送方
发送窗口尺寸是 Wt 的取值范围是 1 < Wt <= 2^n-1 其中 n 是构成分组序号的比特数量 Wt = 1 停止-等待协议 Wt > 2^n-1 接收方无法分辨新、旧数据分组发送方可在未收到接收方确认分组情况下,将序号落在发送窗口内的多个数据分组全部发送出去。
接收方
接收方的接收窗口尺寸 Wr 的取值范围是 Wr = 1 因此接收方只能按序接收数组
接收方只接收序号落在接收窗口内且无码
的数据分组,并且将接收窗口向前滑动一个位置,于此同时给发送方发回相应的确认分组,为了减少开销接收方不一定每收到一个按序到达且无误码的分组后(由具体实现决定
)才对最后一个数据分组发送确认分组,这称为累积确认或者可以在自己有数据分组时发送才对之前按接收且无码的数据分组进行捎带确认回退 N 帧协议在流水线传输的基础上利用发送窗口来限制发送连续发送数据分组的数量 是一种连续ARQ协议
在协议的工作过程中发送窗口
和接收窗口
来不断向前滑动,因此这类协议又称为滑动窗口协议由于回退N帧的特性
,当普通线路质量不好时,其信道利用率并不停止-等待协议高
版权声明: 本文为 InfoQ 作者【StackOverflow】的原创文章。
原文链接:【http://xie.infoq.cn/article/c8f168a9d62311b009194fda6】。文章转载请联系作者。
评论