适用范围
1. 优点
- 发送方只要接受到最后一个分组的确认信息就知道接收方全部接受完了
- 这样即使前面分组的确认消息丢失了也无所谓
- 原因: 接收方想要发出最后一个分组的确认信息, 就必须先成功接受前面的分组
- 无差错情况下, 效率非常高
2. 缺点
- 有差错情况下, 效率比SW协议还要低
梗概
- Go-Back-N, 简写为GBN
- 发送方维持一个若干长度发送窗口
- 接收方维护一个长度为1的接受窗口
- 每次只能接受窗口内的分组, 窗口外接受到的分组都统统丢弃
1. 接受无误
- 接收方接受无误才能往后移动窗口, 然后继续接受下一个到达的分组
- 发送方得接受到当前窗口最后一个分组的确认信息才能滑动到下一个窗口
2. 发生差错
- 接收方到发生差错的分组后, 返回一个否定信息: 要求重传这个分组后的所有分组
- 尽管差错分组后的分组都正确到达了接收端, 但都被丢弃了, 要求重新发送, 所以叫回退N帧
- 发送方有些那连续分组没有接受到确认信息, 就自动重传这些连续的分组
- 发送方接受到否定信息后, 直接重传, 直到接受到最后一格分组的确认信息
细节
1. 分组编号的大小
通常采用3为比特位表示
2. 窗口长度限制
- 1<发送方窗口长度<分组编号的大小
- 接收方窗口长度=1
视频讲解
3.4.3 可靠传输的实现机制 — 回退N帧协议_哔哩哔哩_bilibili