CN105591895A - 管理网络流量的网络装置及其方法 - Google Patents
管理网络流量的网络装置及其方法 Download PDFInfo
- Publication number
- CN105591895A CN105591895A CN201510399189.0A CN201510399189A CN105591895A CN 105591895 A CN105591895 A CN 105591895A CN 201510399189 A CN201510399189 A CN 201510399189A CN 105591895 A CN105591895 A CN 105591895A
- Authority
- CN
- China
- Prior art keywords
- path
- mark
- managing network
- package
- sequence
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种管理网络流量的网络装置及其方法。管理网络流量的方法通过从多个路径中选择一个来管理网络流量,所述管理网络流量的方法包括:为所述网络流量中的封包选择多个路径序列中的一个;其中,所述多个路径序列的每个是相同的多个标记的有序列表,且所述多个标记分别相关联于所述多个路径;以及根据所选择的路径序列中的所述多个标记的顺序,为所述封包选择所述路径中的一个。本发明提供的管理网络流量的网络装置及其方法可以于活动路径的数量变化时,有效抑制中断信息流的数量,不需重建新的映射表就可以有效解决中断,以及于活动路径的数量变化后,更好地对更新的活动路径均匀分布流量。
Description
【技术领域】
本发明关于网络数据传输技术领域,特别关于一种管理网络流量的网络装置及其方法。
【背景技术】
在现代的信息社会,用于交换信息的计算机/通信网络变得必不可少。网络被建立在多个网络节点上,例如终端、服务器、数据库、网桥、交换机、以及路由器等。网络流量信息(Networktrafficinformation)(例如,网络中传播的信息)是由封包来承载。对于具有多个路径的第一网络节点(例如,网络出口接口和/或端口),通过每个路径都可以到达相同的第二节点,通过将网络流量的每个封包分配(assigning)到信息流中的一个,从第一网络节点到第二网络节点的网络流量可以被分成不同的信息流(flow),因此,封包可以经由多个路径被转发到第二网络节点。
当提供前述从第一网络节点到第二网络节点的多路径路由时,发展出用于第一网络节点的路径选择机制(pathselectionmechanism),以有系统地确定如何为每个信息流选择路径是非常重要的。应该注意的是,活动(active)路径(用于承担网络流量的信息流的路径)的数量是随时间变化的。每当活动路径的数量改变时,路径选择机制会被影响,因为其必须为某些信息流重新分配(reassign)路径。例如,第一路径最初从活动状态被转换为非活动状态,原本计划由第一路径转发的信息流被中断,且路径选择机制需要选择其它活动的路径来转发这些中断的信息流。另一方面,如果第二路径最初从非活动状态被转换为活动状态,某些原本由其它活动路径转发的信息流可以通过第二路径来转发,以达到最大的多路径效率,且路径选择机制需要确定哪些信息流将被中断以重新分配到第二路径。
路径选择机制最好是弹性的,以在活动路径的数量改变时减少或最小化中断信息流(例如,需要被重新分配的信息流)的数量。然而,现有技术中已知的路径选择机制,例如:基于哈希阈值模数(modulobasedhash-threshold)的路径选择,都不是弹性的。
【发明内容】
为了解决上述问题,本发明提出了一种管理网络流量的网络装置及其方法。
根据本发明的第一方面,提供一种管理网络流量的方法,管理网络流量的方法通过从多个路径中选择一个来管理网络流量,所述管理网络流量的方法包括:为所述网络流量中的封包选择多个路径序列中的一个;其中,所述多个路径序列的每个是相同的多个标记的有序列表,且所述多个标记分别相关联于所述多个路径;以及根据所选择的路径序列中的所述多个标记的顺序,为所述封包选择所述路径中的一个。
根据本发明的第二方面,提供一种管理网络流量的网络装置,包括:存取单元,控制多个路径以共同承载网络流量;以及路径选择单元,耦接于所述存取单元,其中,其中,所述路径选择单元根据多个路径序列中的一个为所述网络流量中的封包选择所述多个路径中的一个,每个路径序列代表与多个标记相关联的多个排列中的一个,且所述标记分别关联于所述多个路径。
本发明提供的管理网络流量的网络装置及其方法可以于活动路径的数量变化时,有效抑制中断信息流的数量,不需重建新的映射表就可以有效解决中断,以及于活动路径的数量变化后,更好地对更新的活动路径均匀分布流量。
【附图说明】
图1为本发明实施例所示的简单网络或网络的简化部分的示意图。
图2为根据本发明的实施例的管理网络流量的方法的流程图。
图3为根据本发明的可以实现管理网络流量的方法的网络装置的示意图。
图4为根据本发明实施例的路径序列的示意图。
图5为根据本发明实施例的当非活动路径的数量改变为一个的场景的示意图。
图6为根据本发明实施例的当非活动路径的数量为三个的场景的示意图。
图7以及图8分别为根据本发明实施例的当活动路径的数量变化时两个场景的路径选择的示意图。
【具体实施方式】
下面的描述是实施本发明的较佳预期模式。这种描述是为了说明本发明的一般原理的目的,而不应被理解成具有限制性的意义。但是应当理解,实施例可以利用软件、硬件、固件、或其任何组合来实现。
本发明是关于管理网络流量的网络装置及其方法,更特别地,是关于在多个等成本路径(equal-costpath)上弹性路由(resilientrouting)的方法以及相关网络装置。
请参考图1,图1为本发明实施例所示的简单网络或网络的简化部分的示意图。图1所示的简单网络或网络的简化部分包括:网络节点n1、n2、n3、n4以及n5,网络节点n1以及n2之间的路径pt0,网络节点n1以及n3之间的路径pt1,网络节点n1以及n4之间的路径pt2,网络节点n2以及n5之间的路径R2_5,网络节点n3以及n5之间的路径R3_5,以及网络节点n4以及n5之间的路径R4_5。如图1所示,网络节点n1具有三个路径pt0到pt2。路径pt0到pt2中的每个可能是物理端口,逻辑端口,或链路聚合组(linkaggregationgroup,LAG)。例如,路径pt0可包含两个链路L0以及L1;链路L0以及L1都连接于网络节点n1以及n2之间,且因此,根据LAG,链路L0以及L1可以被聚合组成路径pt0。
假设网络节点n1需要转发网络流量到网络节点n5,接下来,有三条路径可以用来承担此网络流量:第一路线是经由路径pt0以及R2_5,从网络节点n1、n2到n5;第二路线是经由路径pt1以及R3_5,从网络节点n1、n3到n5;第三路线是经由路径pt2以及R4_5,从网络节点n1、n4到n5。每个路线的成本是相等的;如果这三个路线是等成本的,接下来,网络节点n1具有三个等成本路径pt0、pt1以及pt2来共同承担流向网络节点n5的总网络流量。根据等成本多路径(equalcostmultipath,以下简称为ECMP),分别连接到不同网络节点n2、n3以及n4的路径pt0、pt1以及pt2可被共同使用(jointlyleveraged)。
为了充分利用多个路径(在此示例中为pt0到pt2)来共同承担流向节点n5的网络流量,网络节点n1可以通过调度网络流量的每个封包到一个信息流,来将网络流量分为多个信息流,因此,每个信息流可以通过多个连续的封包来共同组成。因此,网络节点n1可以经由多个路径将信息流转发到网络节点n5。
然而,可用来共同承担网络流量的路径的数量是临时变动的(temporalfluctuation)。例如,如果网络节点n4不可用(例如,由于故障或正常电力低下等),接着路径pt2变成非活动状态,且不可用于转发信息流。因此,原本计划经由路径pt2转发的信息流被中断,且需要重新分配给其它活动路径。如果网络节点n4后续重新上线,接着路径pt2变为活动状态,且可用于转发信息流。一些原本没有计划经由路径pt2转发的信息流因此被中断,因为这些信息流被重新分配到路径pt2以用于再次平衡流量分担。
因此,网络节点n1需要一种路径选择机制,不仅能对每个信息流从多个路径中选择一个,也能在活动路径的数量变化时,通过减少中断信息流的数量来克服活动路径数量的变化。关于减小中断,对于一个优选的路径选择机制的参考目标可能是:当活动路径的数量N递增或递减1时,将中断(重新分配)信息流限制为总信息流的1/N。即,所期望的弹性路径选择机制是:当活动路径的数量从N递增或递减1时,保持中断信息流的数量(近似)小于或等于总信息流的1/N。
请参考图2以及图3。图2为根据本发明的实施例的管理网络流量的方法200的流程图,且图3为根据本发明的可以实现管理网络流量的方法200的网络装置300的示意图。通过以下的管理网络流量的方法200流程图,网络装置300如图3所示,网络装置300具有或控制数量为K的多个路径(例如,等成本路径)pt[0]到pt[K-1]来共同承担网络流量,可以实现较佳的减小中断的路径选择机制。网络装置300可以是网络节点(例如:终端、服务器、数据库、网桥、网络交换机、集线器、路由器等),或网络节点的一部分(例如:控制器、处理器、芯片、集成电路等)。网络装置300可包含:存取单元302、路径选择单元304、有效(validness)单元306、以及排列单元308。管理网络流量的方法200的主要步骤可于接下来做详细描述。
于图2所示的步骤202中:将网络流量中的每个信息流(且因此每个封包)分类到多个预定组索引中的一个。管理网络流量的方法200开始于多个路径共同承担网络流量,首先,网络流量可被分流为信息流,接下来,所有信息流还可被分类为多组索引,因此,所有的信息流可以被分为不同的(互斥的)子集,其中,每个子集关联于一组索引,可包含一个或多个信息流。
例如,所有信息流中的第一子集(包括一个或多个信息流)可以被分类为第一组索引(例如,0),所有信息流中的第二子集(包括第一子集的信息流之外的一个或多个信息流)可以被分类为第二组索引(例如,1)等。
网络流量的分流以及信息流分类可以发生在封包层。对于每个封包,可以提取元组(tuple)(例如:从每个封包的预定标头字段提取),且具有相同元组的封包可以被分组到相同信息流,因此,网络流量可以被分流为多个信息流。此外,对于每个封包,根据每个封包的元组(tuple)的预选子集,可以计算一个哈希值,且计算索引可基于哈希值被计算,例如,通过提取每个封包的哈希值的一部分;因此,具有相等计算索引的封包可被分类为相同的组索引。即,每个封包的计算索引可作为一用于分类每个封包的组索引。
等同地,将每个封包分类到相关联的组索引可包含:根据每个封包的内容,计算每个封包的计算索引(calculationindex),且将每个封包分类为等于该计算索引的组索引。
在一实施例中,每个组索引可以是m比特的二进制值(m为预定的整数),因此,此处具有2^m个不同的组索引,其中,2^m代表2的m次方。这些组索引分别关联于相同数量的路径序列,每个路径序列可以是多个标记(token)的有序列表,多个标记可以分别关联于多个路径。例如,每个路径序列可包含或反映多个标记的排列,如此,具有至少两个路径序列,于至少两个路径序列中多个标记以不同的顺序列出。此外,有效性信号可以被提供给每个标记。
请与图2以及图3一起,参考图4,图4为根据本发明实施例的路径序列的示意图。在图4所示的示例中,有数量为H的不同的组索引(也被表示为FGI、信息流组索引等),且因此,H个子集将被K条路径pt[0]到pt[K-1]共同承担(图3)。例如,组索引的范围可从0到(H-1),其中,如果每个组索引为m比特的二进制值,则H等于2^m。
每个组索引h(其中,h=0到(H-1))可关联于路径序列S[h],且每个路径序列S[h]可以是K个标记p[0]、p[1]、p[2]、p[3]、…、p[K-3]、p[K-2]以及p[K-1]的排列。换句话说,每个路径序列可以通过排列标记p[0]到p[K-1]的顺序来形成。例如,如图4所示的示例中,关联于组索引等于0(即,FGI=0)的路径序列S[0]可具有分别以第一、第二、第三、第k、第(K-1)以及第K的顺序的排列p[2]、p[1]、p[K-2]、…、p[0]、…、p[K-3]以及p[K-1],而关联于组索引等于1(即,FGI=1)的路径序列S[1]可具有分别以第一、第二、第三、第k、第(K-1)以及第K的顺序的排列p[0]、p[K-3]、p[K-1]、…、p[K-2]、…、p[2]以及p[1]。
数字K以及数字H不需要是相等的。例如,数字H可大于数字K,和/或数字H可为数字K的多倍,例如,H=Q*K,其中Q大于1(例如,Q大于5)。每个标记p[k](其中,k=0到(K-1))可代表一条路径pt[k],如图3所示,路径pt[k]为K条路径pt[0]到pt[K-1]中的一条。此外,如图4的右侧所示,每个标记p[k]还可伴随着一个有效性信号。例如,所伴随的有效性信号是1比特的旗标(flag)。
如图2所示,于步骤204中:标记每个路径的活动/非活动状态。如图4所示的接下来的示例,路径pt[k]的活动/非活动状态可由伴随着标记p[k]的有效性信号来记录。例如,当路径pt[k1]为活动状态且能够承载网络流量,通过将伴随的有效性信号设置为第一值(例如1),相关的标记p[k1]可被标记为有效的。另一方面,当路径pt[k2]为非活动状态且不能承载网络流量,通过将伴随的有效性信号设置为第二值(例如0),相关的标记p[k2]被标记为无效的。
在图4的示例中,图3中所示的与标记p[1]以及p[K-2]相关的路径pt[1]以及pt[K-2]是非活动状态,因此,伴随着标记p[1]以及p[K-2]的有效性信号可被设置为0以将标记p[1]以及p[K-2]标记为无效。为了全面了解本实施例,于图4中,每个路径序列S[0]到S[H-1]中的无效的标记p[1]以及p[K-2]都覆盖有一个“x”标志,以表示标记p[1]以及p[K-2]是无效的。其它路径是活动状态,因此,它们伴随的有效性信号可被设置为1以标记其为有效的。
采用管理网络流量的方法200的网络装置300可以定期地(例如,周期性地)检查路径pt[0]到pt[K-1]的活动/非活动状态,例如,通过轮询,且通过设置伴随的有效性信号立即反映此状态;和/或将这些路径的状态通知到网络装置300。
如图2所示,于步骤206中:为每个信息流选择路径序列。例如,所选择的路径序列关联于每个信息流的所分类的组索引。于图4所示的以下实施例中,如果信息流被分类到等于h的组索引中,则接下来路径序列S[h]会被选择。
如图2所示,于步骤208中:根据所选择的路径序列中的标记的顺序,为每个信息流选择路径,因此,每个信息流可以经由所选择的路径被转发。在一实施例中,步骤208可以通过选择相关联于每个信息流的所选择的路径序列的有效的标记中的最高顺序标记的路径来被执行。
于图4所示的以下实施例中,如果信息流被分类到等于0的组索引,接下来,路径序列S[0]可被选择用于步骤206中的信息流,且关联于标记p[2]的路径pt[2](图3)可被选择用于步骤208的信息流,因为标记p[2]具有路径序列S[0]中有效标记中的最高顺序。
对于被分类到组索引等于2的信息流,路径序列S[2]可于步骤206中被选择,且与标记p[K-1]相关联的路径pt[K-1]可于步骤208中被选择以转发信息流,因为标记p[K-1]具有路径序列S[2]的有效标记中的最高顺序。于路径序列S[2]中,虽然标记p[K-2]是第一顺序,但是其被标记为无效,所以最高顺序的有效标记是标记p[K-1]。
对于被分类到组索引等于(H-1)的信息流,于步骤206中,路径序列S[H-1]可被选择,且于步骤208,因为标记p[K-3]具有路径序列S[H-1]的有效标记中的最高顺序,与标记p[K-3]相关联的路径pt[K-3]可被选择。于路径序列S[H-1]中,虽然标记p[1]以及p[K-2]是第一顺序以及第二顺序,但是其被标记为无效的,所以具有第三顺序的标记p[K-3]变成最高顺序的有效标记。
换句话说,于步骤206的过程中,与非活动路径相关联且因此被标记为无效的标记可以被忽略,路径序列中剩余的有效标记的顺序被参考以为信息流选择路径,其中,此信息流被分类到相关联的路径序列。因此,当活动路径的数量改变时,根据本发明的管理网络流量的方法200可以动态地适应不同的场景。
继续参考图4,图4显示了具有两个非活动路径且因此每个路径序列中有两个无效标记的场景,请参考图5以及图6。图5为根据本发明实施例的当非活动路径的数量改变为一个的场景的示意图,且图6为根据本发明实施例的当非活动路径的数量为三个的场景的示意图。
在图5所示的实施例中,与标记p[1]相关联的路径pt[1](图3)于图4中最初为非活动状态,但是于图5中转变成活动状态。伴随着标记p[1]的有效性信号因此被设置为1以将每个路径序列的标记p[1]标记为有效的。例如,对于被分类到组索引等于0以及2的信息流,可于步骤206中选择路径序列S[0]以及S[2],且于步骤208中选择分别关联于标记p[2]以及p[K-1]的路径pt[2]以及pt[K-1]。即,对于被分类到组索引等于0以及2的信息流,图5所示的场景中的路径选择的结果与图4所示的场景中的路径选择的结果相同;因此,当由图4的场景改变为图5的场景时,这些信息流会保持不中断。
另一方面,对于被分类到组索引(H-1)的信息流,当由图4的场景改变为图5的场景时,路径序列S[H-1]的最高顺序有效标记从标记p[K-3]改变为标记p[1]。因此,当由图4的场景改变为图5的场景时,被分类到组索引(H-1)的信息流被中断;于图4中,这些信息流最初被分配到路径pt[K-3],但是于图5中,这些信息流被重新分配到与标记p[1]相关联的路径pt[1]。
在图6所示的实施例中,与标记p[0]相关联的路径pt[0]于图4中最初是活动状态,但是于图6中转变成非活动状态。伴随着标记p[0]的有效性信号相应被设置为0以将标记p[0]标记为无效的。如果由图4的场景改变为图6的场景,被分类到组索引(H-1)的信息流不会被中断,因为标记p[K-3]仍然为路径序列S[H-1]中的最高顺序的有效标记。然而,被分类到等于1的组索引的信息流会被中断,因为最高顺序的有效标记从标记p[0]变为标记p[K-3]。
虽然在前述实施例中路径序列中的“最高顺序的有效标记被参考用于选择路径,但本发明不限于这样的选择。例如,步骤208可通过选择路径序列中与“第二高顺序的有效标记”相关联的路径来工作,或甚至是选择路径序列中与“最低顺序有效标记”相关联的路径来工作。即,步骤208可以通过选择与路径序列的有效标记中的预定相关顺序(例如,最高顺序、第二高顺序、或最低顺序等)的标记相关联的路径来工作。
当于步骤202中将每个信息流/封包分类到组索引时,这些分类可以被安排以允许每个被分类到所有不同组索引中任何一个的信息流具有统计学上实质相等的概率(substantiallystatisticallyequalprobability),因此,与每个组索引相关联的子集可包含近乎相同数量的信息流(以及封包)。
当提供路径序列S[0]到S[H-1],标记p[0]到p[K-1]可以被均匀地分布到每个路径序列的每个顺序。即,每个标记p[k]可具有统计学上实质相等的概率被列于任何路径序列S[h]的任何顺序中。例如,每个路径序列S[h]可以通过随机排列标记p[1]到p[K-1]的顺序来产生。例如,根据高德纳排列算法(Knuthpermutationalgorithm),所述排列可以是随机的。即,H个路径序列S[0]到S[H-1]可以被认为是对标记p[0]到p[K-1]进行H次随机洗牌(randomlyshuffling)的结果。
于管理网络流量的方法200的流程开始之前,路径序列S[0]到S[H-1]可以被预计算并储存于表格中,因此,于执行管理网络流量的方法200的过程中,网络装置可以存取路径序列的表格。可选地,路径序列S[0]到S[H-1]可于于执行管理网络流量的方法200的过程中被即时地计算。例如,步骤202还可包括:排列标记p[0]到p[K-1]的顺序以提供给路径序列S[0]到S[H-1],以使每个路径序列S[h]反映出标记p[0]到p[K-1]的排列。
于步骤202中均匀的分类以及路径序列的均匀排列不仅有助于在路径上均匀地分配信息流,也可在活动路径的数量改变时帮助减少中断信息流,如此,当活动路径的数量N递增或递减1时,中断信息流可以近似等于总信息流的1/N。随机的排列K个标记以及忽略(K-N)的无效标记在统计学上是实质相等的,以随机洗牌N个有效标记。因此,N个有效标记的任何一个具有1/N的概率作为H路径序列的最高顺序(或预定顺序)有效标记。其结果是,N个活动路径中的任何一个都对信息流的总的H个子集中的H/N个子集负有统计学上的责任,且根据本发明的路径选择机制可以于活动路径上均匀地分布网络流量。
此外,因为活动路径pt[k]对H/N个子集负有统计学上的责任,如果活动路径pt[k]变为非活动状态,只有最初被分配给活动路径pt[k]的信息流需要被中断以及重新分配,因此,总的H个子集中的H/N个子集被中断,导致所有信息流中的1/N(1/N=(H/N)/H)为被中断信息流。因此,根据本发明的路径选择机制可以有效地减少中断信息流的比例。
于图3所示的网络装置300中,存取单元302用于控制路径pt[0]到pt[K-1]以共同承载网络流量。排列单元308可通过排列分别关联于路径pt[0]到pt[K-1]的标记p[0]到p[K-1](图4)的顺序来提供所形成的H个排列。H个排列可分别关联于H个组索引0到(H-1)(图4),且可被包含于H个路径序列S[0]到S[H-1]中。在一实施例中,排列单元308可以是通过高德纳排列算法来随机即时排列标记p[0]到p[K-1]的硬件。可选地,排列单元308可以是存储器、或用于存取存储器的电路,其储存预先计算的排列以作为路径序列S[0]到S[H-1]。
需要注意的是,即使当活动路径的数量变化时,路径序列S[0]到S[H-1]的数据结构也可保持为相同,因为路径的活动/非活动状态可通过有效性信号来被标记。因此,根据本发明的路径选择可通过简单地对伴随着路径的有效性信号进行设置(asserting)或解除设置(de-asserting),来有效地解决中断(例如,适应活动路径的数量的变化)的问题。相反的,当活动路径的数量变化时,现有技术路径选择机制需要重建用于分配信息流的映射表以更新活动路径,且因此降低效率以适应活动路径数量的变化。
有效性单元306可以实施步骤204(图2)以设置伴随每个标记p[0]到p[K-1]的有效性信号。当路径(例如,pt[k_a])为活动状态且可承载网络流量时,有效性单元306可将相关的标记p[k_a]标记为有效的。当路径(例如,pt[k_i])为非活动状态,有效性单元306可将相关的标记p[k_i]标记为无效的。
路径选择单元304可以实施步骤206以及208。对于信息流中的封包,路径选择单元304可将信息流(且因此为封包)分类到组索引h(例如,0到(H-1)中的一个),例如,根据封包的内容(例如,哈希)来计算封包的计算索引,且将封包分类到等于该计算索引的组索引。路径选择单元304还可为封包提供路径序列S[h](通过选择路径序列S[0]到S[H-1]中的一个),其中,路径序列S[h]可包含相关联于封包的所分类的组索引h的排列。根据路径序列S[h]的标记p[0]到p[K-1]的顺序,路径选择单元304可以为信息流(且因此为封包)选择路径。例如,选择关联于路径序列S[h]中的最高顺序的有效标记的路径。例如,路径选择单元304还可存取用于每个路径的操作信息(未示出)的ECMP表(图3中未示出)。ECMP表可包含分别记录路径pt[0]到pt[K-1]的操作信息的条目。通过使用参考参数(例如:第一条目的起始位置以及于第一条目后的连续条目(consecutiveentries)的计数指示数量(countindicatingnumber)),路径选择单元304可获得活动路径的条目,且接着控制存取单元302以执行由路径选择机制计划的信息流转发。
网络装置300中的一个单元、某些单元、所有单元可以由硬件、或执行相关软件或固件的处理器来实现。
管理网络流量的方法200以及网络装置300的操作以及有效性还可通过分别参考图7以及图8来理解。图7以及图8分别为根据本发明实施例的当活动路径的数量变化时两个场景的路径选择的示意图。图7以及图8所示的的路径选择可应用于通过分别由标记p[0],p[1]以及p[2]表示的多个路径pt[0],pt[1]以及pt[2](未示出)来共同承担网络流量的网络装置,即,K=3。每个组索引为3比特的二进制值,因此,此处有8个(即,H=2^3=8)不同的组索引(范围从0到7)且关联于8个路径序列S[0]到S[7]。
如图7所示的第一场景中,所有三个路径都是活动状态,其具有伴随着标记p[0]到p[2]的有效性信号,其中,标记p[0]到p[2]被标记为1以表示有效性信号为有效的。根据管理网络流量的方法200(图2)中的路径选择,因为标记p[0]是路径序列S[0]、S[4]以及S[6]的最高顺序有效标记,所以组索引等于0、4或6的信息流通过与标记p[0]相关联的路径pt[0]被转发。因为标记p[1]是路径序列S[1]、S[3]以及S[7]中的最高顺序的有效标记,所以组索引等于1、3或7的信息流通过与标记p[1]相关联的路径pt[1]被转发。因为标记p[2]是路径序列S[2]以及S[5]中的最高顺序的有效标记,所以组索引等于2或5的信息流通过与标记p[2]相关联的路径pt[2]被转发。
换句话说,当所有的信息流被分类到分别与8个不同的组索引相关联的8个子集,根据本发明的路径选择可以实质均匀地将所有信息流平均到三个路径,因为分别与标记p[0]、p[1]以及p[2]相关联的路径pt[0]、pt[1]以及pt[2]分别转发所有的8个子集中的三个、三个、以及两个子集。
于图8所示的第二场景中,活动路径pt[1]最初是不可用以及非活动状态,因此,相关的标记p[1]被0标记为无效的。于第二场景中,类似于图7所示的第一场景,因为标记p[0]仍然是路径序列S[0]、S[4]以及S[6]的最高顺序有效标记,所以组索引等于0、4或6的信息流仍然由路径pt[0]来转发。然而,于第一场景中,组索引等于3的信息流最初是由与标记p[1]相关联的的路径pt[1]来转发,但是,于第二场景中,当活动路径的数量由三个减少为两个时,组索引等于3的信息流就被中断,并被重新分配到与标记p[0]相关联的的路径pt[0],因为标记p[0]变成了相关路径序列S[3]中的最高顺序的有效标记。
于第二场景中,类似于图7所示的第一场景,组索引等于2或5的信息流仍然由路径pt[2]来转发,因为标记p[2]仍然为路径序列S[2]以及S[5]的最高顺序的有效标记。然而,于第一场景中,组索引等于1以及7的信息流,最初是由与标记p[1]相关联的的路径pt[1]来转发,但是,于第二场景中,当活动路径的数量由三个减少为两个时,组索引等于1以及7的信息流被中断,并被重新分配到与标记p[2]相关联的的路径pt[2],因为标记p[2]变成了相关路径序列S[1]以及S[7]中的最高顺序的有效标记。
因此,于第二场景中,所有的信息流仍然被均匀地平均分配到各活动路径(目前仅有两个活动路径);于信息流的所有8个子集中,四个子集(组索引等于0、3、4以及6)由活动路径pt[0]来转发,且另外四个子集(组索引等于1、2、5以及7)由活动路径pt[2]来转发。由于活动路径的数量由三个改变为两个,信息流的三个子集(组索引等于1、3以及7)被中断。即,总信息流中的3/8被中断;3/8的比例接近近似1/3,即,较佳的中断减小目标为1/N,其中,数字N为活动路径的数量,在图7以及图8所示的示例中,N等于3。
另一方面,如果活动路径的数量从图8的第二场景再次恢复为图7的第一场景,3/8的总信息流被中断:于第二场景中,具有组索引等于1以及7的信息流的两个子集最初被分配到与标记p[2]相关联的的路径pt[2],于第一场景中,具有组索引等于1以及7的信息流的两个子集被重新分配给与标记p[1]相关联的的路径pt[1];且于第二场景中,具有组索引等于3的信息流的一个子集最初被分配到与标记p[0]相关联的的路径pt[0],于第一场景中,具有组索引等于3的信息流的一个子集被重新分配给与标记p[1]相关联的的路径pt[1]。
换句话说,根据本发明的路径选择机制,当活动路径的数量从N递增或递减1时,可以有效地将中断信息流的比例限制为实质接近1/N。而于已知的现有技术的路径选择机制中,例如:基于哈希阈值模数的路径选择,中断信息流的比例范围为从1/4到1/2,当活动路径的数量N增加时,中断信息流的比例不能进一步减少。
于图3中,路径pt[0]到pt[K-1]中的每一个可以是逻辑端口或物理端口。例如,在一实施例中实现(OSI,开放系统互连)的第三层ECMP,每个路径可用于下一跳转发(next-hopforwarding)的第三层逻辑路径,其中,第三层逻辑路径被用于导出(derive)物理端口或LAG。如果第三层逻辑路径被用于导出LAG,可执行另一等级的路径选择以导出等效物理端口。例如,每个路径pt[k](对于k=0到(K-1))可包含数量为N_k(等成本)的链路,不同路径pt[k1]以及pt[k2]可分别由不同数量N_k1以及N_k2的链路来形成。于此实施例中,第一等级路径选择(例如,第三层路径选择)可用于对信息流选择路径pt[0]到pt[K-1]中的一个;假设由多个N_k0链路导出的路径pt[k0]被选择用于该信息流,第二等级路径选择(例如,第二层链路选择)可用于通过选择一个N_k0链路来共同承担路径pt[k0]的N_k0物理链路上的信息流的封包,以转发信息流的每个封包。第一等级路径选择以及第二等级路径选择中的一个或两个可以根据管理网络流量的方法200来实现。
当管理网络流量的方法200被用来实现第二等级路径选择(即,第二层链路选择)以将信息流的封包分配到所选择的路径pt[N_k0]的N_k0链路,步骤202可将信息流的每个封包分类到信息流的H_k0个的互斥子群中的一个,于步骤206中,路径序列可被认为是分别包括与H_k0子群相关联的H_k0个排列的链路序列,每个排列可以是分别与路径pt[k0]的N_k0个链路相关联的N_k0个标记的随机洗牌。
另一方面,在一实施例中实现多链路透明互联(transparentinterconnectionoflotsoflinks,TRILL)ECMP,每个路径可以是物理端口或LGA,且第一等级路径选择以及第二等级路径选择可被应用。
一般来说,本发明可提供用于在数量为K的多个连接(路径或链路)上共同承担网络通量(networkflux)(网络流量或信息流)的连接选择(路径选择或链路选择)机制,包括:将网络通量分为多个部分(信息流或封包),将每个部分(信息流或封包)分类为H个类别(子集或子群);根据每个部分所属的类别,为每个部分选择H个连接序列(路径序列或链路序列)中的一个;其中,每个连接序列是K个标记的排列,每个标记与一个连接相关联;根据相关的连接是活动状态还是非活动状态来将每个标记标记为有效的或无效的;以及根据所选择的连接序列中的标记的顺序,为每个部分选择一个连接,例如,选择与预定顺序(例如,所选择的路径序列的有效的标记中的最高顺序)的标记相关联的连接。
综上所述,根据本发明的路径选择机制具有以下优点,例如,当活动路径的数量变化时,有效抑制(suppression)中断信息流的数量,不需重建新的映射表就可以有效解决中断,以及于活动路径的数量变化后,更好地对更新的活动路径均匀分布流量。
尽管本发明已经对目前被认为是最实用以及优选的实施例做了描述,需要理解的是,本发明不需要被限制于所公开的实施例。相反的,本发明旨在覆盖包含于所附的权利要求的精神及范围内的的各种修改以及类似布置,所附的权利要求将被进行最宽的解释以包含所有这样的修改以及类似结构。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。
Claims (23)
1.一种管理网络流量的方法,其特征在于,所述管理网络流量的方法通过从多个路径中选择一个来管理网络流量,所述管理网络流量的方法包括:
为所述网络流量中的封包选择多个路径序列中的一个;其中,所述多个路径序列的每个是相同的多个标记的有序列表,且所述多个标记分别相关联于所述多个路径;以及
根据所选择的路径序列中的所述多个标记的顺序,为所述封包选择所述多个路径中的一个。
2.如权利要求1所述的管理网络流量的方法,其特征在于,所述为所述封包选择所述多个路径中的一个的步骤包括:
选择与所述所选择的路径序列中的最高顺序标记相关联的路径。
3.如权利要求1所述的管理网络流量的方法,其特征在于,还包括:
当所述多个路径中的一个为第一状态时,将与活动路径相关联的所述标记标记为有效;以及
当所述多个路径中的一个为第二状态时,将与非活动路径相关联的所述标记标记为无效。
4.如权利要求3所述的管理网络流量的方法,其特征在于,所述为所述封包选择所述多个路径中的一个的步骤包括:
选择与所述所选择的路径序列中的有效标记中的最高顺序标记相关联的所述路径。
5.如权利要求1所述的管理网络流量的方法,其特征在于,还包括:
为所述多个标记中的每个提供有效性信号,以记录每个标记是标记为有效还是标记为无效。
6.如权利要求1所述的管理网络流量的方法,其特征在于,还包括:
将所述封包分类到多个组索引中的一个,其中,所述多个组索引分别与所述多个路径序列相关联;以及
当为所述封包选择所述多个路径序列中的一个时,选择与所述封包的已分类组索引相关联的所述路径序列。
7.如权利要求6所述的管理网络流量的方法,其特征在于,所述封包分类为具有统计学上实质相等的概率以便所述封包被分类到所述多个组索引中的任何一个。
8.如权利要求6所述的管理网络流量的方法,其特征在于,还包括:
根据所述封包的内容,对所述封包计算计算索引;
当将所述封包分类到所述多个组索引中的一个时,将所述封包分类到等于所述封包的所述计算索引的组索引。
9.如权利要求1所述的管理网络流量的方法,其特征在于,还包括:
排列所述多个标记的顺序以提供所述多个路径序列,以使所述多个路径序列中的每个反映所述多个标记的排列。
10.如权利要求9所述的管理网络流量的方法,其特征在于,根据高德纳排列算法,所述排列是随机的。
11.如权利要求1所述的管理网络流量的方法,其特征在于,所述多个标记中的每个具有统计学上实质相等的概率以便所述多个标记以任何顺序被列于所述多个路径序列的任何一个。
12.一种管理网络流量的网络装置,其特征在于,包括:
存取单元,控制多个路径以共同承载网络流量;以及
路径选择单元,耦接于所述存取单元,
其中,所述路径选择单元根据多个路径序列中的一个为所述网络流量中的封包选择所述多个路径中的一个,每个路径序列代表与多个标记相关联的多个排列中的一个,且所述标记分别关联于所述多个路径。
13.如权利要求12所述的管理网络流量的网络装置,其特征在于,所述路径选择单元根据所述多个路径序列中的一个的所述多个标记的顺序,为所述封包选择所述多个路径中的一个。
14.如权利要求12所述的管理网络流量的网络装置,其特征在于,所述路径选择单元选择与所述多个路径序列中的一个的最高顺序标记相关联的路径。
15.如权利要求12所述的管理网络流量的网络装置,其特征在于,还包括:
有效性单元,用于:
当所述多个路径中的一个为第一状态时,将与活动路径相关联的所述标记标记为有效;以及
当所述路径中的一个为第二状态时,将与非活动路径相关联的所述标记标记为无效。
16.如权利要求15所述的管理网络流量的网络装置,其特征在于,所述路径选择单元选择与所述路径序列中的一个的有效标记中的最高顺序标记相关联的所述路径。
17.如权利要求16所述的管理网络流量的网络装置,其特征在于,所述有效性单元还用于:
为所述多个标记中的每个设置有效性信号,以记录每个标记是被标记为有效还是被标记为无效。
18.如权利要求12所述的管理网络流量的网络装置,其特征在于,所述路径选择单元还用于:
将所述封包分类到多个组索引中的一个,其中,所述多个组索引分别与所述多个排列相关联;以及
当根据所述多个路径序列中的一个为所述封包选择所述路径中的一个时,根据代表与所述封包的已分类组索引相关联的排列的路径序列进行选择。
19.如权利要求18所述的管理网络流量的网络装置,其特征在于,所述封包被分类为具有统计学上实质相等的概率以便所述封包被分类到所述多个组索引中的任何一个。
20.如权利要求18所述的管理网络流量的网络装置,其特征在于,所述路径选择单元还用于:
根据所述封包的内容,计算所述封包的计算索引;
当将所述封包分类到所述多个组索引中的一个时,将所述封包分类到与所述计算索引相关联的组索引。
21.如权利要求12所述的管理网络流量的网络装置,其特征在于,还包括:
排列单元,用于提供通过排列所述多个标记的顺序来形成的所述多个排列。
22.如权利要求21所述的管理网络流量的网络装置,其特征在于:根据高德纳排列算法,所述排列是随机的。
23.如权利要求12所述的管理网络流量的网络装置,其特征在于,所述多个标记中的每个具有统计学上实质相等的概率以便所述多个标记以任何顺序被列于所述排列的任何一个的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/534,266 | 2014-11-06 | ||
US14/534,266 US20160134543A1 (en) | 2014-11-06 | 2014-11-06 | Method and associated network device for managing network traffic |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105591895A true CN105591895A (zh) | 2016-05-18 |
Family
ID=55913130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510399189.0A Withdrawn CN105591895A (zh) | 2014-11-06 | 2015-07-08 | 管理网络流量的网络装置及其方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160134543A1 (zh) |
CN (1) | CN105591895A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018502385A (ja) | 2014-12-08 | 2018-01-25 | アンブラ テクノロジーズ リミテッドUmbra Technologies Ltd. | 遠隔ネットワークリージョンからのコンテンツ検索のためのシステム及び方法 |
EP3243314A4 (en) | 2015-01-06 | 2018-09-05 | Umbra Technologies Ltd. | System and method for neutral application programming interface |
WO2016123293A1 (en) | 2015-01-28 | 2016-08-04 | Umbra Technologies Ltd. | System and method for a global virtual network |
CN107852604B (zh) | 2015-04-07 | 2021-12-03 | 安博科技有限公司 | 用于提供全局虚拟网络(gvn)的系统 |
WO2016198961A2 (en) | 2015-06-11 | 2016-12-15 | Umbra Technologies Ltd. | System and method for network tapestry multiprotocol integration |
ES2931177T3 (es) | 2015-12-11 | 2022-12-27 | Umbra Tech Ltd | Sistema y método para lanzamiento de información a través de un tapiz de red y granularidad de una marca |
US10922286B2 (en) | 2016-04-26 | 2021-02-16 | UMBRA Technologies Limited | Network Slinghop via tapestry slingshot |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744563A (zh) * | 2004-08-31 | 2006-03-08 | 杭州华为三康技术有限公司 | 在以太网交换机上实现策略路由的方法 |
CN101047633A (zh) * | 2006-05-17 | 2007-10-03 | 华为技术有限公司 | 一种实现多路径传输的方法、装置和系统 |
CN101841504A (zh) * | 2009-03-16 | 2010-09-22 | 上海贝尔股份有限公司 | 用于多信息流通信的数据交错通信方法 |
CN101980565A (zh) * | 2010-09-25 | 2011-02-23 | 重庆邮电大学 | 一种基于QoS的Ad Hoc网络自适应节点速度多路径路由方法 |
CN102088413A (zh) * | 2011-03-02 | 2011-06-08 | 华为技术有限公司 | 一种网络流量分流方法、网络节点及系统 |
CN103001891A (zh) * | 2012-11-16 | 2013-03-27 | 杭州顺网科技股份有限公司 | 一种用于提升局域网整体服务质量的方法 |
US20140310391A1 (en) * | 2013-04-16 | 2014-10-16 | Amazon Technologies, Inc. | Multipath routing in a distributed load balancer |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2849730A1 (fr) * | 2003-01-02 | 2004-07-09 | Thomson Licensing Sa | Methode pour reserver de la bande passante dans un reseau de type ethernet |
US7774461B2 (en) * | 2004-02-18 | 2010-08-10 | Fortinet, Inc. | Mechanism for determining a congestion metric for a path in a network |
EP2329621B1 (en) * | 2008-09-24 | 2020-09-23 | Telefonaktiebolaget LM Ericsson (publ) | Key distribution to a set of routers |
CN102196481A (zh) * | 2011-06-07 | 2011-09-21 | 中兴通讯股份有限公司 | 网络状态上报方法、检测方法、装置和系统 |
US20130103685A1 (en) * | 2011-09-01 | 2013-04-25 | Protegrity Corporation | Multiple Table Tokenization |
DE102013006351A1 (de) * | 2013-04-12 | 2014-10-30 | Unify Gmbh & Co. Kg | Verfahren und Vorrichtung zur Verwaltung eines Anrufs an ein Callcenter |
US9515914B2 (en) * | 2013-07-20 | 2016-12-06 | Cisco Technology, Inc. | Path computation element proxying for deterministic wireless networks |
-
2014
- 2014-11-06 US US14/534,266 patent/US20160134543A1/en not_active Abandoned
-
2015
- 2015-07-08 CN CN201510399189.0A patent/CN105591895A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744563A (zh) * | 2004-08-31 | 2006-03-08 | 杭州华为三康技术有限公司 | 在以太网交换机上实现策略路由的方法 |
CN101047633A (zh) * | 2006-05-17 | 2007-10-03 | 华为技术有限公司 | 一种实现多路径传输的方法、装置和系统 |
CN101841504A (zh) * | 2009-03-16 | 2010-09-22 | 上海贝尔股份有限公司 | 用于多信息流通信的数据交错通信方法 |
CN101980565A (zh) * | 2010-09-25 | 2011-02-23 | 重庆邮电大学 | 一种基于QoS的Ad Hoc网络自适应节点速度多路径路由方法 |
CN102088413A (zh) * | 2011-03-02 | 2011-06-08 | 华为技术有限公司 | 一种网络流量分流方法、网络节点及系统 |
CN103001891A (zh) * | 2012-11-16 | 2013-03-27 | 杭州顺网科技股份有限公司 | 一种用于提升局域网整体服务质量的方法 |
US20140310391A1 (en) * | 2013-04-16 | 2014-10-16 | Amazon Technologies, Inc. | Multipath routing in a distributed load balancer |
Also Published As
Publication number | Publication date |
---|---|
US20160134543A1 (en) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105591895A (zh) | 管理网络流量的网络装置及其方法 | |
Hong et al. | B4 and after: managing hierarchy, partitioning, and asymmetry for availability and scale in google's software-defined WAN | |
US12052184B2 (en) | System and method for supporting efficient load-balancing in a high performance computing (HPC) environment | |
CN105379196B (zh) | 用于容错和负载平衡路由的方法、系统和计算机存储介质 | |
CN106464530B (zh) | 网络更新的动态调度的方法和系统 | |
CN101965715B (zh) | 最短路径确定中的打破平局 | |
US7200117B2 (en) | Method of optimizing network capacity and fault tolerance in deadlock-free routing | |
Markiewicz et al. | Energy consumption optimization for software defined networks considering dynamic traffic | |
CN103036792B (zh) | 一种最大化最小公平多数据流传输调度方法 | |
CN104202183B (zh) | 一种解决sdn流级别配置一致性更新的方法和装置 | |
US10042683B2 (en) | All-to-all message exchange in parallel computing systems | |
CN106105162A (zh) | 基于交换机的负载均衡器 | |
CN106416158A (zh) | 用于大规模数据中心网络的业务工程 | |
CN103873367B (zh) | 路由数据分组以及确定路由的方法和装置、胖树网络 | |
CN109218213A (zh) | 一种流量调控方法及装置 | |
CN103580923B (zh) | 软件部署的方法和装置 | |
Ferraz et al. | A two-phase multipathing scheme based on genetic algorithm for data center networking | |
CN106470165A (zh) | 一种负载分担方法、系统及相关设备 | |
CN106104503A (zh) | 使用统一api对用于转发的服务器和架构编程以用于细粒度网络优化 | |
Kim et al. | Method for VNF placement for service function chaining optimized in the NFV environment | |
CN103595649A (zh) | 实现负载均衡的方法和系统 | |
Shan et al. | Partial spatial protection for provisioning differentiated reliability in FSTR-based Metro Ethernet networks | |
JP2012217112A (ja) | ツリー型トポロジー・ネットワークにおける信頼性強化 | |
Belabed et al. | Impact of virtual bridging on virtual machine placement in data center networking | |
Chen et al. | Routing with distributed multiple paths in networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160518 |