源
本篇文章本来是收录AIMD拥塞控制吞吐量的计算公式。Valve游戏公司开源GameNetworkingSockets[1],既支持可靠的数据传输,也支持不可靠的数据传输。数据的传输速率,是直接计算出来的。
const int64 k_nMillion = ; int TFRCCalcX( int s, int64 rtt, float p ) { // TFRC throughput equation // // s // X_Bps = ---------------------------------------------------------- // R*sqrt(2*b*p/3) + (t_RTO * (3*sqrt(3*b*p/8)*p*(1+32*p^2))) // // b is TCP acknowlege packet rate, assumed to be 1 for this implementation float R = (double)rtt / k_nMillion; float t_RTO = MAX( 4 * R, 1.0f ); return static_cast< int >( static_cast
( s ) / ( R * sqrt( 2 * p / 3 ) + ( t_RTO * ( 3 * sqrt( 3 * p / 8 ) * p * ( 1 + 32 * ( p * p ) ) ) ) ) ); }
The TCP Macroscopic Model will be completely obsolete soon. It was a closed form performance model for Van Jacobson’s landmark congestion control algorithms presented at Sigcomm’88. Jacobson88 requires relatively large buffers to function as intended, while Moore’s law is making them uneconomical.
它的过时,是因为BBR的出现。BBR算法开启拥塞控制的新时代。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176475.html原文链接:https://javaforall.net
