美文网首页
TCP的重传

TCP的重传

作者: 黄云斌huangyunbin | 来源:发表于2019-05-05 11:24 被阅读0次

我们都知道tcp发送的消息,如果没收到ack是会重传的。
具体是怎么重传的呢

比如发送1,2,3,4,5 这5个包,只有2这个包没收到,发送端要怎么重传呢?

没收到2的时候,接受方ack一直都是2,从这个角度来说,发送方其实是不知道3,4,5这个几个包的情况的,所以都会重传。

答:重传2,3,4,5这些包

但是这个很浪费啊,明明3,4,5都收到了的,发送方还要重传一遍。

所以tcp有个sack机制

接受方会返回收到了哪些包,发送方就只是发送2这个包就可以了。

答:开启sack的情况下,只是重传2这个包
image.png

还有个问题,tcp的重传默认是要等一段时间的,这个时间就是RTO,RTO的计算比较复杂,可以大概认为和rtt相关,是个相对比较长的时间了。
有不有更快的解决方法呢,毕竟丢包是比较低概率的事情。

快速重传:

发送方连续收到3次相同的ack,这个时候即使超时定时器还没有超时,也开始启动重传。

答:1,2,3,4,5 这5个包,只有2这个包没收到,会连续3次都为2的ack,所以会马上重传。
image.png

相关文章

  • 【tcp】关于tcp 超时重传次数

    TCP重传间隔时间和TCP重传次数 一般TCP报文的重传超时时间 TCP重传时间间隔有着多种不同的算法,最常见的就...

  • 网络重传次数

    聊一聊重传次数 听说Linux有两个参数限制超时重传次数 重传超过tcp_retries1会怎样 重传超过tcp_...

  • wireshark学习笔记(五)——TCP重传技术

    TCP重传的原理 在TCP重传的理论中,重传计时器是用于决定是否有必要进行数据包重传的一个主要机制。重传计时器维护...

  • TCP协议灵魂12问(第八问)

    TCP 的超时重传时间是如何计算的? TCP 具有超时重传机制,即间隔一段时间没有等到数据包的回复时,重传这个数据...

  • TCP(II) 超时重传

    查看原文 TCP 提供可靠数据传输服务,为保证传输正确性,TCP 重传其认为已经丢失的包。TCP 有两套重传机制,...

  • TCP的重传

    我们都知道tcp发送的消息,如果没收到ack是会重传的。具体是怎么重传的呢 比如发送1,2,3,4,5 这5个包,...

  • tcp的重传

    前面也说过,TCP的保序,可用通过ack和seq等数据确定。那么当有包在传输的过程中丢失的话,那么需要一个重传机制...

  • 浅谈TCP(2):流量控制与拥塞控制

    上文浅谈TCP(1):状态机与重传机制介绍了TCP的状态机与重传机制。本文介绍流量控制(Flow Control,...

  • 计算机网络以及网络编程面试题(不断补充)

    TCP/IP网络协议栈层次 TCP 和 UDP 应用场景 TCP 和 UDP 不同 为什么TCP是可靠的?超时重传...

  • 细说TCP重传

    介绍TCP的主要任务是很简单:打包和发送数据。TCP与其他协议的不同之处在于使用滑动窗口来管理基本数据收发过程,同...

网友评论

      本文标题:TCP的重传

      本文链接:https://www.haomeiwen.com/subject/mzjcoqtx.html