可靠传输-选择重传协议SR

文章讨论了在数据通信中,如何通过选择重传协议处理数据分组的误码问题,强调接收窗口大小大于1以接收失序但无误码的数据,同时提出接收方需采用逐一确认而非累积确认。发送窗口和接收窗口的管理对于避免分组重复至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        一个数据分组的误码就会导致其后续多个数据分组不能被接收方按序接收而丢弃 (尽管它们无乱序和误码)。这必然会造成发送方对这些数据分组的超时重传,显然这是对通信资源的极大费。

        为了进一步提高性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸WR不应再等于1 (而应大于1),以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上层。这就是选择重传协议。

        因此,接收方不能再采用累积确认,而要使用逐一确认。

        因此,接收方的接收窗口应该大于1。

         发送方发送了3 2 1 0,然后2丢失了。

        那么接收方就会接收0,1,然后将窗口向后滑动,并发送ACK0,ACK1:

        发送方接收到ACK0和ACK1,窗口向后滑动两位。

         发送窗口接收ACK3,但是窗口并不能向后滑动,因为ACK3并非按序接收(少了ACK2)。

         发送方发送DATA4和DATA5:

         当接收方收到DATA4和DATA5时,会发送ACK4和ACK5。发送方接收ACK4和ACK5后,窗口并不会向后滑动,因为少了ACK2。但是会记录下这些:

         当超时时依然没有接收到ACK2时,会重新发送DATA2。

        此时接收到ACK2.。此时发送窗口和接收窗口就会像后滑动了。 

        发送窗口和接收窗口的尺寸都应该小于4。否则就会出现分组重复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值