CN104579998B - 一种负载均衡处理装置 - Google Patents
一种负载均衡处理装置 Download PDFInfo
- Publication number
- CN104579998B CN104579998B CN201310522849.0A CN201310522849A CN104579998B CN 104579998 B CN104579998 B CN 104579998B CN 201310522849 A CN201310522849 A CN 201310522849A CN 104579998 B CN104579998 B CN 104579998B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- tunnels
- tunneling
- extracted
- 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.)
- Active
Links
Abstract
本发明提供一种负载均衡处理装置,应用在网络管理设备上,其中该装置包括:查表匹配单元和均衡分流单元。查表匹配单元在收到报文后,将该报文与预设的隧道特征表进行匹配,根据匹配到的隧道特征所对应的数据提取规则,从报文中提取出运算数据;均衡分流单元将提取出的数据按照预设算法进行计算,再将报文发送到与所得计算结果相对应的链路上去。本发明能够针对IPv6过渡技术的主流隧道特征能保证很好的负载均衡效果。
Description
技术领域
本发明涉及网络管理技术领域,尤其涉及一种负载均衡处理装置。
背景技术
随着互联网的飞速发展,很多地区都出现了IP地址枯竭的现象。在这种情况下,IPv6应运而生,并逐步替代IPv4,但对于当前广泛应用的IPv4网络来说,IPv4过渡到IPv6还需要一个过程,而使用隧道技术来完成IPv4与IPv6网络的连接也是过渡期间的重要技术手段。负载均衡是对网络设备的优化,它增加了网络的吞吐量、加强了网络数据处理能力、提高了网络的灵活性和可用性。因此,如何在IPv4过渡到IPv6的环境下进行负载均衡,是个急需解决的问题。
现有技术中的负载均衡算法是将IPv6的源IP、目的IP、源端口号、目的端口号四元组参与异或Hash运算,但在IPv6过渡技术中的主流隧道应用场景下,一部分隧道外层IP地址变化很少,一部分隧道IPv6地址只有其中部分位段有变化,其余位段没有变化,而且具有特定含义和内容,直接作为操作数用于负载均衡运算,效果并不好。
发明内容
有鉴于此,本发明提供一种负载均衡处理装置,应用于采用了隧道技术的网络设备上,该装置包括:查表匹配单元和均衡分流单元,其中:
查表匹配单元,通过隧道接收到报文后,将该报文与预设的隧道特征表进行匹配,根据匹配到的隧道特征所对应的数据提取规则,从报文中提取出运算数据;
均衡分流单元,用于将提取出的数据按照预设算法进行计算,再将报文发送到与所得计算结果相对应的链路上去。
本发明能够针对IPv6过渡技术的主流隧道特征能保证很好的负载均衡效果。
附图说明
图1是本发明一种典型的实施方式中负载均衡处理装置的逻辑结构及其硬件环境的示意图。
图2是本发明一种实施方式中负载均衡处理装置运行的一般流程图。
图3是6to4隧道报文示意图。
图4是6over4隧道报文示意图。
图5是本发明一种实施方式中负载均衡处理装置根据计算结果来发送报文的示例图。
具体实施方式
本发明提供一种针对IPv6过渡技术主流隧道特征的负载均衡处理机制,来解决在IPv4过渡到IPv6的环境下进行负载均衡的问题。在一种优选的实施方式中,本发明提供一种负载均衡装置,应用于采用了隧道技术的设备上,请参考图1,该装置运行的基本硬件环境包括CPU和各种硬件,从逻辑层面上来看,该装置包括:查表匹配单元和均衡分流单元。请参考图2,该装置运行过程通常包括如下步骤:
步骤101,查表匹配单元通过隧道接收到报文后,将该报文与预设的隧道特征表进行匹配,根据匹配到的隧道特征所对应的数据提取规则,从报文中提取出运算数据;
步骤102,均衡分流单元将提取出的数据按照预设算法进行计算,再将报文发送到与所得计算结果相对应的链路上去。
所述隧道特征表是预先设置好的,该表包括6to4隧道、6in4隧道、6over4隧道、ISATAP隧道、4in6隧道、4over6隧道、GRE隧道、DS-lite隧道、IPv4兼容自动隧道、Teredo隧道中的一种或几种隧道特征,还包括与隧道相对应的报文特征和从报文中提取参与负载均衡运算数据的方式,如表1所示。
表1
下面结合表1和图3、图4来分析几种典型的隧道报文对应的负载均衡算法运算数据的提取方式。
6to4隧道报文(如图3所示)中,MAC地址的0到23位是厂商向IETF等机构申请用来标识厂商的代码,也称为“编制上唯一的标识符”(Organizationally UniqueIdentifier),是识别LAN(局域网)结点的标志,地址的24到47位由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号,所以MAC地址是唯一的,而报文后64位的Interface ID是由MAC地址转换而来的,所以Interface ID全球唯一的,因此针对6to4隧道发送的报文,提取报文内层IPv6低64位Interface ID参与负载均衡运算。
6over4隧道报文(如图4所示)中IPv6地址由64位的地址前缀和规定格式的64位接口标识符组成,接口标识符是由32位的IPv4地址加上高32位的全0而组成。由于采用了IPv4地址作为其接口ID的组成部分,所以用内层IPv6后32位的IPv4地址做Hash运算。
依据上述分析方式,可根据不同隧道的特征,总结出如表1所示的隧道特征表。提取数据之后,就可以根据提取数据进行负载均衡运算。在优选的实施方式中,负载均衡算法为Hash算法,其实现步骤如下:
步骤201,按照表1所示的提取规则,将源IP地址和目的IP地址中提取出来的数据,分别设为sip和dip,将两者进行异或运算,得到一个数据ht,也就是ht=dip xor sip。
由于提取出来的数据有32、48、64位的数据,所以通过异或运算得到的ht也是一个32,或者64,或者48位的数据。
步骤202,将报文中的源端口号和目的端口号提取出来,分别设为sp和dp,将两者进行异或运算,得到一个数据hpt,也就是hpt=sp xor dp。
步骤203,判断计算数据ht的位数,如果是32位或者64位,则将其与hpt进行异或运算,得到结果ht1,也就是ht1=ht xor hpt;如果是48位,则将计算数据ht保留前32位,得到一个新计算数据,在将新计算数据与hpt进行异或运算,得到结果ht1,也就是ht1=(ht<<16)xor hpt。
步骤204,将结果ht1通过CRC32算法得到一个离散数值ht2。
在本发明中,优选的实施方式所使用的Hash算法是CRC32算法,即通过CRC32来进行散列。CRC32算法要求参与运算的数据位数是32的倍数,而ht有可能是48位的,所以需要对48位的ht进行处理,使其满足CRC32算法的要求。由于32位和64位的ht是32的倍数,因此不用做其他运算,即可参与CRC32算法。
在对提取数据进行了散列处理后,就可以根据处理结果进行负载均衡,所述负载均衡的具体实现过程如下:
步骤301,按照表1中的提取规则,从隧道报文中提取需要参与负载均衡算法的数据,再将数据按照预设算法进行计算,得到一个离散的数值;
步骤302,根据预先设定的链路表,将报文根据多得到的离散数值发送到对应的链路上去。
其中,所述链路表为预先设定好的,根据各条链路的负载情况,对其进行合理分配,使各个资源能被充分利用。
例如,如图5所示,设备A与设备B之间有2条链路,报文a按照表1中的提取规则和Hash算法计算得到离散数值x,根据链路表(如表2所示),x对应的链路为链路1,于是设备A将报文a通过链路1发送给设备B;报文b按照表1中的提取规则和Hash算法计算得到离散数值y,根据链路表,y对应的链路为链路2,于是设备A将报文b通过链路2发送给设备B;报文c按照表1中的提取规则和Hash算法计算得到离散数值z,根据链路表,z对应的链路为链路2,于是设备A将报文a通过链路2发送给设备B。
离散数值 | 对应链路 |
x | 1 |
y,z | 2 |
表2
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种负载均衡处理装置,应用于采用了隧道技术的设备上,该装置包括:查表匹配单元和均衡分流单元,其特征在于:
查表匹配单元,通过隧道接收到报文后,将该报文与预设的隧道特征表进行匹配,根据匹配到的隧道特征所对应的数据提取规则,从报文中提取出运算数据;其中,所述隧道特征表至少包括6to4隧道和6over4隧道的隧道特征;与6to4隧道对应的数据提取规则为:提取报文内层IPv6低64位Interface ID参与计算;与6over4隧道对应的数据提取规则为:提取报文内层IPv6低32位的IPv4地址参与计算;
均衡分流单元,用于将提取出的数据按照预设算法进行计算,再将报文发送到与所得计算结果相对应的链路上去。
2.如权利要求1所述装置,其特征在于,所述隧道特征表还包括6in4隧道、ISATAP隧道、4in6隧道、4over6隧道、GRE隧道、DS-lite隧道、IPv4兼容自动隧道、Teredo隧道中的一种或多种隧道特征。
3.如权利要求1所述装置,其特征在于,所述查表匹配单元进一步用于从报文的源IP地址和目的IP地址中提取数据,同时从报文中提取出源端口号和目的端口号。
4.如权利要求1所述装置,其特征在于,所述预设算法为哈希算法。
5.如权利要求1所述装置,其特征在于,所述均衡分流单元按照预设算法进行计算的具体过程为:先将从源IP地址和目的IP地址中提取出的数据进行异或运算,得到数据ht;接着将提取出的源端口号和目的端口号进行异或运算得到hpt;然后对得到的数据ht的位数进行判断,如果位数是32的倍数,则将其与hpt进行异或运算得到数据ht1,如果位数不是32的倍数,则将ht保留前32位之后与hpt进行异或运算得到数据ht1;最后将得到的数据ht1通过CRC32算法得到一个散列数值。
6.如权利要求5所述装置,其特征在于,所述位数不是32倍数的数据ht是48位数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310522849.0A CN104579998B (zh) | 2013-10-29 | 2013-10-29 | 一种负载均衡处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310522849.0A CN104579998B (zh) | 2013-10-29 | 2013-10-29 | 一种负载均衡处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104579998A CN104579998A (zh) | 2015-04-29 |
CN104579998B true CN104579998B (zh) | 2018-07-24 |
Family
ID=53095220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310522849.0A Active CN104579998B (zh) | 2013-10-29 | 2013-10-29 | 一种负载均衡处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104579998B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917852B (zh) * | 2015-05-29 | 2019-01-18 | 中国科学院信息工程研究所 | 一种针对IPv6地址的数据快速处理方法 |
CN106209664A (zh) * | 2016-07-22 | 2016-12-07 | 迈普通信技术股份有限公司 | 一种数据传输方法、装置及系统 |
CN106878194B (zh) * | 2016-12-30 | 2020-01-03 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN108111530B (zh) * | 2017-12-30 | 2020-11-13 | 世纪网通成都科技有限公司 | 用于侦测voip通话状态的计算机可读存储介质和应用该介质的侦测系统 |
CN108123959B (zh) * | 2017-12-30 | 2020-11-20 | 世纪网通成都科技有限公司 | 用于还原voip话单的计算机可读存储介质和应用该介质的voip话单还原系统 |
CN108200199B (zh) * | 2018-02-05 | 2020-07-21 | 重庆大学 | IPV4 over IPV6隧道场景中的负载均衡系统及方法 |
CN110838986B (zh) * | 2019-07-29 | 2022-02-22 | 迈普通信技术股份有限公司 | 一种lacp负载均衡的方法、设备及系统 |
CN111614539B (zh) * | 2020-05-12 | 2022-02-08 | 京信网络系统股份有限公司 | 业务数据处理方法、装置和通信传输设备 |
CN114697408B (zh) * | 2020-12-28 | 2023-09-26 | 国家计算机网络与信息安全管理中心 | 一种隧道报文的处理方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325557A (zh) * | 2008-07-25 | 2008-12-17 | 华为技术有限公司 | 一种隧道负载分担的方法、系统和装置 |
CN102143074A (zh) * | 2011-03-25 | 2011-08-03 | 中兴通讯股份有限公司 | 网络负荷的分担方法、系统及网络处理器 |
CN102333039A (zh) * | 2011-10-25 | 2012-01-25 | 华为技术有限公司 | 一种转发报文的方法、生成表项的方法及装置 |
CN102394817A (zh) * | 2011-10-28 | 2012-03-28 | 北京星网锐捷网络技术有限公司 | 一种隧道转发方法、装置及网络设备 |
CN102868631A (zh) * | 2012-09-28 | 2013-01-09 | 华为技术有限公司 | 负载分担方法和装置 |
-
2013
- 2013-10-29 CN CN201310522849.0A patent/CN104579998B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325557A (zh) * | 2008-07-25 | 2008-12-17 | 华为技术有限公司 | 一种隧道负载分担的方法、系统和装置 |
CN102143074A (zh) * | 2011-03-25 | 2011-08-03 | 中兴通讯股份有限公司 | 网络负荷的分担方法、系统及网络处理器 |
CN102333039A (zh) * | 2011-10-25 | 2012-01-25 | 华为技术有限公司 | 一种转发报文的方法、生成表项的方法及装置 |
CN102394817A (zh) * | 2011-10-28 | 2012-03-28 | 北京星网锐捷网络技术有限公司 | 一种隧道转发方法、装置及网络设备 |
CN102868631A (zh) * | 2012-09-28 | 2013-01-09 | 华为技术有限公司 | 负载分担方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104579998A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579998B (zh) | 一种负载均衡处理装置 | |
CN104283806B (zh) | 业务链处理方法和设备 | |
US8958418B2 (en) | Frame handling within multi-stage switching fabrics | |
US9083710B1 (en) | Server load balancing using minimally disruptive hash tables | |
US9838291B2 (en) | Multicore processing of bidirectional traffic flows | |
EP2882152B1 (en) | Load sharing method and apparatus | |
US9596300B2 (en) | Technologies for processing data packets in batches | |
US20210368392A1 (en) | Method and apparatus for load balancing ip address selection in a network environment | |
EP3190754B1 (en) | Method and apparatus for processing a modified packet | |
US20060262789A1 (en) | Method and corresponding device for packets classification | |
CN111385199A (zh) | 经压缩的路由报头 | |
CN107113235B (zh) | 一种数据路由的方法及装置 | |
US20200076736A1 (en) | Method and apparatus for tunnel endpoint ip address selection in a network environment | |
EP2478677B1 (en) | An apparatus for analyzing a data packet, a data packet processing system and a method | |
US8365045B2 (en) | Flow based data packet processing | |
CN107846364A (zh) | 一种报文的处理方法和装置 | |
CN109302354A (zh) | 一种udp封装gre报文的芯片实现方法及装置 | |
US20100180334A1 (en) | Netwrok apparatus and method for transfering packets | |
CN105745874A (zh) | 一种确定服务功能路径的方法及装置 | |
US8345572B2 (en) | Communication apparatus and communication system | |
JP5154313B2 (ja) | Sipメッセージ振分方法およびsipメッセージ振分装置 | |
CN104539538B (zh) | 路由器的ip地址匹配方法和路由器的数据包转发方法 | |
CN112311672B (zh) | 一种路由表项获得方法、装置及设备 | |
US20100138893A1 (en) | Processing method for accelerating packet filtering | |
CN106953849A (zh) | 一种基于IPv6地址的数据报文匹配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100029 Beijing city Chaoyang District Yumin Road No. 3 Applicant after: State Computer Network and Information Safety Management Center Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: 100029 Beijing city Chaoyang District Yumin Road No. 3 Applicant before: State Computer Network and Information Safety Management Center Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |