📅  最后修改于: 2020-11-10 05:39:54             🧑  作者: Mango
滑动窗口是一种用于一次发送多个帧的技术。它控制着两个设备之间需要可靠和逐步传送数据帧的数据包。它也用于TCP(传输控制协议)中。
在这种技术中,每个帧都从序列号发送出去。序列号用于在接收器端查找丢失的数据。滑动窗口技术的目的是避免重复数据,因此它使用序列号。
滑动窗口协议有两种类型:
Go-Back-N ARQ协议也称为Go-Back-N自动重复请求。它是一种使用滑动窗口方法的数据链路层协议。这样,如果任何帧损坏或丢失,则必须再次发送所有后续帧。
在此协议中,发送方窗口的大小为N。例如,发送窗口的大小Go-Back-8将为8。接收窗口的大小始终为1。
如果接收方收到损坏的帧,则将其取消。接收器不接受损坏的帧。当计时器到期时,发送方再次发送正确的帧。 Go-Back-N ARQ协议的设计如下所示。
下图显示了Go-Back-N ARQ的示例。
选择性重复ARQ也称为选择性重复自动重复请求。它是一种使用滑动窗口方法的数据链路层协议。 Go-back-N ARQ协议如果错误较少,则效果很好。但是,如果帧中存在很多错误,则再次发送帧时会损失大量带宽。因此,我们使用选择性重复ARQ协议。在此协议中,发送方窗口的大小始终等于接收方窗口的大小。滑动窗口的大小始终大于1。
如果接收方收到损坏的帧,它不会直接丢弃它。它向发送方发送否定确认。发送方在收到否定确认后立即再次发送该帧。无需等待任何超时即可发送该帧。选择性重复ARQ协议的设计如下所示。
选择性重复ARQ协议的示例如下图所示。
Go-Back-N ARQ | Selective Repeat ARQ |
---|---|
If a frame is corrupted or lost in it,all subsequent frames have to be sent again. | In this, only the frame is sent again, which is corrupted or lost. |
If it has a high error rate,it wastes a lot of bandwidth. | There is a loss of low bandwidth. |
It is less complex. | It is more complex because it has to do sorting and searching as well. And it also requires more storage. |
It does not require sorting. | In this, sorting is done to get the frames in the correct order. |
It does not require searching. | The search operation is performed in it. |
It is used more. | It is used less because it is more complex. |