我正在研究TCP,我对此有疑问。假设客户端拥塞太快,服务器在RTO到期之前永远不会得到ACK。所以服务器会重新传输很多不必要的数据段。服务器如何确认这一点并将RTO设置为更大的值?
谢谢!
发布于 2019-02-27 10:39:43
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).“
https://stackoverflow.com/questions/54896179
复制相似问题