c - 何时重新发送带有选择性重复 ARQ 的滑动窗口丢失的 ACK

标签 c networking sliding-window

正如您可能知道的那样,我对带有选择性重复 ARQ 实现的滑动窗口有点困惑。如果接收方发送一个数据包的 ACK,并且 ACK 丢失,发送方会做什么?发送方是否继续继续,直到没有ACK的数据文件成为窗口的底部,然后处理它?或者发送方等待直到收到ACK然后继续?

最佳答案

服务器将继续发送数据包,直到窗口填满。接收方将始终发送其已接收数据的累积 ACK。这只是意味着当接收方发送 ack 时,它总是发送尚未收到的最低序列号。因此,如果数据包 1 的 ack 丢失,服务器仍将发送数据包 2,客户端将确认数据包 2 表明已准备好接收数据包 3,服务器将在收到此 ack 后使用此信息更新其窗口。

关于c - 何时重新发送带有选择性重复 ARQ 的滑动窗口丢失的 ACK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15194405/

相关文章:

c - 如何使用 GCC 在每个函数的开头/结尾处植入我自己的代码

c - 如何自托管 Clang?

ruby - 确定给定的 IP 地址是否在网络数组中

networking - 为什么客户端连接数会影响Redis性能?

python - 二维数组上的 Numpy 滚动窗口,作为具有嵌套数组作为数据值的一维数组

sql - 用于滑动窗口聚合的 Bigquery SQL

java - 实现滑动窗口(java)

c - 将 plain int 64 位制作成会破坏很多合理的代码吗?

c - C 编程的 IDE?

perl - 是否可以在不写入的情况下检查 TCP 连接是否断开?