美文网首页
拥塞控制和流量控制

拥塞控制和流量控制

作者: tyssy | 来源:发表于2018-02-28 21:53 被阅读0次

滑动窗口的解释:

答案截图备份

拥塞控制窗口+慢启动+拥塞控制算法=拥塞控制

TCP特性使得每个TCP连接可以得到均等的带宽。在多用户环境下,一个用户拥有越多TCP连接,获得的带宽越大。
具体来说:
这个涉及到了TCP的拥塞控制。
我们先看一下单TCP连接的拥塞控制。
这是一个TCP连接的发送窗口。


拥塞控制窗口

绿色部分为发送者已发送,且接收者已确认(ACKed)。
黄色部分为发送者已发送,但接收者尚未确认("in-flight")。
蓝色部分为可用但尚未发送。
灰色部分为不可用。
所以在RTT(round-trip time,来回通讯延迟)不变的情况下,cwnd这个变量基本决定传输速率。


image
发送者总会试图找到不丢包情况下的最大速率。按照TCP协议,在传输开始之后,每接收到一个确认(ACK)就会把cwnd这个变量增大一倍。所以TCP连接开始之后应该是这个样子。
image
刚开始的时候传输速率应该是指数被增长的,直到丢包发生。丢包会有两种情况:
1.当接收者发送给发送者的ACK丢失了,这时会触发超时(timeout)。
2.当发送者发送给接收者的数据包丢失了,发送者会收到接收者发来的重复ACK,如果发送者收到了3个重复的ACK,也会认为发生了丢包。
具体对这两种情况采取的措施略有不同,但粗略来说,变量cwnd会被减半,也就是说传输速率减半。然后cwnd会再次增大,直到下次丢包发生。所以忽略最开始,TCP的吞吐量应该是这样。
image

MTU,MSS,滑动窗口,慢启动,拥塞算法

https://www.zhihu.com/question/48454744/answer/110946313
车小胖的回答

滑动窗口实现

https://www.zhihu.com/question/32255109

tcp流控和拥塞控制:

https://www.cnblogs.com/zlingh/p/6161088.html

tcp那些事

https://coolshell.cn/articles/11564.html

自我总结:
拥塞控制依靠:慢启动,拥塞控制算法,快速重传,快速恢复
流量控制依靠:滑动窗口

tcpnopush:一定会等到发送缓冲区>MSS才发送
tcpnodelay:delay模式是指(默认开启) = 当发送缓冲区的数据少于MSS时就等待其他包一起(>MSS)发送,除非收到了上一个包的ACK就会立即发送。当tcpnodelay为on表示关闭这种行为

相关文章

  • TCP/IP详解

    流量控制与拥塞控制 流量控制 拥塞控制

  • 2018-07-11

    tcp的运输控制分为tcp流量控制和tcp拥塞控制,这里先讲tcp的拥塞控制。 为了讲清楚tcp的拥塞控制,还是利...

  • 2.2IP/ATM QoS控制技术

    协议栈分层、QoS保障技术(流量控制,拥塞控制的基本方法)QoS的基本概念(网络性能参数)流量控制与拥塞控制的基本...

  • 拥塞控制和流量控制

    滑动窗口的解释: 拥塞控制窗口+慢启动+拥塞控制算法=拥塞控制 TCP特性使得每个TCP连接可以得到均等的带宽。在...

  • 5分钟读懂拥塞控制

    本文转载自微信公众号:苦逼的码农 大家可能都听说过拥塞控制和流量控制,想必也有一些人可能还分不清拥塞控制和流量控制...

  • TCP的流量控制与拥塞控制机制

    参考:滑动窗口TCP的流量控制和拥塞控制 1 流量控制 利用滑动窗口机制实施流量控制 TCP协议里窗口机制有2种:...

  • 拥塞控制

    已经有了流量控制了,为什么还要有拥塞控制呢?流量控制是为了避免发送方发送了接收方不能处理的数据。拥塞控制是为了在网...

  • TCP是如何实现可靠传输的

    自动重传请求(ARQ、平均往返时间) 流量控制 (接受窗口rwnd) 拥塞控制(拥塞窗口cwnd) 0、概述: 众...

  • 流量控制 拥塞控制

    https://zhuanlan.zhihu.com/p/37379780 流量控制 考虑对象: 发送方 接收方 ...

  • 细说TCP的可靠传输、流量控制、拥塞控制

    目录 TCP如何实现可靠传输? TCP如何实现流量控制?(滑动窗口) TCP如何实现拥塞控制?(慢开始、拥塞避免、...

网友评论

      本文标题:拥塞控制和流量控制

      本文链接:https://www.haomeiwen.com/subject/wmjqtftx.html