TCP 如何保证有效传输及拥塞控制原理

阅读全文

发表评论

后才能评论

评论(8)

  • Bin Watson ⃒⃘⃤ 普通 2022-03-07 9:33 下午

    这个 有效传输 的语意和 可靠传输 是有什么区别吗?有点不太明白。。。

  • mr.yt 普通 2021-09-29 8:47 下午

    拥塞控制原理那的快速恢复写成快速回复了

  • 羊之助 普通 2021-09-14 9:22 下午

    TCP Reno这个算法定义在RFC5681。快速重传和快速恢复算法一般同时使用。快速恢复算法是认为,你还有3个Duplicated Acks说明网络也不那么糟糕,所以没有必要像RTO超时那么强烈,并不需要重新回到慢启动进行,这样可能降低效率。所以协议栈会做如下工作

    cwnd = cwnd/2
    sshthresh = cwnd

    然后启动快速恢复算法:

    设置cwnd = ssthresh+ACK个数*MSS(一般情况下会是3个dup ACK)
    重传丢失的数据包(对于重传丢失的那个数据包,可以参考TCP-IP详解:SACK选项)
    如果只收到Dup ACK,那么cwnd = cwnd + 1, 并且在允许的条件下发送一个报文段
    如果收到新的ACK, 设置cwnd = ssthresh, 进入拥塞避免阶段

  • ooooHao 普通 2021-09-06 10:16 下午

    TCP Reno在收到三个冗余ACK触发快速恢复的时候,阈值降为拥塞窗口的一半,然后新的拥塞窗口的值貌似是阈值+3,因为收到了三个冗余ACK说明在进入快速恢复前成功发送了3个报文,因此拥塞窗口可以继续增加。帅地有时间可以考证下~

  • 北街看日出 普通 2021-08-18 11:26 下午

    慢启动一开始指数增长,不慢。快速恢复线性增加,不快。