tcp 确认应答和超时时间
1. 确认应答之间的时间(RTT)
-
这是指 从发送方发送数据到接收方返回确认(ACK)之间的时间。它反映的是数据传输的 往返延迟。
-
例如,发送方发送一个数据包,接收方收到后,回传一个确认包(ACK)。这个过程所花的时间就是 RTT(Round-Trip Time),即往返时延。
2. 超时重传
-
超时重传 是指 发送方等待接收方的确认(ACK),如果在设定的时间内(这个时间叫 RTO(Retransmission Timeout))没有收到确认,发送方就会 重传数据。
-
RTO 是基于 RTT 计算的,是发送方认为“如果这段时间内没有收到确认,就认为数据丢失或确认 丢失”的最大等待时间。
它们的关系:
-
确认应答之间的时间 是 RTT,即数据发送后,确认(ACK)到达发送方的时间。
-
如果发送方 在设定的RTO时间内没有收到确认,就会触发 超时重传。换句话说,如果 RTT 太长,导致 RTO 超过,发送方就会认为数据丢失,从而重新发送数据。
举个例子:
- 发送方发送数据,接收方开始处理。
- 发送方设置一个定时器,等待接收方的 确认应答(ACK)。
- 如果在 RTT 时间内收到确认,定时器会停止,数据传输成功。
- 如果 RTT 过长,导致发送方 没有在设定的RTO时间内 收到确认,发送方就会认为数据丢失,触发 超时重传。
简单来说:
- 确认应答之间的时间(RTT) 是正常的数据传输延迟。
- 超时重传 发生在发送方没有在 RTO 时间内收到确认时。