CN110381032B - 一种多核系统中的会话表项处理方法、装置及相关产品 - Google Patents
一种多核系统中的会话表项处理方法、装置及相关产品 Download PDFInfo
- Publication number
- CN110381032B CN110381032B CN201910549562.4A CN201910549562A CN110381032B CN 110381032 B CN110381032 B CN 110381032B CN 201910549562 A CN201910549562 A CN 201910549562A CN 110381032 B CN110381032 B CN 110381032B
- Authority
- CN
- China
- Prior art keywords
- handshake
- message
- session
- linked list
- unsafe
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种多核系统中的会话表项处理方法及装置,转发核在接收到第一握手报文或第二次握手报文后,本申请实施例在接收到报文时,先确定该报文是否安全。当报文为不安全的第一次握手报文或不安全的第二次握手报文时,则将该报文的会话超时项添加到链表数组中,利用链表数组来处理该报文的会话超时项,从而避免当所接收的报文为攻击报文时利用转发核的定时器处理攻击报文的会话超时项,不仅有效防御攻击,还可以节省转发核定时器的处理资源,以使得转发核可以正常处理安全报文,提升整体转发性能。另外,每个转发核均配置有链表数组,从而实现多核系统的无锁处理。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种多核系统中的会话表项处理方法、装置及相关产品。
背景技术
对于安全厂商而言,防火墙中的转发核在接收到报文后,查询会话表并进行报文转发,如果不存在相应的会话表,则根据策略构建会话表,最终实现报文转发。由于会话表的个数过多也会造成系统负担,因此需要关注会话表的超时机制,及时删除超时的会话表项,降低系统负担。也就是说,转发核不仅需要处理报文转发,还需要处理超时会话表项。然而,转发核采用轮询机制处理报文转发和超时会话表项,使得转发核不能同时处理报文转发和超时会话表项。
在实际应用中,防火墙在未遭遇分布式拒绝服务(Distributed Denial ofService,DDoS)攻击时可以保持较高的吞吐性能,而在遭遇DDos攻击时,会产生大量超时的会话表项,当基于轮询机制的定时器处理超时会话表项的时间过长,则必然会导致转发核处理报文不及时,从而导致丢包,影响整体转发性能。
发明内容
有鉴于此,本申请实施例提供一种多核系统中的会话表项处理方法、装置及相关产品,以有效防御攻击,提升整体转发性能。
为解决上述问题,本申请实施例提供的技术方案如下:
一种多核系统中的会话表项处理方法,所述方法应用于多核系统中的转发核,所述方法包括:
确定三次握手中的第一次握手报文或第二次握手报文是否安全;
将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,所述链表数组为每核资源;
若在预置时间内接收到不安全的三次握手中的第三次握手报文,将所述第三次握手报文的会话超时项从所述链表数组中摘除并添加到定时器中;
若在预置时间内未接收到不安全的三次握手中的第三次握手报文,则将所述不安全的三次握手中所有的会话超时项从所述链表数组中删除。
在一种可能的实现方式中,所述确定三次握手中的第一次握手报文或第二次握手报文是否安全,包括:
将第一次握手报文的源地址不在源地址白名单中的报文,确定为不安全的三次握手中的第一次握手报文;
如果不安全的三次握手中的第一次握手报文的会话超时项在所述链表数组中,将不安全的三次握手中与第一次握手报文对应的第二次握手报文,确定为不安全的三次握手中的第二次握手报文。
在一种可能的实现方式中,所述方法还包括:
将预置时间内接收到不安全的三次握手中的第三次握手报文的源地址添加到源地址白名单中。
在一种可能的实现方式中,所述源地址白名单保存在数组哈希表中,所述数组哈希表为全局资源,所述将预置时间内接收到不安全的三次握手中的第三次握手报文的源地址添加到源地址白名单中,包括:
根据预置时间内接收到不安全的三次握手中的第三次握手报文的源地址的哈希值,确定所述第三次握手报文的源地址在所述数组哈希表中的存储位置;
判断所述存储位置对应的存储空间中的表项是否已满;
如果所述存储空间中的表项已满,根据所述存储空间中各个表项的添加时间确定最早添加表项,将所述第三次握手报文的源地址以及对应的添加时间作为当前待添加表项替换所述最早添加表项;
如果所述存储空间中的表项未满,将所述第三次握手报文的源地址以及对应的添加时间作为当前待添加表项添加到所述存储空间中。
在一种可能的实现方式中,所述链表数组包括多个数组元素,每个所述数组元素包括一个链表,每个所述链表具有时间标识,所述将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,包括:
根据不安全的三次握手中的第一次握手报文或第二次握手报文的接收时间,将所述不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到当前时间标识对应的链表中。
在一种可能的实现方式中,所述根据不安全的三次握手中的第一次握手报文或第二次握手报文的接收时间,将所述不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到当前时间标识对应的链表中,包括:
根据不安全的三次握手中的第一次握手报文的接收时间,将所述不安全的三次握手中的第一次握手报文的会话超时项添加到当前时间标识对应的链表中;
根据不安全的三次握手中的第二次握手报文的接收时间,如果所述不安全的三次握手中的第二次握手报文的会话超时项在当前时间标识对应的链表中,将所述不安全的三次握手中的第二次握手报文的会话超时项保留在所述当前时间标识对应的链表中;
如果所述不安全的三次握手中的第二次握手报文的会话超时项在其他时间标识对应的链表中,将所述不安全的三次握手中的第二次握手报文的会话超时项从所述其他时间标识对应的链表中摘除并添加到所述当前时间标识对应的链表中。
在一种可能的实现方式中,所述若在预置时间内未接收到不安全的三次握手中的第三次握手报文,则将所述不安全的三次握手中所有的会话超时项从所述链表数组中删除,包括:
基于所述时间标识,确定超时的所述链表;
每次将超时的所述链表中预设个数的会话超时项从所述链表数组中删除;
或者,在会话表项资源小于预设阈值时,将超时的所述链表中的会话超时项从所述链表数组中批量删除。
一种多核系统中的会话表项处理装置,所述装置应用于所述多核系统中的转发核,所述装置包括:
确定单元,用于确定三次握手中的第一次握手报文或第二次握手报文是否安全;
第一添加单元,用于将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,所述链表数组为每核资源;
第二添加单元,用于若在预置时间内接收到不安全的三次握手中的第三次握手报文,将所述第三次握手报文的会话超时项从所述链表数组中摘除并添加到定时器中;
删除单元,用于若在预置时间内未接收到不安全的三次握手中的第三次握手报文,将所述不安全的三次握手中所有的超时会话项从所述链表数组中删除。
一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的多核系统中的会话表项处理的方法。
一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的多核系统中的会话表项处理的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例中,转发核在接收到三次握手中的第一握手报文或第二次握手报文后,先确定所接收的报文是否安全。如果第一次握手报文为不定安全报文或第二次握手报文为不安全报文,则将不安全的第一次握手报文或不安全的第二次握手报文的会话超时项添加到该转发核对应的预设链表数组中。如果在预置时间内接收到不安全的三次握手中的第三次握手报文,则将第三次握手报文的会话超时项从链表数组中摘除并添加到转发核的定时器中,利用该定时器处理会话超时项。如果在预置时间内未接收到不安全的三次握手表中的第三次握手报文,则将不安全的三次握手中对应的会话超时项从链表数组中删除,同时将不安全的三次握手对应的会话表项删除。
即,本申请实施例在接收到报文时,先确定该报文是否安全。当报文为不安全的第一次握手报文或不安全的第二次握手报文时,则将该报文的会话超时项添加到链表数组中,利用链表数组来处理该报文的会话超时项,从而避免当所接收的报文为攻击报文时利用转发核的定时器处理攻击报文的会话超时项,不仅有效防御攻击,还可以节省转发核定时器的处理资源,以使得转发核可以正常处理安全报文,提升整体转发性能。另外,每个转发核均配置有链表数组,从而实现多核系统的无锁处理。
附图说明
图1为本申请实施例提供的多核系统结构图;
图2为本申请实施例提供的一种多核系统中的会话表项处理方法的流程图;
图3为本申请实施例提供的一种多核系统中的会话表项处理装置结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
发明人在对传统的防火墙工作架构研究中发现,防火墙可以是基于dpdk平台实现的报文转发系统,由于dpdk平台工作机制为用户态死循环,即转发核循环处理以下两件事情,一是转发核从各个网卡/其他转发核和处理核接收报文并进行报文转发;二是转发核的定时器需要处理超时的会话表项,以避免会话表项数量较多影响系统性能。
转发核的上述处理机制在对正常报文进行转发时性能很好,但当遭遇DDoS攻击时,会产生大量的会话表项。按照目前的处理机制,大量的会话表项对应的会话超时项挂载在转发核的定时器,从而由定时器来处理超时的会话表项,其中会话超时项可以包括会话表项的地址以及会话报文的最新接收时间。当定时器处理超时会话表项的时间过长,则必然会导致转发核处理报文不及时,导致丢包,影响整体转发性能。
基于此,本申请实施例提供了一种多核系统的会话表项处理方法,具体为,当转发核接收到报文时,首先确定所接收的报文的类型,即确定该报文为第一次握手报文、第二次握手报文或第三次握手报文,如果为第三次握手报文且在预置时间内接收到,将第三次握手报文的会话超时项从链表数组中摘除并添加到转发核的定时器中。如果为第一次握手报文或第二次握手报文,则确定第一次握手报文或第二次握手报文是否安全。如果第一次握手报文或第二次握手报文为不安全的报文,则将不安全的第一次握手报文或不安全的第二次握手报文的会话超时项添加到预设的链表数组中,由该链表数组处理上述报文的会话超时项。如果未在预置时间内接收到第三次握手报文,则将此次会话对应的会话超时项从链表数组中删除,同时删除会话表项。即,本申请实施例利用链表数组来处理不安全的报文的会话超时项,减小定时器处理会话超时项负荷,提升正常报文的转发性能。
为便于理解本申请实施例,参见图1所示多核系统示例图,在该多核系统中可以包括多个转发核,每个转发核不仅可以从网卡中接收报文,还可以从其他转发核接收报文。在本申请中,每个转发核均配置有链表数组,该链表数组用于承载当前转发核所接收的不安全的第一次握手报文或不安全的第二次握手报文的会话超时项。转发核如果未在预置时间内接收到不安全的三次握手中的第三次握手报文,则不安全的三次握手对应的会话超时项从链表数组中删除,同时将不安全的三次握手对应的会话表项删除,从而保证可以在该链表数组中添加新的报文的会话超时项。
其中,第一次握手报文和第二次握手报文是指客户端在与服务器建立通信连接时所产生的报文,为便于理解,下面将对客户端与服务器采用“三次握手机制”进行说明。
第一次握手:建立连接时,客户端发送syn报文(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认。
第二次握手:服务器收到syn报文,必须确认客户的SYN(ack=j+1),同时也发送一个SYN报文(seq=k),即SYN+ACK报文,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK报文,向服务器发送确认ACK报文(ack=k+1),此报文发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手,从而创建一个会话,客户端与服务器开始传送数据。
即,第一次握手报文为syn报文,第二次握手报文为syn-ack报文,第三次握手报文为ack报文。在实际应用时,防火墙位于客户端与服务器之间,作为客户端与服务器之间报文的转发设备,将客户端发送的第一次握手报文或第三次握手报文转发给服务器,同时将服务器发送的第二次握手报文转发给客户端。
为便于理解本申请,下面将结合附图对本申请实施例提供的一种多核系统中的会话表项处理方法进行说明。
参见图2,该图为本申请实施例提供的一种多核系统中的会话表项处理方法的流程图,该多核系统包括至少一个转发和,如图2所示,该方法可以包括:
S201:转发核确定三次握手的第一次握手报文或第二次握手报文是否安全。
本实施例中,在建立一个会话时即针对一次三次握手过程,转发核在接收到报文时,可以首先确定该报文的类型,即确定该报文为三次握手的第一次握手报文、第二次握手报文或者第三次握手报文。当转发核所接收的报文为三次握手的第一次握手报文或第二次握手报文时,需要确定该报文是否安全,以便在第一次握手报文或第二次握手报文为安全的报文时,将其对应的会话超时项添加到该转发核的定时器中,由定时器来维护超时机制;当第一次握手报文或第二次握手报文为不安全的报文时,执行S202。
通过上述描述可知,第一次握手报文为syn(seq=j)、第二次握手报文为syn-ack(seq=k、ack=j+1)、第三次握手报文为ack(ack=k+1),三个报文的序号不同。因此,转发核在接收到报文时,可以根据该报文的序号确定所接收的报文为第一握手报文、第二次握手报文还是第三次握手报文。而且,三次握手完成后可以构建一个会话,因此,三次握手中的第一次握手报文或第二次握手报文可以理解为某一个会话建立过程中所发送的第一次握手报文或第二次握手报文。
其中,关于确定第一次握手报文或第二次握手报文是否安全的具体实现将在后续实施例进行说明。
S202:将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,链表数组为每核资源。
本实施例中,针对多核系统中的每个转发核新增链表数组,将不安全的第一次握手报文或第二次握手报文的会话超时项添加到链表数组中。也就是,当转发核确定所接收的报文为不安全的报文时,不使用定时器来维护该报文的会话超时项,利用链表数组来维护不安全的报文的会话超时项,以避免在遭遇DDoS攻击时影响正常报文的转发。
需要说明的是,由于链表数组为每核资源,使得每个转发核可以无锁操作该链表数组。
S203:若在预置时间内接收到不安全的三次握手中的第三次握手报文,将第三次握手报文的会话超时项从链表数组中摘除并添加到定时器中。
本实施例中,当转发核确定所接收的报文为第三次握手报文时,且是在预置时间内接收到的,表明三次握手成功,该报文对应的会话可以认为是安全的,则将第三次握手报文的会话超时项从链表数组中摘除并添加到转发核的定时器中,以利用定时器维护该第三次握手报文超时机制。
S204:若在预置时间内未接收到不安全的三次握手中的第三次握手报文,则将不安全的三次握手中所有的会话超时项从链表数组中删除。
本实施例中,当转发核未在预置时间内接收到第三次握手报文,表明该会话对应的会话超时项已经超时,则将该会话超时项从链表数组中删除。由于三次握手未成功,会话未创建,无需保留该会话对应的会话表项,因此,也将该会话超时项对应的会话表项删除。
可以理解的是,当转发核同时处理多个不安全会话时,若在预置时间内未接收到多个不安全会话的第三次握手报文时,将所有不安全的会话对应的会话超时项从链表数组中删除。其中,在预置时间内未接收到不安全的三次握手报文中的第三次握手报文,将不安全的三次握手中所有的会话超时项从链表数组中删除,可以包括两种情况:一是不安全的三次握手中的第一次握手报文的会话超时项添加到链表数组后,在预置时间内未接收到对应的第二次握手报文,则将链表数组中不安全的三次握手中所有的会话超时项从链表数组中删除;二是,不安全的三次握手中的第二次握手报文的会话超时项添加到链表数组后,在预置时间内未接收到对应的第三次握手报文,则将链表数组中不安全的三次握手中所有的会话超时项从链表数组中删除。
在具体实现时,转发核可以采取正常超时定量释放机制将链表数组中的会话超时项删除,也可以在链表数组资源不足时,批量删除会话超时项,具体实现方式,可以根据实际情况进行设定,本实施例在此不做限定。
通过上述描述可知,转发核在接收到三次握手中的第一握手报文或第二次握手报文后,先确定所接收的报文是否安全。如果第一次握手报文为不安全报文或第二次握手报文为不安全报文,则将不安全的第一次握手报文或第二次握手报文的会话超时项添加到该转发核对应的预设的链表数组中。如果在预置时间内接收到不安全的三次握手中的第三次握手报文,则将第三次握手报文的会话超时项从链表数组中摘除并添加到转发核的定时器中,利用该定时器处理会话超时项。如果在预置时间内未接收到不安全的三次握手表中的第三次握手报文,则将不安全的三次握手中对应的会话超时项从链表数组中删除,同时将不安全的三次握手对应的会话表项删除。
即,本申请实施例在接收到报文时,先确定该报文是否安全。当报文为不安全的第一次握手报文或不安全的第二次握手报文时,则将该报文的会话超时项添加到链表数组中,利用链表数组来处理该报文的会话超时项,从而避免当所接收的报文为攻击报文时利用转发核的定时器处理攻击报文的会话超时项,不仅有效防御攻击,还可以节省转发核定时器的处理资源,以使得转发核可以正常处理安全报文,提升整体转发性能。另外,每个转发核均配置有链表数组,从而实现多核系统的无锁处理。
在本申请实施例一种可能的实现方式中,提供了一种确定第一次握手报文或第二次握手报文是否安全的具体实现方式,具体为可以为:
1)将第一次握手报文的源地址不在源地址白名单中的报文,确定为不安全的三次握手中的第一次握手报文。
本实施例中,转发核在接收到第一次握手报文时,首先在源地址白名单中查找是否存在第一次握手报文的源地址,如果第一次握手报文的源地址不在源地址白名单中,确定该第一次握手报文为不安全的第一次握手报文。其中,源地址白名单中存储有安全报文的源地址。
在具体实现时,多核系统可以在初始化阶段建立全局源地址白名单,该源地址白名单可以保存在数组哈希表中,数组哈希表包括多个存储空间(bucket),每个存储空间的标识可以源地址的哈希值,每个存储空间可以包括多个源地址表项,每个源地址表项内容为(源地址和添加时间)。其中,添加时间为该源地址添加到该源地址白名单所对应的时间。需要注意的是,该数组哈希表可以是全局资源,即各个转发核均可以无锁访问该数组哈希表,访问不存在竞争。
对于源地址在源地址白名单的报文,表明该报文安全,可以利用转发核的定时器维护该报文的会话超时项。对于源地址未在源地址白名单的报文,表明该报文可能不安全,则将其作为不安全的报文进行处理。即将不安全的报文的会话超时项添加到链表数组中,利用链表数组维护不安全的报文的会话超时项。
需要说明的是,在实际应用中,当在初始阶段建立完成源地址白名单时,可以由用户手动在源地址白名单中添加源地址。当转发核接收到三次握手中的第一次握手报文时,可以在源地址白名单中进行查询是否存在该第一次握手报文的源地址。
2)如果不安全的三次握手中的第一次握手报文的会话超时项在链表数组中,将不安全的三次握手中与第一次握手报文对应的第二次握手报文,确定为不安全的三次握手中的第二次握手报文。
本实施例中,当转发核确定所接收的报文为第二次握手报文时,判断该第二次握手报文对应的第一次握手报文的会话超时项是否在链表数组,如果在链表数组中,则确定第二次握手报文为不安全的第二次握手报文。
需要说明的是,转发核在接收到第一次握手报文时,可以通过匹配策略建立该报文的会话表项,以便利用该会话表项进行后续报文的转发。如果第一次握手报文的源地址不在源地址白名单,则将第一次握手报文对应的会话表项的会话超时项添加到链表数组中。当转发核接收到与上述第一次握手报文对应的第二次握手报文时,由于在接收第一次握手报文时已经将会话超时项已经添加到链表数组中,如果在接收第二次握手报文时,该会话超时项还未超时,则该会话超时项仍存在链表数组,因此,确定第二次握手报文为不安全的第二次握手报文。其中,上述所提及的第一次握手报文、第二次握手报文以及第三次握手报文属于同一个会话,对应同一个会话超时项。
在本申请实施例一种可能的实现方式中,当转发核接收第三次握手报文时,表明三次握手成功。在将第三次握手报文的会话超时项从链表数组中摘除并添加到转发核的定时器同时,将预置时间内接收到不安全的三次握手中的第三次握手报文的源地址添加到源地址白名单中。
可以理解的是,源地址白名单为全局资源,每个转发核均可以向该源地址白名单中添加源地址,而源地址白名单所在数组哈希表的每个存储空间中的表项是有限的,为保证新的源地址可以成功添加,将预置时间内接收到不安全的三次握手中的第三次握手报文的源地址添加到源地址白名单的具体实现为:
1)根据预置时间内接收到不安全的三次握手中的第三次握手报文的源地址的哈希值,确定第三次握手报文的源地址在数组哈希表中的存储位置;
首先,计算第三次握手报文的源地址的哈希值,由该哈希值可以确定出第三次握手报文的源地址应该添加到数组哈希表中的哪个存储位置。
2)判断该存储位置对应的存储空间中的表项是否已满;
3)如果该存储空间中的表项已满,根据该存储空间中各个表项的添加时间确定最早添加表项,将第三次握手报文的源地址以及对应的添加时间作为当前待添加表项替换最早添加表项。
即,当第三次握手报文的源地址对应的存储空间中的表项已满,利用替换机制将第三次握手报文的源地址以及对应的添加时间替换最早添加表项,从而使得第三次握手报文的源地址可以添加到该存储空间中。
4)如果该存储空间中的表项未满,将第三次握手报文的源地址以及对应的添加时间作为当前待添加表项添加到该存储空间中。
即,当第三次握手报文的源地址对应的存储空间中的表项未满时,则可以直接将第三次握手报文的源地址以及对应的添加时间作为当前待添加表项添加到该存储位置中。
在本申请实施例一种可能的实现方式中,提供了一种链表数组的设计方式,具体为,链表数组包括多个数组元素,每个数组元素包括一个链表,每个链表具有时间标识。则将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,包括:将安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到当前时间标识对应的链表中。
其中,链表数组中的链表的时间标识用于体现会话超时项添加到链表的时间,用于维护该会话超时机制。当转发核接收到不安全的第一次握手报文或不安全的第二次握手报文时,将该报文对应的会话超时项添加到当前时间标识对应的链表中。例如,转发核在第1秒时接收到不安全的第一次握手报文,则将该不安全的第一次握手报文的会话超时项添加到第1秒对应的链表中;将第2秒时接收到的不安全的第一次握手报文的会话超时项添加到第2秒对应的链表中。
在本申请实施例一种可能的实现方式中,提供了针对不安全的第一次握手报文和不安全的第二次握手报文的会话超时项的处理方式,具体为,根据不安全的三次握手中的第一次握手报文的接收时间,将不安全的三次握手中的第一次握手报文的会话超时项添加到当前时间标识对应的链表中;根据不安全的三次握手中的第二次报文的接收时间,如果不安全的三次握手中的第二次握手报文的会话超时项在当前时间标识对应的链表中,将不安全的三次握手中的第二次握手报文的会话超时项保留在当前时间标识对应的链表中;如果不安全的三次握手中的第二次握手报文的会话超时项在其他时间标识对应的链表中,将不安全的三次握手中的第二次握手报文的会话超时项从其他时间标识对应的链表中摘除并添加到当前时间标识对应的链表中。
当转发核所接收的报文为不安全的第一次握手报文时,根据第一握手报文的接收时间,将该报文的会话超时项添加到当前时间标识对应的链表中。如果为不安全的第二次握手报文时,则需要根据第二次握手报文的接收时间,判断该报文对应的会话超时项是否在当前时间标识对应的链表中。
如果不安全的第二次握手报文对应的会话超时项在当前时间标识对应的链表中,表明转发核接收第一次握手报文和第二次握手报文的时间间隔较短,也就是说,转发核接收到第二次握手报文时间与接收第一次握手报文的时间位于同一链表所对应的时间标识内,则可以确定第二次握手报文的会话超时项仍在当前时间标识对应的链表中,无需移动该会话超时项。例如,转发核在第1秒接收第一次握手报文,则将会话超时项挂载在第1秒对应的链表中;转发核在第1.01秒接收到第二次握手报文,该第二次握手报文对应的会话超时项仍需挂载在第1秒对应的链表中,无需移动。
如果不安全的第二次握手报文对应的会话超时项不在接收第二次握手报文时刻对应的链表中,表明转发核接收第一次握手报文和第二次握手报文的时间间隔较长,也就是说,转发核接收到第二次握手报文的时间标识与接收第一次握手报文的时间标识不同,第二次握手报文对应的会话超时项未在当前时间标识对应的链表中,则需从其他时间标识对应的链表中摘除并添加到当前时间标识对应的链表中。例如,转发核在第1秒接收第一次握手报文,则将会话超时项挂载在第1秒对应的链表中;转发核在第2.01秒接收到第二次握手报文,则该第二次握手报文对应的会话超时项需挂载在第2秒对应的链表中。而此时第二次握手报文对应的会话超时项仍挂载在第1秒对应的链表中,则需要从第1秒对应的链表中摘除并挂载在第2秒对应的链表中,以便从新开始计时。假设,设定超时时间为5秒,如果会话超时项挂载在第1秒对应的链表中,计时为该会话超时项在第6秒超时;如果该会话超时项从第1秒对应的链表中摘除并挂载在第2秒对应的链表中,计时为该会话超时项在第7秒超时。
需要说明的是,对于大多数正常报文而言,收到第一次握手报文和第二次握手报文的时间间隔很短,通常最长也是毫秒级别。同时,为节省空间,本实施例中使用同一个链表数组进行第一次握手报文和第二次握手报文的会话超时项处理,从而使得保证同一会话超时项无需在不同的链表数组中进行移动,节省资源,提升整体性能。
可以理解的是,每个链表的表项是有限的,为保证后续接收的不安全的第一次握手报文或不安全的第二次握手报文的会话超时项可以被添加到当前时间标识对应的链表中,需将链表数组中的会话超时项删除。在具体实现时,本申请实施例提供了以下两种删除超时会话项对应的会话表项的实现方式,下面将分别进行说明。
一种是,基于时间标识,确定超时链表;每次将超时链表中预设个数的会话超时项从链表数组中删除。
即,基于时间标识和预先设定的超时时间,确定超时链表。然后,在删除超时链表中的会话超时项时,将超时链表中预设个数的会话超时项删除,以及预设数个会话超时项对应的会话表项删除。,避免一次处理多项会话超时项而影响收包性能。其中,预设数个可以根据实际应用情况进行确定,例如,每次删除4个会话超时项。
可以理解的是,由于每个链表具有时间标识,可以根据该时间标识以及预设的超时时间确定超时链表。例如,超时时间为5秒,如果当前时间为第6秒,则第1秒对应的链表为超时链表,则将该超时链表中预设数个的会话超时项以及该会话超时项对应的会话表项删除;如果当前时间为第7秒,则第2秒对应的链表为超时链表,则将该超时链表中预设数个的会话超时项以及该会话超时项对应的会话表项删除。
另一种是,基于时间标识,确定超时链表,在会话表项资源小于预设阈值时,将超时链表中的会话超时项从链表数组中批量删除。
即,转发核可以根据时间标识以及预设的超时时间,确定超时链表。当会话表项资源不足时,需要快速释放会话表项资源,则批量删除会话超时项以及会话超时项对应的会话表项,避免攻击所占用的会话个数较多影响不能确定安全报文的会话超时项的处理。
在实际应用时,每核的链表数组可以具有cur-sec指针和clean-sec指针。其中,cur-sec指针用于指向链表数组中在当前时间需要加入会话超时项的链表,clean-sec指针用于指向链表数组中超时链表。在应用时,如果超时时间以秒为单位,则每过一秒,cur-sec指针和clean-sec指针向后移动一次,如果到数组尾部,则指向数组表头,依次循环。即,cur-sec指针和clean-sec指针对会话超时项进行添加和删除操作。当未遭遇攻击时,clean-sec指针所指向的链表为空,无需处理会话超时项;当遭遇攻击时,可以利用clean-sec指针处理会话超时项,无需占用定时器资源,不影响正常报文的转发。
本申请实施例将多核系统中的链表数组设计为每核资源,转发核在操作时无需加锁,避免了多核系统中出现资源竞争问题,且多核系统的并发性能可以做到随着cpu个数增长而线性增长。同时,源地址白名单设计为全局资源,多核并发完全无锁。
基于上述方法实例,本申请实施例还提供了一种多核系统中的会话表项处理装置,下面将对该装置进行说明。
参见图3,该图为本申请实施例提供的一种多核系统中的会话表项处理装置结构图,如图3所示,该装置应用于多核系统中的至少一个转发核,该装置可以包括:
确定单元301,用于确定三次握手中的第一次握手报文或第二次握手报文是否安全;
第一添加单元302,用于将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,所述链表数组为每核资源;
第二添加单元303,用于若在预置时间内接收到不安全的三次握手中的第三次握手报文,将第三次握手报文的会话超时项从所述链表数组中摘除并添加到定时器中;
删除单元304,用于若在预置时间内未接收到不安全的三次握手中的第三次握手报文,则将所述不安全的三次握手中所有的会话超时项从所述链表数组中删除。
在一种可能的实现方式中,所述确定单元,包括:
第一确定子单元,用于将第一次握手报文的源地址不在源地址白名单中的报文,确定为不安全的三次握手中的第一次握手报文;
第二确定子单元,用于如果不安全的三次握手中的第一次握手报文的会话超时项在所述链表数组中,将不安全的三次握手中与第一次握手报文对应的第二次握手报文,确定为不安全的三次握手中的第二次握手报文。
在一种可能的实现方式中,所述装置还包括:
第三添加单元,包括将预置时间内接收到的不安全的三次握手中第三次握手报文的源地址添加到源地址白名单中。
在一种可能的实现方式中,所述源地址白名单保存在数组哈希表中,所述数组哈希表为全局资源,所述第三添加单元,包括:
第三确定子单元,用于根据预置时间内接收到不安全的三次握手中的第三次握手报文的源地址的哈希值,确定所述第三次握手报文的源地址在所述数组哈希表中的存储位置;
第三判断子单元,用于判断所述存储位置对应的存储空间中的表项是否已满;
替换子单元,用于如果所述第三判断子单元的判断结果为所述存储空间中的表项已满,根据所述存储空间中各个表项的添加时间确定最早添加表项,将所述第三次握手报文的源地址以及对应的添加时间作为当前待添加表项替换所述最早添加表项;
第一添加子单元,用于如果所述第三判断子单元的判断结果为所述存储空间中的表项未满,将所述第三次握手报文的源地址以及对应的添加时间作为当前待添加表项添加到所述存储空间中。
在一种可能的实现方式中,所述链表数组包括多个数组元素,每个所述数组元素包括一个链表,每个所述链表具有时间标识,所述第一添加单元,具体用于根据不安全的三次握手中的第一次握手报文或第二次握手报文的接收时间,将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到当前时间标识对应的链表中。
在一种可能的实现方式中,所述第一添加单元,包括:
第二添加子单元,用于根据不安全的三次握手中的第一次握手报文的接收时间,将不安全的三次握手中的第一次握手报文的会话超时项添加到当前时间标识对应的链表中;
保留子单元,用于根据不安全的三次握手中的第二次握手报文的接收时间,如果不安全的三次握手中的第二次握手报文的会话超时项在当前时间标识对应的链表中,将所述不安全的三次握手中的第二次握手报文的会话超时项保留在所述当前时间标识对应的链表中;
第三添加子单元,用于如果所述不安全的三次握手中的第二次握手报文的会话超时项在其他时间标识对应的链表中,将所述不安全的三次握手中的第二次握手报文的会话超时项从所述其他时间标识对应的链表中摘除并添加到所述当前时间标识对应的链表中。
在一种可能的实现方式中,所述删除单元,包括:
第四确定子单元,用于基于所述时间标识,确定超时链表;
第一删除子单元,用于每次将所述超时链表中预设个数的会话超时项从链表数组中删除;或者,
第二删除子单元,用于在会话表项资源小于预设阈值时,将所述超时链表中的会话超时项从链表数组中批量删除。
需要说明的是,本实施例各个单元的实现可以参见上述方法实施例,本实施例在此不再赘述。
另外,本申请实施例还提供了一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的多核系统中的会话表项处理的方法。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行所述的多核系统中的会话表项处理的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种多核系统中的会话表项处理方法,其特征在于,所述方法应用于多核系统中的转发核,所述方法包括:
确定三次握手中的第一次握手报文或第二次握手报文是否安全;
将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,所述链表数组为每核资源;所述会话超时项包括会话表项的地址以及会话报文的最新接收时间;
若在预置时间内接收到不安全的三次握手中的第三次握手报文,将所述第三次握手报文的会话超时项从所述链表数组中摘除并添加到定时器中;
若在预置时间内未接收到不安全的三次握手中的第三次握手报文,则将所述不安全的三次握手中所有的会话超时项从所述链表数组中删除。
2.根据权利要求1所述的方法,其特征在于,所述确定三次握手中的第一次握手报文或第二次握手报文是否安全,包括:
将第一次握手报文的源地址不在源地址白名单中的报文,确定为不安全的三次握手中的第一次握手报文;
如果不安全的三次握手中的第一次握手报文的会话超时项在所述链表数组中,将不安全的三次握手中与第一次握手报文对应的第二次握手报文,确定为不安全的三次握手中的第二次握手报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
将预置时间内接收到不安全的三次握手中的第三次握手报文的源地址添加到源地址白名单中。
4.根据权利要求3所述的方法,其特征在于,所述源地址白名单保存在数组哈希表中,所述数组哈希表为全局资源,所述将预置时间内接收到不安全的三次握手中的第三次握手报文的源地址添加到源地址白名单中,包括:
根据预置时间内接收到不安全的三次握手中的第三次握手报文的源地址的哈希值,确定所述第三次握手报文的源地址在所述数组哈希表中的存储位置;
判断所述存储位置对应的存储空间中的表项是否已满;
如果所述存储空间中的表项已满,根据所述存储空间中各个表项的添加时间确定最早添加表项,将所述第三次握手报文的源地址以及对应的添加时间作为当前待添加表项替换所述最早添加表项;
如果所述存储空间中的表项未满,将所述第三次握手报文的源地址以及对应的添加时间作为当前待添加表项添加到所述存储空间中。
5.根据权利要求1所述的方法,其特征在于,所述链表数组包括多个数组元素,每个所述数组元素包括一个链表,每个所述链表具有时间标识,所述将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,包括:
根据不安全的三次握手中的第一次握手报文或第二次握手报文的接收时间,将所述不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到当前时间标识对应的链表中。
6.根据权利要求5所述的方法,其特征在于,所述根据不安全的三次握手中的第一次握手报文或第二次握手报文的接收时间,将所述不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到当前时间标识对应的链表中,包括:
根据不安全的三次握手中的第一次握手报文的接收时间,将所述不安全的三次握手中的第一次握手报文的会话超时项添加到当前时间标识对应的链表中;
根据不安全的三次握手中的第二次握手报文的接收时间,如果所述不安全的三次握手中的第二次握手报文的会话超时项在当前时间标识对应的链表中,将所述不安全的三次握手中的第二次握手报文的会话超时项保留在所述当前时间标识对应的链表中;
如果所述不安全的三次握手中的第二次握手报文的会话超时项在其他时间标识对应的链表中,将所述不安全的三次握手中的第二次握手报文的会话超时项从所述其他时间标识对应的链表中摘除并添加到所述当前时间标识对应的链表中。
7.根据权利要求5所述的方法,其特征在于,所述若在预置时间内未接收到不安全的三次握手中的第三次握手报文,则将所述不安全的三次握手中所有的会话超时项从所述链表数组中删除,包括:
基于所述时间标识,确定超时的所述链表;
每次将超时的所述链表中预设个数的会话超时项从所述链表数组中删除;
或者,在会话表项资源小于预设阈值时,将超时的所述链表中的会话超时项从所述链表数组中批量删除。
8.一种多核系统中的会话表项处理装置,其特征在于,所述装置应用于所述多核系统中的转发核,所述装置包括:
确定单元,用于确定三次握手中的第一次握手报文或第二次握手报文是否安全;
第一添加单元,用于将不安全的三次握手中的第一次握手报文或第二次握手报文的会话超时项添加到预设的链表数组中,所述链表数组为每核资源;所述会话超时项包括会话表项的地址以及会话报文的最新接收时间;
第二添加单元,用于若在预置时间内接收到不安全的三次握手中的第三次握手报文,将所述第三次握手报文的会话超时项从所述链表数组中摘除并添加到定时器中;
删除单元,用于若在预置时间内未接收到不安全的三次握手中的第三次握手报文,将所述不安全的三次握手中所有的超时会话项从所述链表数组中删除。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-7任一项所述的多核系统中的会话表项处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910549562.4A CN110381032B (zh) | 2019-06-24 | 2019-06-24 | 一种多核系统中的会话表项处理方法、装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910549562.4A CN110381032B (zh) | 2019-06-24 | 2019-06-24 | 一种多核系统中的会话表项处理方法、装置及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110381032A CN110381032A (zh) | 2019-10-25 |
CN110381032B true CN110381032B (zh) | 2022-01-07 |
Family
ID=68249273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910549562.4A Active CN110381032B (zh) | 2019-06-24 | 2019-06-24 | 一种多核系统中的会话表项处理方法、装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110381032B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112714102A (zh) * | 2020-12-02 | 2021-04-27 | 国家计算机网络与信息安全管理中心 | 一种多核异构平台下SYN Flood攻击防御方法 |
CN112600809A (zh) * | 2020-12-08 | 2021-04-02 | 阿米华晟数据科技(江苏)有限公司 | 会话资源的管理方法、装置、设备及存储介质 |
CN114944951B (zh) * | 2022-05-18 | 2024-02-06 | 北京天融信网络安全技术有限公司 | 一种请求的处理方法及装置、拟态设备、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045346A (zh) * | 2010-11-25 | 2011-05-04 | 深圳市科陆电子科技股份有限公司 | 一种采用Netty框架实现的TCP服务通道 |
CN105634958A (zh) * | 2015-12-24 | 2016-06-01 | 东软集团股份有限公司 | 基于多核系统的报文转发方法和装置 |
CN106059956A (zh) * | 2016-06-24 | 2016-10-26 | 汉柏科技有限公司 | 一种用于网络设备会话的时间队列处理方法以及装置 |
CN106487784A (zh) * | 2016-09-28 | 2017-03-08 | 东软集团股份有限公司 | 一种会话迁移的方法、装置及防火墙 |
CN107864156A (zh) * | 2017-12-18 | 2018-03-30 | 东软集团股份有限公司 | Syn攻击防御方法和装置、存储介质 |
CN107977269A (zh) * | 2017-11-06 | 2018-05-01 | 东软集团股份有限公司 | 一种报文转发系统中的超时事件处理方法、装置及设备 |
CN108667730A (zh) * | 2018-04-17 | 2018-10-16 | 东软集团股份有限公司 | 基于负载均衡的报文转发方法、装置、存储介质和设备 |
CN109246057A (zh) * | 2017-07-10 | 2019-01-18 | 东软集团股份有限公司 | 报文转发方法、装置、转发系统、存储介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8724496B2 (en) * | 2011-11-30 | 2014-05-13 | Broadcom Corporation | System and method for integrating line-rate application recognition in a switch ASIC |
-
2019
- 2019-06-24 CN CN201910549562.4A patent/CN110381032B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102045346A (zh) * | 2010-11-25 | 2011-05-04 | 深圳市科陆电子科技股份有限公司 | 一种采用Netty框架实现的TCP服务通道 |
CN105634958A (zh) * | 2015-12-24 | 2016-06-01 | 东软集团股份有限公司 | 基于多核系统的报文转发方法和装置 |
CN106059956A (zh) * | 2016-06-24 | 2016-10-26 | 汉柏科技有限公司 | 一种用于网络设备会话的时间队列处理方法以及装置 |
CN106487784A (zh) * | 2016-09-28 | 2017-03-08 | 东软集团股份有限公司 | 一种会话迁移的方法、装置及防火墙 |
CN109246057A (zh) * | 2017-07-10 | 2019-01-18 | 东软集团股份有限公司 | 报文转发方法、装置、转发系统、存储介质及电子设备 |
CN107977269A (zh) * | 2017-11-06 | 2018-05-01 | 东软集团股份有限公司 | 一种报文转发系统中的超时事件处理方法、装置及设备 |
CN107864156A (zh) * | 2017-12-18 | 2018-03-30 | 东软集团股份有限公司 | Syn攻击防御方法和装置、存储介质 |
CN108667730A (zh) * | 2018-04-17 | 2018-10-16 | 东软集团股份有限公司 | 基于负载均衡的报文转发方法、装置、存储介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110381032A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110381032B (zh) | 一种多核系统中的会话表项处理方法、装置及相关产品 | |
US9641561B2 (en) | Method and system for managing a SIP server | |
US8650631B2 (en) | Server protection from distributed denial of service attacks | |
CN105162883B (zh) | 网络负载均衡处理系统及其方法和装置 | |
US20050080858A1 (en) | System and method for searching a peer-to-peer network | |
US20170318059A1 (en) | Single pass load balancing and session persistence in packet networks | |
CN109246057B (zh) | 报文转发方法、装置、转发系统、存储介质及电子设备 | |
CN112600852B (zh) | 漏洞攻击处理方法、装置、设备及存储介质 | |
WO2020037781A1 (zh) | 一种实现服务器防攻击方法及装置 | |
CN111786905A (zh) | 报文重组方法及装置、处理器、存储介质及网络设备 | |
US9037729B2 (en) | SIP server overload control | |
EP1632075B1 (en) | Method and apparatus for load-balancing in a distributed processing system | |
EP4224751A1 (en) | Network security protection method and protection device | |
CN114697088B (zh) | 一种确定网络攻击的方法、装置及电子设备 | |
CN113709105B (zh) | 基于计数型布隆过滤器的SYN Flood攻击检测方法 | |
CN106209666B (zh) | 一种基于负载均衡器的链路复用方法及系统 | |
US20060282537A1 (en) | System and method of responding to a full TCP queue | |
CN112688948B (zh) | 一种对象处理方法及装置 | |
CN108833410A (zh) | 一种针对HTTP Flood攻击的防护方法及系统 | |
EP3902222A1 (en) | Dr mode protection method and device | |
CN108399078B (zh) | 一种消息频率限制方法、系统、服务器和存储介质 | |
CN112565309B (zh) | 报文处理方法、装置、设备以及存储介质 | |
CN113179247B (zh) | 拒绝服务攻击防护方法、电子装置和存储介质 | |
CN114124489B (zh) | 防止流量攻击的方法、清洗装置、设备和介质 | |
CN113660328B (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 |