自动重传请求

自動重傳請求（，）是OSI模型中資料鏈結層和傳輸層的一種錯誤更正協議。此協議透過使用確認和超時這兩種機制，在不可靠的服務基礎上實作出可靠的訊息傳輸。如果發送方在傳送後的一段時間內沒有收到確認訊框，它通常會重新傳送。ARQ可能包括停止等待協議和連續協議，並包含錯誤檢測（Error Detection）、正面確認（Positive Acknowledgment）、超時重傳（Retransmission after Timeout）以及負面確認及重傳（Negative Acknowledgment and Retransmission）等機制。

 停止并等待ARQ协议（stop-and-wait）
停止并等待协议的工作原理如下：
 发送点对接收点发送数据包，然后等待接收点回复ACK并且开始计时。
 在等待过程中，发送点停止发送新的数据包。
 当数据包没有成功被接收点接收时候，接收点不会发送ACK。这样发送点在等待一定时间后，重新发送数据包。
 反复以上步骤直到收到从接收点发送的ACK。

发送点的等待时间应当至少大于传输点数据包发送时间（数据包容量除以发送点传输速度），接收点ACK接收时间（ACK容量除以接收点传输速度），数据在连接上的传送时间，接收点检验接收数据是否正确的时间之和。在实际应用当中，等待时间是这个和的2到3倍。

这个协议的缺点是较长的等待时间导致低的数据传输速度。在低速传输时，对连接频道的利用率比较好，但是在高速传输时，频道的利用率会显著下降。

 连续ARQ协议（Continuous ARQ）

为了克服停止并等待ARQ协议长时间等待ACK的缺点。这个协议会连续发送一组数据包，然后再等待这些数据包的ACK。

 回退N重传(Go-Back-N)
 接收点丢弃从第一个没有收到的数据包开始的所有数据包。
 发送点收到NACK后，从NACK中指明的数据包开始重新发送。

 选择重传(Selective Repeat)
 发送点连续发送数据包但对每个数据包都设有个一个计时器。
 当在一定时间内没有收到某个数据包的ACK时，发送点只重新发送那个没有ACK的数据包。

 方法 
ARQ协议对错误纠正的方法是：

 丢弃已经接收的含有错误的数据包。
 向发送点请求重新发送数据包。

 应用
UMTS的ARQ机制是在基地台控制站（Radio Network Controller，RNC），使用安置在协议数据单元（Protocol Data Unit，PDU）前的序号来作为是否有封包丢失的依据，有不少的延迟时间。

 优点和缺点 
ARQ协议的优点是它非常的简单。因而被广泛的应用在分组交换网络中。

ARQ协议的缺点是需要接收方发送ACK，这样增加了网络的负担也影响了传输速度。重复发送数据包来纠正错误的方法也严重的影响了它的传输速度。

参见 
 HARQ
选择重传ARQ

 參考文獻 

Peterson and Davie, Computer Networks: A Systems Approach, Third Edition, 2003
RFC 3366 - Advice to link designers on link Automatic Repeat reQuest (ARQ)
Negative acknowledgement ARQ for live video

Category:邏輯鏈路控制
Category:链路协议