流水线技术下的滑动窗口协议(GBN)和选择重传(SR)

本文探讨流水线技术对可靠数据传输协议的影响,主要介绍两种差错恢复方法:回退N步(GBN)和选择重传(SR)。GBN允许发送方连续发送多个分组,但需限制未确认的分组数量,超时会重传所有未确认分组;SR则仅重传丢失的分组,接收方逐个确认,提高效率。
摘要由CSDN通过智能技术生成

流水线技术对可靠数据传输协议带来如下影响:

  • 必须增加序号范围,因为每个输送中的分组(不计算重传的)必须有一个唯一的序号,而且也许有多个在输送中未确认的报文。
  • 协议的发送方和接收方两端也许必须缓存多个分组。发送方最低限度应当能缓冲那些已发送但没有确认的分组。接收方或许也需要缓存那些已正确接收的分组。
  • 所需序号范围和对缓冲的要求取决于数据传输协议如何处理丢失、损坏及延时过大的分组。解决流水线的差错恢复有两种基本方法是:回退N步(GBN)和选择重传(SR)。

回退N步

回退N步(GBN)协议中,允许发送方发送多个分组而不需等待确认,但它也受限于在流水线中未确认的分组数不能超过某个最大允许数N。这些未确认分组数可能是因为网络阻塞而导致数据、确认数据延迟或丢失,如果没有最大允许数N,那么将会有更多数据涌入链路中导致网络工作的更困难。N常被称为窗口长度,GBN 协议也常被称为滑动窗口协议

GBN 发送方必须响应三种类型的事件

  • 上层的调用:当上层调用时,发送方首先检查发送窗口是否已满,即是否有N个已发送但未被确认的分组。如果窗口未满,则产生一个分组并将其发送,并相应地更新变量。在实际实现中,发送方更可能缓存这些数据,或者使用同步机制(如一个信号量或标志)允许上层在仅当窗口不满时才把数据交付给运输层协议。
  • 收到一个 ACK:在GBN协议中,对序号为n的分组的确认采取累积确认的方式,表明接收
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值