特点
- 用于面向连接的交流。
- 它提供错误和流量控制
- 它用于数据链路和传输层
- 停止等待ARQ主要实现窗口大小为1的滑动窗口协议概念
有用的术语:
- 传播延迟: 数据包从一个路由器到另一个路由器进行物理旅行所需的时间量。
传播延迟=(路由器之间的距离)/(传播速度)
- 往返时间( RTT )=2*传播延迟
- 暂停( 到 )=2*RTT
- 是时候活了( TTL )=2*超时。(最大TTL为180秒)
简单的停下来等待
发件人:
规则1)一次发送一个数据包。 规则2)只有在收到前一个数据包的确认后才发送下一个数据包。
接收人:
规则1)在接收和使用数据包后发送确认。 规则2)消费后需要发送数据包确认(流量控制)
问题:
1.丢失的数据
2.失去确认:
3.延迟确认/数据: 在发送方超时后,长时间延迟的确认可能被错误地认为是对其他最近数据包的确认。
停止并等待ARQ(自动重复请求)
上述三个问题通过停止并等待ARQ(自动重复请求)解决,ARQ同时执行错误控制和流量控制。
1.暂停:
2.序列号(数据)
3.延迟确认: 这可以通过引入序列号来解决。
停止等待的工作 对于ARQ:
1) 发送方A发送序列号为0的数据帧或数据包。 2) 接收器B在接收到数据帧后,发送序列号为1(下一个预期数据帧或分组的序列号)的确认 只有一位序列号意味着发送方和接收方都只有一个帧或数据包的缓冲区。
停止和等待ARQ的特点:
- 它使用发送方和接收方之间的链路作为半双工链路
- 吞吐量=每RTT 1个数据包/帧
- 如果带宽*延迟积非常高,那么他们会停止并等待协议,如果它不是那么有用。在发送处理后的下一个数据包之前,发送方必须一直等待确认。
- 这是一个例子“ 闭环或面向连接 “协议
- 它是SWP的一个特殊类别,其窗口大小为1
- 无论发送方拥有多少个数据包,停止等待协议只需要2个序列号0和1
Stop and Wait ARQ解决了主要的三个问题,但可能会导致严重的性能问题,因为发送方总是等待确认,即使它已经准备好发送下一个数据包。考虑一个情况,你有一个高带宽连接和传播延迟也很高(你连接到一些服务器在一些其他国家通过高速连接)。为了解决这个问题,我们可以用更大的序列号一次发送多个数据包。我们将在下一篇文章中讨论这些协议。
因此,在传播延迟非常小(例如LAN连接)的情况下,停止并等待ARQ可以正常工作,但在远程连接(例如卫星连接)中性能不佳。
参考资料:
本文由G.Shabharesh撰稿。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论