栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

控制传输协议差错恢复方法 滑动窗口协议 GBN(Go-Back-N)回退N步 和 SR(Selective Repeat)选择重传 对比

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

控制传输协议差错恢复方法 滑动窗口协议 GBN(Go-Back-N)回退N步 和 SR(Selective Repeat)选择重传 对比

文章目录
  • 对比
  • 传输控制协议中流水线(pipelining)差错恢复方法
    • 回退N步GBN(Go-Back-N)
      • 发送方
      • 接收方
    • 选择重传SR(Selective Repeat)
      • 发送方
      • 接收方
    • TCP 选择确认(Selective acknowledgment)
      • 发送方
      • 接收方

对比
对比方面GBNSRTCP
滑动窗口缓冲区不维护维护接收和发送缓冲区维护接收缓冲区
定时器一个滑动窗口一个定时器每个分组都有定时器一个滑动窗口一个定时器
确认累积确认选择确认累积确认
重传重传滑动窗口所有未被确认的分组重传超时的分组重传base处分组
对待乱序分组丢弃缓存在缓冲区缓存在缓冲区,并发送冗余ACK,触发快速重传
传输控制协议中流水线(pipelining)差错恢复方法 回退N步GBN(Go-Back-N) 发送方
  1. 维护两个变量base和nextseqnum,base代表滑动窗口中第一个发送但并未被确认的分组序号,nextseqnum代表滑动窗口中第一个未被发送的分组序号
  2. nextseqnum - base就是窗口长度,如果窗口长度到达给定最大值,不会再接收上层的数据
  3. 采用累积确认,即发送方接收到接收方发送的大于base的确认号n,会把n到base之间的所有分组全部确认收到,只有被确认后base才能增大,nextseqnum才能增大,才能发送更多分组
  4. 当出现超时事件,会重传窗口中所有已经发送但未被确认的分组,即base到nextseqnum序号之间的分组,这个超时事件指的是发送base分组时开启的定时器超时,一个滑动窗口多个分组只用一个定时器
接收方
  1. 只需要维护一个变量expectedseqnum,expectedseqnum代表下一个期望收到的分组序号
  2. 当收到大于expectedseqnum序号的分组,即乱序分组,会直接丢弃乱序分组
选择重传SR(Selective Repeat) 发送方
  1. 维护一个滑动窗口(相对于字节数组)和两个变量base和nextseqnum,base和nextseqnum和上面一样
  2. 不采用累积确认,滑动窗口中每个分组都对应一个ack确认,所以base后面的分组可能在base之前被确认,但是如果base没有被确认滑动窗口无法向右移动,也无法发送更多数据
  3. 滑动窗口中每个分组都有一个定时器,当出现超时,只重传对应超时的分组
接收方
  1. 维护一个乱序分组缓冲区和rev_base、rev_base+N-1两个变量,如果在[rev_base, rev_base+N-1]范围内的分组被正确接收,则缓存该分组,并发送该分组的ack,如果序号恰好等于rev_base则将以前缓存的和rev_base连续序号的分组一起提交到上一层,然后窗口可以右移接收更多的数据
  2. 序号在[rev_base -N, rev_base-1]内的分组被收到,也必须发送一个ACK,不然发送方的滑动窗口无法向右移动
TCP 选择确认(Selective acknowledgment) 发送方
  1. 仅需维护已经发送过但未被确认的字节的最小序号Sendbase和下一个要发送的字节序号NextSeqNum,这和GBN一样
  2. 采用累积确认
  3. 只有一个定时器,但超时只重传序号为Sendbase的分组,在收到ack定时器重新刷新用来记录后一个分组的超时
  4. 采用快速重传,即判断分组比特错误被丢弃或者丢包(路由器排队缓存已满丢弃数据包)的依据不再只有超时,还有冗余ACK,在接收方接到乱序报文时会发送最近一个正序收到的报文的ACK,即冗余ACK,当收到3个冗余ACK时(说明有3个冗余报文被接收方接收),会直接重传Sendbase序号分组
接收方
  1. 维护一个乱序分组缓冲区和rev_base,不丢弃失序报文,这和SR一样
  2. 收到乱序报文,会发送最近一个正序收到的报文的ACK

参考
《计算机网络 自顶向下方法》

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349588.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号