一种网络拥塞管理的方法及系统转让专利

申请号 : CN200910108053.4

文献号 : CN101582852B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋晓丽

申请人 : 中兴通讯股份有限公司

摘要 :

本发明适用于数据通信领域,提供了一种网络拥塞管理的方法及系统。网络中包括有具有拥塞检测功能的核心网络实体和可响应拥塞通知信息的上游网络实体,其特征在于,所述方法包括以下步骤:所述核心网络实体检测到拥塞情况则向所述上游网络实体发出拥塞通知信息;所述上游网络实体根据收到的拥塞通知信息将其数据传输速率降低一定步长值,同时复位定时器或计算数据包个数的计数器;所述定时器或计数器溢出时,触发所述上游网络实体进入速率恢复阶段。通过在定时器或计数器溢出时,上游网络实体增加数据传输速率,减少了网络带宽的浪费。

权利要求 :

1.一种网络拥塞管理的方法,网络中包括有具有拥塞检测功能的核心网络实体和可响应拥塞通知信息的上游网络实体,其特征在于,所述方法包括以下步骤:所述核心网络实体检测到拥塞情况则向所述上游网络实体发出拥塞通知信息;

所述上游网络实体根据收到的拥塞通知信息将其数据传输速率降低一定步长值,同时复位计算数据包个数的计数器;

所述计数器溢出时,触发所述上游网络实体进入速率恢复阶段,其中,所述计数器的溢出值是根据所在网络的拥塞检测最小概率进行具体设置;

其中,上游网络实体进入速率恢复阶段是将其数据传输速率增加预定步长值,或者是一次将其数据传输速率恢复为网络常态下的速率值。

2.如权利要求1所述的方法,其特征在于,所述上游网络实体在所述计数器被复位且未溢出前,若收到拥塞通知信息则根据收到的拥塞通知信息将其数据传输速率降低一定步长值,同时重新复位计算数据包个数的计数器。

3.如权利要求1所述的方法,其特征在于,所述速率恢复阶段包含快速恢复子阶段,所述快速恢复子阶段包含N次循环,每次循环上游网络实体将其数据传输速率按照预定算法增加相应步长值;

其中,在所述快速恢复子阶段中,所述按照预定算法增加相应步长值为使数据传输速率渐进式地恢复到预定的正常时值而在每次增加速率时根据预定算法计算得出的步长值。

4.如权利要求3所述的方法,其特征在于,所述速率恢复阶段还包含主动增加子阶段;

所述上游网络实体在快速恢复阶段的循环完成后,进入主动增加子阶段;所述主动增加子阶段包含M次循环,每次循环所述上游网络实体将其数据传输速率按照预定算法增加相应步长值。

5.如权利要求4所述的方法,其特征在于,

在所述主动增加子阶段中,所述按照预定算法增加相应步长值为使数据传输速率渐进式地主动恢复到某一预定的值而在每次增加速率时根据预定算法计算得出的步长值。

6.如权利要求4所述的方法,其特征在于,所述快速恢复子阶段包含的N次循环和所述主动增加子阶段包含M次循环的每次循环间隔为计数器从复位到溢出之间的时间长。

7.一种网络拥塞管理的系统,网络中包括有上游网络实体和汇聚所述上游网络实体所传输数据的核心网络实体,其特征在于,所述系统包括:拥塞检测单元,用于检测网络的拥塞情况并且在检测到拥塞情况时向所述上游网络实体发出拥塞通知信息;

拥塞通知信息响应单元,用于在收到拥塞通知信息时复位计算数据包个数的计数器;

数据传输速率调整单元,用于在上游网络实体收到核心网络实体发送的拥塞通知后降低数据传输速率,和所述计数器溢出时将所述上游网络实体的数据传输速率按照预定算法增加相应步长值,其中所述计数器的溢出值是根据所在网络的拥塞检测最小概率进行具体设置;

其中,上游网络实体进入速率恢复阶段是将其数据传输速率增加预定步长值,或者是一次将其数据传输速率恢复为网络常态下的速率值。

8.如权利要求7所述的系统,其特征在于,所述数据传输速率调整单元包括:限速子单元,用于在上游网络实体收到核心网络实体发送的拥塞通知后降低数据传输速率;

数据传输速率恢复子单元,用于在计数器溢出时,且数据传输速率未恢复到预定的正常时速率值之前,将所述上游网络实体数据传输速率按照预定算法增加相应步长同时还重新将所述计数器复位。

9.如权利要求8所述的系统,其特征在于,所述数据传输速率调整单元还包括:带宽探测子单元,用于在上游网络实体以等于或大于正常时速率值进行数据传输了一定时间且需要加快数据传输速率时,将所述上游网络实体的数据传输速率按照预定算法增加相应步长值。

说明书 :

一种网络拥塞管理的方法及系统

技术领域

[0001] 本发明属于数据通信领域,尤其涉及一种网络拥塞管理的方法及系统。

背景技术

[0002] 随着互联网技术的高速发展,网络中数据业务流量越来越大,从而导致了网络拥塞问题日趋凸显。与此同时,用户对网络性能的要求却越来越高。海量数据传输的以太网面临着如何实现高速、低延时的包转发的严峻挑战。
[0003] 目前,有很多拥塞管理及流量控制技术用于解决网络拥塞问题。如:802.3x(IEEE链路层流控标准)、RED(Random Early Detection,随机早期检测)和ECN(Explicit Congestion Notification,显示拥塞指示)等。这些技术方案中,具有后向拥塞通知功能的拥塞管理机制,因采用这种方式可使导致拥塞的网络实体及时了解到拥塞情况并采取相应的措施进行数据传送速率的控制,而受到大家关注。后向拥塞管理主要思路是,当配置了拥塞检测的核心网络实体通过对队列的监视检测到拥塞情况,则创建拥塞通知消息,通过该消息将网络的拥塞程度告知导致拥塞的网络实体,令其降低自身数据传送速率,以此缓解核心网络实体的拥塞。
[0004] 图1示出了现有技术提供的一种网络中后向拥塞管理机制的信号流向。图中的拥塞管理机制由一系列相互连接的网络设备完成,其中核心交换机B6为具有拥塞检测功能核心网络实体、边缘交换机B1、B2、B3、B4及相对应的可对拥塞通知响应的端节点S1、S2、S3、S4为其上游设备(或称为上游网络实体),边缘交换机B5及其相应的端节点S5为下游设备(或称为下游网络实体)。由图可见,上游端节点S1、S2、S3、S4发往S5的用户数据流通过边缘交换机B1、B2、B3、B4汇聚到核心交换机B6,导致核心交换机B6与边缘交换机B5间链路发生拥塞,设置了拥塞检测功能的核心网络实体B6检测到队列的拥塞情况,则通过拥塞通知消息通知其上游设备S1、S2、S3、S4,令各上游设备控制自身的数据传送速率。
[0005] 然而,上述机制并未定义相应用于通知网络实体增加数据发送速率的消息。从而使得拥塞解除后,先前降低了传送速率的网络实体因没有及时恢复而导致网络带宽的丢失,进而严重影响网络的性能。

发明内容

[0006] 本发明的目的在于提供一种网络拥塞管理的方法及系统,旨在解决现有技术下,网络拥塞管理中在网络拥塞时降低数据发送速率而不自行恢复导致浪费大量网络带宽的问题。
[0007] 本发明是这样实现的,一种网络拥塞管理的方法,网络中包括有具有拥塞检测功能的核心网络实体和可响应拥塞通知信息的上游网络实体,所述方法包括以下步骤:
[0008] 所述核心网络实体检测到拥塞情况则向所述上游网络实体发出拥塞通知信息;
[0009] 所述上游网络实体根据收到的拥塞通知信息将其数据传输速率降低一定步长值,同时复位定时器或计算数据包个数的计数器;
[0010] 所述定时器或计数器溢出时,触发所述上游网络实体进入速率恢复阶段。
[0011] 本发明的另一目的在于提供一种网络拥塞管理的系统,网络中包括有上游网络实体和汇聚所述上游网络实体所传输数据的核心网络实体,所述系统包括:
[0012] 拥塞检测单元,用于检测网络的拥塞情况并且在检测到拥塞情况时向所述上游网络实体发出拥塞通知信息;
[0013] 拥塞通知信息响应单元,用于根据收到的拥塞通知信息复位定时器或计算数据包个数的计数器;
[0014] 数据传输速率调整单元,用于在上游网络实体收到核心网络实体发送的拥塞通知后降低数据传输速率,或所述定时器或计数器溢出时将所述上游网络实体的数据传输速率按照预定算法增加相应步长值。
[0015] 本发明的有益效果是,可以有效的对网络的拥塞状况进行监视,并在拥塞时减小上游网络实体的数据传送速率,在拥塞消除后短时间内增加数据传输速率,以减少带宽丢失与浪费,使网络带宽利用率最大化。

附图说明

[0016] 图1是现有技术提供的一种网络中后向拥塞管理机制的信号流向图;
[0017] 图2是本发明实施例提供的一种网络拥塞管理的方法流程图;
[0018] 图3是本发明实施例提供的一种网络拥塞管理的具体方法流程图;
[0019] 图4是本发明实施例提供的一种网络拥塞管理方法中数据传输速率主动增加子阶段部分的步骤流程图;
[0020] 图5是本发明实施例提供的一种网络拥塞管理过程中数据传输速率的变化示意图;
[0021] 图6是本发明实施例提供的一种网络拥塞管理方法中提高网络带宽利用率的可能性示意图;
[0022] 图7是本发明实施例提供的一种网络拥塞管理方法中扩大带宽时的数据传输速率的变化示意图;
[0023] 图8是本发明实施例提供的一种网络拥塞管理系统。

具体实施方式

[0024] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025] 在本发明实施例中,在核心网络实体检测到网络发生拥塞时,向上游网络实体发送拥塞通知信息;上游网络实体收到拥塞通知信息,则降低数据发送速率;在一定时间或发送了一定数量的数据包后,上游网络实体增加数据发送速率。从而在拥塞解除后,上游网络实体增加数据发送速率,减少了带宽的浪费。
[0026] 图2示出了本发明实施例提供的一种网络拥塞管理的方法流程。该方法可以运用于由相互连接的网络实体组成的网络中。网络中可以包括有可响应拥塞通知信息的上游网络实体和具有拥塞检测功能的核心网络实体。上游网络实体将数据信息流汇聚到核心网络实体,核心网络实体再转发出去时就会因数据信息过多而发生拥塞。该网络拥塞管理方法的步骤如下:
[0027] 在步骤S201中,核心网络实体检测到拥塞情况则向上游网络实体发出拥塞通知信息;
[0028] 在步骤S202中,上游网络实体根据收到的拥塞通知信息将其数据传输速率降低一定步长值,同时复位定时器或计算数据包个数的计数器;
[0029] 定时器与计数器值可根据所在网络实际的拥塞检测最小概率情况进行具体设置。假设所在网络拥塞的产生概率是1%,那么计数器或定时器的溢出值设置为发送100个包或发送100个包的时间长度。若规定时间内上游网络实体未收到拥塞通知信息帧,则可判定网络的拥塞已解除。具体如下所述。
[0030] 上游网络实体根据收到的拥塞通知信息将其数据传输速率降低一定步长值,同时复位定时器或计算数据包个数的计数器;上游网络实体在定时器或计数器被复位且未溢出前,若收到拥塞通知信息则根据收到的拥塞通知信息也将其数据传输速率降低一定步长值,同时重新复位定时器或计算数据包个数的计数器。具体如下所述。
[0031] 在步骤S203中,定时器或计数器溢出时,触发所述上游网络实体进入速率恢复阶段。
[0032] 上游网络实体进入速率恢复阶段可以是将其数据传输速率增加预定步长值,也可以是一次将数据传输速率恢复到正常时值,即将数据传输速率恢复为网络常态下的速率值。
[0033] 为了保持网络的顺畅和提供网络带宽利用率,上游网络实体进入速率恢复阶段还可以采用逐步地增加数据传输速率的值的方式恢复数据传输速率。也即在本步骤中上游网络实体将其数据传输速率增加预定步长值的同时重新复位定时器和计数器,直到该数据传输速率增加了预定的次数,使数据传输速率达到预定的正常时值。这样,在定时器或计数器由复位到溢出之间,如果都没有发生网络拥塞情况,则上游数据传输设备的数据传输速率会最终达到预定的正常时值。具体如下所述。
[0034] 通过上述网络拥塞管理方法对网络实时管理,一旦网络出现拥塞,就调整各上游网络实体发送的数据,以消除拥塞;并根据所在网络实际拥塞的概率或网络速率调节的需要设置增加数据传输速率的时机,以充分利用网络宽带且减少网络拥塞发生。
[0035] 图3示出了本发明实施例提供的一种网络拥塞管理的具体方法流程图。
[0036] 在步骤S301:核心网络实体检测到拥塞情况,通过相应的拥塞通知消息将该信息告知导致拥塞的上游网络实体。
[0037] 在步骤S302:上游设备收到核心网络实体发回的拥塞通知消息,根据指示降低其速率传送速率,同时将用于判定拥塞解除的定时器/计数器T1复位。
[0038] 在步骤S303:定时器/计数器T1被复位且未溢出的运行期间,判断是否收到拥塞通知消息,是则转至步骤S302,否则执行步骤S304;
[0039] 在步骤S304:判断定时器/计数器T1是否溢出?
[0040] 定时器/计数器T1满时就会产生溢出,若溢出则说明定时周期内没有收到拥塞通知,可以判定网络拥塞解除,继续执行步骤S305;否则转至步骤S303。
[0041] 步骤S305:上游网络实体增加数据传输速率,记录调整次数并复位定时器或计数器。
[0042] 上游网络实体判定网络拥塞解除,则根据动态速率调整算法增加数据传输速率。该动态速率调整算法为预定的为使数据传输速率渐进式地恢复到预定的正常时值的算法,例如:该算法为将当前速率增加至1/2*(最近一次降低前速率+当前速率),进行速率的恢复,记录速率调整次数(执行一次该步骤调整次数加1),并将T1复位。
[0043] 步骤S306:判断T1内是否收到拥塞通知?
[0044] 此步骤主要用于试探性的进行数据传输速率的恢复,防止数据传输速率恢复后再次导致拥塞。若收到拥塞通知,这说明速率恢复的步伐稍大,转至步骤S302;若未收到拥塞通知,则说明调整后网络运行正常,顺序执行步骤S307。
[0045] 步骤S307:是否调整了N次(调整次数=N)?
[0046] N次的设置主要用于带宽恢复过程中速率的渐进性的增加,N值可根据网络速率调节的需求情况设置。这里默认为5次,若是已调整了N次则顺序执行步骤S308,否则转至步骤S305,继续进行速率的调整。
[0047] 步骤S308:数据传输速率恢复阶段结束。
[0048] 这时,网络进入正常运行状态。在上述网络拥塞管理具体方法中,上游网络实体收到拥塞通知后复位的定时器或计数器溢出时,触发上游网络实体进入速率恢复阶段。速率恢复阶段同样借用定时器或计数器控制循环的时间间隔,使上游网络实体渐进式地恢复到预定的正常时值,这一个循环过程也称为快速恢复子阶段。
[0049] 在上游网络实体需要增大数据传输速率,以便更好利用网络带宽,提高带宽利用率时,可以触发进入拥塞管理方法中数据传输速率主动增加子阶段部分,也即进入速率恢复阶段的主动增加子阶段;具体如下所述。
[0050] 图4示出了本发明实施例提供的一种网络拥塞管理方法中的数据传输速率主动增加子阶段部分的步骤流程。
[0051] 在步骤S401:带宽恢复流程结束或网络正常运行时规定时间内(衡量可进行探测的时长T2,T2值可设置,取决于用户期望带宽探测的频度)未收到拥塞通知,且需要增大数据传输速率时,触发进入带宽探测阶段,即进入拥塞管理方法中提高宽带利用率部分;
[0052] 在步骤S402:将当前数据传输速率试探性的增加来探测当前可用带宽,并将用于进行带宽探测的定时器/计数器T2复位;
[0053] 将当前数据传输速率试探性增加是指上游网络实体将其数据传输速率按照预定算法增加相应步长值;该预定算法增加相应步长值为使数据传输速率渐进式地主动恢复到某一预定的值而在每次循环以增加速率时根据预定算法计算得出的该次循环所要增加的步长值。
[0054] 在步骤S403:判断定时器/计数器T2从复位到溢出的运行期间是否收到拥塞通知,如收到拥塞通知(网络拥塞或探测失败)转至拥塞处理及带宽恢复流程之步骤S302,若未收到(网络正常或探测成功),顺序执行步骤S404;
[0055] 步骤S404:判断用于衡量探测的定时器/计数器溢出?若是则转至步骤S402再次探测可用带宽,若否则转至步骤S403,继续监视网络运行情况,即监视网络是否拥塞。
[0056] 在上述网络拥塞管理方法中的数据传输速率主动增加子阶段部分,是采用渐进式提高上游网络实体的数据传输速率,一直到网络发生拥塞为止。上述数据传输速率主动增加子阶段部分还可以设定循环增加数据传输速率的循环次数和数据传输速率增加的步长值。循环次数的设定可以和快速恢复子阶段类似设置为M次循环,每次循环后进行记录,当判断循环到M次时退出;设定数据传输速率增加的步长值为使数据传输速率渐进式地主动恢复到某一预定的值而在每次循环增加速率时根据预定算法计算得出的步长值。
[0057] 当然也可以采用将步骤S404判断用于衡量探测的定时器/计数器溢出时转至执行步骤S401,使上游网络实体仅将数据传输速率增加到其需要达到的速率就停止再增加,这样网络会更加稳定。上游网络实体需要达到的速率可以由所要传输的数据决定。本领域的技术人员可以理解,上述同等变化只要能实现进一步提高网络带宽利用率,就不脱离本发明的保护范围。
[0058] 图5示出了本发明实施例提供的一种网络拥塞管理过程中数据传输速率的变化。该网络实体原发送速率为10Gbps,当网络拥塞发生后,该网络实体收到通知其降低速率的拥塞通知消息,将自身速率降低至5Gbps,同时启动用于判定拥塞解除的定时器/计数器,若计时满仍未收到拥塞通知则证明拥塞恢复,启用动态速率调整,将速率增加至1/2*(最近一次降低前速率+当前速率),即第一次增加至1/2*(10+5)=7.5Gbps,第二次增加至
1/2*(10+7.5)=8.75Gbps,第三次1/2*(10+8.75)=9.375......预先设置进行调整的次数为N次,使速率接近最后一次降速前的速率。
[0059] 图6示出了本发明实施例提供的一种网络拥塞管理方法中提高网络带宽利用率的可能性。图中网络实体因拥塞而进行了两次速率的降低操作,但如果按照将速率增加至1/2*(最近一次降低前速率+当前速率)的方式进行数据传输速率恢复。数据传输速率仅恢复为接近最后一次降速前的速度即10Gbps,因此造成了第一次降速前的近5Gbps可用带宽的丢失。另外网络正常运行中,也可能因某时间段、地区业务量的降低,而导致网络中有很多可带挖掘的带宽,因此对于网络带宽的探测是很有可行性的。
[0060] 图7示出了本发明实施例提供的一种网络拥塞管理方法中扩大带宽时的数据传输速率的变化。当网络实体带宽恢复结束后,根据实际需要进入带宽探测阶段时,可以采用将当前速率增加一个特定的常数值实现。该值可以由用户自由设置,在此例中假设取值为1Gbps。如图7所示,第一次探测后速率增加至接近11Gbps,若此探测未引起拥塞,则进行第二次探测,将当前速率调整至12Gbps,如此类推,当增速至一定程度而导致网络拥塞将进入拥塞管理流程再根据拥塞程度适度降低速率;当网络正常运行时,用于衡量可进行带宽探测的定时器/计数器满,则触发进入带宽探测阶段将当前速率增加一个特定的常数值;可以反复循环逐步增大数据传输速率,提高带宽利用率;具体如上所述,此处不再赘述。
[0061] 图8示出了本发明实施例提供的一种网络拥塞管理的系统。该系统置于网络或网络实体内。网络中还包括有上游网络实体和汇聚所述上游网络实体所传输数据的核心网络实体。所述系统包括:
[0062] 拥塞检测单元801,用于检测网络的拥塞情况并且在检测到拥塞情况时向所述上游网络实体发出拥塞通知信息;具体如上所述。
[0063] 拥塞通知信息响应单元802,用于在收到的拥塞通知信息时复位定时器或计算数据包个数的计数器;具体如上所述。
[0064] 数据传输速率调整单元803,用于在上游网络实体收到核心网络实体发送的拥塞通知后降低数据传输速率,或在所述定时器或计数器溢出时将所述上游网络实体的数据传输速率增加预定步长值;具体如上所述。
[0065] 数据传输速率调整单元803可以包括有限速子单元8031、数据传输速率恢复子单元8032和带宽探测子单元8033。
[0066] 限速子单元8031,用于在上游网络实体收到核心网络实体发送的拥塞通知后降低数据传输速率;具体如上所述。
[0067] 数据传输速率恢复子单元8032,用于在定时器或计数器溢出时,且数据传输速率未恢复到预定的正常时速率值之前,将所述上游网络实体数据传输速率增加预定步长同时还重新将所述定时器或计数器复位;具体如上所述。
[0068] 带宽探测子单元8033,用于在上游网络实体以等于或大于正常时速率值进行数据传输了一定时间且需要加快数据传输速率时,将所述上游网络实体的数据传输速率增加一定步长值;具体如上所述。
[0069] 在本发明实施例中,上游网络实体在根据拥塞通知信息降低数据传输速率的同时复位定时器或计数器,等定时器或计数器溢出时再恢复数据传输速率,这样就减少了因拥塞管理降低数据传输速率导致的网络带宽的浪费;根据所在网络的拥塞检测最小概率和/或网络速率调节的需求设置定时器或计数器,可以更加有效地提高网络带宽的利用率;在定时器或计数器复位后且未溢出时,网络还有拥塞,上游网络实体根据收到的拥塞通知信息继续降低数据传输速率,可以不断调整上传数据的数据传输速率以消除网络拥塞;渐进式回复数据传输速率,可以更加稳定地实现带宽的恢复;速率恢复阶段还包含的主动增加子阶段,可以试探地增大数据传输速率,提高带宽利用率。
[0070] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。