TCP的拥塞控制原理

来源:互联网 发布:南京大学网络教育2017 编辑:程序博客网 时间:2024/06/11 12:00

面试中经常会被问到,如何解决网络拥塞问题?那么首先需要知道什么是拥塞以及拥塞控制的原理~-~**


1、拥塞:在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。


2、拥塞控制:提高网络利用率,降低丢包率,并保证网络资源对每条数据流的公平性。


3、拥塞控制与流量控制的关系

  • 拥塞控制是为了防止过多的数据注入到网络,使网络中的路由器或链路不致过载。拥塞控制的前提是网络能够承受现有的网络负荷。其是一个全局性的过程,涉及到所有的主机、路由器以及降低网络传输性能有关的所有因素

  • 流量控制是针对点对点通信量、端到端的控制,其所要做的就是抑制发送端发送数据的速率,以便接收端来得及接收

  • 某些拥塞控制的控制算法向发送端发送控制报文并告诉发送端,网络已出现故障,必须放慢发送速率,这点又和流量控制相似

4、实际网络中的拥塞情况



——横坐标是提供的负载,表示单位时间内输入给网络的分组数目

——纵坐标是吞吐量,表示单位时间内从网络输出的分组数目

实际网络情况中,随着提供的负载增大,网络吞吐量的增长速率逐渐减小。在网络吞吐量还没有饱和时,就已经有一部分分组被丢弃了。当网络的吞吐量远小于理想吞吐量时,网络就进入了轻度拥塞的状态当提供的负载达到某一数值时,网络的吞吐量开始下降,这是网络就进入了拥塞状态。当提供的负载继续增大到某一数值时,网络的吞吐量就下降到零,此时进入死锁(DeadLock)


5、拥塞控制的设计方法

  1. 开环控制:在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。但一旦整个系统运行起来,就不再中途进行改正

  2. 闭环控制是基于反馈环路的概念

  • (1)监测网络系统以便检测拥塞在何时何处发生

    (2)把拥塞发生的信息传送到可采取行动的地方
    (3)调整网络系统的运行以解决出现的问题


    6、拥塞控制的方法:

    慢开始、拥塞避免、快重传、快恢复


    想学习这四种方法的小伙伴们可以参考后面的几篇博文中!!