停止和等待,GoBackN和选择性重复之间的区别

【停止和等待,GoBackN和选择性重复之间的区别】可靠的数据传输是计算机网络中的主要问题之一。该服务部门掌握在TCP协议。主要的流量控制协议-停止和等待, 返回N和选择性重复。
停止并等待–
发送方发送数据包并等待数据包的ACK(确认)。 ACK到达发送方后, 它将发送行中的下一个数据包。如果未收到ACK, 它将再次重新发送前一个数据包。
返回N–
发送方发送等于窗口大小的N个数据包。一旦发送了整个窗口, 发送方便等待累积的ACK发送更多数据包。在接收器端, 它仅接收有序数据包, 并丢弃无序数据包。与丢包的情况一样, 整个窗口将被重新发送。
选择性重复–
发送方发送窗口大小为N的数据包, 而接收方确认所有数据包是否按顺序接收。在这种情况下, 接收方维护一个缓冲区以容纳乱序的数据包并对它们进行排序。发送方有选择地重新传输丢失的数据包并将窗口向前移动。
差异:

属性 停止并等待 返回N 选择性重复
发件人窗口大小 1 ? ?
接收器窗口大小 1 1 ?
最小序号 2 N + 1 2N
效率 1 /(1 + 2 * a) N /(1 + 2 * a) N /(1 + 2 * a)
确认类型 个人 累积的 个人
接收端支持的订单 仅按订单交货 以及无序交货
丢包情况下的重传次数 1 ? 1
其中
  • a =传播延迟与传输延迟之比,
  • 在N = 1时, 将” 返回N” 有效地减少为” 停止并等待” , / li>
  • 当” 返回N” 累积地确认打包时, 它会拒绝乱序的数据包,
  • 由于选择性重复支持接收乱序数据包(在接收到数据包后对窗口进行排序), 因此它使用独立确认来确认数据包。

    推荐阅读