kcp TCP丢包时会全部重传从丢的那个包开始以后的数据吗?

bmvo0sr5  于 2022-10-25  发布在  其他
关注(0)|答案(3)|浏览(256)

我的理解, TCP是SR和GBN的混合体,
丢包时, 会根据SACK只重传相应的分组,
"TCP丢包时会全部重传从丢的那个包开始以后的数据", 请教下这句话是咋理解的?

hl0ma9xz

hl0ma9xz1#

我也有这个疑问

5w9g7ksd

5w9g7ksd2#

我也有这个疑问, 希望有人解答

at0kjp5o

at0kjp5o3#

原文中的理解应该是有误的,与链路层ARQ的Go-back-N混淆了。 首先,如果TCP开启了SACK(Selective ACK),则就是选择性重传。关于SACK,这篇文章图文并茂,解释得很清楚: https://www.geeksforgeeks.org/selective-acknowledgments-sack-in-tcp/ 其次,即使TCP没有开启SACK,它也并不会重传丢失的包(称为队头分组)以后的全部数据。丢包发生后,一方面,TCP发送端仍然是依据具体拥塞控制算法,根据收到的ACK分组数调整拥塞窗口CWND;另一方面,当连续收到3个重复ACK时,Fast Retransmit机制会触发对队头分组的重传。在完成队头分组的重传后:1)如果CWND允许(即大于在外分组数),会继续发送新的分组;2)停滞发送等待新的ACK到来;3)长时间未收到对队头分组的确认将触发RTO到时。 所以TCP没有SACK时,只是包的恢复会延后,并不会盲目重发队头分组后面那些未被确认的分组。…

On Sat, Sep 24, 2022 at 9:03 PM thiscallaname***@***.***> wrote: 我也有这个疑问, 希望有人解答 — Reply to this email directly, view it on GitHub <#369 (comment)>, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ABWP2F3SB5UM6S4CN57SDHLV7333ZANCNFSM572VPSNA > . You are receiving this because you are subscribed to this thread.Message ID:***@***.***>

-- LI, Ye School of Information Science and Technology Nantong University Nantong 226019, Jiangsu Province, China GitHub: * https://github.com/yeliqseu* < https://github.com/yeliqseu >

相关问题