计算机网络中的滑动窗口协议是什么?
滑动窗口也称为窗口技术。滑动窗口是一种控制两个网络设备之间数据包发送的方法,在需要可靠且顺序交付数据包的情况下使用,例如使用数据链路层(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 协议的结构如下所示:
广告