CN111526225B - 会话管理方法和装置 - Google Patents
会话管理方法和装置 Download PDFInfo
- Publication number
- CN111526225B CN111526225B CN202010348192.0A CN202010348192A CN111526225B CN 111526225 B CN111526225 B CN 111526225B CN 202010348192 A CN202010348192 A CN 202010348192A CN 111526225 B CN111526225 B CN 111526225B
- Authority
- CN
- China
- Prior art keywords
- session
- address
- storage address
- ipv6
- storage unit
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/686—Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
-
- 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/52—Multiprotocol routers
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种会话管理方法及装置,应用于网络设备中,所述方法包括:根据IP报文的五元组信息计算哈希值;在哈希表中查找哈希值,确定IP报文是IPv4报文还是IPv6报文;若是IPv4报文,且在哈希表中未查找到哈希值、或者第一存储单元中未包含五元组信息,则在第二会话存储地址对应的第二存储单元中保存IPv4会话;若是IPv6报文,在哈希表中未查找到哈希值、或第一存储单元中未存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储第一信息,则在第四存储单元和第五存储单元中保存IPv6会话。应用本申请的实施例,可以大大节省网络设备的存储空间。
Description
技术领域
本申请涉及网络通信技术领域,特别设计一种会话管理方法和装置。
背景技术
随着网络通信技术的不断发展、用户数量的爆炸式增长,网络地址资源的消耗量不断扩大。互联网通信协议第四版(Internet Protocol version 4,IPv4)是使用最广泛的版本,而IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展,2019年11月26日,全球所有43亿个IPv4地址已分配完毕,这意味着没有更多的IPv4地址可以分配给互联网服务提供商(Internet Service Provide,ISP)和其他大型网络基础设施提供商。互联网通信协议第六版(Internet Protocol version 6,IPv6)的使用,不仅能解决网络地址资源有限的问题,而且也解决了多种设备连入互联网的障碍。如今IPv4地址已完全用尽,而IPv6技术仍处在部署的初期,所以网络设备供应商的产品需要能同时支持IPv4报文和IPv6报文的处理。
网络设备可以通过会话记录终端与服务器之间的通信过程,会话包括源互联网协议(Internet Protocol,IP)地址、目的IP地址、源端口、目的端口、网络通信协议和转发信息。其中,源IP地址和目的IP地址可以是IPv4地址和IPv6地址。
目前,在进行会话管理时,IPv4会话和IPv6会话都使用相同大小的存储单元,这样的话存储单元的大小必然以满足IPv6会话为准,而事实上IPv4地址的长度为32位(4字节),IPv6地址的长度为128位(16字节),是IPv4地址的长度的4倍,这样就会造成IPv4会话只能填充一个存储单元的部分字段,其他字段会填充无效数据,当IPv4会话较多时,就会造成存储资源的大量浪费。
发明内容
有鉴于此,本申请提供一种会话管理方法和装置,以解决存储资源大量浪费的问题。
具体地,本申请是通过如下技术方案实现的:
一种会话管理方法,应用于网络设备中,所述网络设备的存储单元的大小等于一个IPv4会话的大小,其特征在于,所述方法包括:
根据接收到的互联网协议IP报文的五元组信息计算哈希值;
在哈希表中查找所述哈希值,并确定所述IP报文是IPv4报文还是IPv6报文;
若确定所述IP报文是IPv4报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述哈希值关联的第一会话存储地址对应的第一存储单元中未包含所述五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在所述哈希表中关联保存所述哈希值与所述第二会话存储地址,在所述第二会话存储地址对应的第二存储单元中保存所述IPv4报文对应的IPv4会话;
若确定所述IP报文是IPv6报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中未存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节而所述第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储所述IPv6报文对应的IPv6会话中除所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从所述会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在所述哈希表中关联保存所述哈希值与所述第四会话存储地址,将所述第五会话存储地址、所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在所述第四会话存储地址对应的第四存储单元中,将所述第一信息保存在所述第五会话存储地址对应的第五存储单元中。
一种会话管理装置,应用于网络设备中,所述网络设备的存储单元的大小等于一个IPv4会话的大小,其特征在于,所述装置包括:
计算模块,用于根据接收到的互联网协议IP报文的五元组信息计算哈希值;
查找模块,用于在哈希表中查找所述哈希值,并确定所述IP报文是IPv4报文还是互联网协议第六版IPv6报文;
管理模块,用于若确定所述IP报文是IPv4报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述哈希值关联的第一会话存储地址对应的第一存储单元中未包含所述五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在所述哈希表中关联保存所述哈希值与所述第二会话存储地址,在所述第二会话存储地址对应的第二存储单元中保存所述IPv4报文对应的IPv4会话;若确定所述IP报文是IPv6报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中未存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节而所述第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储所述IPv6报文对应的IPv6会话中除所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从所述会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在所述哈希表中关联保存所述哈希值与所述第四会话存储地址,将所述第五会话存储地址、所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在所述第四会话存储地址对应的第四存储单元中,将所述第一信息保存在所述第五会话存储地址对应的第五存储单元中。
一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
由以上本申请提供的技术方案可见,可以将网络设备的存储单元的大小设置为一个IPv4会话的大小,这样一个IPv4会话可以占用一个完整的存储单元,而一个IPv6会话可以占用两个完整的存储单元,其中,一个存储单元保存IPv6报文的五元组信息中的源IPv6地址和目的IPv6地址的高12字节和另一个存储单元的会话存储地址,另一个存储单元中可以保存IPv6会话中除源IPv6地址和目的IPv6地址的高12字节的第一信息,由于IPv4会话和IPv6会话都可以充分使用每个存储单元,相对于相关技术,可以大大节省网络设备的存储空间,从而可以保存更好的IPv4会话和IPv6会话。
附图说明
图1为本申请示出的一种会话管理方法的流程图;
图2为本申请示出的一种会话管理装置的结构示意图;
图3为本申请示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决上述问题,本发明实施例提供了一种会话管理方法,以大大节省网络设备的存储空间,从而可以保存更好的IPv4会话和IPv6会话。请参见图1,图1为本申请示出的一种会话管理方法的流程图,应用于网络设备中,网络设备的存储单元的大小等于一个IPv4会话的大小。
S11:根据接收到的IP报文的五元组信息计算哈希值。
网络设备通常会接收到很多报文,针对其中的IP报文,可以获取该IP报文的五元组信息,然后采用预设的哈希算法根据IP报文的五元组信息来计算哈希值。
S12:在哈希表中查找哈希值。
哈希表中会保存之前根据接收到的IP报文的五元组信息计算得到的哈希值,因此,接收到IP报文后,可以在哈希表中查找该IP报文的哈希值,然后根据查询结果进行相应处理。
S13:确定IP报文是IPv4报文还是IPv6报文,若确定IP报文是IPv4报文,则执行S14;若确定IP报文是IPv6报文,则执行S15。
由于存储单元的大小等于一个IPv4会话的大小,也就是说IPv6会话会保存在两个存储单元中,因此,针对不同类型的报文就会有不同的会话管理方式,下面分别介绍。
S14:若在哈希表中未查找到哈希值、或者在哈希表中查找到哈希值时哈希值关联的第一会话存储地址对应的第一存储单元中未包含五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在哈希表中关联保存哈希值与第二会话存储地址,在第二会话存储地址对应的第二存储单元中保存IPv4报文对应的IPv4会话。
对于IPv4报文,第一种情况是在哈希表中未查找到哈希值,也就是说以前未接收到同样五元组信息的IPv4报文;第二种情况是在哈希表中查找到哈希值时,还可以继续确定哈希值关联的第一会话存储地址对应的第一存储单元中是否包含五元组信息,若未包含,也就是说第一存储单元中存储的是其他会话,说明存在哈希冲突。在上述两种情况下,都要从会话存储地址资源池中申请第二会话存储地址,会话存储地址资源池中存储的是各个可用的存储单元的会话存储地址,然后在哈希表中关联保存哈希值与第二会话存储地址,具体可以采用链表的形式关联保存,最后在第二会话存储地址对应的第二存储单元中保存IPv4报文对应的IPv4会话即可。对于其他情况,则可以按照已有流程继续处理该IPv4报文。
S15:若在哈希表中未查找到哈希值、或者在哈希表中查找到哈希值时第一存储单元中未存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在哈希表中查找到哈希值时第一存储单元中存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节而第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储IPv6报文对应的IPv6会话中除IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在哈希表中关联保存哈希值与第四会话存储地址,将第五会话存储地址、IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在第四会话存储地址对应的第四存储单元中,将第一信息保存在第五会话存储地址对应的第五存储单元中。
对于IPv6报文,第一种情况是在哈希表中未查找到哈希值,也就是说以前未接收到同样五元组信息的IPv6报文;第二种情况是在哈希表中查找到哈希值时后,还可以进一步确定第一存储单元中是否存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节,若未存储,也就是说第一存储单元中存储的是其他会话,说明存在哈希冲突;第三种情况是在哈希表中查找到哈希值后,还可以进一步确定第一存储单元中是否存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节,若存储,再进一步确定第一存储单元中存储的第三会话存储地址对应的第三存储单元是否存储IPv6报文对应的IPv6会话中除IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,若未存储,也就是说第一存储单元中存储的是其他会话,说明存在哈希冲突。以上三种情况下,由于一个IPv6会话占用两个存储单元,因此,都需要从会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,会话存储地址资源池中存储的是各个可用的存储单元的会话存储地址,在哈希表中关联保存哈希值与第四会话存储地址,具体可以采用链表的形式关联保存,最后将第五会话存储地址、IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在第四会话存储地址对应的第四存储单元中,将第一信息保存在第五会话存储地址对应的第五存储单元中。对于其他情况,则可以按照已有流程继续处理该IPv6报文。
由以上本申请提供的技术方案可见,可以将网络设备的存储单元的大小设置为一个IPv4会话的大小,这样一个IPv4会话可以占用一个完整的存储单元,而一个IPv6会话可以占用两个完整的存储单元,其中,一个存储单元保存IPv6报文的五元组信息中的源IPv6地址和目的IPv6地址的高12字节和另一个存储单元的会话存储地址,另一个存储单元中可以保存IPv6会话中除源IPv6地址和目的IPv6地址的高12字节的第一信息,由于IPv4会话和IPv6会话都可以充分使用每个存储单元,相对于相关技术,可以大大节省网络设备的存储空间,从而可以保存更好的IPv4会话和IPv6会话。
一种可选的实施方式,在上述S14中的哈希表中关联保存哈希值与第二会话存储地址之后,上述方法还包括:
为第二会话存储地址设置老化时长。
一种可选的实施方式,在上述S15中的哈希表中关联保存哈希值与第四会话存储地址之后,方法还包括:
为第四会话存储地址设置老化时长。
通常,网络设备不会一直保存一个会话,可以通过设置老化时长对会话进行老化处理,具体可以为每个会话存储地址设置老化时长。其中,老化时长的长度可以根据实际需要进行设定。
相应地,上述方法还包括:
监控哈希表中的各个会话存储地址的保存时长是否达到老化时长;
若监控到哈希表中的第六会话存储地址的保存时长达到老化时长,则确定第六会话存储地址对应的第六存储单元中是否保存第七会话存储地址;
若确定第六会话存储地址对应的第六存储单元中未保存第七会话存储地址,则清空第六存储单元,将第六会话存储地址释放到会话存储地址资源池中;
若确定第六会话存储地址对应的第六存储单元中保存第七会话存储地址,则清空第六存储单元和第七会话存储地址对应的第七存储单元,将第六会话存储地址和第七会话存储地址释放到会话存储地址资源池中。
由于一个IPv4会话保存在一个存储单元中,一个IPv6会话保存在两个存储单元中,因此,在对IPv4会话和IPv6会话进行老化处理时,IPv4会话可以直接清空对应的存储单元然后释放对应的存储地址,而IPv6会话需要清空对应的两个存储单元并释放对应存储地址。由于及时释放存储地址,就可以确保会话存储地址资源池中有可用的存储地址,也就可以确保能够及时处理接收到的IP报文。
请参见图2,图2为本申请示出的一种会话管理装置的结构示意图,应用于网络设备中,网络设备的存储单元的大小等于一个IPv4会话的大小,该装置包括:
计算模块21,用于根据接收到的互联网协议IP报文的五元组信息计算哈希值;
查找模块22,用于在哈希表中查找哈希值,并确定IP报文是IPv4报文还是互联网协议第六版IPv6报文;
管理模块23,用于若确定IP报文是IPv4报文,并且在哈希表中未查找到哈希值、或者在哈希表中查找到哈希值时哈希值关联的第一会话存储地址对应的第一存储单元中未包含五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在哈希表中关联保存哈希值与第二会话存储地址,在第二会话存储地址对应的第二存储单元中保存IPv4报文对应的IPv4会话;若确定IP报文是IPv6报文,并且在哈希表中未查找到哈希值、或者在哈希表中查找到哈希值时第一存储单元中未存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在哈希表中查找到哈希值时第一存储单元中存储IPv6报文的源IPv6地址和目的IPv6地址的高12字节而第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储IPv6报文对应的IPv6会话中除IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在哈希表中关联保存哈希值与第四会话存储地址,将第五会话存储地址、IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在第四会话存储地址对应的第四存储单元中,将第一信息保存在第五会话存储地址对应的第五存储单元中。
由以上本申请提供的技术方案可见,可以将网络设备的存储单元的大小设置为一个IPv4会话的大小,这样一个IPv4会话可以占用一个完整的存储单元,而一个IPv6会话可以占用两个完整的存储单元,其中,一个存储单元保存IPv6报文的五元组信息中的源IPv6地址和目的IPv6地址的高12字节和另一个存储单元的会话存储地址,另一个存储单元中可以保存IPv6会话中除源IPv6地址和目的IPv6地址的高12字节的第一信息,由于IPv4会话和IPv6会话都可以充分使用每个存储单元,相对于相关技术,可以大大节省网络设备的存储空间,从而可以保存更好的IPv4会话和IPv6会话。
一种可选的实施方式,上述装置还包括第一设置模块,用于:
在管理模块在哈希表中关联保存哈希值与第二会话存储地址之后,为第二会话存储地址设置老化时长。
一种可选的实施方式,上述装置还包括第二设置模块,用于:
在管理模块在哈希表中关联保存哈希值与第四会话存储地址之后,为第四会话存储地址设置老化时长。
一种可选的实施方式,上述装置还包括:
监控模块,用于监控哈希表中的各个会话存储地址的保存时长是否达到老化时长;
确定模块,用于若监控到哈希表中的第六会话存储地址的保存时长达到老化时长,则确定第六会话存储地址对应的第六存储单元中是否保存第七会话存储地址;
处理模块,用于若确定第六会话存储地址对应的第六存储单元中未保存第七会话存储地址,则清空第六存储单元,将第六会话存储地址释放到会话存储地址资源池中;若确定第六会话存储地址对应的第六存储单元中保存第七会话存储地址,则清空第六存储单元和第七会话存储地址对应的第七存储单元,将第六会话存储地址和第七会话存储地址释放到会话存储地址资源池中。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例还提供了一种电子设备,请参见图3所示,包括处理器310、通信接口320、存储器330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。
存储器330,用于存放计算机程序;
处理器310,用于执行存储器330上所存放的程序时,实现如下步骤:
根据接收到的IP报文的五元组信息计算哈希值;
在哈希表中查找所述哈希值,并确定所述IP报文是IPv4报文还是IPv6报文;
若确定所述IP报文是IPv4报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述哈希值关联的第一会话存储地址对应的第一存储单元中未包含所述五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在所述哈希表中关联保存所述哈希值与所述第二会话存储地址,在所述第二会话存储地址对应的第二存储单元中保存所述IPv4报文对应的IPv4会话;
若确定所述IP报文是IPv6报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中未存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节而所述第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储所述IPv6报文对应的IPv6会话中除所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从所述会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在所述哈希表中关联保存所述哈希值与所述第四会话存储地址,将所述第五会话存储地址、所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在所述第四会话存储地址对应的第四存储单元中,将所述第一信息保存在所述第五会话存储地址对应的第五存储单元中。
通信接口320用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上本申请提供的技术方案可见,可以将网络设备的存储单元的大小设置为一个IPv4会话的大小,这样一个IPv4会话可以占用一个完整的存储单元,而一个IPv6会话可以占用两个完整的存储单元,其中,一个存储单元保存IPv6报文的五元组信息中的源IPv6地址和目的IPv6地址的高12字节和另一个存储单元的会话存储地址,另一个存储单元中可以保存IPv6会话中除源IPv6地址和目的IPv6地址的高12字节的第一信息,由于IPv4会话和IPv6会话都可以充分使用每个存储单元,相对于相关技术,可以大大节省网络设备的存储空间,从而可以保存更好的IPv4会话和IPv6会话。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的会话管理方法。
由以上本申请提供的技术方案可见,可以将网络设备的存储单元的大小设置为一个IPv4会话的大小,这样一个IPv4会话可以占用一个完整的存储单元,而一个IPv6会话可以占用两个完整的存储单元,其中,一个存储单元保存IPv6报文的五元组信息中的源IPv6地址和目的IPv6地址的高12字节和另一个存储单元的会话存储地址,另一个存储单元中可以保存IPv6会话中除源IPv6地址和目的IPv6地址的高12字节的第一信息,由于IPv4会话和IPv6会话都可以充分使用每个存储单元,相对于相关技术,可以大大节省网络设备的存储空间,从而可以保存更好的IPv4会话和IPv6会话。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种会话管理方法,应用于网络设备中,所述网络设备的存储单元的大小等于一个互联网协议第四版IPv4会话的大小,其特征在于,所述方法包括:
根据接收到的互联网协议IP报文的五元组信息计算哈希值;
在哈希表中查找所述哈希值,并确定所述IP报文是IPv4报文还是互联网协议第六版IPv6报文;
若确定所述IP报文是IPv4报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述哈希值关联的第一会话存储地址对应的第一存储单元中未包含所述五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在所述哈希表中关联保存所述哈希值与所述第二会话存储地址,在所述第二会话存储地址对应的第二存储单元中保存所述IPv4报文对应的IPv4会话;
若确定所述IP报文是IPv6报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中未存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节而所述第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储所述IPv6报文对应的IPv6会话中除所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从所述会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在所述哈希表中关联保存所述哈希值与所述第四会话存储地址,将所述第五会话存储地址、所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在所述第四会话存储地址对应的第四存储单元中,将所述第一信息保存在所述第五会话存储地址对应的第五存储单元中。
2.根据权利要求1所述的方法,其特征在于,在所述哈希表中关联保存所述哈希值与所述第二会话存储地址之后,所述方法还包括:
为所述第二会话存储地址设置老化时长。
3.根据权利要求1所述的方法,其特征在于,在所述哈希表中关联保存所述哈希值与所述第四会话存储地址之后,所述方法还包括:
为所述第四会话存储地址设置老化时长。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
监控所述哈希表中的各个会话存储地址的保存时长是否达到所述老化时长;
若监控到所述哈希表中的第六会话存储地址的保存时长达到所述老化时长,则确定所述第六会话存储地址对应的第六存储单元中是否保存第七会话存储地址;
若确定所述第六会话存储地址对应的第六存储单元中未保存所述第七会话存储地址,则清空所述第六存储单元,将所述第六会话存储地址释放到所述会话存储地址资源池中;
若确定所述第六会话存储地址对应的第六存储单元中保存所述第七会话存储地址,则清空所述第六存储单元和所述第七会话存储地址对应的第七存储单元,将所述第六会话存储地址和所述第七会话存储地址释放到所述会话存储地址资源池中。
5.一种会话管理装置,应用于网络设备中,所述网络设备的存储单元的大小等于一个IPv4会话的大小,其特征在于,所述装置包括:
计算模块,用于根据接收到的互联网协议IP报文的五元组信息计算哈希值;
查找模块,用于在哈希表中查找所述哈希值,并确定所述IP报文是IPv4报文还是互联网协议第六版IPv6报文;
管理模块,用于若确定所述IP报文是IPv4报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述哈希值关联的第一会话存储地址对应的第一存储单元中未包含所述五元组信息,则从会话存储地址资源池中申请第二会话存储地址,在所述哈希表中关联保存所述哈希值与所述第二会话存储地址,在所述第二会话存储地址对应的第二存储单元中保存所述IPv4报文对应的IPv4会话;若确定所述IP报文是IPv6报文,并且在所述哈希表中未查找到所述哈希值、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中未存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节、或者在所述哈希表中查找到所述哈希值时所述第一存储单元中存储所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节而所述第一存储单元中存储的第三会话存储地址对应的第三存储单元未存储所述IPv6报文对应的IPv6会话中除所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节之外的第一信息,则从所述会话存储地址资源池中申请第四会话存储地址和第五会话存储地址,在所述哈希表中关联保存所述哈希值与所述第四会话存储地址,将所述第五会话存储地址、所述IPv6报文的源IPv6地址和目的IPv6地址的高12字节保存在所述第四会话存储地址对应的第四存储单元中,将所述第一信息保存在所述第五会话存储地址对应的第五存储单元中。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括第一设置模块,用于:
在所述管理模块在所述哈希表中关联保存所述哈希值与所述第二会话存储地址之后,为所述第二会话存储地址设置老化时长。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括第二设置模块,用于:
在所述管理模块在所述哈希表中关联保存所述哈希值与所述第四会话存储地址之后,为所述第四会话存储地址设置老化时长。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
监控模块,用于监控所述哈希表中的各个会话存储地址的保存时长是否达到所述老化时长;
确定模块,用于若监控到所述哈希表中的第六会话存储地址的保存时长达到所述老化时长,则确定所述第六会话存储地址对应的第六存储单元中是否保存第七会话存储地址;
处理模块,用于若确定所述第六会话存储地址对应的第六存储单元中未保存所述第七会话存储地址,则清空所述第六存储单元,将所述第六会话存储地址释放到所述会话存储地址资源池中;若确定所述第六会话存储地址对应的第六存储单元中保存所述第七会话存储地址,则清空所述第六存储单元和所述第七会话存储地址对应的第七存储单元,将所述第六会话存储地址和所述第七会话存储地址释放到所述会话存储地址资源池中。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010348192.0A CN111526225B (zh) | 2020-04-28 | 2020-04-28 | 会话管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010348192.0A CN111526225B (zh) | 2020-04-28 | 2020-04-28 | 会话管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526225A CN111526225A (zh) | 2020-08-11 |
CN111526225B true CN111526225B (zh) | 2022-07-01 |
Family
ID=71906056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010348192.0A Active CN111526225B (zh) | 2020-04-28 | 2020-04-28 | 会话管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526225B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948313B (zh) * | 2021-03-01 | 2023-11-21 | 杭州迪普科技股份有限公司 | 一种会话数据的管理方法和装置 |
CN112994983B (zh) * | 2021-04-01 | 2023-01-13 | 杭州迪普信息技术有限公司 | 流量统计方法、装置和电子设备 |
CN114221847B (zh) * | 2021-12-10 | 2024-01-23 | 北京天融信网络安全技术有限公司 | 网络会话管理方法、装置及设备、存储介质 |
CN114615355B (zh) * | 2022-05-13 | 2022-10-04 | 恒生电子股份有限公司 | 报文处理方法以及报文解析模块 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8937942B1 (en) * | 2010-04-29 | 2015-01-20 | Juniper Networks, Inc. | Storing session information in network devices |
CN105227348A (zh) * | 2015-08-25 | 2016-01-06 | 广东睿江科技有限公司 | 一种基于ip五元组的哈希存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7554981B2 (en) * | 2003-11-26 | 2009-06-30 | Wind River Systems, Inc. | System and method for efficient storage and processing of IPv6 addresses |
-
2020
- 2020-04-28 CN CN202010348192.0A patent/CN111526225B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8937942B1 (en) * | 2010-04-29 | 2015-01-20 | Juniper Networks, Inc. | Storing session information in network devices |
CN105227348A (zh) * | 2015-08-25 | 2016-01-06 | 广东睿江科技有限公司 | 一种基于ip五元组的哈希存储方法 |
Non-Patent Citations (1)
Title |
---|
张媛媛.虚拟路由表压缩与查找算法研究.《中国优秀硕士学位论文全文数据库•信息科技辑》.2017, * |
Also Published As
Publication number | Publication date |
---|---|
CN111526225A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111526225B (zh) | 会话管理方法和装置 | |
CN111431871B (zh) | Tcp半透明代理的处理方法和装置 | |
CN109981493B (zh) | 一种用于配置虚拟机网络的方法和装置 | |
EP3871091A1 (en) | Distributed database-driven resource management and locking in a cloud native mobile core network node architecture | |
CN109639589B (zh) | 一种负载均衡方法及装置 | |
KR20190030728A (ko) | 시스템 콜의 시퀀스를 이용한 이상 검출 | |
CN112866114B (zh) | 组播报文的处理方法及装置 | |
CN113285918B (zh) | 针对网络攻击的acl过滤表项建立方法及装置 | |
CN112492063A (zh) | 一种ip地址池分配、申请方法、装置、设备及介质 | |
CN107547688A (zh) | 一种报文处理方法和装置 | |
CN107070719B (zh) | 一种设备管理方法和装置 | |
CN106888268A (zh) | 一种域名的解析方法及装置 | |
CN107547690A (zh) | Nat中的端口分配方法、装置、nat设备及存储介质 | |
CN108429703B (zh) | Dhcp客户端上线方法及装置 | |
CN106953849B (zh) | 一种基于IPv6地址的数据报文匹配方法及装置 | |
CN110932982B (zh) | 硬件路由表的维护方法及装置 | |
CN115801731B (zh) | 网络报文的处理方法、装置、电子设备及存储介质 | |
CN112511440B (zh) | 报文转发方法、系统、存储介质和电子设备 | |
CN113132506B (zh) | 基于超级虚拟局域网的报文处理方法及装置 | |
CN110677439B (zh) | Nd攻击的防护方法和装置 | |
CN111444218B (zh) | 组合规则的匹配方法和装置 | |
US10057210B2 (en) | Transaction-based network layer address rotation | |
CN114979090A (zh) | IPv6数据包处理方法、装置、计算机设备和存储介质 | |
CN111585838B (zh) | 基于vsm系统的分裂检测方法和装置 | |
CN114448932A (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 |