当前位置: 首页 > 编程笔记 >

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

杜昆琦
2023-03-14
本文向大家介绍停止和等待,GoBackN和选择性重复协议之间的区别,包括了停止和等待,GoBackN和选择性重复协议之间的区别的使用技巧和注意事项,需要的朋友参考一下

停止和等待协议

停止和等待协议是用于流控制机制的协议。在此协议中,发送方一次发送一个帧,并等待接收方的确认。确认后,发送方将另一个帧发送给接收方。如果未收到确认,则重新传输帧/数据包。

GoBackN协议

GoBackN还是流控制机制的协议。在此协议中,发送方一次发送n帧,并等待通信确认。如果未收到确认,则重新发送整个帧。

选择性重复协议

选择性重复也是流控制机制的协议。在此协议中,发送方一次发送n帧,并以特定顺序等待对收到的数据包的确认。如果未收到确认,则根据接收方的确认再次发送丢失的数据包。接收方维护丢失数据包的缓冲区。

以下是“停止和等待”协议与“滑动窗口”协议之间的一些重要区别。

序号 停止和等待协议 GoBackN协议 选择性重复协议
1 发件人窗口大小 在“停止并等待”协议中,“发件人”窗口大小为1。 在GoBackN协议中,发件人窗口大小为N。 在“选择性重复”协议中,“发件人”窗口大小为N。
2 接收器窗口大小 在停止和等待协议中,接收器窗口大小为1。 在GoBackN协议中,Receiver窗口大小为1。 在“选择性重复”协议中,“接收器”窗口大小为N。
3 最小序列号 在停止和等待协议中,最小序列号为2。 在GoBackN协议中,最小序列号是N + 1,其中N是发送的数据包数。 在“选择性重复”协议中,“最小序列号”是2N,其中N是发送的数据包数。
4 效率 在停止和等待协议中,效率公式为1 /(1 + 2 * a),其中a是传播延迟与传输延迟的比率。 在GoBackN协议中,效率公式为N /(1 + 2 * a),其中a是传播延迟与传输延迟的比率,N是发送的数据包数量。 在选择性重复协议中,效率公式为N /(1 + 2 * a),其中a是传播延迟与传输延迟的比率,N是发送的数据包数量。
5 确认类型 在停止和等待协议中,确认类型是单独的。 在GoBackN协议中,确认类型是累积的。 在“选择性重复”协议中,确认类型是单个的。
6 支持排序 在“停止并等待”协议中,在接收器端不需要特定的顺序。 在GoBackN协议中,仅在接收方接受按顺序传递。 在“选择性重复”协议中,乱序交付也可以在接收方接受。
7 重传 在Stop and Wait协议中,如果数据包丢失,则重传次数为1。 在GoBackN协议中,在丢包的情况下,重传次数为N。 在选择性重复协议中,如果数据包丢失,则重传次数为1。
 类似资料:
  • 本文向大家介绍说明停止和等待协议与滑动窗口协议之间的区别,包括了说明停止和等待协议与滑动窗口协议之间的区别的使用技巧和注意事项,需要的朋友参考一下 停止和等待协议 停止和等待协议是流控制机制的协议。在此协议中,发送方一次发送一个帧,并等待接收方的确认。确认后,发送方将另一个帧发送给接收方。 滑动窗口协议 停止和等待协议也是流控制机制的协议。在此协议中,发送方一次发送多个帧,然后重新发送被发现已损坏

  • 本文向大家介绍1G和2G协议之间的区别,包括了1G和2G协议之间的区别的使用技巧和注意事项,需要的朋友参考一下 1G和2G是两代手机。1G代表第一代,2G代表第二代。 以下是1G和2G之间的重要区别。 序号 键 1G 2G 1 定义 1G代表第一代。它在美国带来了无线通信。 2G代表第二代,在美国带来了语音和数字通信。 2 交换 1G使用电路交换。 2G同时使用电路交换和分组交换。 3 互联网 在

  • 问题内容: 我需要一些帮助,以了解使用CountDownLatch与传统的wait- notify相比的优势。我认为notifyAll()确实做了同样的事情,并且似乎更易于使用(可能是由于熟悉)。 另外,CountDownLatch中的wait()和await()有什么区别? 谢谢 ! 编辑:我想我需要改写我的查询: Await()根据文档说: 使当前线程 等待, 直到锁存器递减计数到零为止,除非

  • 问题内容: 之间有什么区别: 和 和 问题答案: 注意事项 : 这个答案仅涵盖了系列和系列之间的时序差异。。 为了这个答案的目的,我将使用一些示例方法: 是一个函数,它需要一个整数毫秒,并返回一个承诺,该承诺将在该毫秒后解析。 是一个函数,它需要一个整数毫秒,并返回一个承诺,该承诺将在该毫秒后被拒绝。 调用将启动计时器。在所有延迟完成后,可以使用等待一些延迟来解决,但请记住它们是同时执行的: 例子

  • 问题内容: 之间有什么区别: 和 和 问题答案: 注意事项: 这个答案仅涵盖了await系列和系列之间的时序差异Promise.all。请务必阅读@mikep的综合答案,其中也涵盖了错误处理方面更重要的区别。 出于此答案的目的,我将使用一些示例方法: res(ms) 是一个函数,它需要一个整数毫秒,并返回一个承诺,该承诺将在该毫秒后解析。 rej(ms) 是一个函数,它需要一个整数毫秒,并返回一个

  • 问题内容: 我想知道WebDriver等待超时和隐式等待超时之间的技术差异。 问题答案: 如文档中所述: 在内部设置将用于所有连续搜索的超时。如果找不到该元素,它将尝试在指定的时间内反复查找该元素。它仅执行此操作,不能强制执行其他任何操作- 它等待元素显示。 ,或者只是您用于特定搜索的一次计时器。它具有更大的可扩展性,意味着您可以将其设置为等待可能需要的任何条件。通常,您可以使用一些预构建的元素来