流量控制

一般来说,我们希望数据传输的更快一些。但是如果发送方传的过快,接收方来不及接收,这就会造成数据的丢失。所谓流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来的及接收。

滑动窗口

流量控制利用滑动窗口机制来实现。
tcp报文结构中有4字节表示接收方窗口大小。发送方的发送窗口不能超过接收方的接收窗口大小。

拥塞控制

网络资源、带宽、交换机,传输需求超过了资源所能提供的可用部分,网络性能就会变坏。这就叫拥塞。

拥塞控制和流量控制的一丝差别:
拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至过载。
拥塞控制是一个全局性的过程,涉及所有主机、路由器,所以即使tcp端点迟迟不能接收对方的消息,也无法知道拥塞到底发生在网络的何处以及发生的原因。
而流量控制往往指点对点通信量的控制。是端到端的问题。

从控制理论的角度看拥塞控制,可以分为开环控制和闭环控制。

开环控制

开环控制是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络工作时不拥塞。运行过程中不再改正。

闭环控制

闭环控制是基于反馈链路的概念。

  1. 监测网络系统一遍检测拥塞在哪里发生。
  2. 把拥塞发生的信息传送到可采取行动的地方。
  3. 调整网络系统的运行来解决出现的问题。

检测网络拥塞的主要指标:由于缺少缓存空间而被丢弃的分组的百分数、平均队列长度、超时重传的分组数、平均分租延时、分组时延的标准差等。

RFC2581定义了拥塞控制的四中算法:慢开始、拥塞避免、快重传、快恢复。

标签: tcp

添加新评论