网络中拥塞控制的一般原理

163 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天

拥塞控制的一般原理

在某段时间内,如果对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就会明显变坏,整个网络的吞吐量将随着输入负荷的增大而下降,最严重可致系统崩溃。这种现象就称为拥塞

拥塞的原因

  1. 节点缓存容量太小
  2. 链路容量不足
  3. 处理机处理速率太慢
  4. 拥塞本身还会进一步加剧拥塞

拥塞控制

我们通过拥塞控制,防止过多的数据注入到网络中,避免网络中的路由器或链路过载。这是一个全局性的过程,涉及到的所有主机、路由器,以及降低网络传输性能有关的所有因素。

crowdedControl.jpg

  • 拥塞控制的前提:网络能够承受现有的网络负荷
  • 实践证明,拥塞控制是很难设计的,因为它是一个动态问题
  • 分组的丢失是网络发生拥塞的征兆,而不是原因
  • 在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化、甚至发生死锁的原因

开环控制和闭环控制

开环控制:

  • 在设计网络时,事先考虑好,力求工作时不发生拥塞
  • 思路:力争避免发生拥塞
  • 但一旦整个系统运行起来,就不再中途进行改正了

闭环控制:

  • 基于反馈环路的概念

  • 监控网络指标,并网络当前运行状态采取相应的控制措施,具体指标有:

    • 由于缺少缓存空间而被丢弃的分组百分数
    • 平均队列长度
    • 超时重传的分组数
    • 平均分组时延
    • 分组时延的标准差等等
  • 思路:在发生拥塞后,采取措施进行控制,消除拥塞