目录:
定义-自动重复请求(ARQ)是什么意思?
自动重复请求(ARQ),也称为自动重复查询,是一种错误控制协议,在收到有缺陷或不正确的数据后,会自动发起呼叫以重新传输任何数据包或帧。 当发送设备未能接收到确认信号以确认已接收到数据时,通常会在预定义的超时后重新发送数据,并重复此过程预定次数,直到发送设备接收到确认为止。
ARQ通常用于确保通过不可靠的服务进行可靠的传输。
Techopedia解释了自动重复请求(ARQ)
ARQ的三种主要类型是停止等待ARQ,后退N ARQ和选择性重复ARQ。 停止等待ARQ是最简单的ARQ。 它一次发送一帧,没有其他帧发送,直到通过确认信号确认接收到前一帧为止。
Go-Back-N ARQ是一种更为复杂的协议。 即使在没有确认信号的情况下接收到先前的帧,也可以发送帧。 该协议跟踪序列。 当接收到最后一个帧时,它请求重发已发送的未确认的帧。 重复此过程,直到收到所有带有确认信号的帧为止。 但是,此协议可能会导致多次发送许多帧,这可以通过使用“选择性重复ARQ”协议来避免。
选择性重复ARQ可以用于发送和确认已发送的数据包或以子单元的形式发送细分消息。 在第一种方法中,协议继续接受和确认在初始错误之后发送的帧。 它将继续执行此操作,直到收到指定数量的帧(称为窗口大小)为止。 发送和接收都有一个窗口大小,并且它们必须相等。 跟踪未接收到的所有帧的序列号,并将其发送回发送器。
发送方继续发送未确认数据的帧,直到达到其窗口大小(已清空其窗口)为止。 当发生这种情况时,发送方将重新发送确认信号给出的帧号,并在中断的地方继续发送。 为了确保是否接收到所有帧,发送和接收窗口的大小必须为最大序列号的一半。 因此,如果接收窗口大于最大序列号的一半,则在所需的超时后重发的一些甚至所有帧都是重复的,但不能被这样识别。 如果发送方针对收到的每个确认移动其窗口(称为滑动窗口),则确认的数目和最大序列号必须相等,并且该数目的一半必须是接收方使用的窗口大小。
在使用细分消息的第二种方法中,过程不同。 在消息长度不同的情况下使用非连续通信信道,但是协议将消息视为单个单元。 可替代地,在称为分组分段的过程中,每个消息可以被细分为具有固定长度的子块。 每个消息包含可变数量的子块。 每个未确认的响应都携带一个附加的位标志,指示成功接收到的每个子块。 每次重传的长度减小,它仅包含未确认的子块。
具有可变长度消息的ARQ使用较长消息的难度增加,因为每个重复的消息都是全长。 但是,使用选择性重复ARQ时,可变长度消息的选择性重传消除了传递较长消息的困难。 每次传输后保留成功交付的子块,以及每次传输后未完成的子块数量减少,证明了难度较小。
ARQ协议驻留在OSI模型的数据链路或传输层中。 TCP使用Go-Back-N ARQ的变体来确保通过Internet协议进行可靠的数据传输。 但是,它不能保证数据包的传送。 如果TCP使用选择性确认(SACK),则使用选择性重复ARQ。 当局域网(LAN)嘈杂的环境中,选择性重复ARQ与数据包分段一起使用。
