等停差错控制协议介绍
等停差错控制协议(Stop-and-Wait Automatic Repeat Request,简称Stop-and-Wait ARQ)是一种常见的差错控制协议,用于在数据通信中实现可靠的传输。该协议基于停等原则,即发送方在发送每个数据包后会等待接收方的确认信息,只有在接收到确认后才发送下一个数据包。本文将介绍Stop-and-Wait ARQ的原理、工作流程和应用场景。
原理
Stop-and-Wait ARQ协议通过引入确认帧(ACK)和重传机制来实现可靠传输。其原理如下:
-
发送方将数据分成固定大小的数据帧(64B),并为每个数据帧分配一个唯一的序列号。
-
发送方发送数据帧到接收方,并开始启动计时器。
-
接收方接收数据帧后进行校验,如果数据正确无误,则发送一个ACK帧作为确认。
-
发送方接收到ACK帧后,停止计时器,表示该数据帧已被成功接收。然后发送下一个数据帧。
-
如果发送方在计时器超时前未收到ACK帧,它会假设数据帧丢失或损坏。发送方将重新发送相同的数据帧,直到接收到ACK帧。
-
接收方在接收到重复的数据帧时会丢弃它们,以避免重复处理。
-
这个过程会一直重复,直到所有数据帧都被正确接收。
工作流程
Stop-and-Wait ARQ协议的工作流程如下:
-
发送方将数据分成固定大小的数据帧。
-
发送方发送第一个数据帧,并启动计时器。
-
接收方接收数据帧,进行校验。
-
如果数据帧正确无误,接收方发送ACK帧作为确认。
-
发送方接收到ACK帧后,停止计时器,发送下一个数据帧。
-
如果发送方在计时器超时前未收到ACK帧,它会重新发送相同的数据帧。
-
接收方在接收到重复的数据帧时会丢弃它们。
-
这个过程会一直重复,直到所有数据帧都被正确接收。