开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天
拥塞控制的一般原理
在某段时间内,如果对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就会明显变坏,整个网络的吞吐量将随着输入负荷的增大而下降,最严重可致系统崩溃。这种现象就称为拥塞。
拥塞的原因
- 节点缓存容量太小
- 链路容量不足
- 处理机处理速率太慢
- 拥塞本身还会进一步加剧拥塞
拥塞控制
我们通过拥塞控制,防止过多的数据注入到网络中,避免网络中的路由器或链路过载。这是一个全局性的过程,涉及到的所有主机、路由器,以及降低网络传输性能有关的所有因素。
- 拥塞控制的前提:网络能够承受现有的网络负荷
- 实践证明,拥塞控制是很难设计的,因为它是一个动态问题
- 分组的丢失是网络发生拥塞的征兆,而不是原因
- 在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化、甚至发生死锁的原因
开环控制和闭环控制
开环控制:
- 在设计网络时,事先考虑好,力求工作时不发生拥塞
- 思路:力争避免发生拥塞
- 但一旦整个系统运行起来,就不再中途进行改正了
闭环控制:
-
基于反馈环路的概念
-
监控网络指标,并网络当前运行状态采取相应的控制措施,具体指标有:
- 由于缺少缓存空间而被丢弃的分组百分数
- 平均队列长度
- 超时重传的分组数
- 平均分组时延
- 分组时延的标准差等等
-
思路:在发生拥塞后,采取措施进行控制,消除拥塞