回退N帧协议(GBN)详解:原理、优缺点及应用

回退N帧协议 (Go-Back-N Protocol, 简称GBN) 是一种数据链路层的协议,用于在存在差错的信道上可靠地传输数据。GBN协议允许发送方连续发送多个数据帧,而无需等待每个帧的确认,从而提高了信道利用率。

一、GBN协议工作原理

GBN协议的核心思想是滑动窗口重传机制

  1. 发送方将数据分割为固定大小的帧,并按序编号。2. 发送方维护一个发送窗口,窗口内包含了可以连续发送的帧的序号范围。发送方可以连续发送窗口内的所有帧,而无需等待接收方的确认。3. 接收方维护一个接收窗口,窗口大小为1。接收方按序接收帧,并只确认按序到达的最后一个帧。如果收到的帧乱序或丢失,接收方将丢弃该帧,并重传上次确认的帧的ACK,要求发送方从该帧开始重传。4. 发送方收到确认帧(ACK)后,将窗口滑动到已确认的帧之后,继续发送后续的帧。5. 如果发送方在一定时间内没有收到确认帧,则认为窗口内的帧可能出现丢失或乱序,将重传整个窗口内的所有帧。

二、GBN协议的优点

  • 提高信道利用率: 发送方可以连续发送多个帧,无需等待每个帧的确认,充分利用了信道带宽。* 实现简单: 相比于选择重传协议(SR),GBN协议的实现更加简单,接收方只需维护一个大小为1的接收窗口。

三、GBN协议的缺点

  • 重传效率低: 当窗口内出现单个帧丢失或乱序时,需要重传整个窗口的数据,浪费了带宽资源。* 对网络延迟敏感: 网络延迟较大时,超时重传的概率增加,进一步降低了信道利用率。

四、GBN协议的应用场景

GBN协议适用于对延迟要求不高、传输错误率较低的场景,例如:

  • 语音通话: 语音通话对实时性要求较高,但可以容忍一定的丢包率。* 视频会议: 与语音通话类似,视频会议对实时性要求较高,但可以容忍一定的丢包率。

五、总结

GBN协议通过滑动窗口和重传机制,在保证数据传输可靠性的同时,提高了信道利用率。然而,其重传效率较低,对网络延迟敏感,因此在实际应用中需要根据具体场景选择合适的协议。


原文地址: https://www.cveoy.top/t/topic/RTW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录