CN115086274B - 一种网络流量分配方法、装置、设备和存储介质 - Google Patents
一种网络流量分配方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115086274B CN115086274B CN202210652110.0A CN202210652110A CN115086274B CN 115086274 B CN115086274 B CN 115086274B CN 202210652110 A CN202210652110 A CN 202210652110A CN 115086274 B CN115086274 B CN 115086274B
- Authority
- CN
- China
- Prior art keywords
- address
- service processing
- processing unit
- source
- port number
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 255
- 238000006243 chemical reaction Methods 0.000 claims abstract description 141
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000013519 translation Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- 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/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2557—Translation policies or rules
-
- 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
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
本发明所提供的网络流量分配方法、装置、设备和存储介质,可以获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号。然后基于目的IP地址、源IP地址和网络地址转换范围,确定报文的地址转换状态。根据得到的网络地址转换状态进行分流,其中若地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对目的IP地址和源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。若地址转换状态为待进行地址转换或已完成地址转换,相应的业务处理单元确定规则对目的端口号和源端口号进行处理即可确定相应的业务处理单元。在满足正反向流量一致性的需求的同时提高地址转换效率。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种网络流量分配方法、装置、设备和存储介质。
背景技术
随着互联网的飞速发展,网络流量和网络终端数量呈倍数的增长,网络地址转换是为了弥补IPV4地址不足,而需要访问互联网的一种地址转换机制。通过IP地址+端口的转换,实现多个用户共享一个IPV4公网地址满足通信需求。
而随着网络流量的增大,单个网络安全设备的处理性能已经无法满足需求,需要通过分布式架构将流量分流到不同的业务处理单元上进行处理,达到流量线性扩容的目的。涉及到的网络地址转换需要在不同的业务处理单元上进行。随着线路处理单元或业务处理单元的增加,需要对流量进行均匀的分流,同时因为网络安全的需要,同一条流的正反向报文要能在同一个业务处理单元上进行处理。在需要进行网络地址转换时,一条流的正向报文经过业务处理单元的处理后,源地址和源端口通常都发生了变化,当反向报文达到业务处理单元的时候,根据简单的网络报文五元组信息很难判断该条流量需要在那个业务处理单元上进行处理。通常需要在每个线路处理单元上结合五元组和地址转换关系映射表进行业务处理单元的确定,在映射表的内容增加时会造成查找性能的下降,限制了分布式系统的性能。
发明内容
为了解决现有技术存在的查找性能下降、效率低的问题,本发明提供了一种网络流量分配方法、装置、设备和存储介质,其具有转换效率高、提升系统性能等特点
根据本发明具体实施方式提供的一种网络流量分配方法,包括:
获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号;
基于所述目的IP地址、所述源IP地址和网络地址转换范围,确定报文的地址转换状态;
若所述地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对所述目的IP地址和所述源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识;
若所述地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识;
若所述地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
进一步地,所述基于所述目的IP地址、所述源IP地址和网络地址转换范围,确定报文的地址转换状态,包括:
若所述目的IP地址和所述源IP地址均不在所述网络地址转换范围内,则所述地址转换状态为不需要地址转换;
若所述目的IP地址不在所述网络地址转换范围内,且所述源IP地址在所述网络地址转换范围内,则所述地址转换状态为待进行地址转换;
若所述目的IP地址和所述源IP地址均在所述网络地址转换范围内,则所述地址转换状态为已完成地址转换。
进一步地,所述若所述地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对所述目的IP地址和所述源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识,包括:
将所述目的IP地址和所述源IP地址展开为相同位数的二进制数,将两个二进制数进行异或运算,得到第一异或结果;
从所述第一异或结果开始,将得到的异或结果划分为相同位数的高位和低位,将所述相同位数的高位和低位进行异或,直至得到8位二进制数,将所述8位二进制数作为第一处理结果;
将所述8位二进制数对应的十进制数对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。
进一步地,所述若所述地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识,包括:
将所述目的端口号和所述源端口号均转换为16位的二进制数,提取源端口号的第5至第12位的8位二进制数和目的端口号的16位二进制数串接为24位的二进制数;
将所述24位的二进制数的高12位和低12位进行异或运算,得到第二异或结果,将所述第二异或结果的高6位和低6位进行异或运算,得到第三异或结果;
将所述第三异或结果所对应的十进制数作为所述第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识。
进一步地,所述若所述地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识,包括:
将所述目的端口号和所述源端口号均转换为16位的二进制数,提取目的端口号的第5至第12位的8位二进制数和源端口号的16位二进制数串接为24位的二进制数;
将所述24位的二进制数的高12位和低12位进行异或运算,得到第四异或结果,将所述第四异或结果的高6位和低6位进行异或运算,得到第五异或结果;
将所述第五异或结果所对应的十进制数作为所述第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
进一步地,所述网络流量分配方法还包括:
所述第二标识对应的业务处理单元对源端口号的转换方式为:保留源端口号的第5至第12位的8位二进制数不变,其他位按照递增方式进行分配。
进一步地,所述存储单元包括数组,将所述第三异或结果对应的十进制数减1后得到的数字确定为所述第一存储位置,或将所述第五异或结果所对应的十进制数减1后得到的数字确定为所述第二存储位置。
根据本发明具体实施方式提供的一种网络流量分配装置,包括:
报文解析模块,用于获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号;
状态确定模块,用于基于所述目的IP地址、所述源IP地址和网络地址转换范围,确定报文的地址转换状态;
第一分流模块,用于若所述地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对所述目的IP地址和所述源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识;
第二分流模块,用于若所述地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识;以及
第三分流模块,用于若所述地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
根据本发明具体实施方式提供的一种设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上所述的网络流量分配方法的各个步骤。
根据本发明具体实施方式提供的一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上所述的网络流量分配方法的各个步骤。
本发明所提供的网络流量分配方法,可以获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号。然后基于目的IP地址、源IP地址和网络地址转换范围,确定报文的地址转换状态。根据得到的网络地址转换状态进行分流,其中若地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对目的IP地址和源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。若地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对目的端口号和源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识。若地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对目的端口号和源端口号进行处理,基于得到的第三处理结果确定存储单元的第二存储位置,将第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。该网络流量分配方法不用对地址转换关系映射表进行记录,即可正反向流量一致性的需求,能够大幅提升分布式系统的地址转换的效率,提升分布式系统的处理性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是根据一示例性实施例提供的网络流量分配方法的流程图;
图2是根据一示例性实施例提供的网络分布式处理系统的结构图;
图3是根据一示例性实施例提供的第一分流流程图;
图4是根据一示例性实施例提供的第二分流流程图;
图5是根据一示例性实施例提供的第三分流流程图;
图6是根据一示例性实施例提供的网络流量分配装置的结构图;
图7是根据一示例性实施例提供的设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图2所示,为本发明实施例所提供的网络流量分配方法所应用的网络分布式处理系统的结构图,该系统包括交换芯片、主处理单元以及多个线路处理单元和业务处理单元,其中交换芯片实现线路处理单元和业务处理单元之间的全连接,即每个线路处理单元都可以与所有业务处理单元进行连接。主处理单元实现整个系统的业务策略配置和管理等。其中线路处理单元负责提供网络接口和分流,通常提供多种类型的以太网接口,比如1G,10G,40G或者是100G等,同时兼具分流到业务处理单元上。业务处理单元负责进行网络地址转换、网络安全业务处理等业务。该网络流量分配方法可应用于上述线路处理单元中。
可以理解的是,该网络流量分配方法所应用的系统并不局限于上述网络分布式处理系统,本领域技术人员可根据实际需求进行选择,本发明在此不做限制。
参照图1所示,本发明所提供的网络流量分配方法,可包括以下步骤:
101、获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号。
根据网络传输的五元组信息即源IP地址,源端口,目的IP地址,目的端口和传输层协议,可以从报文中直接提取出相应的目的IP地址、源IP地址、目的端口号和源端口号。可将业务处理单元按照ID进行编号,并将每个业务处理单元的编号均匀散列到包含64个元素的数组Array[64]上。
102、基于目的IP地址、源IP地址和网络地址转换范围,确定报文的地址转换状态。
网络地址转换范围包括转换前的源IP地址和转换后的源IP地址,两种源地址按照事先约定好的对应关系形成源地址范围列表,按照该列表对接收的目的IP地址和源IP地址进行比对,即可确定报文地址的转换状态,其中报文的地址转换状态包括三种:
第一种为不需要地址转换,若目的IP地址和源IP地址均不在网络地址转换范围内,则地址转换状态为不需要地址转换,可在业务处理单元中直接进行业务的处理。
第二种为待进行地址转换,若目的IP地址不在网络地址转换范围内,且源IP地址在网络地址转换范围内,则地址转换状态为待进行地址转换。该状态为正向报文的处理方式,即线路处理单元接收到流量,经过一致性验证后把流量发送到某个业务处理单元上,业务处理单元在进行网络地址转换以及其他业务的处理后,更改报文的源IP地址和源端口,重新计算报文校验和,然后查找路由信息,找到对应的报文发送接口,把报文发送到线路处理单元上,由线路处理单元判断报文是经过业务处理单元的处理后发送过来的,根据报文携带的发送接口的信息,封装ARP信息之后,从对应的接口发送出去。
第三种为已完成地址转换,若目的IP地址和源IP地址均在网络地址转换范围内,则地址转换状态为已完成地址转换。此种状态对应线路处理单元接收反向报文的处理,如线路处理单元接收到新的报文,根据基于正反向流量一致性算法,能把报文发送到同样的业务处理单元进行处理。业务处理单元上记录的报文的网络地址转换的关系,可以还源IP地址和端口,重新计算报文校验和,以及其他安全业务的处理,然后查找路由信息,找到对应的报文发送接口,把报文发送到线路处理单元上。线路处理单元接收到来自业务处理单元的报文,从对应的接口把报文发送出去。
103、若地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对目的IP地址和源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。
在不需要进行地址转换时,基于得到的取余的余数确定为相应的业务处理单元的标识,将报文分配给该业务处理单元即可。
104、若地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对目的端口号和源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识。
105、若地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
在地址转换状态为待进行地址转换和以完成地址转换时,则需要基于对应的确定规则对目的端口号和源端口号进行处理,从而确定业务处理单元在数组中的存储位置,然后将该存储位置中所存储的业务处理单元的标识作为报文分配的业务处理单元。
该网络流量分配方法,不用对流表和网络地址转换关系进行记录,即可满足报文在传输时的正反向流量一致性的需求。并且在线路处理单元和业务处理单元全交叉互联时,能满足线路处理单元和业务处理单元的独立线性容量扩展的要求,同时实现IP地址在各个业务处理单元的复用,能大幅提升地址转换的效率。
作为上述实施例可行的实现方式,参照图3所示,若地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对目的IP地址和源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识,可包括以下步骤:
301、将目的IP地址和源IP地址展开为相同位数的二进制数,将两个二进制数进行异或运算,得到第一异或结果。
302、从第一异或结果开始,将得到的异或结果划分为相同位数的高位和低位,将相同位数的高位和低位进行异或,直至得到8位二进制数,将8位二进制数作为第一处理结果。
303、将8位二进制数对应的十进制数对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。
具体的,以IPV4版本的IP地址为例,将源IP地址+目的IP地址的各32bit,组成一个64bit的二进制数,并采用高位和低位进行异或的方式,即源IP地址的32bit和目的IP地址的32bit进行异或运算后,以同样的方式将得到的异或结果高16bit和低16bit进行异或得到16位的异或结果,再将该异或结果的高8bit和低8bit进行异或得到一个8bit的二进制数,然后将得到的8bit的二进制数转变成10进制数,对布置的所有业务处理单元的个数取余,就能得到需要分流到哪个业务处理单元的结果。所有不需要进行网络地址转换的流量,都采用此种方式进行分流。
可以理解的是,如IP地址为IPV6版本,可基于上述实施步骤进行多次异或运算以得到8bit二进制数,本发明在此不再赘述。
参照图4所示,若地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对目的端口号和源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识,可包括以下步骤:
401、将目的端口号和源端口号均转换为16位的二进制数,提取源端口号的第5至第12位的8位二进制数和目的端口号的16位二进制数串接为24位的二进制数。
402、将24位的二进制数的高12位和低12位进行异或运算,得到第二异或结果,将第二异或结果的高6位和低6位进行异或运算,得到第三异或结果。
403、将第三异或结果所对应的十进制数作为第一存储位置,将第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识。
具体的,首先把源端口号和目的端口号都转换成16bit的二进制数,提取源端口的5-12bit的数字和目的端口的16bit,串接成一个24bit的二进制数。将得到的24bit的二进制数,分别使用高12bit位和低12bit位,进行一次异或运算,得到的12bit位的结果,再将得到结果的高6bit位和低6bit位进行异或运算,形成一个6bit的整数,计算出这个6bit的十进制的整数值y,然后从数组中取出Array[y-1]的值,作为分流到的业务处理单元的标识。根据得到的Array[y-1]的值对报文头进行封装,能够使得线路处理单元在识别到相应标识后将报文返送到相应的业务处理单元上。
当业务处理单元在进行网络地址转换的时,源IP地址转换按照既定的策略进行分配,源端口的转换方式为保留5-12bit位不变,其他bit位按照游标递增方式来分配,比如某一个网络地址转换的地址IP1,在对一条新的流A进行地址转换时,分配到的端口是1024,如果有新的一条流B也要使用此地址IP1,那么就给这条流B分配端口为1025。
需要说明的是,上述提取的源端口的二进制数的位数,本领域技术人员可根据实际应用需要进行设定,本发明在此不做限制。
参照图5所示,若地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对目的端口号和源端口号进行处理,基于得到的第三处理结果确定存储单元的第二存储位置,将第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识,可包括以下步骤:
501、将目的端口号和源端口号均转换为16位的二进制数,提取目的端口号的第5至第12位的8位二进制数和源端口号的16位二进制数串接为24位的二进制数。
502、将24位的二进制数的高12位和低12位进行异或运算,得到第四异或结果,将第四异或结果的高6位和低6位进行异或运算,得到第五异或结果。
503、将第五异或结果所对应的十进制数作为所述第二存储位置,将第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
与上述待进行地址转换状态的分流不同的是,在将源端口号和目的端口号都转换成16bit的二进制数后,此时提取目的端口的5-12bit的数字,和源端口的16bit,串接成一个24bit的二进制数。然后将提取的24bit的二进制数,进行两次异或运算,形成一个6bit的二进制数,计算出这个6bit的二进制数的十进制的整数值y,然后从数组中取出Array[y-1]的值。最后根据提取的Array[y-1]值对应的业务处理单元标识,封装报文头,使得报文能从线路处理单元返送到业务处理单元上。
参照图6所示基于同样的设计思路,本发明的实施例还提供了一种网络流量分配装置,该装置在运行时可以执行上述实施例所提供的网络流量分配方法的各个步骤,该装置可以包括:
报文解析模块601,用于获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号。
状态确定模块602,用于基于目的IP地址、源IP地址和网络地址转换范围,确定报文的地址转换状态。
第一分流模块603,用于若地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对目的IP地址和源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。
第二分流模块604,用于若地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对目的端口号和源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识。以及
第三分流模块605,用于若地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定存储单元的第二存储位置,将第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
该装置具有和上述网络流量分配方法同样的有益效果,其具体实现方式可参照上述方法的实施例,本发明在此不再赘述。
参照图7所示,本发明的实施例还提供了一种设备,该设备包括:存储器701和处理器702。存储器701,用于存储程序;处理器702,用于执行该程序,实现如上实施例所述的网络流量分配方法的各个步骤。
本发明的实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如上实施例所述的网络流量分配方法的各个步骤。
本发明上述实施例所提供的网络流量分配方法、装置、设备和存储介质,能够在不记录流表和网络地址转换对应关系的前提下,保证正反向流量一致性。能满足线路处理单元和业务处理单元的独立线性容量扩展的要求,实现IP地址在各个业务处理单元的复用,能大幅提升地址转换的效率。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本发明各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本发明所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种网络流量分配方法,其特征在于,包括:
获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号;
基于所述目的IP地址、所述源IP地址和网络地址转换范围,确定报文的地址转换状态,所述网络地址转换范围为转换前的源IP地址和转换后的源IP地址按照对应关系形成的源地址范围列表;
若所述地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对所述目的IP地址和所述源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识;
若所述地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识;
若所述地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目的IP地址、所述源IP地址和网络地址转换范围,确定报文的地址转换状态,包括:
若所述目的IP地址和所述源IP地址均不在所述网络地址转换范围内,则所述地址转换状态为不需要地址转换;
若所述目的IP地址不在所述网络地址转换范围内,且所述源IP地址在所述网络地址转换范围内,则所述地址转换状态为待进行地址转换;
若所述目的IP地址和所述源IP地址均在所述网络地址转换范围内,则所述地址转换状态为已完成地址转换。
3.根据权利要求1所述的方法,其特征在于,所述若所述地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对所述目的IP地址和所述源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识,包括:
将所述目的IP地址和所述源IP地址展开为相同位数的二进制数,将两个二进制数进行异或运算,得到第一异或结果;
从所述第一异或结果开始,将得到的异或结果划分为相同位数的高位和低位,将所述相同位数的高位和低位进行异或,直至得到8位二进制数,将所述8位二进制数作为第一处理结果;
将所述8位二进制数对应的十进制数对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识。
4.根据权利要求1所述的方法,其特征在于,所述若所述地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识,包括:
将所述目的端口号和所述源端口号均转换为16位的二进制数,提取源端口号的第5至第12位的8位二进制数和目的端口号的16位二进制数串接为24位的二进制数;
将所述24位的二进制数的高12位和低12位进行异或运算,得到第二异或结果,将所述第二异或结果的高6位和低6位进行异或运算,得到第三异或结果;
将所述第三异或结果所对应的十进制数作为所述第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识。
5.根据权利要求1所述的方法,其特征在于,所述若所述地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识,包括:
将所述目的端口号和所述源端口号均转换为16位的二进制数,提取目的端口号的第5至第12位的8位二进制数和源端口号的16位二进制数串接为24位的二进制数;
将所述24位的二进制数的高12位和低12位进行异或运算,得到第四异或结果,将所述第四异或结果的高6位和低6位进行异或运算,得到第五异或结果;
将所述第五异或结果所对应的十进制数作为所述第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
6.根据权利要求4所述的方法,其特征在于,还包括:
所述第二标识对应的业务处理单元对源端口号的转换方式为:保留源端口号的第5至第12位的8位二进制数不变,其他位按照递增方式进行分配。
7.根据权利要求4所述的方法,其特征在于,所述存储单元包括数组,将所述第三异或结果对应的十进制数减1后得到的数字确定为所述第一存储位置。
8.根据权利要求5所述的方法,其特征在于,所述存储单元包括数组,将所述第五异或结果所对应的十进制数减1后得到的数字确定为所述第二存储位置。
9.一种网络流量分配装置,其特征在于,包括:
报文解析模块,用于获取接收到的报文中的目的IP地址、源IP地址、目的端口号和源端口号;
状态确定模块,用于基于所述目的IP地址、所述源IP地址和网络地址转换范围,确定报文的地址转换状态,所述网络地址转换范围为转换前的源IP地址和转换后的源IP地址按照对应关系形成的源地址范围列表;
第一分流模块,用于若所述地址转换状态为不需要地址转换,则基于第一业务处理单元确定规则对所述目的IP地址和所述源IP地址进行处理,将得到的第一处理结果对业务处理单元的个数取余,得到报文需分流到的业务处理单元的第一标识;
第二分流模块,用于若所述地址转换状态为待进行地址转换,则基于第二业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第二处理结果确定存储有所有业务处理单元标识的存储单元中的第一存储位置,将所述第一存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第二标识;以及
第三分流模块,用于若所述地址转换状态为已完成地址转换,则基于第三业务处理单元确定规则对所述目的端口号和所述源端口号进行处理,基于得到的第三处理结果确定所述存储单元的第二存储位置,将所述第二存储位置中的业务处理单元标识作为报文需分流到的业务处理单元的第三标识。
10.一种设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1至8中任一项所述的网络流量分配方法的各个步骤。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至8中任一项所述的网络流量分配方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210652110.0A CN115086274B (zh) | 2022-06-10 | 2022-06-10 | 一种网络流量分配方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210652110.0A CN115086274B (zh) | 2022-06-10 | 2022-06-10 | 一种网络流量分配方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086274A CN115086274A (zh) | 2022-09-20 |
CN115086274B true CN115086274B (zh) | 2023-12-22 |
Family
ID=83250696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210652110.0A Active CN115086274B (zh) | 2022-06-10 | 2022-06-10 | 一种网络流量分配方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086274B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247421A (zh) * | 2008-03-28 | 2008-08-20 | 杭州华三通信技术有限公司 | 分布式架构下nat地址池的自适应分配方法和系统 |
CN101267437A (zh) * | 2008-04-28 | 2008-09-17 | 杭州华三通信技术有限公司 | 网络设备的报文访问控制方法及系统 |
CN101631075A (zh) * | 2009-08-19 | 2010-01-20 | 杭州华三通信技术有限公司 | 一种报文处理方法和设备 |
CN107547689A (zh) * | 2017-09-20 | 2018-01-05 | 新华三技术有限公司 | 一种运营商级的网络地址转换cgn方法和装置 |
CN107846364A (zh) * | 2016-09-19 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种报文的处理方法和装置 |
CN109218229A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种报文处理方法、网络设备及存储介质 |
CN110417924A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 分布式设备中的报文处理方法和分布式设备 |
CN111585887A (zh) * | 2020-03-18 | 2020-08-25 | 平安科技(深圳)有限公司 | 基于多个网络的通信方法、装置、电子设备及存储介质 |
CN113794788A (zh) * | 2021-09-14 | 2021-12-14 | 北京百度网讯科技有限公司 | 网关导流方法、系统、装置、设备、存储介质及产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9357247B2 (en) * | 2008-11-24 | 2016-05-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US9668161B2 (en) * | 2012-07-09 | 2017-05-30 | Cisco Technology, Inc. | System and method associated with a service flow router |
-
2022
- 2022-06-10 CN CN202210652110.0A patent/CN115086274B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247421A (zh) * | 2008-03-28 | 2008-08-20 | 杭州华三通信技术有限公司 | 分布式架构下nat地址池的自适应分配方法和系统 |
CN101267437A (zh) * | 2008-04-28 | 2008-09-17 | 杭州华三通信技术有限公司 | 网络设备的报文访问控制方法及系统 |
CN101631075A (zh) * | 2009-08-19 | 2010-01-20 | 杭州华三通信技术有限公司 | 一种报文处理方法和设备 |
CN107846364A (zh) * | 2016-09-19 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种报文的处理方法和装置 |
CN109218229A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种报文处理方法、网络设备及存储介质 |
CN107547689A (zh) * | 2017-09-20 | 2018-01-05 | 新华三技术有限公司 | 一种运营商级的网络地址转换cgn方法和装置 |
CN110417924A (zh) * | 2018-04-28 | 2019-11-05 | 华为技术有限公司 | 分布式设备中的报文处理方法和分布式设备 |
CN111585887A (zh) * | 2020-03-18 | 2020-08-25 | 平安科技(深圳)有限公司 | 基于多个网络的通信方法、装置、电子设备及存储介质 |
CN113794788A (zh) * | 2021-09-14 | 2021-12-14 | 北京百度网讯科技有限公司 | 网关导流方法、系统、装置、设备、存储介质及产品 |
Non-Patent Citations (1)
Title |
---|
"基于Openflow协议的SDN控制器研究";王力;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115086274A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736398B2 (en) | Stateless protocol translation | |
US6457061B1 (en) | Method and apparatus for performing internet network address translation | |
CA2307949C (en) | Integrated ip network containing a plurality of separated ip networks each having different characteristics | |
WO2021078281A1 (zh) | 报文转发及域名地址查询 | |
CN112965824A (zh) | 报文的转发方法及装置、存储介质、电子设备 | |
CN102938795B (zh) | 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法 | |
CN101325552B (zh) | 访问请求的三角转发方法和glb服务器 | |
TW201220791A (en) | Enhancing DS-Lite with private IPv4 reachability | |
CN110769080B (zh) | 一种域名解析方法、相关产品及计算机可读存储介质 | |
WO2021008591A1 (zh) | 数据传输方法、装置及系统 | |
CN107580079A (zh) | 一种报文传输方法和装置 | |
CN103618801A (zh) | 一种p2p资源共享的方法、设备及系统 | |
CN112866433A (zh) | 报文的负载均衡处理方法、装置和计算机设备 | |
CN113794788A (zh) | 网关导流方法、系统、装置、设备、存储介质及产品 | |
CN107547690B (zh) | Nat中的端口分配方法、装置、nat设备及存储介质 | |
US9450909B2 (en) | Method of and a processing device handling a protocol address in a network | |
CN104488240A (zh) | 一种会话管理方法、地址管理方法及相关装置 | |
CN115086274B (zh) | 一种网络流量分配方法、装置、设备和存储介质 | |
US20040153502A1 (en) | Enhanced DNS server | |
CN114157632B (zh) | 网络隔离方法、装置、设备和存储介质 | |
CN113422846B (zh) | 一种基于网络地址转换协议的业务报文处理方法及设备 | |
JPH0934816A (ja) | 大規模ipネットワーク | |
CN107547687B (zh) | 一种报文传输方法和装置 | |
CN115442328B (zh) | 一种网络地址转换方法、装置、网关、介质和设备 | |
CN115065602B (zh) | 分布式系统网元控制方法及其装置 |
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 |