CN107204933A - 分布式流量调节方法及装置 - Google Patents

分布式流量调节方法及装置 Download PDF

Info

Publication number
CN107204933A
CN107204933A CN201610149299.6A CN201610149299A CN107204933A CN 107204933 A CN107204933 A CN 107204933A CN 201610149299 A CN201610149299 A CN 201610149299A CN 107204933 A CN107204933 A CN 107204933A
Authority
CN
China
Prior art keywords
node
flow
downstream
load metric
branch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610149299.6A
Other languages
English (en)
Other versions
CN107204933B (zh
Inventor
龚志波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610149299.6A priority Critical patent/CN107204933B/zh
Publication of CN107204933A publication Critical patent/CN107204933A/zh
Application granted granted Critical
Publication of CN107204933B publication Critical patent/CN107204933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及流量控制技术领域,尤其涉及网络通信中的分布式流量调节技术。在一种分布式流量调节方法中,流量域内各节点(除入口节点)均可计算节点负载度量值并向上游传播,并且,流量域内各节点(除出口节点)可根据自身下游网络的拥塞状态,对流经本节点的数据流进行独立分布的流量调节,在此过程中不必收集整个网络的拥塞状态后才能进行调节,实时性较好。同时,流量域内各节点独立、分布调节的最终结果也可实现全网流量均衡,但通过网络传递的信息量很少,几乎不增加网络负载。另外,本申请还提供了分布式流量调节装置,用以保证所述方法在实际中的应用及实现。

Description

分布式流量调节方法及装置
技术领域
本申请涉及流量控制技术领域,更具体地说,涉及分布式流量调节技术。
背景技术
在网络通信中,数据流从一个位置到另一个位置通常存在多条可能的路径,因此,可以将数据流分配至多条可能的路径中,以提高网络资源的利用率。
为避免个别路径拥塞,而其他路径空闲的情况,需要对各路径乃至链路的流量进行调节。现有的一种流量调节方式是,收集网络的拥塞状态信息至某台服务器,并在该台服务器上统一进行计算,服务器根据计算结果向各个节点下发流量调节指令。
然而,该种调节方式需要收集整个网络的拥塞状态后才能进行调节,实时性较差。
发明内容
有鉴于此,本申请提供了一种分布式流量调节方法,用以解决现有的流量调节方式实时性较差的技术问题。
为实现所述目的,本申请提供的技术方案如下:
一方面,本申请的实施例提供一种分布式流量调节方法,用于调节流量域内的流量分布。所述流量域内的节点包括入口节点、中间节点及出口节点;
流量域内的任意节点所执行的分布式流量调节方法包括:根据所述流量域的网络拓扑信息,确定本节点在所述流量域中针对聚合流的上下游邻居节点;确定本节点的节点负载度量值;在作为所述流量域中的非入口节点的情况下,将本节点的节点负载度量值向上游的邻居节点发送;在作为所述流量域中的非出口节点且下游连接多个邻居节点的情况下,使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例,并将所述聚合流中流经本节点的数据流按照所述流量分配比例分配至各个所述下游链路。其中,聚合流为从流量域中的入口节点进入从流量域出口节点流出的数据流;节点负载度量值表示本节点针对所述聚合流的所有分支子网的整体拥塞情况;分支子网包括从本节点开始经过同一条下游链路到达出口节点的所有可用路径;下游链路为本节点和下游邻居节点之间的链路。通过本申请实施例提供的方案,流量域内各节点(除出口节点)可根据自身下游网络的拥塞状态,对流经本节点的数据流进行独立分布的流量调节,在此过程中不必收集整个网络的拥塞状态后才能进行调节,实时性较好。同时,流量域内各节点独立、分布调节的最终结果也可实现全网流量均衡,但需要通过网络传递的信息量很少,几乎不增加网络负载。
在一个可能的设计中,流量域内的任意节点在作为出口节点的情况下,可初始化本节点的节点负载度量值,例如可将节点负载度量值初始化为NULL,或者初始化为出口节点流量总和与出口链路带宽总和的比值,或者初始化为下游的流量域传递过来的节点负载度量值。通过本申请实施例提供的方案,可以更好地确定本节点的节点负载度量值,并方便其他节点确定本节点的节点负载度量值。
在一个可能的设计中,流量域内的任意节点在作为非出口节点且下游仅连接一个邻居节点的情况下,可将本节点的节点负载度量值设置为下游链路的链路负载度量值与下游邻居节点的节点负载度量值中的较大值;其中,所述链路负载度量值表示相应的下游链路的拥塞情况。在本申请实施例提供的方案中,从下游链路和下游邻居节点的节点负载度量值中选取的较大值,可以更好得反映本节点针对聚合流的分支子网的拥塞情况。
在一个可能的设计中,在作为非出口节点且下游连接多个邻居节点的情况下,获取各分支子网的分支子网负载度量值,将本节点的节点负载度量值设置为所述各分支子网负载度量值的加权平均值;其中,所述分支子网负载度量值表示分支子网的拥塞情况。在本申请实施例提供的方案中,通过加权平均的方式,可更好得反映本节点针对聚合流的所有分支子网的整体拥塞情况。
在一个可能的设计中,上述使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例的具体实现步骤包括:将分支子网负载度量值高于本节点的节点负载度量值的分支子网所对应的下游链路,确定为高温链路;其中,所述分支网负载度量值是依据所述下游邻居节点的节点负载度量值得到的;将分支子网负载度量值低于本节点的节点负载度量值的分支子网所对应的下游链路,确定为低温链路;分别确定高温链路的流量减少量和低温链路的流量增加量;依据所述高温链路的流量减少量,确定高温链路的流量分配比例;根据所述低温链路的流量增加量,确定低温链路的流量分配比例。通过本申请实施例提供的方案,将下游链路区分为高温链路和低温链路,针对高温链路减少流量,针对低温链路增加流量,可使各条下游链路所在分支子网的分支子网负载度量值趋于一致。
在一个可能的设计中,在确定流量减少量和流量增加量之前,还可先确定本次流量调节总量。然后,依据所述本次流量调节总量,确定所述高温链路的流量减少量;并依据所述本次流量调节总量,确定所述低温链路的流量增加量。在本申请实施例提供的方案,根据流量调节总量来确定流量减少量和流量增加量,可使得高温链路的流量减少量的总和,与低温链路的流量增加量的总和相一致,更好地使各条下游链路所在分支子网的分支子网负载度量值趋于一致。
在一个可能的设计中,确定本次流量调节总量的具体实现方式可包括:确定低温链路的可容纳总流量;根据所述聚合流流经本节点的当前实际总流量及所述低温链路的可容纳总流量,确定本次流量调节总量。在本申请实施例提供的方案中,由于高温链路需减少流量,低温链路需增加流量,因此,须考虑低温链路的可容纳总流量。而根据当前实际总流量及低温链路的可容纳总流量,确定本次流量调节总量,则综合考虑了当前实际总流量与可容纳总流量两个方面,使得确定出的本次流量调节总量更合理。
在一个可能的设计中,本次流量调节总量的确定方式可包括:根据流量调节总量表达式Z=k*s*(p-q),确定本次流量调节总量;其中,所述Z为本次流量调节总量,所述k为调节率,所述s为本节点针对所述聚合流的当前实际总流量与所述低温链路的可容纳总流量之间的较小值,所述p为所有高温链路所在分支子网的分支子网负载度量值的平均值,所述q为所有低温链路所在分支子网的分支子网负载度量值的平均值。在本申请实施例提供的方案中,选取了当前实际总流量与所述低温链路的可容纳总流量之间的较小值,这样可避免低温链路的可容纳总流量高于当前实际总流量太多,而导致多节点独立调整流量力量过大引起振荡。另外,计算高温链路与低温链路分支子网负载度量值之间的差值,是为了按照分支子网负载度量值的差值,来确定流量调节的力度。
在一个可能的设计中,上述确定低温链路的可容纳总流量的具体实现方式包括:依据低温链路的可容纳流量表达式Aj=(1-Tj)*Bj,确定每一低温链路的可容纳流量;将所有低温链路的可容纳流量加和,获得所述低温链路的可容纳总流量。其中,j表示第j条低温链路,Aj为第j条低温链路的可容纳流量,Tj为第j条低温链路所在分支子网的分支子网负载度量值,Bj为第j条低温链路所在分支子网的带宽。在本申请实施例提供的方案中,综合考虑了每条低温链路的分支子网负载度量值及带宽,使得确定出的低温链路的可容纳总流量更准确、更合理。
在一个可能的设计中,所述依据所述本次流量调节总量,确定所述高温链路的流量减少量的具体实现方式包括:依据高温链路的流量减少量表达式确定所述高温链路的流量减少量;其中,i表示第i条高温链路,Ri为第i条高温链路的流量减少量,V为本次流量调节总量,Fi为第i条高温链路针对所述聚合流的当前实际流量,Ti为第i条高温链路所在分支子网的分支子网负载度量值;所述x为高温链路的总条数。在本申请实施例提供的方案,以所有高温链路的加权实际流量总和为分母(基础),得到每一条高温链路加权实际流量所占的比例,得到的比例乘以本次流量调节总量,得到的是每一高温链路的流量减少量,这样可使得确定出的高温链路的流量减少量更准确、更合理。
在一个可能的设计中,所述依据所述高温链路的流量减少量,确定高温链路的流量分配比例的具体实现方式包括:按照高温链路流量分配比例表达式确定各高温链路的流量分配比例;其中,所述Pi为第i条高温链路的流量分配比例,所述U为本节点针对所述聚合流的当前实际总流量。在本申请实施例提供的方案,综合考虑了当前实际总流量、高温链路针对所述聚合流的当前实际流量、高温链路的流量减少量来确定分配比例,可使得确定出的分配比例更合理。
在一个可能的设计中,所述依据所述本次流量调节总量,确定所述低温链路的流量增加量的具体实现方式包括:依据低温链路的流量增加量表达式确定所述低温链路的流量增加量;其中,所述j表示第j条为低温链路,所述Dj表示第j条低温链路的流量增加量,所述V为本次流量调节总量,所述Fj为表示第j条低温链路针对所述聚合流的当前实际流量,所述Tj为表示第j条低温链路所在分支子网的分支子网负载度量值;所述y为低温链路的总数。在本申请实施例提供的方案中,综合考虑了本次流量调节总量、低温链路针对所述聚合流的当前实际流量、分支子网负载度量值、低温链路的流量增加量来确定分配比例,可使得确定出的流量增加量更合理。
在一个可能的设计中,所述依据所述低温链路的流量增加量,确定低温链路的流量分配比例的具体实现方式包括:按照低温链路流量分配比例表达式确定各低温链路的流量分配比例;其中,所述Pj为第j条低温链路的流量分配比例,所述U为本节点针对所述聚合流的当前实际总流量。在本申请实施例提供的方案中,综合考虑了当前实际总流量、低温链路针对所述聚合流的当前实际流量、低温链路的流量增加量来确定分配比例,可使得确定出的分配比例更合理。
在一个可能的设计中,各分支子网的分支子网负载度量值的获得方式是:将分支子网包含的下游链路的链路负载度量值与所述分支子网包含的下游邻居节点的节点负载度量值中的较大值,确定为所述分支子网的分支子网负载度量值。在本申请实施例提供的方案中,从分支子网包含的下游链路和下游邻居节点的节点负载度量值中选取的较大值,可以更好地反映分支子网的拥塞情况。
在一个可能的设计中,所述将所述聚合流中流经本节点的数据流按照所述流量分配比例分配至各个所述下游链路的具体实现方式包括:根据所述流量分配比例,设置每一所述下游链路在预设的实数区间中对应的子区间;其中,各下游链路对应的子区间连续、不遗漏且不重复得覆盖所述实数区间;为所述聚合流中流经本节点的传输数据单位生成随机数;确定所述随机数所归属的子区间,并将所述传输数据单位分配至所述子区间所对应的下游链路。在本申请实施例提供的方案中,使用随机生成的随机数及各分配比例对应的子区间来实现分流,使得在一段时间内,各下游链路之间的实际流量比例趋近于前述计算得到的分配比例。
另一方面,本申请实施例提供了一种分布式流量调节装置,该分布式流量调节装置具有实现上述方法实际中任意节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,分布式流量调节装置的结构中包括处理器和发射器,所述处理器被配置为支持流量域中任意节点执行上述方法中相应的功能。所述发射器用于支持分布式流量调节装置与其他节点之间的通信,向其他节点发送上述方法中所涉及的数据。所述分布式流量调节装置还可以包括存储器,所述存储器用于与处理器耦合,其保存分布式流量调节装置必要的程序指令和数据。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述分布式流量调节装置所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
与现有的集中式流量调节方式相比,本申请流量域内的各个节点(除入口节点)均可计算节点负载度量值并向上游传播,并可以根据自身下游网络的拥塞状态,对流经本节点的数据流进行独立分布的流量调节,不必收集整个网络的拥塞状态后才能进行调节,实时性较好。而流量域内所有节点独立、分布调节的最终结果也可实现全网流量均衡,但通过网络传递的信息量很少,几乎不增加网络负载。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的流量域的一个示例图;
图2a-2b、图4-5为本申请提供的分布式流量调节方法的一个示例图;
图3为本申请提供的流量域内可用路径的一个示例图;
图6-7为本申请提供的分布式流量调节装置结构示意图。
具体实施方式
本申请所提供的技术方案适用于存在多路径的通讯网络,通讯网络可以是整个网络,也可以是网络的一个局部部分。不论是整个还是局部网络,在本申请的应用场景中,统称为流量管理域,或者进一步简称为流量域。
对于中小型网络如企业网、数据中心网络等,可以直接把整个网络作为一个流量域;对于大型网络如广域网,可以依据路由协议的自治域划分出整个网络的一部分作为一个流量域(全球互联网成很多个自治域,运营商、机构甚至公司等都可以申请自治域号码);或者,流量域还可以根据实际需要,选择更小的范围。
流量管理域可由网络运维人员人为划分。
流量域中可包括多个节点。图1示出了流量域的一个示例。在图1所示的流量域中包含A、B、C、D、E和F六个节点,其中,节点A及节点F为边缘节点,节点B、C、D及E为中间节点。
节点可以但不限定于是路由器,任一节点至少可用于接收来来自流量域内其他节点或流量域外的网元的数据包,根据数据包所含的目的地址,决定转发到下一个目的地址或节点,此外,在本发明中,其还可执行分布式流量调节装置的所有操作。
边缘节点可以作为入口节点,也可以作为出口节点。一个流量域内可以有多个入口节点-出口节点对,在确定某一入口节点-出口节点对后,便可以定义出一个聚合流,聚合流包括从入口节点流入至出口节点流出的所有数据流。
以图1所示的流量域为例,在以节点A为入口节点、节点F为出口节点时,可以定义出聚合流AF(聚合流AF包括从节点A进入、从节点F流出的数据流)。需要说明的是,聚合流AF是单向的,聚合流AF与聚合流FA是互相无关的两个聚合流。聚合流FA是以节点F为入口节点,以节点A为出口节点,从节点F进入,从节点A流出的数据流。
也即,对于一个边缘节点,针对某一聚合流,其可能作为入口节点,而针对另一聚合流,其可能作为出口节点。
仍以聚合流AF为例,聚合流AF从节点A到节点F,存在多种可能的路径。为了实现多条路径的有效利用,本发明实施例提供了分布式流量调节方法及分布式流量调节装置,用以根据网络的拥塞情况,在多条可能的路径中分配数据流。
该分布式流量调节装置具体可为流量域中的节点(路由器)。
需要说明的是,本分布式流量调节方法/装置的应用范围是流量域。因此,无论流量域内如何调节数据流在各条路径中的传递流量,均不会影响其在本流量域之外的所经路径。以图1所示的流量域为例,调节前,数据流从节点A进入本流量域,并从节点F流出,调节后,数据流仍从节点A进入且从节点F流出。
这样,可以保证流量域内的路由计算独立于域间路由,流量域内的路由优化不影响域间路由,从而保证网络的层次性控制不被破坏。
下面将基于上面所述的本发明涉及的共性方面,对本发明实施例进一步详细说明。
本发明的一个实施例提供一种分布式流量调节方法,和基于这个方法的分布式流量调节装置(节点)。
图2a和图2b示出了针对某一聚合流,入口节点、出口节点以及中间节点的交互示意图。
在200部分:流量域内的每个节点(入口节点、出口节点、中间节点)确定本节点在聚合流中的上下游邻居节点。
在一个示例中,确定上下游邻居节点可包括如下步骤:
步骤1:确定域内的网络拓扑信息;
在一个示例中,流量域内的每个节点可以使用OSPF(Open Shortest PathFirst,开放式最短路径优先)路由协议,将流量域内的网络拓扑信息扩散到本流量域内的所有节点。
更具体的,域内每一节点与邻居节点之间交换网络拓扑信息,最终实现全域所有节点都掌握了域内的网络拓扑信息。
其中,网络拓扑信息可以包括但不限定于链路连接关系、链路带宽等。另外,节点扩散网络拓扑信息使用的路由协议也并非局限于OSPF路由协议,还可以是IS-IS(Intermediate system to intermediate system,中间系统到中间系统)等其他路由协议。
步骤2:获取每一聚合流的可用路径;
流量域内的各个节点获得本流量域的网络拓扑信息后,可采用多路径算法(Multiple Path Algorithm,简称MPA)计算某一聚合流在本流量域内的所有路径,并可以选择全部路径或者衡量指标较好的一部分路径作为可用路径(为了方便,以下可以将可用路径简称为路径)。当然,在计算路径时,还可以使用MPDA(multipath probability dataassociation,多路径概率数据关联)等其他路径算法。
以图1所示的流量域为例,虽然聚合流AF从入口节点A到出口节点F的路径有多条,但是,本实施例可以选择全部路径或者衡量指标较好的一部分路径作为可用路径,如图3所示,聚合流AF的可用路径可以包括三条,分别是ABDF、ACDF、ACEF,路径ABDCEF理论上可用,但由于跳数开销较大,并未将其作为可用路径。
需要说明的是,每个节点获得的网络拓扑信息相同,且使用相同的路径算法,因此,每个节点获得的可用路径是相同的,流量域内不存在环路或者黑洞。
步骤3:根据可用路径,获取本节点针对聚合流的上游邻居节点及下游邻居节点。
在一流量域内,在确定出聚合流的可用路径后,便可以确定本节点在该聚合流中的上下游位置关系,也便可以确定本节点针对聚合流的上游邻居节点及下游邻居节点(上游邻居节点及下游邻居节点可以合称为上下游邻居节点)。
仍以图3为例,假定确定出的聚合流AF的可用路径可以包括三条,分别是ABDF、ACDF、ACEF。对于节点B,其上游邻居节点为节点A,其下游邻居节点为节点D。
当然,若本节点为入口节点(例如图3中的节点A),其上游邻居节点为空,若本节点为出口节点(例如图3中的节点F),其下游邻居节点为空。
此外,在确定出自身的下游邻居节点后,还可确定出本节点的下游链路。其中,下游链路为本节点与其下游邻居节点之间的链路。仍以图3为例,对于节点A而言,其没有上游邻居节点,但有两个下游邻居节点,分别为节点B及节点C。基于此可知,节点A的下游链路包括两条,分别为AB及AC。
在确定出下游链路后,本节点还可以更进一步确定出自身的分支子网。本实施例中,节点在调节流量时,需要使用分支子网的网络负载情况,为了防止由于概念混淆对本实施例方案的误解,此处对分支子网这个名词进行详细说明。
分支子网是从某节点开始,到达出口节点的所有可用路径的集合。可以理解的是,出口节点并不存在分支子网。因此,本实施例中,分支子网均是针对非出口节点而言的。
需要说明的是,分支子网中的所有可用路径,是经过同一条下游链路达到出口节点的。因此,分支子网与下游链路是紧密关联的。对于某节点而言,分支子网的个数与其下游链路的个数相同,简单而言,某节点存在几条下游链路,便存在相应个数的分支子网。
仍以图3为例,对于节点A而言,其有两条下游链路(AB及AC),因此,节点A有两个分支子网,其中一个分支子网包括可用路径ABDF,另一个分支子网包括可用路径ACDF及可用路径ACEF。
对于节点B而言,其仅有一条下游链路,因此,节点B仅有一个分支子网,即包括可用路径BDF。
对于节点C而言,其有两条下游链路(CD和CE),因此,节点C有两个分支子网,其中一个分支子网包括可用路径CDF,另一个分支子网包括可用路径CEF。
在201部分:出口节点初始化本节点的节点负载度量值。
仍以图3所示聚合流为例,出口节点F将确定出的节点负载度量值向上游邻居节点D和节点E发送。
节点负载度量值可以反映本节点的所有分支子网整体的拥塞情况,更具体地,拥塞情况可以包括但不限定于:网络局部可用性、负载程度、服务质量、链路成本及与网络运行策略相关的状态等。
在一个示例中,可将节点负载度量值的初始值设置为NULL(空值),或者设置其等于出口节点流量总和与出口链路带宽总和的比值,或者设置其为下游的流量域传递过来的节点负载度量值。
在202部分:出口节点向所有上游邻居节点传递节点负载度量值。
以图3中的节点F为例,节点F向节点D和E传递节点负载度量值。
节点负载度量值可以是一个0-1之间的数值,长度可以是一个字节或多个字节,通常地,为1至4个字节。或者,节点负载度量值也可以是一组数值。
节点负载度量值可以被封装在专用控制报文中发送,或者,也可以在现有的报文格式中增加或借用一个字段携带节点负载度量值。
节点负载度量值可以是按照固定间隔定时发送,如间隔1毫秒到1小时甚至更长。或者,也可以是基于触发条件发送,触发条件如本次的节点负载度量值与上次的变化幅度超过阈值。
在203部分:中间节点确定自身的节点负载度量值。
对于流量域内的中间节点及入口节点而言,可以根据分支子网的网络拥塞情况(可简称为拥塞情况),来确定自身的节点负载度量值(或者,可以称为节点温度)。
根据实际的网络拓扑结构,某节点的可能对应一个分支子网,也可能对应多个分支子网。
在对应一个分支子网的情况下,可以直接依据该分支子网的拥塞情况,确定该节点的节点负载度量值。
而在对应多个分支子网的情况下,则需要权衡每个分子子网的拥塞情况,来确定该节点的节点负载度量值。确定节点负载度量值的具体实现方式,参见下文详细说明。
在204部分:中间节点将自身的节点负载度量值向上游的邻居节点发送。
以图3中的节点D为例,节点F向节点B和C传递节点负载度量值。
关于节点负载度量值的详细内容,以及发送时机请参见202部分的介绍,在此不作赘述。
在本实施例中,流量域内的出口节点及中间节点(即非入口节点)依次将自身的节点负载度量值向上游的邻居节点发送,以使上游的邻居节点根据自身的节点负载度量值及接收到的节点负载度量值,执行后续的流量分配。
需要说明的是,由于本流量域内的入口节点并不存在上游的邻居节点,则其无需向上游的邻居节点发送节点负载度量值。当然,其他流量域中的出口节点,若需要使用本流量域入口节点的节点负载度量值作为初始的节点负载度量值,则该入口节点可以向其发送。
在205部分:中间节点使用本节点的节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一下游链路的流量分配比例,并将聚合流中流经本节点的数据流按照该流量分配比例分配至各个下游链路。
可以理解的是,若中间节点乃至后续207部分的入口节点只有一条下游链路,则流经本节点的数据流只能通过该下游链路发送,无需执行流量分配动作。
在206部分:入口节点确定自身的节点负载度量值。
在207部分:入口节点使用本节点的节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一下游链路的流量分配比例,并将聚合流中流经本节点的数据流按照该流量分配比例分配至各个下游链路。
例如,本节点有三条下游链路,确定出流量分配比例分别是20%,30%,50%,则将本节点20%,30%及50%的流量分配至该三条下游链路。
无论是入口节点还是中间节点,在对数据流分配至下游链路后,通常会返回确定自身的节点负载度量值的步骤。而若网络拓扑发生变化,则返回确定本节点在聚合流中的上下游邻居节点(或获取每一聚合流的可用路径)的步骤。
以上实施例中,在网络中划分出流量域,针对本流量域内的某个聚合流,节点向该聚合流的上游邻居节点发送自身的节点负载度量值,以使上游的邻居节点根据该节点负载度量值,独立执行流量调节动作,流量调节动作的目标是使本节点的每个分支子网的网络负载度量值趋于一致。该聚合流的路径上,多个节点执行流量调节,实现了本流量域针对聚合流的流量优化。
当然,针对多个聚合流,每一个节点也可以按照上述实施例提供的方法分别进行流量调节。针对该流量域内的每个聚合流均执行独立的流量调节后,便可以实现该流量域的流量优化。而每个流量域均独立执行流量调节后,从而实现了全网的流量优化。
此种在流量域内且针对聚合流执行的流量调节方法,每个节点独立调节,并不需收集全网的网络状态,每个节点的计算量小,调节动作实时、高效。
根据上述实施例的说明可知,每个节点均需要确定自身的节点负载度量值。但节点的类型不同,则确定节点负载度量值的方式也不同,图4则示出了某一节点在作为入口节点、出口节点或中间节点时,确定本节点的节点负载度量值的不同方式。
在400部分:判断是否是出口节点,如果是,进入401部分,否则进入402部分;
在401部分:初始化本节点的节点负载度量值。
401部分与前述201部分相类似,在此不作赘述。
在402部分:接收下游邻居节点传递的节点负载度量值;
402部分与前述的202部分、204部分相对应,在此不作赘述。
在403部分:计算每个分支子网的分支子网负载度量值;
在一个示例中,分支子网负载度量值的计算方式为:比较下游链路的链路负载度量值与下游邻居节点发送的节点负载度量值两者中的较大值,将较大值作为该分支子网负载度量值。从下游链路和下游邻居节点的节点负载度量值中选取的较大值,可以更好得反映各分支子网的拥塞情况。
举例来讲,对于图3所示的节点B,其下游链路为BD,其下游邻居节点为节点D,则从下游链路的链路负载度量值和节点D的节点负载度量值中取较大值,作为节点B对应的分支子网的分支子网负载度量值。
再以图3中的节点D为例,其只有一条下游链路DF,假设下游链路DF的链路负载度量值为0.2,节点D接收到节点F发送的节点负载度量值为NULL,则可以直接将节点D的节点负载度量值设置为0.2。
其中,链路负载度量值可以表示下游链路的网络拥塞情况,可选地,链路负载度量值可以具体为下游链路的带宽占用率。需要指出的是,此处的带宽占用率是下游链路上所有聚合流(而非本聚合流)的流量与本下游链路的链路带宽的比值。
在404部分:判断是否有多个下游链路;若是,进入406部分,否则进入405部分;
在405部分:将本节点的节点负载度量值设置为分支子网负载度量值;
在406部分:将各个分支子网负载度量值进行加权平均后,作为本节点的节点负载度量值。
每条下游链路的权重可以为,该下游链路的流量与本节点的总流量的比值。需要说明的是,此处的流量与总流量均是针对某一个聚合流的流量。
以图3中的节点C为例,其存在两条下游链路(CD及CE)。
对于下游链路CD而言,假设其链路负载度量值为0.2,且下游邻居节点D发送的节点负载度量值为0.1,则下游链路CD对应的分支子网CDF的分支子网负载度量值为0.2。
对于下游链路CE而言,假设其链路负载度量值为0.4,且下游邻居节点E发送的节点负载度量值为0.5,则下游链路CE对应的分支子网CEF的分支子网负载度量值为0.5。
假定聚合流AF流经节点C的流量为10M,其中,4M流量经过下游链路CD,6M流量经过下游链路CE,则下游链路CD的权重为0.4,下游链路CE的权重为0.6。
则节点C的节点负载度量值=分支子网CDF的分支子网负载度量值*下游链路CD的权重+分支子网CEF的分支子网负载度量值*下游链路CE的权重。用具体数值表示,节点C的节点负载度量值=0.2*0.4+0.5*0.6=0.38。
或者,每条下游链路的权重可均为1。
在407部分:判断是否是入口节点,如果是,则返回400部分,否则进入408部分。
在408部分:向上游邻居节点传送本节点的节点负载度量值。
408部分与前述的202部分以及204部分相类似,在此不作赘述。
下面,将重点介绍如何确定每一下游链路的流量分配比例,并将聚合流中流经本节点的数据流按照该流量分配比例分配至各个下游链路。
图5示出了针对某一聚合流,入口节点、出口节点以及中间节点的另一交互示意图。
500-502部分与前述的200-202部分分别相同,在此不作赘述。
503部分与前述的203部分相类似,并与图4所示实施例中的400、402-407部分相对应,在此不作赘述。
504部分与前述的204部分相类似,在此不赘述。
在505部分:中间节点将各条下游链路区分为高温链路及低温链路。
其中,高温链路,指的是分支子网负载度量值高于本节点的节点负载度量值的分支子网所对应的下游链路;低温链路,指的是分支子网负载度量值高于本节点的节点负载度量值的分支子网所对应的下游链路。
举例来讲,假定分支子网1-4的分支子网负载度量值分别是0.2、0.3、0.5和0.8。本节点的节点负载度量值是0.45,则分支子网1,2对应的链路是低温链路;分支子网3,4对应的链路是高温链路。
将下游链路区分为高温链路和低温链路,后续会针对高温链路减少流量分配,针对低温链路增加流量分配,从而可使各条下游链路的逐渐流量趋于一致。
需要说明的是,505部分与504部分可并行执行,也可先于504部分执行。
前述提及了负载度量值可为一组数值。该组数值的部分数值可反映本节点的所有分支子网整体的拥塞情况或某一分支子网整体的拥塞情况,其他数值还可表达网络的局部可用性、负载程度、服务质量、链路成本、与网络运行策略相关的状态等。从而使得网络流量优化目标不仅仅是流量均衡分配,还可涵盖优先利用服务质量较好的链路、优先利用链路成本较低的链路,达到综合优化。
网络运行策略可依据链路的成本制定。假设自有链路成本低,租用链路成本高。则可以制订网络运行策略——在网络负载相同时,人为把租用链路设置为高温链路,从而优先使用自有链路,减少使用租用链路。
在506部分:中间节点计算低温链路的可容纳总流量。
在一个示例中,可根据低温链路的可容纳流量表达式Aj=(1-Tj)*Bj,确定出每一低温链路的可容纳流量。将所有低温链路的可容纳流量加和,获得低温链路的可容纳总流量。
其中,j表示第j条低温链路,Aj为第j条低温链路的可容纳流量,Tj为第j条低温链路所在分支子网的分支子网负载度量值,Bj为第j条低温链路所在分支子网的带宽。
举例来讲,对一个聚合流,某节点有一个上游链路(编号0),4个下游链路(编号1-4),假设这4个下游链路所在分支网络的带宽分别是10MB,30MB,20MB,100MB,对应的分支子网负载度量值分别是0.2、0.3、0.5和0.8。
则低温链路1可容纳带宽=(1-0.2)*10MB=8MB;
低温链路2可容纳带宽=(1-0.3)*30MB=21MB;
低温链路的可容纳总流量=21+8=29MB。
需要说明的是,分支子网带宽的算法可以但不限于最短增广路算法、深度优先搜索增广路径算法、广度优先搜索增广路径算法、最大容量增广路算法或容量缩放算法等。
在507部分:中间节点确定本次流量调节总量。
在一个示例中,可根据流量调节总量表达式Z=k*s*(p-q),确定本次流量调节总量。
上述表达式中,Z为本次流量调节总量,k为调节率,s为本节点针对聚合流的当前实际总流量与低温链路的可容纳总流量之间的较小值,p为所有高温链路所在分支子网的分支子网负载度量值的平均值,q为所有低温链路所在分支子网的分支子网负载度量值的平均值。
其中,调节率是一个系统参数,例如为5%-10%中的任意值。
仍沿用前例,假定本节点针对聚合流的当前实际总流量10MB,p=0.65,q=0.25,k=5%。低温链路的可容纳总流量为29MB,则
本次流量调节总量=5%*min(29MB,10MB)*(0.65-0.25)=0.2MB。
由于高温链路需减少流量,低温链路需增加流量,因此,须考虑低温链路的可容纳总流量。选取当前实际总流量与所述低温链路的可容纳总流量之间的较小值,可避免低温链路的可容纳总流量高于当前实际总流量太多,而导致多节点独立调整流量力量过大引起振荡。并且,调节率取值较小,则使用调节率计算获得的本次流量调节总量便是流量调节总量的一小部分,这样可以以渐进方式进行反馈调节,同样可避免多点独立调节造成的网络振荡。另外,计算高温链路与低温链路分支子网负载度量值之间的差值,是为了按照分支子网负载度量值的差值,来确定流量调节的力度。
在508部分:中间节点确定各高温链路的流量减少量和低温链路的流量增加量。
在一个示例中,可依据高温链路的流量减少量表达式确定每一高温链路的流量减少量。
其中,i表示第i条高温链路,Ri为第i条高温链路的流量减少量,V为本次流量调节总量,Fi为第i条高温链路针对聚合流的当前实际流量,Ti为第i条高温链路所在分支子网的分支子网负载度量值;x为高温链路的总数。
在另一个示例中,可依据低温链路的流量增加量表达式确定各低温链路的流量增加量。
其中,j表示第j条为低温链路,Dj表示第j条低温链路的流量增加量,V为本次流量调节总量,Fj为表示第j条低温链路针对聚合流的当前实际流量,Tj为表示第j条低温链路所在分支子网的分支子网负载度量值;y为低温链路的总数。
仍沿用前例,假定前述4个下游链路针对聚合流的当前实际流量分别是1MB,3MB,4MB,2MB,对应的分支子网负载度量值分别是0.2、0.3、0.5和0.8。本次流量调节总量V为0.2M,则:
(高温)下游链路3本次调度减少流量额=0.2MB*4MB*0.5/(4MB*0.5+2MB*0.8)=0.111MB;
(高温)下游链路4本次调度减少流量额=0.2MB*2MB*0.8/(4MB*0.5+2MB*0.8)=0.089MB;
(低温)下游链路1本次调度增加流量额=
0.2MB*1MB*(1-0.2)/(1MB*(1-0.2)+3MB*(1-0.3))=0.055MB;
(低温)下游链路2本次调度增加流量额=
0.2MB*3MB*(1-0.3)/(1MB*(1-0.2)+3MB*(1-0.3))=0.145MB。
在509部分:中间节点确定各高温链路的流量分配比例以及各低温链路的流量分配比例。
在一个示例中,可按照高温链路流量分配比例表达式确定各高温链路的流量分配比例;其中,Pi为第i条高温链路的流量分配比例,U为本节点针对所述聚合流的当前实际总流量。
在另一个示例中,可按照低温链路流量分配比例表达式确定各低温链路的流量分配比例。
其中,Pj为第j条低温链路的流量分配比例。
仍沿用前例,则:
(低温)下游链路1的流量分配比例=(1MB+0.055MB)/10MB=10.55%;
(低温)下游链路2的流量分配比例=(3MB+0.145MB)/10MB=31.45%;
(高温)下游链路3的流量分配比例=(4MB-0.111MB)/10MB=38.89%;
(高温)下游链路4的流量分配比例=(2MB-0.089MB)/10MB=19.11%。
在该示例中,以所有高温链路的加权实际流量总和为分母(基础),得到每一条高温链路加权实际流量所占的比例,得到的比例乘以本次流量调节总量,得到的是每一高温链路的流量减少量,这样可使得确定出的高温链路的流量减少量更准确、更合理。
以上确定各条下游链路的流量分配比例的方式仅仅是一种具体示例,其使用的各个计算公式可以不同,确定各条下游链路的流量分配比例的目的是使各条下游链路所在分支子网的分支子网负载度量值趋于一致,因此,只要是能达到这个目的的计算方式均在本申请的保护范围内。
在510部分:中间节点根据流量分配比例,设置每一所述下游链路在预设的实数区间中对应的子区间;
其中,各下游链路对应的子区间连续、不遗漏且不重复得覆盖所述实数区间。
比如:有三个下游链路,流量分配比例分别是20%、30%、50%,则在[0,1]区间中对应3个子区间:[0,0.2)、[0.2,0.5)、[0.5,1]。
可以观察发现,某一子区间两端点间的差值等于对应的下游链路的流量分配。例如,[0,0.2)子区间的两端点间差值为0.2,其对应的下游链路的流量分配为20%。
在511部分:为聚合流中流经本节点的传输数据单位生成随机数,确定所述随机数所归属的子区间,并将传输数据单位分配至所述子区间所对应的下游链路。
仍沿用前例,假设以报文作为分配的传输数据单位,则本节点为聚合流中的报文生成随机数,例如生成的随机数为0.5,0.5归属于第三个子区间,因此,将该报文发送至第三条下游链路。
需要说明的是,以报文作为分配的传输数据单位,实现方式简单且开销较低,但会导致报文乱序的问题。因此,可以将源目地址流、五元组流、小流或其他聚合流细分后的单位作为传输数据单位。
其中,源目地址流指的是,源网络地址和目的网络地址相同的数据流的集合;五元组流指的是,源网络地址、目的网络地址、源传输层端口号、目的传输层端口号、协议号相同的数据流的集合;小流指的是,源目地址流或五元组流暂时中断某时间长度后,则认为把这个流划分成了两个分段,每个分段即为一个小流。时间长度可以是大于网络最大时延的一个时间值,例如100毫秒。小流可以把源目地址流或五元组流进一步细分,但不会导致报文乱序。
505部分至511部分是前述的205部分的细化。
512部分与前述的206部分相类似,并与图4所示实施例中的400、402-407部分相对应,在此不作赘述。
513部分至519实现的是入口节点使用本节点的节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一下游链路的流量分配比例,并将聚合流中流经本节点的数据流按照该流量分配比例分配至各个下游链路。其与505部分至511部分相类似,在此不作赘述。
综上,本发明所提供的分布式流量调节方法,可实现网络多路径的有效利用。通过自动化调节,取得每个聚合流在可用路径上的流量均衡,进而取得全网流量均衡,提高网络利用率。
并在如下方面具有高效的优点:
负载信息传递高效:每个聚合流的每个下游分支子网的负载状态经过逐跳合并计算,只需要用一个数值(例如1~4字节)或一组数值描述。即方案描述中的负载度量值;
调节动作高效:每个聚合流全程沿途的每个分支节点都可参与调节,不需要做显式的全网协同动作。本地微小动作即可优化整个下游区域。调节反应快、实施简便;
计算高效:通过分布式设计和信息压缩,每个环节的计算量都很小。而集中式流量工程技术往往需要在高性能服务器上进行几个小时的计算。
同时在如下方面具有实时的优点:由于不需要做全网状态同步、全网动态协调、大数据量集中计算,依靠网络内部的高效通讯反馈和分布式操作,可实现全网实时调节。
此外,通过扩展传递信息和相应优化算法,可使得网络流量优化目标不仅仅是流量均衡分配,还包括优先利用服务质量较好的链路、优先利用链路成本较低的链路,形成综合优化。
下面将介绍分布式流量调节装置。前已述及,分布式流量调节装置可为流量域内的任一节点(路由器)。
图6示出了上述实施例中所涉及的节点(路由器)的一种可能的结构示意图,包括:
第一确定单元601,用于根据流量域的网络拓扑信息,确定本节点在所述流量域中针对聚合流的上下游邻居节点;
第二确定单元602,用于确定本节点的节点负载度量值;
发送单元603,用于在作为流量域中的非入口节点的情况下,将本节点的节点负载度量值向上游的邻居节点发送;
接收单元604,用于在作为流量域中的非出口节点时,接收下游邻居节点的节点负载度量值;
分配单元605,用于在作为流量域中的非出口节点且下游连接多个邻居节点的情况下,使用本节点的节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一下游链路的流量分配比例,并将聚合流中流经本节点的数据按照该流量分配比例分配至各个下游链路。
其中,第一确定单元601可用于执行图2a所示实施例的200部分,图5所示实施例的500部分。
第二确定单元602可用于执行图2a所示实施例的201部分或203部分或206部分,图2b所示实施例的“确定本节点的节点负载度量值”部分,图4所示实施例的400-401部分或400、403-405部分,图5所示实施例的501部分或503部分或512部分。
发送单元603可用于执行图2a所示实施例的202部分或204部分,图2b所示实施例的“发送本节点的节点负载度量值”部分,图4所示实施例的407-408部分,图5所示实施例的502或504部分。
接收单元604可用于执行图4所示实施例的402部分,此外,也可用于执行所有实施例中涉及接收数据的操作。
分配单元605可用于执行图2a所示实施例的205部分或207部分、图5所示的505-511或513-519部分。
图7示出了上述实施例中所涉及的节点/路由器的另一种可能的结构示意图,包括:
总线、控制器/处理器1、存储器2、通信接口3、输入设备4和输出设备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
控制器/处理器1可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(Network Processor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器1也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
存储器2中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器2可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。
输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏等。
输出设备5可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。通信接口3可用于支持节点/路由器与其他装置进行通信。例如,用于支持节点/路由器与图2a、2b、4、5中示出的其他装置(例如上下游邻居节点)进行通信。控制器/处理器1也可用于实现前述发送单元603和接收单元604的功能。
控制器/处理器1可用于执行图2a、2b、4、5中的处理过程和/或用于本申请所描述的技术的其他过程。控制器/处理器1也可用于实现前述第一确定单元601、第二确定单元602和分配单元605的功能。
可以理解的是,图7仅仅示出了节点/路由器的简化设计。在实际应用中,节点/路由器可以包含任意数量的发射器,接收器,处理器,控制器,存储器,通信接口等,而所有可以实现本发明的节点/路由器都在本发明的保护范围之内。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (9)

1.一种分布式流量调节方法,其特征在于,用于调节流量域内的流量分布,所述流量域内的节点包括入口节点、中间节点及出口节点;所述流量域内的任意节点所执行的分布式流量调节方法包括:
根据所述流量域的网络拓扑信息,确定本节点在所述流量域中针对聚合流的上下游邻居节点;其中,所述聚合流为从所述流量域中的入口节点进入从所述流量域出口节点流出的数据流;
确定本节点的节点负载度量值;其中,所述节点负载度量值表示本节点针对所述聚合流的所有分支子网的整体拥塞情况,所述分支子网包括从本节点开始经过同一条下游链路到达出口节点的所有可用路径,所述下游链路为本节点和下游邻居节点之间的链路;
在作为所述流量域中的非入口节点的情况下,将本节点的节点负载度量值向上游的邻居节点发送;
在作为所述流量域中的非出口节点且下游连接多个邻居节点的情况下,使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例,并将所述聚合流中流经本节点的数据流按照所述流量分配比例分配至各个所述下游链路。
2.根据权利要求1所述的分布式流量调节方法,其特征在于,所述确定本节点的节点负载度量值,包括:
在作为出口节点的情况下,初始化本节点的节点负载度量值;
在作为非出口节点且下游仅连接一个邻居节点的情况下,将本节点的节点负载度量值设置为下游链路的链路负载度量值与下游邻居节点的节点负载度量值中的较大值;其中,所述链路负载度量值表示相应的下游链路的拥塞情况;
在作为非出口节点且下游连接多个邻居节点的情况下,获取各分支子网的分支子网负载度量值,将本节点的节点负载度量值设置为所述各分支子网负载度量值的加权平均值;其中,所述分支子网负载度量值表示分支子网的拥塞情况。
3.根据权利要求2所述的分布式流量调节方法,其特征在于,所述使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例,包括:
将分支子网负载度量值高于本节点的节点负载度量值的分支子网所对应的下游链路,确定为高温链路;其中,所述分支网负载度量值是依据所述下游邻居节点的节点负载度量值得到的;
将分支子网负载度量值低于本节点的节点负载度量值的分支子网所对应的下游链路,确定为低温链路;
确定本次流量调节总量;
依据所述本次流量调节总量,确定所述高温链路的流量减少量;
依据所述本次流量调节总量,确定所述低温链路的流量增加量;
依据所述高温链路的流量减少量,确定高温链路的流量分配比例;
依据所述低温链路的流量增加量,确定低温链路的流量分配比例。
4.根据权利要求1所述的分布式流量调节方法,其特征在于,所述将所述聚合流中流经本节点的数据流按照所述流量分配比例分配至各个所述下游链路,包括:
根据所述流量分配比例,设置每一所述下游链路在预设的实数区间中对应的子区间;其中,各下游链路对应的子区间连续、不遗漏且不重复得覆盖所述实数区间;
为所述聚合流中流经本节点的传输数据单位生成随机数;
确定所述随机数所归属的子区间,并将所述传输数据单位分配至所述子区间所对应的下游链路。
5.一种分布式流量调节装置,其特征在于,用于调节流量域内的流量分布,所述流量域内的节点包括入口节点、中间节点及出口节点;所述装置包括:
第一确定单元,用于根据所述流量域的网络拓扑信息,确定本节点在所述流量域中针对聚合流的上下游邻居节点;其中,所述聚合流为从所述流量域中的入口节点进入从所述流量域出口节点流出的数据流;
第二确定单元,用于确定本节点的节点负载度量值;其中,所述节点负载度量值表示本节点针对所述聚合流的所有分支子网的整体拥塞情况,所述分支子网包括从本节点开始经过同一条下游链路到达出口节点的所有可用路径,所述下游链路为本节点和下游邻居节点之间的链路;
发送单元,用于在作为所述流量域中的非入口节点的情况下,将本节点的节点负载度量值向上游的邻居节点发送;
分配单元,用于在作为所述流量域中的非出口节点且下游连接多个邻居节点的情况下,使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例,并将所述聚合流中流经本节点的数据按照所述流量分配比例分配至各个所述下游链路。
6.根据权利要求5所述的分布式流量调节装置,其特征在于,在所述确定本节点的节点负载度量值的方面,所述第二确定单元用于:
在作为出口节点的情况下,初始化本节点的节点负载度量值;
在作为非出口节点且下游仅连接一个邻居节点的情况下,将本节点的节点负载度量值设置为下游链路的链路负载度量值与下游邻居节点的节点负载度量值中的较大值;其中,所述链路负载度量值表示相应的下游链路的拥塞情况;
在作为非出口节点且下游连接多个邻居节点的情况下,获取各分支子网的分支子网负载度量值,将本节点的节点负载度量值设置为所述各分支子网负载度量值的加权平均值;其中,所述分支子网负载度量值表示分支子网的拥塞情况。
7.根据权利要求6所述的分布式流量调节装置,其特征在于,在所述使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例的方面,所述分配单元用于:
将分支子网负载度量值高于本节点的节点负载度量值的分支子网所对应的下游链路,确定为高温链路;其中,所述分支网负载度量值是依据所述下游邻居节点的节点负载度量值得到的;
将分支子网负载度量值低于本节点的节点负载度量值的分支子网所对应的下游链路,确定为低温链路;
确定本次流量调节总量;
依据所述本次流量调节总量,确定所述高温链路的流量减少量;
依据所述本次流量调节总量,确定所述低温链路的流量增加量;
依据所述高温链路的流量减少量,确定高温链路的流量分配比例;
依据所述低温链路的流量增加量,确定低温链路的流量分配比例。
8.根据权利要求5所述的分布式流量调节装置,其特征在于,在所述将所述聚合流中流经本节点的数据按照所述流量分配比例分配至各个所述下游链路的方面,所述分配单元用于:
根据所述流量分配比例,设置每一所述下游链路在预设的实数区间中对应的子区间;其中,各下游链路对应的子区间连续、不遗漏且不重复得覆盖所述实数区间;
为所述聚合流中流经本节点的传输数据单位生成随机数;
确定所述随机数所归属的子区间,并将所述传输数据单位分配至所述子区间所对应的下游链路。
9.一种分布式流量调节装置,其特征在于,用于调节流量域内的流量分布,所述流量域内的节点包括入口节点、中间节点及出口节点;所述装置包括处理器和存储器,其中,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:
根据所述流量域的网络拓扑信息,确定本节点在所述流量域中针对聚合流的上下游邻居节点;其中,所述聚合流为从所述流量域中的入口节点进入从所述流量域出口节点流出的数据流;
确定本节点的节点负载度量值;其中,所述节点负载度量值表示本节点针对所述聚合流的所有分支子网的整体拥塞情况,所述分支子网包括从本节点开始经过同一条下游链路到达出口节点的所有可用路径,所述下游链路为本节点和下游邻居节点之间的链路;
在作为所述流量域中的非入口节点的情况下,将本节点的节点负载度量值向上游的邻居节点发送;
在作为所述流量域中的非出口节点且下游连接多个邻居节点的情况下,使用本节点的所述节点负载度量值及接收到的下游邻居节点的节点负载度量值,确定每一所述下游链路的流量分配比例,并将所述聚合流中流经本节点的数据流按照所述流量分配比例分配至各个所述下游链路。
CN201610149299.6A 2016-03-16 2016-03-16 分布式流量调节方法及装置 Active CN107204933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610149299.6A CN107204933B (zh) 2016-03-16 2016-03-16 分布式流量调节方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610149299.6A CN107204933B (zh) 2016-03-16 2016-03-16 分布式流量调节方法及装置

Publications (2)

Publication Number Publication Date
CN107204933A true CN107204933A (zh) 2017-09-26
CN107204933B CN107204933B (zh) 2021-03-23

Family

ID=59903782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610149299.6A Active CN107204933B (zh) 2016-03-16 2016-03-16 分布式流量调节方法及装置

Country Status (1)

Country Link
CN (1) CN107204933B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059987A (zh) * 2019-05-20 2019-07-26 中国建筑科学研究院有限公司 一种水系统智能控制方法及智能节点
CN110138756A (zh) * 2019-04-30 2019-08-16 网宿科技股份有限公司 一种限流方法及系统
CN111355664A (zh) * 2020-02-19 2020-06-30 中国农业银行股份有限公司 一种流量控制方法及装置
CN112583729A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种路径的流量分配方法、网络设备及网络系统
CN112653632A (zh) * 2019-10-09 2021-04-13 北京京东振世信息技术有限公司 一种流量控制实现方法和装置
CN112764919A (zh) * 2020-12-31 2021-05-07 中国工商银行股份有限公司 分布式服务自适应负载均衡方法及装置
WO2021093509A1 (zh) * 2019-11-14 2021-05-20 华为技术有限公司 流量分配方法及装置
CN114255585A (zh) * 2021-12-07 2022-03-29 广东惠科信息技术有限公司 基于5g基站的目标区域人群导流方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555155A (zh) * 2003-12-19 2004-12-15 上海交通大学 区分流的前馈主动拥塞控制方法
CN101378354A (zh) * 2007-08-28 2009-03-04 华为技术有限公司 组播报文转发方法及装置
CN103001884A (zh) * 2012-12-12 2013-03-27 清华大学 分布式节能路由流量调整方法
CN104813620A (zh) * 2012-11-20 2015-07-29 思科技术公司 结构负载平衡
US20160050161A1 (en) * 2014-08-18 2016-02-18 Cisco Technology, Inc. Dynamic cascaded clustering for dynamic vnf

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1555155A (zh) * 2003-12-19 2004-12-15 上海交通大学 区分流的前馈主动拥塞控制方法
CN101378354A (zh) * 2007-08-28 2009-03-04 华为技术有限公司 组播报文转发方法及装置
CN104813620A (zh) * 2012-11-20 2015-07-29 思科技术公司 结构负载平衡
CN103001884A (zh) * 2012-12-12 2013-03-27 清华大学 分布式节能路由流量调整方法
US20160050161A1 (en) * 2014-08-18 2016-02-18 Cisco Technology, Inc. Dynamic cascaded clustering for dynamic vnf

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138756B (zh) * 2019-04-30 2021-05-25 网宿科技股份有限公司 一种限流方法及系统
EP3758325A4 (en) * 2019-04-30 2021-01-27 Wangsu Science & Technology Co., Ltd. TRAFFIC LIMITATION PROCESS AND SYSTEM
CN110138756A (zh) * 2019-04-30 2019-08-16 网宿科技股份有限公司 一种限流方法及系统
US11316792B2 (en) 2019-04-30 2022-04-26 Wangsu Science & Technology Co., Ltd. Method and system of limiting traffic
CN110059987A (zh) * 2019-05-20 2019-07-26 中国建筑科学研究院有限公司 一种水系统智能控制方法及智能节点
CN112583729B (zh) * 2019-09-27 2023-11-28 华为技术有限公司 一种路径的流量分配方法、网络设备及网络系统
CN112583729A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种路径的流量分配方法、网络设备及网络系统
WO2021057659A1 (zh) * 2019-09-27 2021-04-01 华为技术有限公司 一种路径的流量分配方法、网络设备及网络系统
CN112653632A (zh) * 2019-10-09 2021-04-13 北京京东振世信息技术有限公司 一种流量控制实现方法和装置
WO2021093509A1 (zh) * 2019-11-14 2021-05-20 华为技术有限公司 流量分配方法及装置
CN111355664A (zh) * 2020-02-19 2020-06-30 中国农业银行股份有限公司 一种流量控制方法及装置
CN112764919A (zh) * 2020-12-31 2021-05-07 中国工商银行股份有限公司 分布式服务自适应负载均衡方法及装置
CN114255585A (zh) * 2021-12-07 2022-03-29 广东惠科信息技术有限公司 基于5g基站的目标区域人群导流方法、装置及存储介质
CN114255585B (zh) * 2021-12-07 2023-12-22 广东惠科信息技术有限公司 基于5g基站的目标区域人群导流方法、装置及存储介质

Also Published As

Publication number Publication date
CN107204933B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN107204933A (zh) 分布式流量调节方法及装置
Low et al. Optimization flow control. I. Basic algorithm and convergence
US6310881B1 (en) Method and apparatus for network control
US6493317B1 (en) Traffic engineering technique for routing inter-class traffic in a computer network
Banner et al. Bottleneck routing games in communication networks
CN104396187B (zh) 带宽保证和工作保持的方法及装置
CN105897575A (zh) 一种sdn下基于多约束路径计算策略的路径计算方法
CN103036792B (zh) 一种最大化最小公平多数据流传输调度方法
CN104883696B (zh) 电力信息物理系统无线通信网等价多路径动态控制方法
CN103746852A (zh) 业务路由配置方法及网络管理设备
CN108337184A (zh) 流量均衡调度方法及装置
CN105743804A (zh) 一种数据流控制方法和系统
WO2014040554A1 (zh) 一种确定节能路由的方法和装置
CN110460546B (zh) 一种基于片上网络的数据采集方法
Paganini Congestion control with adaptive multipath routing based on optimization
Cole et al. Bottleneck links, variable demand, and the tragedy of the commons
Coiro et al. Energy saving improvements in IP networks through table lookup bypass in router line cards
Movsichoff et al. Decentralized optimal traffic engineering in connectionless networks
CN106105282A (zh) 利用链路缓冲区状态进行流量工程的系统和方法
Yan et al. Load balancing routing algorithm among multiple gateways in MANET with Internet connectivity
Xue et al. Primary user activity prediction based joint topology control and stable routing in mobile cognitive networks
Yang et al. A game-theoretic approach to stable routing in max-min fair networks
Jin et al. Dynamic congestion-based pricing of bandwidth and buffer
Wang et al. Performance analysis of multi-path routing in wireless ad hoc networks
Chen et al. M-plan: Multipath planning based transmissions for IoT multimedia sensing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant