计算机网络中的选择重发ARQ是什么?


选择重发自动重传请求(ARQ)是一种数据链路层可能用来控制错误的技术。

控制ARQ的技术

通常,有三种技术通过自动重传请求(ARQ)来控制错误,它们是:

  • 停止等待ARQ
  • 后退N ARQ
  • 选择重发ARQ

错误控制的要求

错误控制机制有一些要求,如下所示:

  • 错误检测 - 发送方和接收方,或任何一方必须确定传输过程中是否存在错误。

  • 肯定确认 (ACK) - 接收方每收到一个正确的帧,都应进行确认。

  • 否定确认 (NACK) - 每当接收方收到损坏的帧或重复的帧时,它会向发送方发送NACK,发送方必须重新传输正确的帧。

  • 重传 - 发送方始终维护一个时钟并设置超时周期。如果先前传输的数据帧的ACK在超时前没有到达,则发送方会重新传输该帧,认为该帧或其ACK在传输过程中丢失了。

让我们看看选择重发ARQ的工作情况。

选择重发ARQ

它也称为滑动窗口协议,用于数据链路层的错误检测和控制。

在选择重发中,发送方发送由窗口大小指定的多个帧,甚至不需要像后退N ARQ那样等待接收方的单个确认。在选择重发协议中,重新传输的帧是乱序接收的。

在选择重发ARQ中,只有丢失或错误的帧才会被重新传输,而正确的帧则被接收并缓冲。

接收方在跟踪序列号的同时将帧缓冲在内存中,并且仅对丢失或损坏的帧发送NACK。发送方将发送/重新传输收到NACK的包。

示例

以下是选择重发ARQ的示例:

解释

步骤1 - 帧0从发送方发送到接收方并设置计时器。

步骤2 - 发送方在不等待接收方确认的情况下,发送另一个帧,帧1,并为其设置计时器。

步骤3 - 同样,帧2也在不等待之前的确认的情况下发送到接收方,并设置计时器。

步骤4 - 每当发送方在帧0计时器内从接收方收到ACK0时,它就会关闭并发送到下一个帧,帧3。

步骤5 - 每当发送方在帧1计时器内从接收方收到ACK1时,它就会关闭并发送到下一个帧,帧4。

步骤6 - 如果发送方在时间段内没有从接收方收到ACK2,则它声明帧2超时并再次重新发送帧2,因为它认为帧2可能丢失或损坏。

更新于:2023年11月1日

54K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告