自動再送要求
Selective Repeat ARQ は、自動再送要求(ARQ)プロトコルの実装の1つ。Go-Back-N ARQ に似ているが、途中でフレームが失われても、送信側はウィンドウサイズのぶんだけフレームを送信し、受信側はエラーが起きてもフレームを受信し続ける。
メッセージ列の送受信の場合、受信側は受信できなかったフレームのシーケンス番号を覚えておき、その後のACK送信時にそのシーケンス番号を付与する。送信側からのフレームが受信側に届かなかった場合でも、送信側はウィンドウのぶんだけのフレームを送信し続ける。受信側は、受信ウィンドウが一杯になるまでフレーム受信を続け、個々のフレームに対して受信できなかったフレームのシーケンス番号を付与したACKを返す。送信ウィンドウの全フレームを送信し終えたら、送信側はACKに示された番号のフレームを再送する。
送信ウィンドウと受信ウィンドウは同じ大きさでなければならず、間違いが発生しないようシーケンス番号の最大値はウィンドウサイズの2倍以上でなければならない。対応するACKを受信した場合、送信側は送信ウィンドウをそのぶんだけずらす。