计算机网络学习笔记(第三章·可靠传输Ⅱ)

124 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情

今天我们继续进行计算机网络当中可靠传输的学习,这一次我们将对回退N帧协议GBN进行一个详解。

累计确认

接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组后(由具体实现决定)对按序到达的最后一个数据分组发送确认。ACKn表示序号为n及以前的所有数据分组都已正确接收。

image.png

image.png

采用累计确认方式,即使分组丢失,发送方也可能不必重传。同时还可以减少接收方的开销,同时也减少了对网络资源的应用。

此外,采用该方式也会出现有差错的情况。比如发送方发送到的数据出现误码时,发送方收到重复的确认,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器超时就立刻重传。至于收到几个重复确认就立刻重传,由具体实现决定。

就回退n帧协议而言,发送方维持一组连续的允许发送的帧的序号,而接收方维持一组连续的允许接收帧的序号。

image.png

在本例中,尽管序号为6,7,0,1的数据分组正确到达接收方,但由于5号数据分组误码不被接受,它们也“受到牵连”而不被接受,发送方还要重传这些数据分组,这就是所谓的Go-back-N (回退N帧)。可见,当通信线路质量不好时,回退N帧协议的信道利用率并不比停止等待协议高。

回退n帧协议的总结

发送方

发送窗口尺寸Wt的取值范围为

image.png

其中n是构成分组序号的比特数量。

image.png

  • 发送方可在未收到接收方确认分组的情况下,将序号 落在发送窗口内的多个数据分组全部发送出去;
  • 发送方只有收到对已发送数据分组的确认时,发送窗 口才能向前相应滑动;
  • 发送方收到多个重复确认时,可在重传计时器超时前 尽早开始重传,由具体实现决定。
  • 发送方发送窗口内某个已发送的数据分组产生超时重 发时,其后续在发送窗口内且已发送的数据分组也必 须全部重传,这就是回退N帧协议名称的由来。

接收方

接收窗口Wr的取值范围是

image.png

因此接收方只能按序接受分组。

接收方只接收序号落在接收窗口内且无误码的数据分组,并且将接收窗口向前滑动一个位置,与此同时给发送方发回相应的确认分组。为了减少开销,接收方不一定每收到一个按序到达且无误码的数据分组就给发送方发回一个确认分组,而是可以在连续收到好几个按序到达且无误码的 数据分组后(由具体实现决定),才针对最后一个数据分组发送确认分组,这称为累积确认; 或者可以在自己有数据分组要发送时才对之前按序接收且无误码的数据分组进行捎带确认。

接收方收到未按序到达的数据分组,除丢弃外,还要对最近按序接收的数据分组进行确认。

习题

image.png

解析

image.png


今天我们对回退n帧协议进行了一个简单叙述,之后将开始进行选择重传协议的讲解。我们下一次见,bye~