CN1984070A - 通讯网络中对数据流的分流方法和装置 - Google Patents
通讯网络中对数据流的分流方法和装置 Download PDFInfo
- Publication number
- CN1984070A CN1984070A CNA2006100833059A CN200610083305A CN1984070A CN 1984070 A CN1984070 A CN 1984070A CN A2006100833059 A CNA2006100833059 A CN A2006100833059A CN 200610083305 A CN200610083305 A CN 200610083305A CN 1984070 A CN1984070 A CN 1984070A
- Authority
- CN
- China
- Prior art keywords
- data flow
- hash
- node
- ttl
- information
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种对数据流的分流方法和装置,包括:提取单元、散列(HASH)算法单元、配置单元、和分流单元;在通讯网络的各结点的HASH算法单元上配置相同的散列HASH算法,在配置单元中配置结点出接口与HASH计算结果的对应关系;提取单元提取经该结点转发的数据流的特征信息、以及与数据流和结点具有对应关系的信息,将提取信息作为该数据流的HASH源,将所述数据流的HASH源输入HASH算法单元进行计算;分流单元按照数据流的HASH计算结果将该数据流分担到对应的出接口输出。本发明可以在不增加配置难度的情况下提高逐流分流时数据流在各结点的散列度。
Description
技术领域
本发明涉及通讯网络的数据传输技术,尤其涉及对数据流的分流方法和装置。
背景技术
分流技术在当前的通信网络中是一种非常常见的应用技术,尤其是应用在负载分担和TRUNK技术中。以负载分担为例,分流是指当一个通信结点有多条链路可以到达目的地时,可以保证每一条链路都有数据流量经过,而不是让所有的流量从一条链路上经过。
图1为分流技术的一种简单的示意图。参见图1,对于设备A上的数据流量,要到达设备B,可以走链路1,也可以走链路2,使用分流之后,可以保证设备A上的一部分数据流量会经过链路1,另一部分会经过链路2。
现有的分流技术主要有以下三种:
现有技术一、逐流分流。
尽管从宏观上来说,从设备A到设备B的报文应该利用链路1和链路2,但对于一条数据流(在本文中所述的数据流简称为流)来说,一般的处理情况下,不会让这条流的报文分走两条不同的路径。这是因为:一条流中的报文顺序应该是得到保障的,如果流的第一个报文经过链路1,第二个报文经过链路2,那么设备B先收到的可能是第一个报文,也可能是第二个报文,对于很多应用,报文的乱序是不可容忍的。因此为了不让同一流的报文分走两条不同的路径,提出了逐流分流的技术。
通常,业界用一个源IP地址和目的IP地址的组合标志一个流,为了实现逐流的分流,可以使用流的信息来进行散列(HASH)计算。所述的HASH计算就是把任意长度的输入(HASH计算源,简称为HASH源),通过散列算法,变换成固定长度的输出即散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。在逐流分流中,可以使用流的源IP(本文中简称SIP)、目的IP(本文中简称DIP)、协议号等信息作为HASH源,根据计算得到的值来确定报文从哪个接口出去,走哪条链路。这样,对于同一条流,HASH计算后得到的结果一定是相同的,不同流计算出的结果又可能是另一个值,这就保证了对于不同的流可以做到分流,而对于同一条流来说,该流的所有报文只能走一条链路。
逐流分流的一个可能的实现方案如下,以此为例进行说明:
如果有4条流a,b,c,d,每条流都包含不同的SIP地址、DIP地址等特征信息,经过HASH计算后,a算出的索引值是0(此处记做hash(a)=0),hash(b)=1,hash(c)=2,hash(d)=3,可以维护一张分流的表格,规定索引值和出接口的关系,例如表1所示:
索引值 | 出接口 |
0 | 通往A的接口 |
1 | 通往B的接口 |
2 | 通往C的接口 |
3 | 通往D的接口 |
表1
根据表1,可以把a,b,c,d四条流分到四条不同的链路,对于大量流来说,可以人为地把它们HASH计算成若干种情况(即每种流对应不同的索引值),再通过索引值和出接口(或链路)的对应表来实现逐流的分流。
如果使用上述逐流分流的方法,在大量随机流的情况下,可以确保在第一次进行分流时做到均匀。但是,在级联分流的情况下,不能保证经过第一次分流的流还能被第二次分流。
图2为一种级联分流的示意图。参见图2, 在A和B上某段路由都存在分流,其中A的两个出接口分别通往B和C,B的两个出接口分别通往D和E。假设有1000条流到达A,经过HASH计算后有500条流算出的索引值指向通往B的链路,也就是发向B,同样有500条流发向C;对于B来说,由于其HASH算法和A相同,到达的500条流还是会算出相同的索引值,因此只会从一个接口出去,这时B的分流就失效了。此种情况下,即使HASH源包含协议号等额外信息,还是会有相同结果,因为在各个结点上这些信息都是相同的,算法也是相同的。
因此传统的逐流分流算法不能保证级联后的在第二结点及后续结点的散列度。
现有技术二、逐流分流,但不同结点选择不同HASH算法和HASH源。
为了解决现有技术一的分流不能级联的缺陷,现有技术二中采用了逐流分流但不同结点选择不同HASH源的处理方法。
此处同样参见图2所示的级联分流进行说明:在A上,使用HASH算法1,这个算法使用的HASH源是SIP和DIP;在B上,如果也使用算法1,就不能进行二次分流,因此使用算法2,选择其他HASH源。例如SIP,DIP和协议号,由于在两个结点上使用了不同的HASH源,因此在B上可以将流量再次分开。
上述现有技术二通过改变HASH源的方式来保证在不同结点上使用的算法和结果可能不同,但是这种方法增加了配置的复杂度,要求在不同的结点上配置不同HASH算法,另外,最后的计算分担结果是否理想,依然取决于流的固有特征。使用现有技术二的方法,需要根据实际情况进行规划后进行,效果也经常不好;或者经过一次配置后进行改善,但是流量模型变化后还是不能进行二次分流。
现有技术三、逐包分流。
逐包分流就是不考虑保持流的报文的顺序,只根据固定的轮询或其他方式,保证每一个包都可能到达不同的链路。逐包分流的一个具体的实现方式是,每个包的出接口取决于当前的索引值,每次处理后都对索引值加1,就可以保证下一个包从另一个索引值对应的接口发出去。
上述现有技术三的逐包分流可以做到绝对意义上的“分流”,但是前提是不需要考虑报文的顺序,因此,应用场景比较狭窄,如果在不恰当的场景使用逐包分流,会影响业务的可用性。
发明内容
有鉴于此,本发明的主要目的在于提供一种通讯网络中对数据流的分流方法,在不增加配置难度的情况下提高逐流分流时数据流在各结点的散列度。
本发明的另一目的在于提供一种对数据流的分流装置,也可在不增加配置难度的情况下提高逐流分流时数据流在各结点的散列度。
为了实现上述发明目的,本发明的主要技术方案为:
一种通讯网络中对数据流的分流方法,该方法包括:在通讯网络的各结点上配置相同的散列HASH算法,配置结点出接口与HASH计算结果的对应关系;将经该结点转发的数据流的特征信息、以及与数据流和结点具有对应关系的信息作为该数据流的HASH源,将所述数据流的HASH源输入HASH算法进行计算;按照数据流的HASH计算结果将该数据流分流到对应的出接口输出。
优选地,所述与数据流和结点具有对应关系的信息为:对于不同数据流的同一跳结点,所述信息值可以不同;对于同一数据流的同一跳结点,所述信息值相同;对于同一数据流的不同跳结点,所述信息值不同。
优选地,所述与数据流和结点具有对应关系的信息为所述数据流的报文生存时间TTL。
优选地,所述通讯网络为IP网、多协议标签转发MPLS网、IP网和MPLS网的混合网、或二层转发网。
优选地,所述通讯网络为PIPE方式的IP网和MPLS网的混合网,所述与数据流和结点具有对应关系的信息为:所述数据流报文的IP TTL与MPLSTTL的运算值。
优选地,所述通讯网络对数据流的分流为级联分流。
优选地,所述作为HASH源的数据流的特征信息为源IP地址、目的IP地址、源端口号、目的端口号、协议号、标签、或前述具体特征信息的任意组合。
一种对数据流的分流装置,设置在通讯网络的结点上,该装置包括:
提取单元,用于提取所转发数据流的特征信息以及与数据流和结点具有对应关系的信息;
HASH算法单元,将提取单元所提取的信息作为所转发数据流的HASH源,利用HASH算法对输入的HASH源进行计算,并输出计算结果;且所述各结点HASH算法单元中具有相同的HASH算法;
配置单元,用于配置结点出接口与HASH计算结果的对应关系;
分流单元,用于根据数据流的HASH计算结果和配置单元中的对应关系将数据流分担到对应的出接口输出。
优选的,所述与数据流和结点具有对应关系的信息为:对于不同的数据流,其取值可对应不同;对于同一条流的不同跳结点,其取值对应不同。
优选的,所述与数据流和结点具有对应关系的信息为所述数据流的TTL。
优选的,所述通讯网络为IP网、MPLS网、IP网和MPLS网的混合网、或二层转发网。
优选的,所述通讯网络为PIPE方式的IP网和MPLS网的混合网,所述与数据流和结点具有对应关系的信息为:所述数据流报文的IP TTL与MPLSTTL的运算值。
优选的,所述通讯网络中对数据流的分流为级联分流。
优选的,所述作为HASH源的数据流的特征信息为源IP地址、目的IP地址、源端口号、目的端口号、协议号,标签或前述具体特征信息的任意组合。
由于本发明在进行HASH计算前,不但将经该结点转发的数据流的特征信息作为该数据流的HASH源,而且还将与数据流和结点具有对应关系的信息作为该数据流的HASH源,并进行HASH计算,可以得到散列度更好的计算结果,且本发明不需人工在每个结点上配置不同的HASH算法和HASH源,因此相对于现有技术,本发明可以在不增加配置难度的情况下,不仅在各个结点提高逐流分流的散列度,而且在级联分流情况下对于某个分支的数据流同样可以在下一跳进行逐流分流。
附图说明
图1为分流技术的一种简单的示意图;
图2为一种级联分流的示意图;
图3为本发明所述方法的流程图;
图4为本发明所述分流装置的一种实施结构图。
具体实施方式
下面通过具体实施例和附图对本发明做进一步详细说明。
图3为本发明所述方法的流程图。参见图3,本发明的核心技术方案为:一种对数据流的分流方法,该方法包括:
步骤301、在通讯网络的各结点上配置相同的HASH算法,配置结点出接口与HASH计算结果的对应关系。
具体的,可将每种HASH计算结果作为索引值,设置索引值与结点出接口的对应关系,所述出接口可以为逻辑接口,也可以为物理接口;所述结点可以为一个物理的设备,也可以为一个设备中的逻辑结点(TRUNK方式)。
步骤302、将经该结点转发的数据流的特征信息、以及与数据流和结点具有对应关系的信息作为该数据流的HASH源,将所述数据流的HASH源输入HASH算法进行计算。
具体的,在结点收到数据流的报文后,从报文中提取所述特征信息以及与数据流和结点具有对应关系的信息,将其作为HASH源进行计算。所述的HASH算法可以采用现有的HASH算法,例如简单的和或运算,多项式原理算法、除以大素数求余算法等等。
步骤303、按照数据流的HASH计算结果将该数据流分担到对应的出接口输出。
本发明所述作为HASH源的数据流的特征信息为可以将本数据流与其它数据流相区别的特征信息,例如源IP地址、目的IP地址、源端口号、目的端口号、协议号,标签(例如在MPLS网中为MPLS标签)等等,可以将这些所述特征信息单独或者其任意组合作为HASH源输入,例如源IP地址(SIP)和目的IP地址(DIP)。
本发明所使用的HASH源除了在现有技术中使用的HASH源(例如SIP、DIP)外,还加入了新的HASH源,即所述与数据流和结点具有对应关系的信息,但该新HASH源有两个限定条件:
a)为了保序,即不乱序,新加的HASH源必须同流相关,对于不同的数据流的同一跳结点,其取值可对应不同;对于同一数据流的同一跳结点,其取值相同。
b)为了避免不能级联分流,同一条流在每一跳上这个HASH源都不同,即对于同一条流的不同跳的结点,其取值也对应不同。
上述两个条件缺一不可。
在本发明的最佳实施例中,采用数据报文的生存时间(TTL)字段作为所述新的HASH源。由于TTL字段设置了数据报可以经过的最多路由器数,指定了数据报的生存时间,在报文的转发过程中,TTL逐跳减1,且不同流的TTL也可能不同,所示TTL符合上述两个条件。因此在本最佳实施例中,将TTL作为新的HASH源。
本实施例以现有的SIP和DIP为HASH源的技术为基础,并增加了TTL作为新的HASH源进行说明。
参见图2所示的级联分流结构:如果<SIP1,DIP1,TTL1>(表示由源IP,目的IP和TTL确定的第一条流在A点上的HASH源)和<SIP2,DIP2,TTL2>(表示由源IP,目的IP和TTL确定的第二条流在A点上的HASH源)在A上会HASH计算出相同的索引值,那么<SIP1,DIP1,TTL1-1>(即第一条流在B点上的HASH源)和<SIP1,DIP1,TTL2-1>(即第二条流在B点上的HASH源)在B上可能算出不同的索引值,而不会像现有技术那样只能算出相同的值。由于本发明可以使新输入的HASH源(例如TTL)与结点相关,因此可以保证在任何输入下,在每一个需要分流的结点上都能保持比较高的散列度,也就是说可以将大量的流均匀地计算成几个固定的索引值。
以下用简单的HASH算法来验证本发明技术方案所能解决的技术问题。一种常用的HASH算法是对HASH源做异或操作(记做xor,0xor0=0,0xor1=1,1xor0=1,1xor1=0),使用异或的原因是,这个操作可以保证数据的每一比特都会影响计算结果。
本文中用hash(SIP,DIP,TTL)表示以SIP、DIP、和TTL为HASH源的HASH算法计算式。根据上面的例子,如果hash(SIP1,DIP1,TTL1)=hash(SIP2,DIP2,TTL2),即(SIP1 xor DIP1 xor TTL1)=(SIP2 xor DIP2 xorTTL2),由于在每一个结点上各个流的SIP和DIP都是不变的,因此,SIP1xor DIP1以及SIP2 xor DIP2的结果不会影响算法的结果,只有TTL的变化会影响最后算出的HASH结果即索引值。
Hash(SIP,DIP,TTL)与hash(SIP,DIP,TTL-1)的计算结果有以下三种可能:
1)Hash(SIP,DIP,TTL)等于hash(SIP,DIP,TTL-1)。这种情况下,加入TTL做HASH源没有起作用,因为在每一个结点上加入TTL再做HASH的结果是一样的。
2)Hash(SIP,DIP,TTL)不等于hash(SIP,DIP,TTL-1),且不同的TTL减1后再HASH计算的变化是线性的。这种情况下,加入TTL做HASH源也没有起作用,因为TTL虽然影响了结果,但是对于所有流的TTL,影响的方式都是相同的,出现的结果是,尽管在第二台分流结点上各条流计算出的HASH值(即所述索引值)不一样,但是都只是简单地加了一个值,例如在A结点两条流的HASH值为3,在B结点两条流的HASH值为2,不同的流还是没有区分开。
3)hash(SIP,DIP,TTL)不等于hash(SIP,DIP,TTL-1),且不同的TTL减1后再HASH的变化是非线性的。这种情况下,就可以得到上面的结论:即如果<SIP1,DIP1,TTL1>(表示由源IP,目的IP和TTL确定的一条流)和<SIP2,DIP2,TTL2>在A上会HASH出相同的索引值,那么<SIP1,DIP1,TTL1-1>和<SIP1,DIP1,TTL2-1>在B上可能算出不同的索引值,而且变化非线性。
由于TTL的取值范围固定在1至255,通过遍历实验得到hash(SIP,DIP,TTL)和hash(SIP,DIP,TTL-1)的关系。以下是从其中摘录的三组数据:
old:0x01,new:0x00,i:0x01
old:0x02,new:0x01,i:0x02
old:0x03,new:0x02,i:0x03
其中i表示TTL的值,old表示TTL减1前的hash结果,new表示TTL减1后的hash结果。
例如第一行,是指TTL=1时hash(SIP,DIP,TTL)=1,hash(SIP,DIP,TTL-1)=00,可见是不同的,观察全部结果,除了128之外,TTL减1前后HASH的结果都是不同的,而且变化不全是线性的(局部存在线性关系)。
根据遍历结果,hash(SIP,DIP,TTL)一般情况下不等于hash(SIP,DIP,TTL-1),且变化不一定是线性的。只有两种特殊情况除外:a)当TTL=128时,TTL-1后HASH的值也和TTL相同,如果所有流的TTL是128,到达下一跳后,HASH出的结果和上一跳将是相同的,但是,这种情况在实际的流量下发生的概率不大,可以忽略这个影响;b)当所有流的TTL都是奇数时,TTL-1后这些TTL的变化都是一致的,就是最低bit由1变为0,但是这种情况发生的几率也比较小。
因此,在实际流量中,以TTL作为新的HASH源进行分流可以使大部分流的hash(SIP,DIP,TTL)不等于hash(SIP,DIP,TTL-1),且不同的TTL减1后再HASH的变化是非线性的,因此本发明可以在级联网络中提高分流的散列度。
综上,通过理论分析和实验结果证明,本发明对实际流量的分流效果,尤其是在级联网络中的分流效果优于现有技术的分流,即相对于现有技术本发明可以实现更好的分流散列度。
以下再用一个具体例子来描述上述方法的有益效果:
参见图2,例如有两条流P<0.0.0.1,0.0.0.2,3>(分别指源IP,目的IP和TTL)和Q<0.0.0.3,0.0.0.1,2>,在A上需要分流,例如可以用异或运算实现HASH计算,此时P的HASH结果hash(P)=(01 xor 10 xor 11)=00,Q的HASH结果hash(Q)=(11 xor 01 xor 10)=00,此时,这两条流在第一跳A上HASH为同一个索引值,假设者发向结点B。
在结点B上,P和Q的TTL减1后相应地变为P<0.0.0.1,0.0.0.2,2>和Q<0.0.0.3,0.0.0.1,1>,hash(P)=(01 xor 10 xor 10)=01,hash(Q)=(11 xor01 xor 01)=11,此时,这两条流在第二跳B上HASH得到的索引值就不相同,这两条流就可能分别发向D和E,而不是固定发向一个结点。
还是以图2为例,一般的,当有大量的流到达A后,可能会有大约一半的流计算出相同的索引值(或者计算出不同的索引值但对应的出接口相同),这一半的流假设都到达B,在B上如果用现有技术的方法一定还是算出相同的索引值(或者计算出不同的索引值但对应的出接口相同);加入TTL作为新HASH源之后,根据上面的证明和实例,可以发现,即使大量流在A上计算出相同的索引值,在B上也会比较均匀计算出不同的索引值,从而起到级联分流的作用。
实现算法后容易验证,在第二跳B上各个流HASH出的索引值大致均匀,散列度高。
根据上面的描述,为了保证在同一结点上不同流可以HASH出不同的结果,并以此结果进行分流,所述TTL需具备两个前提:
I)在同一结点上,不同流的TTL不同。
II)在同一结点上,同一条流的TTL相同。如果这条流始终是保序的,那其TTL应该是相同的,如果这条流之前已经失序,导致在该结点的TTL不同,那么本发明可以继续按照上述处理方式处理,但此时不能保序。
在实际情况中,这两个前提都有可能不被保证,但是,例外的场景情况只是少数的几种,在大量的应用下,TTL都可以满足上述两个前提。因此本发明的算法可以保证在某一结点上的分流散列度远远高于现有的分流方法。
由于上述实施例中使用了IP报文头部的TTL作为新的HASH源,因此,本实施例的主要应用场景是IP网络,但是对于包含类似信息的网络,例如多协议标签网络(MPLS)、IP网络和MPLS网络的混合网、或二层转发网,同样适用本发明。所述类似信息为同流相关,但逐跳不同。所述同流相关,即相同的流该信息的值相同,不同的流该信息可能不相同;逐跳不同,即该信息在网络上的每一跳都不同。
例如在MPLS网络中,MPLS的标签中也包含TTL,可以利用TTL作为新的HASH源。
在IP和MPLS的混合网中,存在两种处理方式:
第一种为UNIFORM方式:即IP报文进入MPLS域时,把IP的TTL拷到MPLS封装中,报文离开MPLS域时,把MPLS封装的TTL拷回IP报文(MPLS的封装会被去掉),这样,假设报文进入MPLS前TTL=10,进MPLS域后逐跳减1,例如经过2跳减成8,离开MPLS域时,IP的TTL也变成了8,继续逐跳减1。这种情况实际上MPLS的TTL(即MPLS TTL)和IP的TTL(IP TTL)是等同处理的,没有什么差别,可以直接用MPLS的TTL作为新的HASH源。
第二种为PIPE方式:即IP报文进入MPLS域时,IP的TTL不变,MPLS的TTL填成255或者IP的TTL值,在MPLS域中MPLS的TTL逐跳减1,报文离开MPLS域时,直接把MPLS的封装去掉,使用IP报文本来的TTL,继续逐跳减1。这样,假设报文进入MPLS前TTL=10,进MPLS域后MPLS的TTL变成255(其中的一种情况,以此为例)逐跳减1,例如经过2跳减成253,离开MPLS域时,IP的TTL取原来的值再减1,也就是9,继续逐跳减1。这种情况下MPLS的TTL和IP的TTL是不相关的,对MPLS域内的报文来说,不管原来IP的TTL是多少,不同流的MPLS的TTL都一样,如果直接使用MPLS的TTL作为新的HASH源,就不能达到本发明的有益效果。因此,在这种情况下,可使用IP的TTL进行MPLS域内的分流,或者使用MPLS的TTL与IP的TTL之间的运算结果作为新HASH源,例如可以用MPLS的TTL减去IP的TTL,将运算结果作为新HASH源,以区别不同的流。
需要说明的是,本发明中所述的结点为进行所述HASH计算处理的最小单元,所述结点可以是指一台设备,也可以是指在同一设备上的不同转发结点。所述的级联可以为不同设备(一个设备作为一个结点)之间的级联,也可以是同一设备内不同处理结点间的级联,例如一个设备的一个结点a具有两个逻辑出接口分别指向同一设备中的结点b和结点c,在结点b又具有4个物理出接口,那么在结点a和结点b都需使用本发明所述的HASH计算处理方法进行分流。相对于现有技术,可以在每个结点上实现散列度更高的分流。并且在每个结点上,如果输入的流是均匀的,那么HASH出的结果也是均匀分布的,可以实现均匀地分流。
根据上述方法,本发明还公开了一种对数据流的分流装置。图4为本发明所述分流装置的一种实施结构图。参见图4,该分流装置设置在通讯网络的结点上,包括:
提取单元401,用于提取所转发数据流的特征信息以及与数据流和结点具有对应关系的信息。所述与数据流和结点具有对应关系的信息需具备以下:对于不同的数据流,其取值可对应不同;对于同一条流的不同跳结点,其取值对应不同。
HASH算法单元402,将提取单元401所提取的信息作为所转发数据流的HASH源,利用HASH算法对输入的HASH源进行计算,并输出计算结果;且所述各结点HASH算法单元中具有相同的HASH算法;
配置单元403,用于配置结点出接口与HASH计算结果的对应关系;
分流单元404,用于根据数据流的HASH计算结果和配置单元中的对应关系将数据流分担到对应的出接口输出。
与上述方法相同,在本分流装置的优选实施例中,所述与数据流和结点具有对应关系的信息为:对于不同的数据流,其取值可对应不同;对于同一条流的不同跳结点,其取值对应不同。
优选的,所述通讯网络为IP网、多协议标签转发MPLS网、IP网和MPLS网的混合网、或二层转发网。所述与数据流和结点具有对应关系的信息可以选择所述数据流的TTL。
如果所述通讯网络为IP网和MPLS网的混合网,且MPLS网络采用PIPE方式处理TTL,则所述与数据流和结点具有对应关系的信息可以为:所述数据流报文的IP TTL与MPLS TTL的运算值。
与上述方法相同,所述HASH算法可以为异或算法,多项式原理算法、除以大素数求余算法等等。
本装置中所述通讯网络为级联网络,本装置可以设置的级联网络中的结点上,所述结点可以为一个通讯设备,或者为通讯设备中的一个以上的通讯结点。
所述作为HASH源的数据流的特征信息为源IP地址、目的IP地址、源端口号、目的端口号、协议号,标签(例如MPLS标签)或前述具体特征信息的任意组合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (14)
1、一种通讯网络中对数据流的分流方法,其特征在于,该方法包括:在通讯网络的各结点上配置相同的散列HASH算法,配置结点出接口与HASH计算结果的对应关系;将经该结点转发的数据流的特征信息、以及与数据流和结点具有对应关系的信息作为该数据流的HASH源,将所述数据流的HASH源输入HASH算法进行计算;按照数据流的HASH计算结果将该数据流分流到对应的出接口输出。
2、根据权利要求1所述的方法,其特征在于,所述与数据流和结点具有对应关系的信息为:对于不同数据流的同一跳结点,所述信息值可以不同;对于同一数据流的同一跳结点,所述信息值相同;对于同一数据流的不同跳结点,所述信息值不同。
3、根据权利要求2所述的方法,其特征在于,所述与数据流和结点具有对应关系的信息为所述数据流的报文生存时间TTL。
4、根据权利要求3所述的方法,其特征在于,所述通讯网络为IP网、多协议标签转发MPLS网、IP网和MPLS网的混合网、或二层转发网。
5、根据权利要求2所述的方法,其特征在于,所述通讯网络为PIPE方式的IP网和MPLS网的混合网,所述与数据流和结点具有对应关系的信息为:所述数据流报文的IP TTL与MPLS TTL的运算值。
6、根据权利要求1所述的方法,其特征在于,所述通讯网络对数据流的分流为级联分流。
7、根据权利要求1所述的方法,其特征在于,所述作为HASH源的数据流的特征信息为源IP地址、目的IP地址、源端口号、目的端口号、协议号、标签、或前述具体特征信息的任意组合。
8、一种对数据流的分流装置,设置在通讯网络的结点上,其特征在于,该装置包括:
提取单元,用于提取所转发数据流的特征信息以及与数据流和结点具有对应关系的信息;
HASH算法单元,将提取单元所提取的信息作为所转发数据流的HASH源,利用HASH算法对输入的HASH源进行计算,并输出计算结果;且所述各结点HASH算法单元中具有相同的HASH算法;
配置单元,用于配置结点出接口与HASH计算结果的对应关系;
分流单元,用于根据数据流的HASH计算结果和配置单元中的对应关系将数据流分担到对应的出接口输出。
9、根据权利要求8所述的装置,其特征在于,所述与数据流和结点具有对应关系的信息为:对于不同的数据流,其取值可对应不同;对于同一条流的不同跳结点,其取值对应不同。
10、根据权利要求9所述的装置,其特征在于,所述与数据流和结点具有对应关系的信息为所述数据流的TTL。
11、根据权利要求10所述的装置,其特征在于,所述通讯网络为IP网、MPLS网、IP网和MPLS网的混合网、或二层转发网。
12、根据权利要求9所述的装置,其特征在于,所述通讯网络为PIPE方式的IP网和MPLS网的混合网,所述与数据流和结点具有对应关系的信息为:所述数据流报文的IP TTL与MPLS TTL的运算值。
13、根据权利要求8所述的装置,其特征在于,所述通讯网络中对数据流的分流为级联分流。
14、根据权利要求8所述的装置,其特征在于,所述作为HASH源的数据流的特征信息为源IP地址、目的IP地址、源端口号、目的端口号、协议号,标签或前述具体特征信息的任意组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100833059A CN100499591C (zh) | 2006-05-31 | 2006-05-31 | 通讯网络中对数据流的分流方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100833059A CN100499591C (zh) | 2006-05-31 | 2006-05-31 | 通讯网络中对数据流的分流方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1984070A true CN1984070A (zh) | 2007-06-20 |
CN100499591C CN100499591C (zh) | 2009-06-10 |
Family
ID=38166316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100833059A Expired - Fee Related CN100499591C (zh) | 2006-05-31 | 2006-05-31 | 通讯网络中对数据流的分流方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100499591C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088457A (zh) * | 2010-12-17 | 2011-06-08 | 天津曙光计算机产业有限公司 | 一种基于保证连接均衡性的报文分流方法 |
CN101527685B (zh) * | 2009-04-17 | 2011-07-20 | 华为技术有限公司 | 一种报文传输链路的分配方法和装置 |
CN102420752A (zh) * | 2011-11-28 | 2012-04-18 | 曙光信息产业(北京)有限公司 | 一种10Gbps流量下的动态分流装置 |
CN102497320A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种基于IPv6报文的分流方法 |
CN102821049A (zh) * | 2012-08-15 | 2012-12-12 | 华为技术有限公司 | 转发报文的方法和装置 |
CN102136989B (zh) * | 2010-01-26 | 2014-03-12 | 华为技术有限公司 | 报文传输的方法、系统和设备 |
CN104184676A (zh) * | 2013-05-27 | 2014-12-03 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
CN104394077A (zh) * | 2014-12-12 | 2015-03-04 | 盛科网络(苏州)有限公司 | 基于Hash算法的标签查找方法及装置 |
CN104850555A (zh) * | 2014-02-14 | 2015-08-19 | 阿里巴巴集团控股有限公司 | 一种提取标准描述信息的方法及装置 |
CN106302236A (zh) * | 2015-05-27 | 2017-01-04 | 国家计算机网络与信息安全管理中心 | 一种数据分流的方法及接入设备 |
CN106936651A (zh) * | 2015-12-29 | 2017-07-07 | 华为技术有限公司 | 一种数据流的确定方法及控制器 |
-
2006
- 2006-05-31 CN CNB2006100833059A patent/CN100499591C/zh not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527685B (zh) * | 2009-04-17 | 2011-07-20 | 华为技术有限公司 | 一种报文传输链路的分配方法和装置 |
CN102136989B (zh) * | 2010-01-26 | 2014-03-12 | 华为技术有限公司 | 报文传输的方法、系统和设备 |
CN102088457A (zh) * | 2010-12-17 | 2011-06-08 | 天津曙光计算机产业有限公司 | 一种基于保证连接均衡性的报文分流方法 |
CN102420752B (zh) * | 2011-11-28 | 2015-02-04 | 曙光信息产业(北京)有限公司 | 一种10Gbps流量下的动态分流装置 |
CN102420752A (zh) * | 2011-11-28 | 2012-04-18 | 曙光信息产业(北京)有限公司 | 一种10Gbps流量下的动态分流装置 |
CN102497320A (zh) * | 2011-12-13 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种基于IPv6报文的分流方法 |
CN102497320B (zh) * | 2011-12-13 | 2014-12-03 | 曙光信息产业(北京)有限公司 | 一种基于IPv6报文的分流方法 |
CN102821049A (zh) * | 2012-08-15 | 2012-12-12 | 华为技术有限公司 | 转发报文的方法和装置 |
CN104184676A (zh) * | 2013-05-27 | 2014-12-03 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
CN104184676B (zh) * | 2013-05-27 | 2017-08-11 | 华为技术有限公司 | 一种数据中心网络及其流量均衡方法和控制器 |
CN104850555A (zh) * | 2014-02-14 | 2015-08-19 | 阿里巴巴集团控股有限公司 | 一种提取标准描述信息的方法及装置 |
CN104850555B (zh) * | 2014-02-14 | 2018-07-10 | 阿里巴巴集团控股有限公司 | 一种提取标准描述信息的方法及装置 |
CN104394077A (zh) * | 2014-12-12 | 2015-03-04 | 盛科网络(苏州)有限公司 | 基于Hash算法的标签查找方法及装置 |
CN104394077B (zh) * | 2014-12-12 | 2017-11-28 | 盛科网络(苏州)有限公司 | 基于Hash算法的标签查找方法及装置 |
CN106302236A (zh) * | 2015-05-27 | 2017-01-04 | 国家计算机网络与信息安全管理中心 | 一种数据分流的方法及接入设备 |
CN106936651A (zh) * | 2015-12-29 | 2017-07-07 | 华为技术有限公司 | 一种数据流的确定方法及控制器 |
CN106936651B (zh) * | 2015-12-29 | 2020-01-31 | 华为技术有限公司 | 一种数据流的确定方法及控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN100499591C (zh) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100499591C (zh) | 通讯网络中对数据流的分流方法和装置 | |
US11374848B2 (en) | Explicit routing with network function encoding | |
CN100499592C (zh) | 通讯网络中对数据流的分流方法和装置 | |
CN105227463B (zh) | 一种分布式设备中业务板间的通信方法 | |
CN102739518B (zh) | 一种流量负载分担方法和设备 | |
CN107181662A (zh) | 一种vxlan隧道负载均衡的方法及系统 | |
CN106817299B (zh) | 软件定义网络的表项生成方法和装置以及报文转发方法 | |
CN102301663A (zh) | 一种报文处理方法及相关设备 | |
CN103326940B (zh) | 在网络中转发报文的方法和运营商边缘设备 | |
CN101631089B (zh) | 基于私网vpn的流量统计方法、设备和系统 | |
CN105556916B (zh) | 网络流的信息统计方法和装置 | |
CN104283791A (zh) | 一种sdn网络中的三层拓扑确定方法和设备 | |
DE502007002506D1 (de) | Verfahren und netzwerkknoten zum routen von datenpaketen in kommunikationsnetzen | |
CN107306222A (zh) | 标签交换路径上的流量工程隧道建立的方法和设备 | |
CN108566342A (zh) | 基于sdn架构的多业务流量分流系统及分流数据处理方法 | |
CN102694732B (zh) | 一种基于局部虚拟化的虚拟网构建方法和系统 | |
ZA200905999B (en) | Ethernet spanning tree provision | |
CN102075438A (zh) | 单播数据帧传输方法及装置 | |
CN107046506A (zh) | 一种报文处理方法、流分类器和业务功能实例 | |
CN108075949A (zh) | 一种vpws环境实现rfc2544的方法及设备 | |
CN103391249B (zh) | 一种is-is网络中的邻居关系建立方法和设备 | |
CN112995036B (zh) | 网络流量的调度方法及装置 | |
US8929366B2 (en) | Method and apparatus for transporting packets with specific traffic flows having strict packet ordering requirements over a network using multipath techniques | |
CN108075928A (zh) | 网络流量通用仿真模型及方法 | |
CN104753791A (zh) | 一种数据包处理方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090610 Termination date: 20170531 |
|
CF01 | Termination of patent right due to non-payment of annual fee |