文章目录
对比
对比方面 | GBN | SR | TCP |
---|---|---|---|
定时器 | 一个滑动窗口一个定时器 | 每个分组都有定时器 | 一个滑动窗口一个定时器 |
确认 | 累积确认 | 选择确认 | 累积确认 |
重传 | 重传滑动窗口所有未被确认的分组 | 重传超时的分组 | 重传base处分组 |
对待乱序分组 | 丢弃 | 缓存在缓冲区 | 缓存在缓冲区,并发送冗余ACK,触发快速重传 |
传输控制协议中流水线(pipelining)差错恢复方法
回退N步GBN(Go-Back-N)
发送方
- 维护两个变量base和nextseqnum,base代表滑动窗口中第一个发送但并未被确认的分组序号,nextseqnum代表滑动窗口中第一个未被发送的分组序号
- nextseqnum - base就是窗口长度,如果窗口长度到达给定最大值,不会再接收上层的数据
- 采用累积确认,即发送方接收到接收方发送的大于base的确认号n,会把n到base之间的所有分组全部确认收到,只有被确认后base才能增大,nextseqnum才能增大,才能发送更多分组
- 当出现超时事件,会重传窗口中所有已经发送但未被确认的分组,即base到nextseqnum序号之间的分组,这个