CN114221847B - 网络会话管理方法、装置及设备、存储介质 - Google Patents
网络会话管理方法、装置及设备、存储介质 Download PDFInfo
- Publication number
- CN114221847B CN114221847B CN202111509589.4A CN202111509589A CN114221847B CN 114221847 B CN114221847 B CN 114221847B CN 202111509589 A CN202111509589 A CN 202111509589A CN 114221847 B CN114221847 B CN 114221847B
- Authority
- CN
- China
- Prior art keywords
- session table
- hash value
- message
- session
- storage area
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 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
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0273—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
- H04L41/0286—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for search or classification or discovery of web services providing management functionalities
Abstract
本申请提供一种网络会话管理方法、装置及设备、存储介质,其中,网络会话管理方法包括:当第一报文进入FPGA后,根据所述第一报文的五元组计算所述第一报文的HASH值;基于所述第一报文的HASH值匹配所述FPGA的目标存储区域;当所述第一报文的HASH值与所述第一会话表的HASH值相同,且与所述第一报文的五元组与所述第一会话表的五元组不相同时,基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表。本申请能够以非链式组织会话,从而提高报文的冲突会话的查询效率,基于便于对无效冲突会话进行删除和降低冲突会话的维护难度,进而提升系统的稳定性。
Description
技术领域
本申请涉及网络管理技术领域,具体而言,涉及一种网络会话管理方法、装置及设备、存储介质。
背景技术
在计算机科学中,特别是在网络环境中,当两台或者两台以上的设备进行通信时,需要在用户端和服务器端,或者在计算机与用户之间创建关联,这种关联即为网络会话(session)。
当客户端请求服务器端时,首先会在设备上创建网络会话,当该客户端和服务器端在规定时间内持续通信时,会话将持续保持;当客户端发送关闭会话请求,或者客户端不活跃时间超过规定时间后,会话将被结束。
依据现阶段网络环境的特点,常常有大量的客户端和服务器端建立会话,所以一台设备通常需要支持高达1000W的网络会话数量。传统纯软件,架构的网络设备,CPU需要管理大量的会话表,每个报文都需要查询会话表,占用大量CPU资源,降低系统性能,目前,软件和FPGA混合架构,虽然会在一定程度上提升系统的性能,但如图5、图6所示,该这一方式采用链表方式管理会话,这种会话管理方式存在查询效率低,删除冲突表项是操作复杂、主存维护镜像表比较复杂等缺点。
发明内容
本申请实施例的目的在于提供一种网络会话管理方法、装置及设备、存储介质,用于避免基于指针链表结构管理会话。
为此本申请第一方面公开一种网络会话管理方法,所述方法包括:
当第一报文进入FPGA后,根据所述第一报文的五元组计算所述第一报文的HASH值;
基于所述第一报文的HASH值匹配所述FPGA的目标存储区域,所述目标存储区域包括存储用于存储第一会话表的第一子存储区域、用于存储第二会话表的第二子存储区域、用于存储第三会话表的第三子存储区域和用于存储第四会话表的第四子存储区域,所述第一子存储区域设有用于指示出所述第二会话表、第三会话表、第四会话表中有效会话表的标志信息,所述第一子存储区域还用于存储所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值;
当所述第一报文的HASH值与所述第一会话表的HASH值相同,且与所述第一报文的五元组与所述第一会话表的五元组不相同时,基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表。
在本申请第一方面中,作为一种可选的实施方式,在基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表之后,所述方法还包括:
基于所述目标会话表的HASH值,将查会话表地址偏移至所述目标会话表,并执行会话表操作,以完成所述第一报文的转发。
在本申请第一方面中,作为一种可选的实施方式,所述方法还包括:
当所述第一子存储区域不存储所述第一会话表时,将所述第一会话发送给目标CPU;
基于所述目标CPU和所述第一报文生成所述第一会话表。
在本申请第一方面中,作为一种可选的实施方式,在所述基于所述目标CPU和所述第一报文生成所述第一会话表之后,所述方法还包括:
接收第二报文;
根据所述第二报文的五元组计算所述第二报文的HASH值;
当所述第二报文的HASH值与所述第一会话表冲突时,则将所述第二报文的HASH值存入所述第一子存储区域;
根据所述第二报文创建所述第二会话表、第三会话表或第四会话表。
在本申请第一方面中,作为一种可选的实施方式,在根据所述第一报文的五元组计算所述第一报文的HASH值之后,所述基于所述第一报文的HASH值匹配所述FPGA的目标存储区域之前,所述方法还包括:
当所述FPGA不存储所述目标存储区域时,截取所述第一报文的HASH值的部分信息;
基于所述第一报文的HASH值的部分信息创建所述目标存储区域。
在本申请第一方面中,作为一种可选的实施方式,所述第一报文的HASH值的长度为32位;
以及,所述截取所述第一报文的HASH值的部分信息,包括:
截取所述第一报文的HASH值中低21位数据作为所述第一报文的HASH值的部分信息。
在本申请第一方面中,作为一种可选的实施方式,所述第一子存储区域、所述第二子存储区域、所述第三子存储区域、所述第四子存储区域均分所述目标存储区域。
本申请第二方面公开一种网络会话管理装置,所述装置包括:
计算模块,用于当第一报文进入FPGA后,根据所述第一报文的五元组计算所述第一报文的HASH值;
第一匹配模块,用于基于所述第一报文的HASH值匹配所述FPGA的目标存储区域,所述目标存储区域包括存储用于存储第一会话表的第一子存储区域、用于存储第二会话表的第二子存储区域、用于存储第三会话表的第三子存储区域和用于存储第四会话表的第四子存储区域,所述第一子存储区域设有用于指示出所述第二会话表、第三会话表、第四会话表中有效会话表的标志信息,所述第一子存储区域还用于存储所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值;
第二匹配模块,用于当所述第一报文的HASH值与所述第一会话表的HASH值相同,且与所述第一报文的五元组与所述第一会话表的五元组不相同时,基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表。
本申请第三方面公开一种网络会话管理设备,所述设备包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如本申请第一方面的网络会话管理方法。本申请第四方面公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本申请第一方面的网络会话管理方法。
与现有技术相比,本申请能够以非链式组织会话,从而提高报文的冲突会话的查询效率,基于便于对无效冲突会话进行删除和降低冲突会话的维护难度,进而提升系统的稳定性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例公开一种网络会话管理方法的流程示意图;
图2是本申请实施例公开的一种网络会话管理机制的示意图;
图3是本申请实施例公开一种网络会话管理装置的结构示意图;
图4是本申请实施例公开一种网络会话管理设备的结构示意图;
图5是本申请实施例公开一种现有技术示意图;
图6是本申请实施例公开一种现有技术的另一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一
请参阅图1,图1是本申请实施例公开一种网络会话管理方法的流程示意图。如图1所示,本申请实施例的方法包括以下步骤:
101、当第一报文进入FPGA后,根据第一报文的五元组计算第一报文的HASH值;
102、基于第一报文的HASH值匹配FPGA的目标存储区域,目标存储区域包括存储用于存储第一会话表的第一子存储区域、用于存储第二会话表的第二子存储区域、用于存储第三会话表的第三子存储区域和用于存储第四会话表的第四子存储区域,第一子存储区域设有用于指示出第二会话表、第三会话表、第四会话表中有效会话表的标志信息,第一子存储区域还用于存储第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值;
103、当第一报文的HASH值与第一会话表的HASH值相同,且与第一报文的五元组与第一会话表的五元组不相同时,基于标志信息、第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表。
在本申请实施例中,对于步骤101,第一报文可以采集到网络,例如,客户端与服务器通信时,客户端向服务器发送报文。另一方面,第一报文的五元组是指源IP地址、源端口,目的IP地址,目的端口和传输层协议。另一方面,第一报文的HASH值是指第一报文的哈希值。
在本申请实施例中,对于步骤101,可选地,根据第一报文的五元组计算第一报文的HASH值的一种具体方式为:
将第一报文的五元组作为哈希函数的输入参数,以通过哈希函数得到第一报文的HASH值。
需要说明的是,关于哈希函数的详细说明请参考现有技术,本申请实施例对此不作赘述。
在本申请实施例中,对于步骤102,FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)与目标CPU连接,并能够与目标CPU通信连接。本申请实施例采用FPGA作为会话存储器件,能够利用FPGA的优点,提高会话的查询效率。
在本申请实施例中,对于步骤102中的目标存储区域,如图2所示,在图2中,FPGA中有4G Bytes存储空间作为会话存储区,其中,会话存储区由多个目标存储区域,其中,每个目标存储区域的地址为21位HASH地址,另一方面,目标存储区域包括第一子存储区域、第二子存储区域、第三子存储区域、第四子存储区域,具体地,如图2所示,第一子存储区域、第二子存储区域、第三子存储区域、第四子存储区域{hash_addr[20:0],2’b00}、{hash_addr[20:0],2’b01}、{hash_addr[20:0],2’b10}、{hash_addr[20:0],2’b11}表示,其中,hash_addr[20:0]表示第一报文的HASH值中的低21位数据,而2’b01表示采用后续有两位并用2进制表示,01是指具体值。需要说明的是,{hash_addr[20:0],2’b00}、{hash_addr[20:0],2’b01}、{hash_addr[20:0],2’b10}、{hash_addr[20:0],2’b11}可作为第一子存储区域、第二子存储区域、第三子存储区域、第四子存储区域的地址,另一方面,如图2所示,由于第一子存储区域、第二子存储区域、第三子存储区域、第四子存储区域都含有hash_addr[20:0],因此,如图2所示,可将第一子存储区域存储的第一会话表、第二子存储区域的第二会话表、第三子存储区域存储的第三会话表、第四子存储区域存储的第四会话表称为相同hash地址的第一组会话表(第一会话表)、相同hash地址的第二组会话表(第二会话表)、相同hash地址的第三组会话表(第三会话表)、相同hash地址的第四组会话表(第四会话表)。
在本申请实施例中,作为一个示例,假设第一报文的HASH值为“0000,0000,0001,0000,0000,0000,0000,1000”,则通过截取低21位的数据,即“0000,0000,0000,0000,1000”作为hash_addr[20:0]。
在步骤102中,标志信息用于指示出第二会话表、第三会话表、第四会话表中哪种 一会话表是有效的,其中,有效是指查询有效性,具体地,当第二会话表的HASH值与第一报文的HASH值相同,且两者的五元组相同时,标志信息指示第二会话表有效;当第三会话表的HASH值与第一报文的HASH值相同,且两者的五元组相同时,标志信息指示第三会话表有效;当第四会话表的HASH值与第一报文的HASH值相同,且两者的五元组相同时,标志信息指示第四会话表有效。
在本申请实施例中,可选地,标志信息用4个位表示,即标志信息为[3,0],其中,当第二会话表有效时,标志信息可以为“0001”;当第三会话表有效时,标志信息可以为“0010”;标志信息可以为“0001”;当第四会话表有效时,标志信息可以为“0100”。
在本申请实施例中,通过标志信息,查询会话地址可偏移到有效会话表所在存储区域,进而读取有效会话表中的信息和利用有效会话表中的信息,完成对第一报文的转发,例如,当标志信息为“0100”时,查询会话地址可偏移到第四会话表所在区域,从而读取该区域存储的第四会话表的信息(如IP,协议等),从而根据第四会话表的信息完成对第一报文的转发。
在本申请实施例中,当第一会话表、第二会话表、第三会话表、第四会话表当中的一个或多个会话表无效时,通过清空标志信息,就能够使得第一会话表,或第二会话表,或第三会话表,或第四会话表失去作用,即查询会话地址无法基于标志信息偏移到第一会话表所在存储区域,或第二会话表所在存储区域,或第三会话表所在存储区域,或第四会话所在存储区域,这这样一来,就能够避免现有技术中为了使得一个会话b无效,而需要将会话b的next(为会话a)的前驱指向会话b的前驱(为会话c),b的前驱(为会话c)的next指向会话b的后继(为会话a),从而简化了无效会话的删除操作。
另一方面,在为报文A匹配会话时,通过根据存在第一子存储区域的第二会话表的HASH值、第三会话表的HASH值、第四会话表的HASH值,就能够匹配出报文A的会话,即匹配出五元组与报文A的五元组相同的会话,这样一来,相对于“首先查找会话a所在地址,比对后发现五元组不一致,表项冲突,获取表项中的next_ptr做为地址,继续查找会话b;比对后发现五元组不一致,表项冲突,继续获取next_ptr,查找会话c,直至最终查找到会话d,比对后五元组一致,完成表项查找。”这一方式,不需要执行多次地址偏移,进而具有查询效率的优点,例如,在具有4个冲突会话这一前提下,对于本申请实施例而言,执行2次查询会话表地址偏移和2次判断就能够找到目标会话表,而现有技术需要4次地址偏移和4此地址偏移和4次判断,显然本申请实施例具有更优的查询效率。需要说明的是,对于步骤103中的目标会话表是指与第一报文的HASH值相同的会话,例如,如果第二会话表的HASH值与所述第一报文的HASH值相同,则第二会话表为目标会话表。
基于上述内容,在本申请实施例中,作为一种可选的实施方式,在103:基于标志信息、第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表之后,本申请实施例方法还包括以下步骤:
基于目标会话表的HASH值,将查会话表地址偏移至目标会话表,并执行会话表操作,以完成第一报文的转发。
在本申请实施例中,作为一种可选的实施方式,本申请实施例的方法还包括以下步骤:
当第一子存储区域不存储第一会话表时,将第一会话发送给目标CPU;
基于目标CPU和第一报文生成第一会话表。
在本可选的实施方式中,基于目标CPU和第一报文生成第一会话表的具体方式为:
将第一报文中的五元组作为目标CPU的输入,使得目标CPU根据第一报文的五元计算第一报文的HASH值。
在本申请实施例,作为一种可选的实施方式,在步骤:基于目标CPU和第一报文生成第一会话表之后,本申请实施例的方法还包括以下步骤:
接收第二报文;
根据第二报文的五元组计算第二报文的HASH值;
当第二报文的HASH值与第一会话表冲突时,则将第二报文的HASH值存入第一子存储区域;
根据第二报文创建第二会话表、第三会话表或第四会话表。
在本申请实施例中,可选地,在根据第二报文创建第二会话表、第三会话表或第四会话表之后,本申请实施例的方法还包括:
将第二会话表更新至第二子存储区域;
或将第三会话表更新至第三子存储区域;
或将第四会话表更新至第四子存储区域。
在本申请实施例中,作为一种可选的实施方式,在步骤101:根据第一报文的五元组计算第一报文的HASH值之后,步骤102:基于第一报文的HASH值匹配FPGA的目标存储区域之前,本申请实施例的方法还包括以下步骤:
当FPGA不存储目标存储区域时,截取第一报文的HASH值的部分信息;
基于第一报文的HASH值的部分信息创建目标存储区域。
在本可选的实施方式中,通过截取第一报文的HASH值的部分信息并基于第一报文的HASH值的部分信息创建目标存储区域,可使得目标存储区域的占用空间会过大,例如,假设第一报文的HASH值为32位数据,此时,基于第一报文的HASH值创建的目标存储区域的容量就有2的32次,即40亿以上的存储空间来存储会话表,而假设截取第一报文的HASH值中的低21位数据创建目标存储区域,则需要2的21次方的存储空间,即2097152的存储空间,显然后者能够避免占用过多的存储空间。
基于本可选的实施方式,在本申请实施例中,进一步可选地,第一报文的HASH值的长度为32位;
以及,截取第一报文的HASH值的部分信息,包括以下子步骤:
截取第一报文的HASH值中低21位数据作为第一报文的HASH值的部分信息。
在本申请实施例中,作为一种可选的实施方式,第一子存储区域、第二子存储区域、第三子存储区域、第四子存储区域均分目标存储区域。
实施例二
请参阅图3,图3是本申请实施例公开的一种网络会话管理装置的结构示意图。如图3所示,本申请实施例装置包括以下功能模块:
计算模块201,用于当第一报文进入FPGA后,根据第一报文的五元组计算第一报文的HASH值;
第一匹配模块202,用于基于第一报文的HASH值匹配FPGA的目标存储区域,目标存储区域包括存储用于存储第一会话表的第一子存储区域、用于存储第二会话表的第二子存储区域、用于存储第三会话表的第三子存储区域和用于存储第四会话表的第四子存储区域,第一子存储区域设有用于指示出第二会话表、第三会话表、第四会话表中有效会话表的标志信息,第一子存储区域还用于存储第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值;
第二匹配模块203,用于当第一报文的HASH值与第一会话表的HASH值相同,且与第一报文的五元组与第一会话表的五元组不相同时,基于标志信息、第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表。
本申请实施例的装置通过执行网络会话方法,能够以非链式组织会话,从而提高报文的冲突会话的查询效率,基于便于对无效冲突会话进行删除和降低冲突会话的维护难度,进而提升系统的稳定性。
需要说明的是,关于本申请实施例的其他说明,请参阅本申请实施例一的其他详细说明,本申请实施例对此不作赘述。
实施例三
请参阅图4,图4是本申请实施例公开的一种网络会话管理设备的结构示意图。如图4所示,本申请实施例的设备还包括:
存储有可执行程序代码的存储器;
与存储器耦合的处理器;
处理器调用存储器中存储的可执行程序代码,执行如本申请第一方面的网络会话管理方法。
本申请实施例的设备通过执行网络会话方法,能够以非链式组织会话,从而提高报文的冲突会话的查询效率,基于便于对无效冲突会话进行删除和降低冲突会话的维护难度,进而提升系统的稳定性。
实施例四
本申请实施例公开一种存储介质,存储介质存储有计算机指令,计算机指令被调用时,用于执行本申请实施例一的网络会话管理方法。
本申请实施例的存储介质通过执行网络会话方法,能够以非链式组织会话,从而提高报文的冲突会话的查询效率,基于便于对无效冲突会话进行删除和降低冲突会话的维护难度,进而提升系统的稳定性。在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种网络会话管理方法,其特征在于,所述方法包括:
当第一报文进入FPGA后,根据所述第一报文的五元组计算所述第一报文的HASH值;
基于所述第一报文的HASH值匹配所述FPGA的目标存储区域,所述目标存储区域包括存储用于存储第一会话表的第一子存储区域、用于存储第二会话表的第二子存储区域、用于存储第三会话表的第三子存储区域和用于存储第四会话表的第四子存储区域,所述第一子存储区域设有用于指示出所述第二会话表、第三会话表、第四会话表中有效会话表的标志信息,所述第一子存储区域还用于存储所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值;
当所述第一报文的HASH值与所述第一会话表的HASH值相同,且与所述第一报文的五元组与所述第一会话表的五元组不相同时,基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表,其中,所述标志信息用于指示出所述第二会话表、所述第三会话表、所述第四会话表中哪种一会话表是有效的,其中,有效是指查询有效性,当所述第二会话表的HASH值与所述第一报文的HASH值相同,且两者的五元组相同时,所述标志信息指示所述第二会话表有效;当所述第三会话表的HASH值与所述第一报文的HASH值相同,且两者的五元组相同时,所述标志信息指示所述第三会话表有效;当所述第四会话表的HASH值与所述第一报文的HASH值相同,且两者的五元组相同时,所述标志信息指示所述第四会话表有效,所述目标会话表是指与所述第一报文的HASH值相同的会话表。
2.如权利要求1所述的方法,其特征在于,在基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表之后,所述方法还包括:
基于所述目标会话表的HASH值,将查会话表地址偏移至所述目标会话表,并执行会话表操作,以完成所述第一报文的转发。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一子存储区域不存储所述第一会话表时,将第一会话发送给目标CPU;
基于所述目标CPU和所述第一报文生成所述第一会话表。
4.如权利要求3所述的方法,其特征在于,在所述基于所述目标CPU和所述第一报文生成所述第一会话表之后,所述方法还包括:
接收第二报文;
根据所述第二报文的五元组计算所述第二报文的HASH值;
当所述第二报文的HASH值与所述第一会话表冲突时,则将所述第二报文的HASH值存入所述第一子存储区域;
根据所述第二报文创建所述第二会话表、第三会话表或第四会话表。
5.如权利要求1所述的方法,其特征在于,在根据所述第一报文的五元组计算所述第一报文的HASH值之后,所述基于所述第一报文的HASH值匹配所述FPGA的目标存储区域之前,所述方法还包括:
当所述FPGA不存储所述目标存储区域时,截取所述第一报文的HASH值的部分信息;
基于所述第一报文的HASH值的部分信息创建所述目标存储区域。
6.如权利要求5所述的方法,其特征在于,所述第一报文的HASH值的长度为32位;
以及,所述截取所述第一报文的HASH值的部分信息,包括:
截取所述第一报文的HASH值中低21位数据作为所述第一报文的HASH值的部分信息。
7.如权利要求1所述的方法,其特征在于,所述第一子存储区域、所述第二子存储区域、所述第三子存储区域、所述第四子存储区域均分所述目标存储区域。
8.一种网络会话管理装置,其特征在于,所述装置包括:
计算模块,用于当第一报文进入FPGA后,根据所述第一报文的五元组计算所述第一报文的HASH值;
第一匹配模块,用于基于所述第一报文的HASH值匹配所述FPGA的目标存储区域,所述目标存储区域包括存储用于存储第一会话表的第一子存储区域、用于存储第二会话表的第二子存储区域、用于存储第三会话表的第三子存储区域和用于存储第四会话表的第四子存储区域,所述第一子存储区域设有用于指示出所述第二会话表、第三会话表、第四会话表中有效会话表的标志信息,所述第一子存储区域还用于存储所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值;
第二匹配模块,用于当所述第一报文的HASH值与所述第一会话表的HASH值相同,且与所述第一报文的五元组与所述第一会话表的五元组不相同时,基于所述标志信息、所述第二会话表的HASH值、第三会话表的HASH值和第四会话表的HASH值匹配目标会话表,其中,所述标志信息用于指示出所述第二会话表、所述第三会话表、所述第四会话表中哪种一会话表是有效的,其中,有效是指查询有效性,当所述第二会话表的HASH值与所述第一报文的HASH值相同,且两者的五元组相同时,所述标志信息指示所述第二会话表有效;当所述第三会话表的HASH值与所述第一报文的HASH值相同,且两者的五元组相同时,所述标志信息指示所述第三会话表有效;当所述第四会话表的HASH值与所述第一报文的HASH值相同,且两者的五元组相同时,所述标志信息指示所述第四会话表有效,所述目标会话表是指与所述第一报文的HASH值相同的会话表。
9.一种网络会话管理设备,其特征在于,所述设备包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-7任一项所述的网络会话管理方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-7任一项所述的网络会话管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509589.4A CN114221847B (zh) | 2021-12-10 | 2021-12-10 | 网络会话管理方法、装置及设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509589.4A CN114221847B (zh) | 2021-12-10 | 2021-12-10 | 网络会话管理方法、装置及设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114221847A CN114221847A (zh) | 2022-03-22 |
CN114221847B true CN114221847B (zh) | 2024-01-23 |
Family
ID=80700936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111509589.4A Active CN114221847B (zh) | 2021-12-10 | 2021-12-10 | 网络会话管理方法、装置及设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114221847B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634216A (zh) * | 2013-11-04 | 2014-03-12 | 汉柏科技有限公司 | 一种基于nat64的数据报文转发方法和转发设备 |
CN105227348A (zh) * | 2015-08-25 | 2016-01-06 | 广东睿江科技有限公司 | 一种基于ip五元组的哈希存储方法 |
CN106170015A (zh) * | 2016-07-26 | 2016-11-30 | 杭州迪普科技有限公司 | 一种限制并发会话数的方法及装置 |
CN106302179A (zh) * | 2016-07-29 | 2017-01-04 | 杭州迪普科技有限公司 | 一种管理索引表的方法及装置 |
CN106411924A (zh) * | 2016-10-24 | 2017-02-15 | 杭州迪普科技有限公司 | 一种创建会话转发表项的方法、转发报文的方法及装置 |
CN106790556A (zh) * | 2016-12-26 | 2017-05-31 | 深圳市风云实业有限公司 | 一种基于分布式系统的nat会话管理方法 |
CN107612840A (zh) * | 2017-09-26 | 2018-01-19 | 东软集团股份有限公司 | 一种四层负载均衡设备的数据处理方法及装置 |
CN107679148A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种分布式文件系统的会话查找方法、装置及设备 |
KR101929804B1 (ko) * | 2017-10-24 | 2018-12-17 | 에스케이 텔레콤주식회사 | 세션 자원 관리 방법 및 장치 |
CN109361609A (zh) * | 2018-12-14 | 2019-02-19 | 东软集团股份有限公司 | 防火墙设备的报文转发方法、装置、设备及存储介质 |
CN109634966A (zh) * | 2018-12-17 | 2019-04-16 | 广州天懋信息系统股份有限公司 | 基于哈希算法的千万级网络会话表管理方法、系统、介质和设备 |
CN111526225A (zh) * | 2020-04-28 | 2020-08-11 | 杭州迪普科技股份有限公司 | 会话管理方法和装置 |
CN112600765A (zh) * | 2020-12-02 | 2021-04-02 | 杭州迪普科技股份有限公司 | 一种配置资源调度方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100834570B1 (ko) * | 2006-06-23 | 2008-06-02 | 한국전자통신연구원 | 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치 |
-
2021
- 2021-12-10 CN CN202111509589.4A patent/CN114221847B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634216A (zh) * | 2013-11-04 | 2014-03-12 | 汉柏科技有限公司 | 一种基于nat64的数据报文转发方法和转发设备 |
CN105227348A (zh) * | 2015-08-25 | 2016-01-06 | 广东睿江科技有限公司 | 一种基于ip五元组的哈希存储方法 |
CN106170015A (zh) * | 2016-07-26 | 2016-11-30 | 杭州迪普科技有限公司 | 一种限制并发会话数的方法及装置 |
CN106302179A (zh) * | 2016-07-29 | 2017-01-04 | 杭州迪普科技有限公司 | 一种管理索引表的方法及装置 |
CN106411924A (zh) * | 2016-10-24 | 2017-02-15 | 杭州迪普科技有限公司 | 一种创建会话转发表项的方法、转发报文的方法及装置 |
CN106790556A (zh) * | 2016-12-26 | 2017-05-31 | 深圳市风云实业有限公司 | 一种基于分布式系统的nat会话管理方法 |
CN107612840A (zh) * | 2017-09-26 | 2018-01-19 | 东软集团股份有限公司 | 一种四层负载均衡设备的数据处理方法及装置 |
CN107679148A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种分布式文件系统的会话查找方法、装置及设备 |
KR101929804B1 (ko) * | 2017-10-24 | 2018-12-17 | 에스케이 텔레콤주식회사 | 세션 자원 관리 방법 및 장치 |
CN109361609A (zh) * | 2018-12-14 | 2019-02-19 | 东软集团股份有限公司 | 防火墙设备的报文转发方法、装置、设备及存储介质 |
CN109634966A (zh) * | 2018-12-17 | 2019-04-16 | 广州天懋信息系统股份有限公司 | 基于哈希算法的千万级网络会话表管理方法、系统、介质和设备 |
CN111526225A (zh) * | 2020-04-28 | 2020-08-11 | 杭州迪普科技股份有限公司 | 会话管理方法和装置 |
CN112600765A (zh) * | 2020-12-02 | 2021-04-02 | 杭州迪普科技股份有限公司 | 一种配置资源调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114221847A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7580971B1 (en) | Method and apparatus for efficient SQL processing in an n-tier architecture | |
US10198363B2 (en) | Reducing data I/O using in-memory data structures | |
US6751627B2 (en) | Method and apparatus to facilitate accessing data in network management protocol tables | |
WO2018099107A1 (zh) | 一种哈希表管理的方法和装置、计算机存储介质 | |
US8510275B2 (en) | File aware block level deduplication | |
US9762670B1 (en) | Manipulating objects in hosted storage | |
US10397362B1 (en) | Combined cache-overflow memory structure | |
Xiao et al. | Using parallel bloom filters for multiattribute representation on network services | |
US9928178B1 (en) | Memory-efficient management of computer network resources | |
US7725459B2 (en) | Method and apparatus for manipulating data within a remote database in a multiple tier environment | |
EP1867137A1 (en) | Method and apparatus for efficiently expanding a p2p network | |
CN108460030B (zh) | 一种基于改进的布隆过滤器的集合元素判断方法 | |
WO2013091167A1 (zh) | 日志存储方法及系统 | |
US20150256601A1 (en) | System and method for efficient content caching in a streaming storage | |
WO2014161261A1 (zh) | 数据的存储方法及装置 | |
WO2013010432A1 (zh) | 一种对等网络中数据存储和查询的方法、节点及系统 | |
WO2023184908A1 (zh) | 一种多租户共享数据的处理方法和系统 | |
CN114844846A (zh) | 一种基于可编程交换机的多级缓存分布式键值存储系统 | |
US11269687B2 (en) | Map reduce using coordination namespace hardware acceleration | |
RU2483457C2 (ru) | Платформа маршрутизации сообщений | |
Yu et al. | Hardware accelerator to speed up packet processing in NDN router | |
JP4271967B2 (ja) | 分散ファイルシステム及び分散ファイルシステムの運用方法 | |
JP4247975B2 (ja) | データ管理方法、データ管理システム、およびそのためのプログラムならびに記録媒体 | |
CN114221847B (zh) | 网络会话管理方法、装置及设备、存储介质 | |
CN111352938A (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 |