计算机网络中的滑动窗口协议是什么?


滑动窗口也称为窗口技术。滑动窗口是一种控制两个网络设备之间数据包发送的方法,在需要可靠且顺序交付数据包的情况下使用,例如使用数据链路层OSI模型)或传输控制协议(TCP)。

在滑动窗口技术中,每个数据包(对于大多数数据链路层)和字节(在TCP中)都包含一个唯一的连续序列号,接收计算机使用该序列号将数据按正确的顺序排列。滑动窗口技术的目的是使用序列号避免重复数据并请求丢失的数据。

以下是两种类型的滑动窗口协议:

Go Back-n 协议

Go-Back-N 自动重传请求 (ARQ) 协议也称为 Go-Back-N 自动重传请求。它是一个数据链路层协议,它辅助滑动窗口方法。在这种方法中,如果任何帧被篡改或丢失,则必须重新发送所有后续帧。

例如,在 Go-Back-N 中,N 是发送方的窗口大小;如果是 Go-Back-5,则发送方将在收到帧 1 的确认之前发送帧 1 到 5。

所有帧都编号以处理大多数和重复帧。如果发送方未收到接收方的确认,则将重新传输当前窗口中所有可用的帧。

Go-Back-N 协议的设计如下所示:

选择重传 ARQ

选择重传 ARQ 也称为选择重传自动重传请求。它是一个数据链路层协议,它辅助滑动窗口方法。如果错误较少,则 Go-Back-N ARQ 协议运行良好。

在此协议中,发送方窗口大小始终与接收方窗口大小相似。滑动窗口的大小始终大于 1。

如果接收方获得损坏的帧,它不会直接将其删除。它向发送方发送否定确认。发送方立即再次发送该帧,收到否定确认。无需等待任何超时来共享该帧。

选择重传 ARQ 协议的结构如下所示:

更新于:2023年9月14日

30K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告