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

选择性重复自动重复请求 (ARQ) 是数据链路层可以部署以控制错误的技术之一。

控制 ARQ 的技术

一般来说,有三种类型的技术可以通过自动重复请求(ARQ)控制错误,它们是 -

  • 停止等待 ARQ

  • 返回-N ARQ

  • 选择性重复 ARQ

错误控制要求

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

  • 错误检测- 发送者和接收者,或任何必须确定在传输中存在一些错误。

  • Positive ACK - 每当接收器接收到正确的帧时,它应该确认它。

  • Negative ACK - 每当接收器收到损坏的帧或重复的帧时,它都会将 NACK 发送回发送者,并且发送者必须重新传输正确的帧。

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

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

选择性重复 ARQ

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

在选择性重复中,发送方发送几个由窗口大小指定的帧,即使不需要像在 Go-Back-N ARQ 中那样等待来自接收方的单独确认。在选择性重复协议中,重传的帧是乱序接收的。

在选择性重复 ARQ 中,仅重传丢失或错误的帧,而接收并缓冲正确的帧。

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

示例

下面给出了选择性重复 ARQ 的示例 -

解释

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

第 2 步- 无需等待接收方确认另一帧,发送方通过为其设置定时器来发送 Frame1。

第 3 步- 以同样的方式,frame2 也通过设置计时器发送到接收器,而无需等待先前的确认。

第 4 步- 每当发送方收到来自接收方的 ACK0 时,在第 0 帧定时器内,它就会关闭并发送到下一帧,第 3 帧。

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

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