New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
latency & bindwidth tcp http #41
Comments
rwnd 控制 sender 与 receiver 之间的传输速率。但 TCP 还需要有措施控制整个网络中的流量,主要有以下几类措施: slow start
监控 client 与 server 之间的带宽。一个 TCP 链接刚建立时,最大传输速率是 min(rwnd, cwnd),之后每次收到一个 ack, cwnd 翻倍,直到超过接收端的 flow-control window,a system-configured congestion threshold(ssthresh) 或者丢包发生。 Slow-Start Restart主要针对空闲的长链接,原因也很简单,在空闲期间,网络情况可能发生了变化。可选择在 server 禁用:
与之对应的优化手段:keepalive, pipelining, and multiplexing。 congestion avoidance在 cwnd 增长期间,如果发生丢包,那么「拥塞避免」算法就开始工作了。
|
Optimizing for TCPAdditional mechanisms, such as selective acknowledgments (SACK), delayed acknowledgments, and fast retransmit, among many others, make each TCP session much more complicated (or interesting, depending on your perspective) to understand, analyze, and tune. Having said that, while the specific details of each algorithm and feedback mechanism will continue to evolve, the core principles and their implications remain unchanged: 措施
|
前面两个 0 依次表示 Recv-Q Send-Q |
Guide
The text was updated successfully, but these errors were encountered: