1.一种具有中心控制节点的网络拥塞控制方法,其特征在于,包括以下步骤:测量各个中间节点的网络状态以及发送端的网络状态;
根据网络状态,分别判定发送端和中间节点是否发生拥塞;
若发送端和中间节点发生了拥塞,则获取拥塞通告;
依据拥塞判定结果和拥塞通告,分别对发送端和中间节点进行拥塞处理。
2.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,所述中间节点的网络状态包括链路利用率和中间节点的缓存占用率。
3.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,所述发送端的网络状态包括发送端传输层的下层缓存队列长度。
4.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,所述判定发送端是否发生拥塞的步骤包括:若发送端传输层的下层缓存队列长度小于设定阈值,则发送端没有发生拥塞,否则发送端发生了拥塞。
5.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,所述判定中间节点是否发生拥塞的步骤包括:若中间节点的缓存中数据包的数量超过了设定阈值,则中间节点发生了拥塞;或者,若中间节点的数据链路的速率超过了设定阈值,则中间节点发生了拥塞。
6.根据权利要求5所述的具有中心控制节点的网络拥塞控制方法,其特征在于,若中间节点发生了拥塞,比较数据流i的数据包缓存率与中间节点的数据流个数的倒数的大小,若数据流i的数据包缓存率大于或等于中间节点的数据流个数的倒数,则中间节点是由数据流i引起的拥塞。
7.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,当发送端发生拥塞,即传输层检测到下层缓存队列长度超过设定阈值时,则发送端传输层获得拥塞通告,不再向下层发送数据包。
8.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,当中间节点发生拥塞,向中心控制节点发生拥塞通告,获取拥塞数据流信息,并通告拥塞数据流的第一跳中间节点,第一跳中间节点发送拥塞通告至发送端。
9.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,所述对发送端进行拥塞处理的步骤包括:当收到来自应用层的数据包或者来自第一跳中间节点拥塞通告定时器超时时,检查下层队列长度Q_L,如果下层队列长度Q_L小于设定阈值,则向下层发送数据包;否则,启动定时器,在定时器超时后再次检查下层队列长度Q_L,直到下层队列长度Q_L小于设定阈值。
10.根据权利要求1所述的具有中心控制节点的网络拥塞控制方法,其特征在于,所述对中间节点进行拥塞处理的步骤包括:当收到来自中间节点的拥塞通告,中心控制节点检查该拥塞通告,标记拥塞数据流并启动拥塞通告定时器,并持续监听中间节点的拥塞解除信息,如果收到拥塞解除信息,则通告拥塞数据流的第一跳中间节点拥塞已经解除;否则直到拥塞通告定时器超时,通告第一跳中间节点拥塞解除。