什么是 ARQ(自动重复请求)?
ARQ代表自动重复请求,也称为自动重复查询。 ARQ 是一种用于双向通信系统的错误控制策略。它是一组错误控制协议,用于在不可靠的源或服务上实现可靠的数据传输。这些协议位于 OSI(开放系统互连)模型的传输层和数据链路层。这些协议负责自动重传在传输过程中发现损坏或丢失的数据包。
ARQ的工作原理
这些协议的主要函数是,发送方收到来自接收方的确认,表明帧或数据包在超时发生之前被正确接收,超时是接收方必须向接收方发送确认的特定时间段。发件人。如果发生超时:发送方在指定时间之前没有收到确认,则暗示帧或数据包在传输过程中已损坏或丢失。因此,发送方重新传输数据包,这些协议确保重复此过程,直到传输正确的数据包。
应用
ARQ 协议具有广泛的应用,因为它们通过不可靠的上层源提供可靠的传输。这些协议主要在短波无线电上起作用,以确保可靠地传递信号。
对于 ARQ 的相同函数,有多种应用:
- 传输控制协议 (TCP)
- 特定服务定向协议:ATM 网络中消息信号的纠错。
- 高级数据链路协议。
- IBM 二进制同步通信协议。
- Xmodem:调制解调器文件传输协议。
类型
这些协议在数据链路层中函数的方式有多种:
- 停止并等待 ARQ :
停止等待 ARQ 也称为交替协议,是双向通信系统中用于在两个连接的设备(发送方和接收方)之间发送信息的方法。它被称为停止和等待 ARQ,因为该协议的函数是一次发送一帧。发送帧或数据包后,发送方在收到接收方的确认之前不会再发送任何数据包。此外,发送方保留已发送数据包的副本。在接收到所需的帧后,接收器发送一个确认。如果确认在指定时间之前没有到达发送方,称为超时,发送方再次发送相同的数据包。每次帧传输后都会重置超时。上面的场景描述了一个停止和等待的情况,所以这种控制机制被称为停止和等待 ARQ。 - 返回-N ARQ:
Go-Back-N ARQ 是一种 ARQ 协议,其中发送过程继续发送几个帧或数据包,即使没有收到来自接收方的确认数据包。接收者进程跟踪它期望接收的下一个数据包的序列号,并在每次确认时将该序列号发送给发送者。接收器将删除任何没有它期望的所需序列号的数据包,并将重新发送最后一个正确帧的确认。帧与序列号不匹配的可能性只有两种:要么是现有帧的重复帧,要么是需要稍后发送的乱序帧,接收方识别到这种情况并发送确认相应地发出信号。一旦发送方在其窗口中发送了所有帧,它将识别自第一个丢失帧以来的所有帧,并将返回它从接收方接收到的最后一个确认信号的序列号pr 并继续重新处理。这种系统的唯一缺点是它会导致多次发送数据包:如果任何帧丢失或被发现损坏,则该帧和发送窗口中的所有后续帧将被重新传输。
该协议比停止并等待 ARQ 更有效,因为没有等待时间。 - 选择性重复 ARQ/选择性拒绝 ARQ:
选择性重复 ARQ/选择性拒绝 ARQ 协议机制类似于 Go-Back-N 协议机制,但在选择性重复 ARQ 中,即使发现帧损坏或丢失,发送过程也会继续。这是实现的:接收进程跟踪它尚未接收到的最早帧的序列号,并使用确认信号发送相应的序列号。如果接收端没有接收到帧,发送端继续发送后续帧,直到它清空其窗口。一旦这个纠错过程完成,这个过程就会从中断的地方继续。与 Go back-N 协议不同,它不会多次发送数据包。
ARQ的优势
- 与其他技术相比,错误检测和纠正机制非常简单。
- 与其他技术相比,可以使用更简单的解码设备。
ARQ 的缺点
- 具有高错误率的介质或通道可能会导致帧或信息包的传输过多。
- 信道中的高错误率也可能导致信息丢失,从而降低系统的效率或生产力。