TCP-RTO太小会发生什么?

时间:2019-02-27 00:16:57

标签: tcp

我正在研究TCP,对此有疑问。让我们认为,客户端变得太拥塞,并且服务器在RTO过期之前永远不会收到ACK。因此服务器不必要地重传了很多段。 服务器如何确认这一点并将RTO设置为更大的值?

谢谢!

1 个答案:

答案 0 :(得分:0)

https://tools.ietf.org/rfc/rfc793.txt

“重传超时过程示例

  Measure the elapsed time between sending a data octet with a
  particular sequence number and receiving an acknowledgment that
  covers that sequence number (segments sent do not have to match
  segments received).  This measured elapsed time is the Round Trip
  Time (RTT).  Next compute a Smoothed Round Trip Time (SRTT) as:

    SRTT = ( ALPHA * SRTT ) + ((1-ALPHA) * RTT)

  and based on this, compute the retransmission timeout (RTO) as:

    RTO = min[UBOUND,max[LBOUND,(BETA*SRTT)]]

  where UBOUND is an upper bound on the timeout (e.g., 1 minute),
  LBOUND is a lower bound on the timeout (e.g., 1 second), ALPHA is
  a smoothing factor (e.g., .8 to .9), and BETA is a delay variance
  factor (e.g., 1.3 to 2.0).