可靠传输
1. 自动重传请求ARQ(Automatic Repeat reQuest):
当接收端未收到或者收到出现差错的分组时,无需接收端请求发送方传输,而是接受方自动传输。
细节要点:
- 编号 分组、确认分组要编号
- 缓存 暂存分组预重传 收到确认清分组缓存
- 超时计时器 未收到确认就重传 重传时间大于平均往返时间(TTL)
- 操作:
- 收到确认后再转发下一个分组
- 场景 :确认丢失 确认迟到
2. 流水线传输
2.1 连续ARQ协议 (累积确认)
2.2 滑动窗口协议
细节要点:
连续发送分组,不必等待上一个分组的确认再发送下一个分组
- 编号
- 缓存
- 计时器
- 窗口大小
- size=5 表示可以连续发送窗口内的5个分组
- 当收到一个分组的确认,则将窗口滑动一个单位
- 滑动方向 编号从小到大
- 累计确认
- 接收方确认 并不是发送每个分组的确认,而是发送 收到的连续分组 中的最大序号
- 发送方根据收到确认序号,而剩下的分组进行重传,再将窗口往前滑动。
优缺点:
- 平均效率高于ARQ
- 累积确认发送最大连续序号,而收到的非连续序号的无法告知发送端是否已经发送,而使得发送端浪费源重传
例子