CN102868631B - 负载分担方法和装置 - Google Patents
负载分担方法和装置 Download PDFInfo
- Publication number
- CN102868631B CN102868631B CN201210367262.2A CN201210367262A CN102868631B CN 102868631 B CN102868631 B CN 102868631B CN 201210367262 A CN201210367262 A CN 201210367262A CN 102868631 B CN102868631 B CN 102868631B
- Authority
- CN
- China
- Prior art keywords
- data stream
- load sharing
- son field
- sharing algorithm
- path
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000009827 uniform distribution Methods 0.000 claims abstract description 26
- 239000000284 extract Substances 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 241001146702 Candidatus Entotheonella factor Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- 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
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种负载分担方法,包括:将提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,并将该因子字段作为网络转发设备接口默认的负载分担算法的输入因子,或者将该因子字段作为根据各个数据流的流量特征,为其选择可以将所述各个数据流均匀分配的负载分担算的输入因子,计算各个数据流的路径,并将各个数据流按照各自路径转发出去。本发明实施例实现了增加网络转发设备的扩展性,并实现了负载均衡。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种负载分担方法和装置。
背景技术
在互联网协议(Internet Protocol,IP)网络中为了提高可靠性和提高可利用的链路带宽,经常采用负载分担技术。负载分担技术的具体应用场景是在数据报文流量到达传输的网络转发设备后,根据逐流或逐包原则,在多个可用的路径中选择其中的一条路径,将对应数据报文转发到下游其他设备。
负载分担分为逐流负载分担和逐包负载分担,一般情况采用逐流负载分担,这样可以保证一条数据流的所有数据报文在目的端按顺序接收而不出现乱序,保证业务功能正常。
现有网络转发设备在进行逐流负载分担时一般是在对报文的协议类型可识别的基础上,对识别出的报文类型使用固定的流特征元素字段方法和基于单板/接口可配置的负载分担算法进行负载分担路径的选取。
IP技术领域虽然已经发展了30多年,但还是一个在快速发展的技术领域,由于其扩展性强,新的协议,新的报文类型层出不穷。这样在网的网络转发设备的更新就经常出现跟不上新协议发展的情况,表现在负载分担领域,为在网的老网络转发设备不认识新的报文协议类型,则只能退化到其可以认识的程度来选取流特征元素字段,这样经常由于流特征元素字段选取的不合适,造成逐流的情况下负载分担不均的情况。
发明内容
在第一方面,一种负载分担方法,包括:
提取分类后的数据流的报文头中的因子字段,所述因子字段用于区分所述数据流;
根据所述分类后的数据流依照负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子。
将所述分类后的数据流按照所述数据流的路径发送。
在第二方面,另一种负载分担方法,包括:
根据分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配;
根据分类后的数据流依照所述负载分担算法计算所述数据流的路径;
将所述分类后的数据流按照所述数据流的路径发送。
在第三方面,一种负载分担装置,包括:
提取单元,用于提取分类后的数据流的报文头中的因子字段,所述因子字段用于区分所述数据流,,将所述因子字段输出到计算单元;
计算单元,用于从所述提取单元接收所述因子字段,根据所述分类后的数据流依照负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子,将所述数据流的路径输出到发送单元;
发送单元,用于从所述计算单元接收所述数据流的路径,将所述分类后的数据流按照所述数据流的路径发送。
在第四方面,另一种负载分担装置,包括:
选择单元,用于根据分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配,将所述负载分担算法输出到计算单元;
计算单元,用于从所述选择单元接收所述负载分担算法,根据分类后的数据流依照所述负载分担算法计算所述数据流的路径,将所述数据流的路径输出到发送单元;
发送单元,用于从所述计算单元接收所述数据流的路径,将所述分类后的数据流按照所述数据流的路径发送。
本发明实施例中,根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配负载分担算法,或/和将分类后的数据流的报文头中可以将所述数据流区分开来的因子字段作为负载分担算法的输入因子;根据负载分担算法计算数据流的路径;将数据流按照所述路径发送。从而增加了网络转发设备的扩展性,并实现了负载均衡。
附图说明
图1为本发明实施例一提供的负载分担方法流程图;
图2为本发明实施例二提供的负载分担方法流程图;
图3为本发明实施例三提供的负载分担装置示意图;
图4为本发明实施例四提供的负载分担装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。
在负载分担领域,由于在网的老网络转发设备不认识新的报文协议类型,则只能退化到其可以认识的程度来选取流特征元素字段,这样经常由于流特征元素字段选取的不合适,造成逐流的情况下负载分担不均的情况。例如针对通用分组无线业务隧道协议(General Packet Radio Service TunnelingProtocol,GTP)报文,其在用户数据协议(User Datagram Protocol,UDP)层面之上又封装了通用分组无线业务(General Packet Radio Service,GPRS)协议,而如果网络转发设备不能识别GTP协议,则只能按照UDP协议来进行识别,按UDP协议来取IP五元组进行负载分担,而一条GTP隧道上承载的所有用户的报文都只有一组IP五元组,这样对于GTP隧道的流量就不再能够进行逐流负载分担了。IP五元组包括:目的IP地址、目的端口号、源I P地址、源端口号、协议号。
其中,IP二元组主要针对非UDP、非传输控制协议(Transmission ControlProtocol,TCP)报文,采用源IP(Source IP,S IP)和目的IP(DestinationIP,DIP)字段来进行流的区分。IP五元组主要针对UDP或TCP报文,采用SIP、DIP、协议号、源端口号和目的端口号,来进行流的区分。而网络转发设备针对多协议标记交换(Multiprotocol Label Switching,MPLS)报文进行逐流负载分担时为了不引入乱序,绝对安全的做法是基于各层标签来进行流特征元素字段的选取。
另外,由于网络转发设备一个接口就经常要面对众多个源地址、目的地址不同、众多类型协议流量组合的流量模型,如果一个接口只能使用一种负载分担算法,则对一条流量进行负载分担后,由于各个流量模型不同,对其它流量应用该负载分担算法就可能没有效果,或者可能带来更坏的效果。
本发明实施例针对现有技术下负载分担方法的缺陷,提供了一种负载分担方法和装置。通过为分类后的数据流选择的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法,或/和将分类后的数据流的报文头中可以将所述数据流区分开来的因子字段作为负载分担算法的输入因子;根据负载分担算法计算数据流的路径;将数据流按照所述路径发送,从而增加了网络转发设备接口的扩展性,并实现了负载均衡。
需要说明的是,本发明实施例提供的方法和装置适用于所有基于流转发的负载分担场景。
图1为本发明实施例一提供的负载分担方法流程图。如图1所示,本发明实施例提供的方法包括:
S101,提取分类后的数据流的报文头中的因子字段,所述因子字段用于区分所述数据流。
根据ACL规则,提取分类后的数据流的报文头中可以将所述数据流区分开来的字段,将这些字段称为因子字段,并且将该因子字段作为负载分担算法的输入因子。
可选地,这里的因子字段具体为报文头中的一个以上的字段。即因子字段可以由一个以上的字段组成,每个字段的获取方法为:从报文头开始经过一次以上的偏移,每偏移一次获得一个字段,具体偏移次数及每次的偏移量可以根据实际需要而定,可以从下述对ACL配置S101所对应的动作的过程中理解如何在报文头中偏移若干字节并取相应字段作为因子字段。
可选地,执行S101之前还可以包括对ACL做相应的配置的步骤。为便于理解,这里首先阐述对ACL配置提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段的动作的过程,然后根据配置的ACL,阐述如何提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,并将该因子字段作为相应的负载分担算法的输入因子。
下面以GTP报文为例,对ACL配置S101所对应的动作的过程做详细阐述。
表1GTP报文格式
表1是GPT报文的格式,IP HEAD,UDP HEAD是外层IP/UDP头,其中GTP HEAD的构成如表2所示:
表2GPT报文中GTP HEAD格式
假设GTP隧道的源IP=180.214.235.174,目的IP=223.255.226.171,udpsource-port=2152,由于GTP隧道的外层源IP(180.214.235.174)、目的IP(223.255.226.171)地址固定,而外层UDP的端口号又都是2152,即一个GTP报文中所有流量的IP 2元组或IP 5元组都一样,这样导致根据外层的IP 2元组或IP 5元组无法进一步细分流量,无法达到将GTP流量均匀分布在不同路径上的目的。因此,可以按照本发明实施例提供的方法,为负载分担算法选择可以区分出各个数据流的输入因子,即可以对ACL规则配置如下:
rule 1 permit ip source 180.214.235.174 destination223.255.226.171 udp source-port 2152 destination-port 2152load-balance matching-offset 32 length 4。
其中,“load-balance matching-offset 32 length 4”是指在负载分担时,可以在如表1所示的GTP报文中,从报文头部字段IP HEAD(对应报文中第15个字节处)算起,向后偏移32个字节,然后取4个字节的TEID字段作为负载分担算法的输入因子,由于同一个GTP隧道中的各个流量的TEID字段不同,因此,将TEID字段作为负载分担算法的输入因子,可以达到对GTP隧道承载的流量进一步细化的目的。
上述配置负载分担算法输入因子的动作,采取的是根据报文头偏移一段长度,再取一段长度的方式。由于在IP网络中负载分担普通都是采用IP 2元组或IP 5元组的方式,所以当报文中含有内层IP信息时,也可以直接偏移到内层IP头,然后根据内层IP头所含有的IP 2元组或IP 5元组来作为替换的负载分担算法输入因子。如假设GTP隧道承载的数据中含有一个内层IP头和UDP头。如表3所示:
表3含有内层IP头和UDP头的GTP报文格式
表3是对表1中GTP报文的格式的进一步细化,其中IP HEAD,UDP HEAD是外层IP/UDP头,而IP HEAD-1/UDP HEAD-1是内层IP/UDP头,GTP隧道中各个流量的IP HEAD-1/UDP HEAD-1各不相同,因此,可以对ACL规则配置如下:
rule 2 permit ip source 180.214.235.174 destination223.255.226.171 udp source-port 2152 destination-port 2152load-balance matching-offset 40 as-ip。
其中,“load-balance matching-offset 40 as-ip”是指在负载分担时,可以在如表3所示的GTP报文中,从报文头部字段IP HEAD(对应报文中第15个字节处)算起,向后偏移40个字节,定位到内层IP头(IP HEAD-1),然后对内层IP头解析出其IP 2元组或IP 5元组信息来替换负载分担算法的输入因子,由于同一个GTP隧道中的各个流量的内层IP 2元组或IP 5元组各不相同,因此,将内层IP 2元组或IP 5元组作为负载分担算法的输入因子,也可以达到对GTP隧道承载的流量进一步细化的目的。
经过上述过程,将ACL动作配置完成后,若以上述ACL规则rule1为例,在提取负载分担算法输入因子时,可以根据rule1中的“load-balancematching-offset 32 length 4”,在如表1所示的GTP报文中,从报文头部字段IP HEAD(对应报文中第15个字节处)算起,向后偏移32个字节,然后取4个字节的TEID字段作为负载分担算法的输入因子,由于同一个GTP隧道中的各个流量的TEID字段不同,因此,将TEID字段作为负载分担算法的输入因子,可以达到对GTP隧道承载的流量进一步细化的目的。
若以上述ACL规则rule 2为例,在提取负载分担算法输入因子时,可以根据rule 2中的“load-balance matching-offset 40 as-ip”,在如表3所示的GTP报文中,从报文头部字段IP HEAD(对应报文中第15个字节处)算起,向后偏移40个字节,定位到内层IP头(IP HEAD-1),然后对内层IP头解析出其IP 2元组或IP 5元组信息来替换负载分担算法的输入因子,由于同一个GTP隧道中的各个流量的内层IP 2元组或IP 5元组各不相同,因此,将内层IP 2元组或IP 5元组作为负载分担算法的输入因子,也可以达到对GTP隧道承载的流量进一步细化的目的。
S102,根据所述分类后的数据流依照负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子。
具体地,将上述S101获得的输入因子替换网络转发设备接口默认的输入因子,并根据网络转发设备接口默认的负载分担算法,计算出各个数据流的路径。
若以上述ACL规则rule1为例,在计算数据流的路径时,可以将从步骤101获得的TEID字段作为负载分担算法的输入因子,由于同一个GTP隧道中的各个流量的TEID字段不同,因此,将TEID字段作为负载分担算法的输入因子,可以达到对GTP隧道承载的流量进一步细化的目的。若以上述ACL规则rule 2为例,在计算数据流的路径时,可以将从S101获得的内层IP 2元组或IP 5元组作为负载分担算法的输入因子,由于同一个GTP隧道中的各个流量的内层IP 2元组或IP 5元组各不相同,因此,将内层IP 2元组或IP 5元组作为负载分担算法的输入因子,也可以达到对GTP隧道承载的流量进一步细化的目的。
在另一个实施例中,可以根据分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配。
这里的负载分担算法可以是异或算法或循环冗余检验(CyclicRedundancy Check,CRC)算法,也可以是其它负载分担算法。
由于网络转发设备一个接口就经常要面对众多个源地址、目的地址不同、众多类型协议流量组合的流量模型,而如果一个接口只能使用一种负载分担算法,则对一条流量进行负载分担后,由于各个流量模型不同,对其它流量应用该负载分担算法就可能没有效果,或者可能带来更坏的效果,因此,可以根据分类后的数据流,为每个数据流选择与其相应的负载分担算法。
可选地,在对ACL配置S101所对应的动作的同时,还可以对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作。为便于理解,这里首先阐述对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作的过程,然后根据配置的ACL,阐述如何根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法。
具体地,假设一台设备默认的负载分担算法是对输入因子进行不同位的异或运算,而发现到一个网段“10.1.0.0/16”的流量负载分担不均,进一步分析发现是由于从源网段“192.168.0.0/16”的到目的网段“10.1.0.0/16”的流量比较大,而且这些流量的报文源IP地址和目的IP地址的变化比较有规律,都是源IP地址和目的IP地址同时加1递增,如其中一个报文的源IP是192.168.0.1,目的IP是10.1.0.1,而另一个报文的源IP是192.168.0.2,目的IP是10.1.0.2。因为源IP地址和目的IP地址同时加1递增,所以利用异或算法对源IP地址和目的IP地址进行位异或的得出的结果一样,因此,会造成从源网段“192.168.0.0/16”到目的网段“10.1.0.0/16”的流量负载分担不均。
现有技术一般是整机的修改负载分担算法来解决这个问题,譬如将这台设备的负载分担算法从异或算法修改为CRC算法,但是因为只有从源网段“192.168.0.0/16”到目的网段“10.1.0.0/16”的流量负载分担不均,如果整机修改算法,有可能造成其他目前均匀的流量因为不匹配CRC算法而出现负载分担不均。因此,这种情况下可以用采用本发明实施例提供的方法来解决,即在ACL中对源网段“192.168.0.0/16”到目的网段“10.1.0.0/16”的流量进行负载算法单独配置,配置的ACL规则为“rule 3 permit ipsource 192.168.0.0 mask 255.255.0.0 destination 10.1.0.0 mask255.255.0.0 load-balance hash-arithmetic crc”。
上述规则rul e 3表示将源网段“192.168.0.0/16”到目的网段“10.1.0.0/16”的流量的负载分担算法替换为CRC算法。
经过上述过程,将ACL动作配置完成后,在计算数据流的路径时,可以根据ACL中的规则rule 3将源网段“192.168.0.0/16”到目的网段“10.1.0.0/16”的流量的负载分担算法替换为CRC算法,避免了利用异或算法导致计算结果一样,无法进一步细分流量的缺点,从而可以更好的实现负载分担。
S103,将所述分类后的数据流按照所述数据流的路径发送。
将各个数据流按照各自计算得到的路径转发出去,实现负载分担。
本发明实施例中,将提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,并将该因子字段作为网络转发设备接口默认的负载分担算法的输入因子,或者将该因子字段作为根据各个数据流的流量特征,为其选择可以将所述各个数据流均匀分配的负载分担算的输入因子,计算各个数据流的路径,并将各个数据流按照各自路径转发出去,实现负载均衡,同时可以增加网络转发设备接口的扩展性。
下述实施例描述的为,根据数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法,利用所述负载分担算法替换网络转发设备接口默认的负载分担算法,将网络转发设备接口默认的输入因子作为所述负载分担算法的输入因子,或者利用新的输入因子替换网络转发设备接口默认的输入因子,将新的输入因子作为所述负载分担算法的输入因子,实现负载分担的过程。图2为本发明实施例二提供的负载分担方法流程图。如图2所示,本发明实施例提供的方法包括以下步骤:
S201,根据分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配。
具体地,根据分类后的数据流的流量特征,为每个数据流选择负载分担效果最优的负载分担算法。
可选地,在S201之前还可以包括对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作的步骤。由于对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作的过程,以及根据配置的ACL为分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的过程,在上述实施例一中已有详细阐述,在此不复赘述。
S202,根据分类后的数据流依照所述负载分担算法计算所述数据流的路径。
具体地,将网络转发设备接口默认的输入因子作为各个数据流的相应的负载分担算法的输入因子,并计算出各个数据流的路径。以上述ACL规则rule3为例,网络转发设备接口默认的输入因子为IP 2元组或IP 5元组,分类后的数据流相应的负载分担算法为CRC算法,则网络转发设备接口对各个流量的IP2元组或IP 5元组做CRC运算,并根据运算结果为各个流量选择不同的路径。
在另一个实施例中,可以将分类后的数据流的报文头中可以将所述数据流区分开来的因子字段作为所述负载分担算法的输入因子。
根据ACL规则,提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,将该因子字段作为负载分担算法的输入因子,达到为同一接口的数据流进行负载分担的目的。
可选地,这里的因子字段具体为报文头中的一个以上的字段。即因子字段可以由一个以上的字段组成,每个字段的获取方法为:从报文头开始经过一次以上的偏移,每偏移一次获得一个字段,具体偏移次数及每次的偏移量可以根据实际需要而定,如何在报文头中偏移若干字节并取相应字段作为因子字段的过程,在实施例一中对ACL配置S101所对应的动作的过程中有详细描述,在此不复赘述。
可选地,在S201之前,对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作时,还可以对ACL配置提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段的动作。由于对ACL配置提取分类后的数据流中可以将所述数据流区分开来的因子字段的动作的过程,以及根据配置的ACL提取分类后的数据流中可以将所述数据流区分开来的因子字段,并将该因子字段作为负载分担算法的输入因子的过程,在上述实施例一中已有详细阐述,在此不复赘述。
S203,将所述分类后的数据流按照所述数据流的路径发送。
将各个数据流按照各自计算得到的路径转发出去,实现负载分担。
本发明实施例中,根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法;将网络转发设备接口默认的输入因子作为该负载分担算法的输入因子,或提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,并将该因子字段作为负载分担算法的输入因子,计算数据流的路径,实现负载分担,同时可以增加网络转发设备接口的扩展性。
上述两个实施例描述的为两种负载分担方法,下述实施例描述的为与负载分担方法实施例一对应的负载分担装置实施例。如图3所示,图3为本发明实施例三提供的负载分担装置示意图,所述装置包括:提取单元301、计算单元302和发送单元303。
提取单元301,用于提取分类后的数据流中因子字段,所述因子字段用于区分所述数据流,将所述因子字段输出到计算单元302。
根据ACL规则,提取分类后的数据流中可以将所述数据流区分开来的字段,将这些字段称为因子字段,将该因子字段作为负载分担算法的输入因子,达到为同一接口的数据流进行负载分担的目的。
可选地,这里的因子字段具体为报文头中的一个以上的字段。即因子字段可以由一个以上的字段组成,每个字段的获取方法为:从报文头开始经过一次以上的偏移,每偏移一次获得一个字段,具体偏移次数及每次的偏移量可以根据实际需要而定,如何在报文头中偏移若干字节并取相应字段作为因子字段的过程,在实施例一中对ACL配置S101所对应的动作的过程中有详细描述,在此不复赘述。
计算单元302,用于从提取单元301接收所述因子字段,根据所述分类后的数据流依照负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子,将所述数据流的路径输出到发送单元303。
具体地,将从提取单元301获得的输入因子替换网络转发设备接口默认的输入因子,并根据网络转发设备接口默认的负载分担算法,计算出各个数据流的路径。
在另一个实施例中,可以根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法,以便更好的进行负载分担。
发送单元303,用于从计算单元302接收所述数据流的路径,将所述分类后的数据流按照所述数据流的路径发送。
将从计算单元302接收的各个数据流的路径转发出去,实现负载分担。
可选地,所述装置还可以包括配置单元310,用于对ACL配置提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段的动作,将配置的所述ACL输出到提取单元301。
配置单元310还可以用于对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作,将配置的所述ACL输出到提取单元301。
各个单元功能的具体实现过程与实施例一中的相应过程相同,在此不复赘述。
本发明实施例中,将提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,并将该因子字段作为网络转发设备接口默认的负载分担算法的输入因子,或者将该因子字段作为根据各个数据流的流量特征,为其选择可以将所述各个数据流均匀分配的负载分担算的输入因子,计算各个数据流的路径,并将各个数据流按照各自路径转发出去,实现负载分担,同时可以增加网络转发设备接口的扩展性。
下述实施例描述的为与负载分担方法实施例二对应的负载分担装置实施例。如图4所示,图4为本发明实施例四提供的负载分担装置示意图,所述装置包括:选择单元401、计算单元402和发送单元403。
选择单元401,用于根据分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配,将所述负载分担算法输出到计算单元402。
计算单元402,用于从选择单元401接收所述负载分担算法,根据分类后的数据流依照所述负载分担算法计算所述数据流的路径,将所述数据流的路径输出到发送单元403。
在另一个实施例中,可以将分类后的数据流的报文头中可以将所述数据流区分开来的因子作为所述负载分担算法的输入因子,计算出各个数据流的路径。
可选地,这里的因子字段具体为报文头中的一个以上的字段。即因子字段可以由一个以上的字段组成,每个字段的获取方法为:从报文头开始经过一次以上的偏移,每偏移一次获得一个字段,具体偏移次数及每次的偏移量可以根据实际需要而定,如何在报文头中偏移若干字节并取相应字段作为因子字段的过程,在实施例一中对ACL配置S101所对应的动作的过程中有详细描述,在此不复赘述。
发送单元403,用于从计算单元402接收所述数据流的路径,将所述分类后的数据流按照所述数据流的路径发送。
将从计算单元402接收的各个数据流的路径转发出去,实现负载分担。
可选地,所述装置还包括配置单元410,用于对ACL配置根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法的动作,并将配置的所述ACL输出到选择单元401。
配置单元410还用于对ACL配置将网络转发设备接口默认的输入因子作为各个数据流的负载分担算法的输入因子的动作,并将配置的所述ACL输出到选择单元401。
各个单元功能的具体实现过程与实施例二中的相应过程相同,在此不复赘述。
本发明实施例中,根据分类后的数据流的流量特征,为所述数据流选择可以将所述数据流均匀分配的负载分担算法;将网络转发设备接口默认的输入因子作为该负载分担算法的输入因子,或提取分类后的数据流的报文头中可以将所述数据流区分开来的因子字段,并将该因子字段作为负载分担算法的输入因子,计算数据流的路径,实现负载分担,同时可以增加网络转发设备接口的扩展性。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种负载分担方法,其特征在于,所述方法包括:
对访问控制列表ACL配置提取分类后的数据流的报文头中的因子字段的动作,所述因子字段用于针对网络转发设备的负载分担流程无法有效识别的内层协议类型区分所述数据流;
根据配置的ACL,提取分类后的数据流的报文头中的因子字段;
根据提取的因子字段,依照负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子;
将所述分类后的数据流按照所述数据流的路径发送。
2.根据权利要求1所述的负载分担方法,其特征在于,所述根据提取的因子字段,依照负载分担算法计算所述数据流的路径,具体包括:
将提取的因子字段作为所述分类后的数据流的流量特征,根据所述分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配;
根据所述负载分担算法计算所述数据流的路径。
3.根据权利要求1所述的负载分担方法,其特征在于,所述因子字段具体为报文头中的一个以上的字段。
4.一种负载分担方法,其特征在于,所述方法包括:
对访问控制列表ACL配置提取分类后的数据流的报文头中的因子字段的动作,所述因子字段用于针对网络转发设备的负载分担流程无法有效识别的内层协议类型区分所述数据流;以及,将所述因子字段作为分类后的数据流的流量特征,对所述ACL配置根据分类后的数据流的流量特征,为所述数据流选择负载分担算法的动作;
根据配置的ACL和分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配;
根据分类后的数据流依照所述负载分担算法计算所述数据流的路径;
将所述分类后的数据流按照所述数据流的路径发送。
5.根据权利要求4所述的负载分担方法,其特征在于,所述根据分类后的数据流依照所述负载分担算法计算所述数据流的路径具体包括:
根据配置的ACL,提取所述分类后的数据流的报文头中的因子字段;
根据提取的因子字段,依照所述负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子。
6.根据权利要求5所述的负载分担方法,其特征在于,所述因子字段具体为报文头中的一个以上的字段。
7.一种负载分担装置,其特征在于,所述装置包括:
配置单元,用于对访问控制列表ACL配置提取分类后的数据流的报文头中的因子字段的动作,将配置的ACL动作输出到提取单元,所述因子字段用于针对网络转发设备的负载分担流程无法有效识别的内层协议类型区分所述数据流;
提取单元,用于根据配置的ACL,提取分类后的数据流的报文头中的因子字段,将所述因子字段输出到计算单元;
计算单元,用于从所述提取单元接收所述因子字段,根据所述因子字段,依照负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子,将所述数据流的路径输出到发送单元;
发送单元,用于从所述计算单元接收所述数据流的路径,将所述分类后的数据流按照所述数据流的路径发送。
8.根据权利要求7所述的负载分担装置,其特征在于,所述计算单元具体用于将提取的因子字段作为所述分类后的数据流的流量特征,根据所述分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配,以及根据所述负载分担算法计算所述数据流的路径。
9.根据权利要求7所述的负载分担装置,其特征在于,所述因子字段具体为报文头中的一个以上的字段。
10.一种负载分担装置,其特征在于,所述装置包括:
配置单元,用于对访问控制列表ACL配置提取分类后的数据流的报文头中的因子字段的动作,所述因子字段用于针对网络转发设备的负载分担流程无法有效识别的内层协议类型区分所述数据流;以及,将所述因子字段作为分类后的数据流的流量特征,对所述ACL配置根据分类后的数据流的流量特征,为所述数据流选择负载分担算法的动作,将配置的ACL动作输出到选择单元;
选择单元,用于根据配置的ACL和分类后的数据流的流量特征,为所述数据流选择负载分担算法,所述负载分担算法用于将所述数据流均匀分配,将所述负载分担算法输出到计算单元;
计算单元,用于从所述选择单元接收所述负载分担算法,根据分类后的数据流依照所述负载分担算法计算所述数据流的路径,将所述数据流的路径输出到发送单元;
发送单元,用于从所述计算单元接收所述数据流的路径,将所述分类后的数据流按照所述数据流的路径发送。
11.根据权利要求10所述的负载分担装置,其特征在于,所述计算单元具体用于根据配置的ACL,提取所述分类后的数据流的报文头中的因子字段,以及根据提取的因子字段,依照所述负载分担算法计算所述数据流的路径,所述因子字段作为所述负载分担算法的输入因子。
12.根据权利要求11所述的负载分担装置,其特征在于,所述计算单元提取的所述因子字段具体为报文头中的一个以上的字段。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210367262.2A CN102868631B (zh) | 2012-09-28 | 2012-09-28 | 负载分担方法和装置 |
PCT/CN2013/082902 WO2014048230A1 (zh) | 2012-09-28 | 2013-09-04 | 负载分担方法和装置 |
EP13840256.5A EP2882152B1 (en) | 2012-09-28 | 2013-09-04 | Load sharing method and apparatus |
US14/671,665 US9935881B2 (en) | 2012-09-28 | 2015-03-27 | Method and apparatus of load sharing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210367262.2A CN102868631B (zh) | 2012-09-28 | 2012-09-28 | 负载分担方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868631A CN102868631A (zh) | 2013-01-09 |
CN102868631B true CN102868631B (zh) | 2016-09-21 |
Family
ID=47447232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210367262.2A Expired - Fee Related CN102868631B (zh) | 2012-09-28 | 2012-09-28 | 负载分担方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9935881B2 (zh) |
EP (1) | EP2882152B1 (zh) |
CN (1) | CN102868631B (zh) |
WO (1) | WO2014048230A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868631B (zh) | 2012-09-28 | 2016-09-21 | 华为技术有限公司 | 负载分担方法和装置 |
CN103457868A (zh) * | 2013-08-15 | 2013-12-18 | 北京华为数字技术有限公司 | 一种负载分担方法及装置 |
CN103401802A (zh) * | 2013-08-26 | 2013-11-20 | 盛科网络(苏州)有限公司 | 基于传输协议的报文负载均衡方法及装置 |
ES2530425B1 (es) | 2013-08-30 | 2015-12-09 | Vodafone España, S.A.U. | Procedimiento, sistema y dispositivo para determinar si se realiza el traspaso entre frecuencias en redes de telecomunicaciones |
CN104579998B (zh) * | 2013-10-29 | 2018-07-24 | 国家计算机网络与信息安全管理中心 | 一种负载均衡处理装置 |
CN106034085A (zh) * | 2015-03-19 | 2016-10-19 | 中兴通讯股份有限公司 | 一种负荷分担方法、传输设备及级联设备 |
CN106034087B (zh) | 2015-03-20 | 2019-12-20 | 中兴通讯股份有限公司 | 一种业务功能链负载均衡方法、装置及系统 |
CN106209664A (zh) * | 2016-07-22 | 2016-12-07 | 迈普通信技术股份有限公司 | 一种数据传输方法、装置及系统 |
CN107786440B (zh) | 2016-08-26 | 2021-05-11 | 华为技术有限公司 | 一种数据报文转发的方法及装置 |
CN109995646B (zh) * | 2017-12-29 | 2021-10-01 | 西安华为技术有限公司 | 链路切换方法、装置及设备 |
CN110708329A (zh) * | 2019-10-16 | 2020-01-17 | 盛科网络(苏州)有限公司 | 一种基于udf识别未知隧道报文的方法 |
CN111510476B (zh) * | 2020-04-03 | 2023-06-20 | 金蝶软件(中国)有限公司 | 通信方法、装置、计算机设备和计算机可读存储介质 |
AU2021278434A1 (en) * | 2020-05-27 | 2023-02-09 | Step Software Inc. | Systems and methods for data communications |
WO2022001287A1 (zh) * | 2020-07-03 | 2022-01-06 | 华为技术有限公司 | 一种报文处理的方法及设备 |
CN112702277B (zh) * | 2020-12-15 | 2023-01-10 | 锐捷网络股份有限公司 | 一种负载均衡配置优化的方法和装置 |
CN113542149B (zh) * | 2021-07-08 | 2023-11-28 | 国家电网有限公司 | 网络流量的负载分担方法、存储介质、装置及系统 |
US11979420B2 (en) * | 2021-09-30 | 2024-05-07 | Intuit Inc. | Optimizing selection and dynamic configuration of load balancing techniques to resist cyber attacks |
CN116192730A (zh) * | 2021-11-26 | 2023-05-30 | 苏州盛科通信股份有限公司 | 针对网络负载分担应用的灵活产生hash值的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913454A (zh) * | 2006-08-30 | 2007-02-14 | 华为技术有限公司 | 一种ip报文负载分担实现方法及装置 |
CN101102269A (zh) * | 2007-06-15 | 2008-01-09 | 武汉虹旭信息技术有限责任公司 | 一种gprs网络中的数据负载均衡方法 |
CN101217455A (zh) * | 2007-01-05 | 2008-07-09 | 上海复旦光华信息科技股份有限公司 | 基于有用连接数据完整的安全内容过滤分流器 |
CN101247351A (zh) * | 2008-03-18 | 2008-08-20 | 杭州华三通信技术有限公司 | 负载分担方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100377852B1 (ko) * | 2001-06-15 | 2003-03-29 | 주식회사 미라콤아이앤씨 | 부하 균형 기능을 갖는 메시지 전송 시스템 및 그 방법 |
US20050216770A1 (en) * | 2003-01-24 | 2005-09-29 | Mistletoe Technologies, Inc. | Intrusion detection system |
US20040210663A1 (en) * | 2003-04-15 | 2004-10-21 | Paul Phillips | Object-aware transport-layer network processing engine |
US7633955B1 (en) * | 2004-02-13 | 2009-12-15 | Habanero Holdings, Inc. | SCSI transport for fabric-backplane enterprise servers |
US7746876B2 (en) * | 2004-12-22 | 2010-06-29 | Telefonaktiebolaget L M Ericsson (Publ) | Method and mobile routers in a communications system for routing a data packet |
US20060206706A1 (en) * | 2005-03-14 | 2006-09-14 | Bryan Dietz | Method and apparatus for dynamically distributing data flow in a communication network |
ES2338670T3 (es) | 2005-05-04 | 2010-05-11 | Telecom Italia S.P.A. | Procedimiento y sistema para el procesamiento de flujos de paquetes, y producto de programa informatico para los mismos. |
CN1921477A (zh) * | 2006-09-01 | 2007-02-28 | 华为数字技术有限公司 | 一种对分片报文进行复杂流分类的方法及系统 |
CN100450038C (zh) | 2006-09-29 | 2009-01-07 | 杭州华三通信技术有限公司 | 一种链路负载分担的方法及转发设备 |
CN100596062C (zh) * | 2007-08-16 | 2010-03-24 | 杭州华三通信技术有限公司 | 分布式报文传输安全保护装置和方法 |
CN101217491A (zh) | 2008-01-04 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种调整流处理单元负载分担的方法及装置 |
US7864818B2 (en) * | 2008-04-04 | 2011-01-04 | Cisco Technology, Inc. | Multinode symmetric load sharing |
WO2009152846A1 (en) * | 2008-06-16 | 2009-12-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Storing and forwarding media data |
US8259585B1 (en) * | 2009-04-17 | 2012-09-04 | Juniper Networks, Inc. | Dynamic link load balancing |
US20100299517A1 (en) * | 2009-05-22 | 2010-11-25 | Nuvon, Inc. | Network System with a Plurality of Networked Devices with Various Connection Protocols |
US8787303B2 (en) * | 2010-10-05 | 2014-07-22 | Cisco Technology, Inc. | Methods and apparatus for data traffic offloading at a router |
CN102170394B (zh) | 2011-04-19 | 2014-02-12 | 杭州华三通信技术有限公司 | 一种报文转发方法及其装置 |
US10019353B2 (en) * | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
CN102868631B (zh) * | 2012-09-28 | 2016-09-21 | 华为技术有限公司 | 负载分担方法和装置 |
-
2012
- 2012-09-28 CN CN201210367262.2A patent/CN102868631B/zh not_active Expired - Fee Related
-
2013
- 2013-09-04 EP EP13840256.5A patent/EP2882152B1/en active Active
- 2013-09-04 WO PCT/CN2013/082902 patent/WO2014048230A1/zh active Application Filing
-
2015
- 2015-03-27 US US14/671,665 patent/US9935881B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913454A (zh) * | 2006-08-30 | 2007-02-14 | 华为技术有限公司 | 一种ip报文负载分担实现方法及装置 |
CN101217455A (zh) * | 2007-01-05 | 2008-07-09 | 上海复旦光华信息科技股份有限公司 | 基于有用连接数据完整的安全内容过滤分流器 |
CN101102269A (zh) * | 2007-06-15 | 2008-01-09 | 武汉虹旭信息技术有限责任公司 | 一种gprs网络中的数据负载均衡方法 |
CN101247351A (zh) * | 2008-03-18 | 2008-08-20 | 杭州华三通信技术有限公司 | 负载分担方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9935881B2 (en) | 2018-04-03 |
EP2882152A4 (en) | 2015-08-05 |
EP2882152B1 (en) | 2022-04-06 |
WO2014048230A1 (zh) | 2014-04-03 |
US20150200857A1 (en) | 2015-07-16 |
CN102868631A (zh) | 2013-01-09 |
EP2882152A1 (en) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102868631B (zh) | 负载分担方法和装置 | |
CN104954274B (zh) | 生成转发信息的方法、控制器和业务转发实体 | |
CN111683011B (zh) | 报文处理方法、装置、设备及系统 | |
US20160205000A1 (en) | Explorative visualization of complex networks in constrained spaces | |
CN102474449A (zh) | 基于虚拟接口的交换装置和方法 | |
CN104410541A (zh) | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 | |
US20060262789A1 (en) | Method and corresponding device for packets classification | |
US12120586B2 (en) | Systems and methods for distributed charging in digital telecommunications networks | |
CN103718508B (zh) | 通信网络中的高级确定、处理和控制 | |
CN105871725B (zh) | 一种报文分流方法及装置 | |
CN106850547A (zh) | 一种基于http协议的数据还原方法及系统 | |
CN108683607A (zh) | 虚拟机流量控制方法、装置和服务器 | |
CN109525501A (zh) | 一种调整转发路径的方法和装置 | |
CN105099919B (zh) | 报文处理方法及装置 | |
BR112017013935B1 (pt) | Controlador de rede, rede definida por software, método de configuração de rede definida por software, e método de transmissão de dados com base em rede definida por software | |
US20150350094A1 (en) | Method and system of setting network traffic flow quality of service by modifying port numbers | |
CN105745874A (zh) | 一种确定服务功能路径的方法及装置 | |
CN103096386B (zh) | 一种基于信令分析的数据业务流量管控方法 | |
CN110351202A (zh) | 5g核心网流量分组方法、装置、设备和计算机存储介质 | |
CN106572085B (zh) | 一种从udf应用角度出发的芯片及匹配方法 | |
CN103220221B (zh) | 通告链路信息的方法和设备 | |
CN108989311A (zh) | 生成输入参数的方法及设备 | |
CN107277011A (zh) | 终端设备的数据分类方法及装置 | |
CN102148758B (zh) | 优先级继承方法及装置 | |
CN106209906A (zh) | 一种二层隧道协议l2tp报文传输方法及隧道端点设备 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160921 |