CN114285771B - 一种tcp连接的连接状态追踪方法及装置 - Google Patents
一种tcp连接的连接状态追踪方法及装置 Download PDFInfo
- Publication number
- CN114285771B CN114285771B CN202111651269.2A CN202111651269A CN114285771B CN 114285771 B CN114285771 B CN 114285771B CN 202111651269 A CN202111651269 A CN 202111651269A CN 114285771 B CN114285771 B CN 114285771B
- Authority
- CN
- China
- Prior art keywords
- tcp
- connection
- state
- tcp connection
- message
- 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 110
- 230000008569 process Effects 0.000 claims abstract description 51
- 238000012544 monitoring process Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 57
- 230000009471 action Effects 0.000 claims description 35
- 230000007704 transition Effects 0.000 claims description 18
- 238000003672 processing method Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 22
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 239000003999 initiator Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 208000024780 Urticaria Diseases 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本说明书一个或多个实施例提供一种TCP连接的连接状态追踪方法,将连接追踪功能部署在使用TCP连接进行通信的设备上,并在设备上预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系。通过监听设备的TCP连接的TCP状态,确定设备的各个TCP连接的TCP状态是否发生变迁,在发生变迁的情况下,根据变迁后的TCP状态以及预先构建的对应关系,确定TCP连接对应的连接状态并记录,实现设备对本设备的TCP连接的连接状态追踪。
Description
技术领域
本说明书一个或多个实施例涉及通信技术领域,尤其涉及一种TCP连接的连接状态追踪方法及装置。
背景技术
连接状态追踪是许多网络应用的基础,例如Kubernetes Service、主机防火墙等等,都需要依赖于连接状态追踪功能。其中,连接状态追踪是用于记录连接的连接状态的机制,根据每一连接的报文来往情况,确定连接所处于的状态并记录,任一连接包括已建立、未建立、已关闭三种状态。
传输控制协议(TCP,Transmission Control Protocol)是网络通信中较为常见的协议,对于TCP连接而言,也需要进行连接状态追踪。相关技术中,一般是跟其他协议的连接一样,在中间用于转发报文的网络节点部署对TCP连接的连接状态追踪功能,这就需要拦截流经网络节点每一个TCP报文,并进行解析及分析。然后根据这些分析得到的信息确定该TCP报文对应的TCP连接所处于的连接状态并进行记录。
这种针对TCP连接的连接状态追踪的方法,由于需要拦截每个TCP报文并进行解析、分析,因此会占用较大的计算资源。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种TCP连接的连接状态追踪方法,以及基于该TCP连接的连接状态追踪方法的TCP报文处理方法。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种TCP连接的连接状态追踪方法,所述方法应用于使用TCP连接进行通信的设备;预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系;所述方法包括:
监听所述设备的进程与其他设备的进程之间的TCP连接的TCP状态;
在监听到任一TCP连接所处的TCP状态发生变迁的情况下,根据变迁后的TCP状态的状态值以及所述对应关系,确定该TCP连接所处的连接状态的状态值;
将确定得到的结果记录为所述设备的该TCP连接所处的连接状态。
根据本说明书一个或多个实施例的第二方面,提出了一种基于如上述TCP连接的连接状态追踪方法的TCP报文处理方法,所述方法应用于使用TCP进行通信的设备;预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系;所述方法包括:
确定当前TCP报文所属的TCP连接;
查询所述TCP连接对应的连接状态,确定所述TCP连接的连接状态的状态值;
根据为所述TCP连接所确定的状态值,以及为所述TCP连接对应的状态值配置的处理动作,确定所述当前TCP报文的处理动作。
根据本说明书一个或多个实施例的第三方面,提出了一种TCP连接的连接状态追踪装置,所述装置应用于使用TCP连接进行通信的设备;预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系;所述装置包括:
监听模块,用于监听所述设备的进程与其他设备的进程之间的TCP连接的TCP状态;
确定模块,用于在监听到任一TCP连接所处的TCP状态发生变迁的情况下,根据变迁后的TCP状态的状态值以及所述对应关系,确定该TCP连接所处的连接状态的状态值;
记录模块,用于将确定得到的结果记录为所述设备的该TCP连接所处的连接状态。
根据本说明书一个或多个实施例的第四方面,提出了一种基于如上述TCP连接的连接状态追踪方法的TCP报文处理装置,所述装置应用于使用TCP连接进行通信的设备;预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系;所述装置包括:
连接确定模块,用于确定当前TCP报文所属的TCP连接;
查询模块,用于查询所述TCP连接对应的连接状态,确定所述TCP连接的连接状态的状态值;
处理动作确定模块,用于根据为所述TCP连接所确定的状态值,以及为所述TCP连接对应的状态值配置的处理动作,确定所述当前TCP报文的处理动作。
根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一所述的方法。
根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一所述方法的步骤。
本说明书的一个或多个实施例,将连接追踪功能部署在使用TCP连接进行通信的设备上,并在设备上预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系。通过监听设备的TCP连接的TCP状态,确定设备的各个TCP连接的TCP状态是否发生变迁,在发生变迁的情况下,根据变迁后的TCP状态以及预先构建的对应关系,确定TCP连接对应的连接状态并记录,实现设备对本设备的TCP连接的连接状态追踪。
本说明书的一个或多个实施例,由于将连接追踪功能部署在使用TCP连接进行通信的设备上,因此可监听到本设备的TCP连接的TCP状态。在TCP状态发生变迁的情况下进行对记录的连接状态进行更新,实现对每TCP连接的连接状态追踪,而非每TCP报文的连接状态追踪,减少了在对TCP连接进行连接状态追踪时的计算资源的消耗。
附图说明
图1A、图1B、图1C是一示例性实施例提供的TCP连接的双方设备在交互中,TCP连接的连状态示意图。
图2是一示例性实施例提供的一种TCP连接的连接状态追踪方法的流程示意图。
图3是根据一具体实施例示出的一种TCP连接的连接状态追踪方法的结构示意图。
图4是一示例性实施例提供的一种基于TCP连接的连接状态追踪方法的TCP报文处理方法的流程示意图。
图5是根据一具体实施例示出的一种基于TCP连接的连接状态追踪方法的TCP报文处理方法的结构示意图。
图6是一示例性实施例提供的一种TCP连接的连接状态追踪装置的框图示意图。
图7是一示例性实施例提供的一种基于TCP连接的连接状态追踪方法的TCP报文处理装置的框图示意图。
图8是一示例性实施例提供的一种设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
网络通信中有很多协议,如TCP、UDP、ICMP等,对应的有TCP连接、UDP连接、ICMP连接等,相关技术中,在对多数协议实现连接状态追踪功能时定义的三种连接状态,已建立(连接的双方已互通报文)、未建立(连接的双方至少有一方为发送报文)、已关闭(连接的双方长时间未发报文、连接已关闭)。
需要说明的是,相关技术中的连接状态追踪功能中的连接,一般是两个设备上的进程之间的连接,假设A设备上运行有进程A1,进程A2,进程A3,B设备上运行有进程B1,进程B2,进程B3,进程A1与进程B1建立连接通信,进程A2与进程B2建立连接通信,进程A2与进程B2建立连接通信,连接可以是使用不同的协议对应的连接,如使用TCP协议的TCP连接、使用UDP协议的UDP连接、使用ICMP协议的ICMP连接等。可以确定,两个设备之间可以通过多个进程建立多个连接,每个设备可以通过多个进程与多个设备建立连接,连接的协议不定。
相关技术中,一般是跟其他协议的连接一样,在中间用于转发报文的网络节点部署对TCP连接的连接状态追踪功能,由于TCP报文并不是网络节点产生的,因此网络节点想要获取TCP报文的相关信息必然需要拦截流经网络节点每一个TCP报文,并进行解封及分析。然后根据这些分析得到的信息确定该TCP报文对应的TCP连接所处于的连接状态并进行记录。
这使得在实现连接状态追踪功能时,由于需要对每个TCP报文进行拦截、解封、分析,因此会消耗较多的计算资源,并且由于需要拦截分析后再放行TCP报文,使得转发效率也会有一定的影响。
TCP作为运输层可靠的运输协议,对应的TCP连接有11种TCP状态,如下所示:
ESTABLISHED(TCP连接中主动发起连接方与被动连接方成功建立连接)
LISTEN(TCP连接中的被动连接方处于监听状态,可以接受TCP连接中主动发起连接方发起的连接)
SYN_SENT(TCP连接中主动发起连接方发起主动连接)
SYN_RECV(TCP连接中被动连接方同意建立连接)
FIN_WAIT_1(TCP连接中的某一方提出关闭连接)
CLOSE_WAIT(TCP连接中的被动关闭连接的一方确认接收到被动关闭连接的消息)
FIN_WAIT_2(TCP连接中提出关闭连接的一方确认被动关闭连接的一方收到被动关闭连接的消息)
LAST_ACK(TCP连接中被动关闭连接的一方同意关闭连接)
TIME_WAIT(TCP连接中主动关闭连接的一方确认被动关闭连接的一方已同意关闭连接)
CLOSE(TCP连接的双方关闭连接)
CLOSING(TCP连接中的双方同时提出关闭连接)
如图1A、图1B、图1C所示,为本说明书示出的TCP连接的TCP状态的示意图。图1A中,某一TCP连接中主动发起连接方与主动关闭连接方式同一方的情况,图1B中,某一TCP连接中主动发起连接方和主动关闭连接方不是同一方的情况,图1C中,某一TCP连接的双方同时提出关闭连接的请求。
根据上述可知“TCP状态”是对于“TCP连接”这种具体连接方式的连接状态的描述。同时,对于TCP连接,也仍然适用“已建立/未建立/已关闭”这种广义的连接状态来描述,即,上述针对多数协议实现连接状态追踪功能时定义的连接状态。
发明人在实践中发现:对于TCP连接而言,11种“TCP状态”中的任一种均可以对应到一种连接状态追踪功能所定义的“连接状态”,也就是说,“连接状态”与“TCP状态”分别是从粗和细两种粒度对TCP连接的状态进行描述。具体而言,TCP连接的11种TCP状态与连接状态追踪功能中所定义的三种连接状态的对应关系如下表1所示:
表1 TCP状态与连接状态的对应关系
其中,SYN_SENT状态对于入方向的TCP报文而言,即,其他设备向本设备发送的TCP报文而言,SYN_SENT状态对应于已建立状态,对于出方向的TCP报文而言,即,本设备向其他设备发送的TCP报文而言,SYN_SENT状态对应于未建立状态。
基于此,本说明书提供了一种TCP连接的连接状态追踪方法,将连接追踪功能部署在使用TCP进行通信的双方设备中的任一设备上,并在设备上预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系。通过监听设备的TCP连接的TCP状态,确定设备的各个TCP连接的TCP状态是否发生变迁,在发生变迁的情况下,根据变迁后的TCP状态,确定TCP连接对应的连接状态并记录,实现设备对本设备的TCP连接的连接状态追踪。
如上所述,TCP连接的TCP状态有11种,任意两个设备的进程间任一连接的连接状态有3种,TCP连接是任意两个设备的进程间任一连接中的其中一种连接。
本说明书提供的TCP连接的连接状态追踪方法,由于将连接追踪功能部署在使用TCP连接进行通信的设备上,设备本身就需要处理TCP报文,会有TCP报文的相关信息(例如TCP报文中携带的TCP连接的TCP状态),因此可监听到设备的TCP连接的TCP状态。在TCP状态发生变迁的情况下进行对记录的连接状态进行更新,实现对每TCP连接的连接状态追踪,而非每TCP报文的连接状态追踪,减少了在对TCP连接进行连接状态追踪时的计算资源的消耗。此外,由于不需要拦截每个TCP报文进行解决及分析,提升了TCP报文的转发效率。
本说明书提供了一种TCP连接的连接状态追踪方法,以及基于该TCP连接的连接状态追踪方法的TCP报文处理方法。还提供了对应的装置、设备。
首先对TCP连接的连接状态追踪方法进行详细的说明,本说明书示出的TCP连接的连接状态追踪方法应用与使用TCP连接进行通信的设备,对应于图1A、图1B、图1C中所示的发起连接方或接受连接方中的一方。设备在接受到TCP报文后,会对报文进行解封等,获取对方设备向本设备所传达的信息,然后确定是否回应,生成相应的TCP报文,发送至对方设备,实现TCP连接的双方通过该TCP连接的通信。其中,每个设备可以不止有一个TCP连接,每个TCP连接用于与一个设备进行通信。
预先在设备上构建TCP状态的状态值与连接状态的状态值的对应关系(如表1所示)。
如上所述,11种TCP状态中的每种TCP状态都可对应于连接状态中的其中一个,预先构建如表1所示的对应关系,使得确定一个TCP连接的TCP状态,就可确定该TCP连接的对应的连接状态值。
状态值的形式不限,可唯一标识每种状态即可,例如11种TCP状态对应的状态值可以阿拉伯数字0-10,也可以是大写字母A-K,小写字母a-k等等。
如图2所示,为本说明书示出的一种TCP连接的连接状态追踪方法的流程示意图,包括以下步骤:
步骤201、监听本设备的进程与其他设备的进程之间的TCP连接的TCP状态。
如上所述,使用TCP进行通信的双方设备是生成TCP连接中所有TCP报文的设备,在TCP报文未生成之前,就已经准备好生成TCP报文的有关信息,包括生成的TCP报文中携带的TCP连接的TCP状态。因此,本设备可以监听本设备的TCP连接的TCP状态。
其中,设备在接收TCP报文时,一般都是TCP类型的socket接收的,然后会有相应的进程处理(该进程使用的就是该TCP所属的TCP连接与另一设备的进程进行通信),而TCP类型的socket在接收并处理任一TCP报文时,会更新该TCP报文所属的TCP连接所处的TCP状态。因此,在监听TCP连接的TCP状态时,可以通过监听设备中TCP类型的socket。
需要说明的是,设备中存在很多类型的socket,如UDP类型的socket,是用于处理UDP报文,这类型的socket不会处理TCP报文,也不会监听到TCP连接的TCP状态变迁。
此外,实际应用中,根据实际需要,可能只需要对一部分的TCP连接进行追踪,会预先设置网络策略,因此,在监听设备的TCP类型的socket时,可以只监听所述设备预先设置的网络策略中所包含在内的TCP连接所对应的TCP类型的socket。
此外,实际应用中,很多设备的系统是Linux系统,Linux系统可部署不同类型eBPF,如XDP类型的eBPF、tc类型的eBPF等,分别用于实现不同的功能,其中,sockops类型的eBPF可监听TCP类型的socket,那么通过在设备上部署sockops类型eBPF,即可实现对设备中TCP类型的socket的监听。
其中,eBPF是一种类虚拟机,在Linux内核中,Linux系统中部署了很多有关报文的处理钩子,因此,可以利用eBPF部署的钩子,实现本说明书中的监听,使钩子在监听到TCP连接的TCP状态变迁事件发生时,触发钩子中的功能,即,根据变迁后的TCP状态确定连接状态。
eBPF及其钩子可参见相关技术中的说明,本说明书在此不进行详细的赘述。需要说明的是,eBPF只是提供了钩子,但利用钩子实现什么功能,并没有明确给出,本说明书中,是利用了eBPF的钩子实现对TCP连接的TCP状态进行监听。
步骤203、在监听到某一TCP连接所处的TCP状态发生变迁的情况下,根据变迁后的TCP状态的状态值以及预先构建的对应关系,确定该TCP连接所处的连接状态的状态值。
需要说明的是,根据表1的对应关系可知,TCP状态发生变迁,连接状态不一定会发送变迁,若连接状态发生变化,TCP状态必然会发生变化。
在监听到某一TCP连接所述的TCP状态发生时,可以确定该连接的连接状态可能会发生变迁,根据变迁后的TCP状态的状态值,就可确定该TCP连接的连接状态的状态值。
步骤205、将确定得到的结构记录为所述设备的该TCP连接的连接状态。
其中,在记录该TCP连接所处的连接状态的状态值时,该TCP连接可能是新建连接(之前没有记录该TCP连接的连接状态),若该TCP连接是新建连接,此时的记录是新建记录。若该TCP连接不是新建连接,就会与之前记录的该TCP连接的连接状态的记录,此时比较之前记录的该TCP连接所处的连接状态的状态值与此次确定的该TCP连接所处的连接状态的状态值是否相同,若相同,则无须更改,若不相同,则将之前记录的该TCP连接所处的连接状态的状态值删除,记录此次确定的该TCP连接所处的连接状态的状态值。
其中,在记录各个TCP连接的连接状态时,可以使用连接会话表实现,连接会话表以TCP连接的源地址、目的地址、源端口、目的端口唯一标识一个连接,此时,可以基于该TCP连接所处的连接状态的状态值,在连接会话表中更新该TCP连接的连接状态的状态值。
将追踪到的TCP连接的连接状态进行记录,使得使用相关使用连接状态追踪实现的功能可以获取到各TCP连接的TCP状态,例如后面会详细赘述的TCP报文处理方法。
需要说明的是,如图1A、1B、1C所示,每个设备只能实时确定有关本设备的TCP状态,在建立连接以及关闭连接的过程中,同一时刻,两个设备所获取到的TCP状态可能是不相同的,例如,假设本设备是TCP连接的发起连接方,那么有些状态是本设备捕获不到的,如SYN_RECV状态,因此,在实际应用中,本设备所获取到的TCP状态只对于本设备有效,并执行相关的处理,利用本设备追踪到的TCP连接的TCP状态以限制对方设备执行相关处理,并不是一个很好的选择。
例如,假设在某一连接中,本设备是图1A中所示的发起连接方,那么其能确定的TCP连接的TCP状态包括:SYN_SENT、ESTABLEISHED、FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT这五种状态。
假设在某一连接中,本设备是图1A中所示的接收连接方,那么其能确定的TCP连接的TCP状态包括:LISTEN、SYN_RCVD、ESTABLEISHED、CLOSE_WAIT、LAST_ACK、CLOSED这六种状态。
假设在某一连接中,本设备是图1B中所示的发起连接方,那么其能确定的TCP连接的TCP状态包括:SYN_SENT、ESTABLEISHED、CLOSE_WAIT、LAST_ACK、CLOSED这五种状态。
假设在某一连接中,本设备是图1B中所示的接收连接方,那么其能确定的TCP连接的TCP状态包括:LISTEN、SYN_RCVD、ESTABLEISHED、FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT这六种状态。
假设在某一连接中,本设备是图1C中所示的发起连接方,那么其能确定的TCP连接的TCP状态包括:SYN_SENT、ESTABLEISHED、FIN_WAIT_1、CLOSING、TIME_WAIT、CLOSED这六种状态。
假设在某一连接中,本设备是图1C中所示的接收连接方,那么其能确定的TCP连接的TCP状态包括:LISTEN、ESTABLEISHED、FIN_WAIT_1、CLOSING、TIME_WAIT、CLOSED这七种状态。
本说明书中虽然是从全局出发,本设备既可以作为发起连接方,也可以作为接收连接方,其可以获取到11种TCP状态,但这并不针对是一个TCP连接的,对于某一个TCP连接而言,本设备只能确定该TCP连接的、上述罗列的六种情况中的一组TCP状态。
因此,在本说明书中,本设备确定某一TCP连接的TCP状态后,可能与该TCP连接的对方设备确定的TCP状态是不同的,本说明书只关注本设备确定的TCP连接的TCP状态,并在根据预先构建的对应关系对应至的对应的连接状态时,是记录为本设备的TCP连接的TCP状态,而非其他设备的。
此外,还需说明的是,相关技术中,在网络节点部署TCP连接的连接状态追踪功能时,网络节点也是根据收到的TCP报文确定对应的TCP连接的连接状态,而其在同一时刻,不会确定出针对同一TCP连接的两个TCP状态,即,网络节点设备在确定某一TCP连接的TCP状态时,在同一时刻,其针对该TCP连确定出的TCP状态,可能与该TCP连接中的其中一方设备所确定出的TCP状态是相同的,与该TCP连接中的另一方设备所确定出的TCP状态是不相同的,因此,网络节点设备所确定的TCP连接的TCP状态,同样是记录为该TCP连接在该网络节点设备的TCP状态,仅对该网络节点设备有效。
换而言之,对于TCP连接的连接状态追踪功能而言,由于在通信的双方互发报文时会存在时间差,同一时刻每个设备收到的TCP报文是不同的,因此,对于一个设备,其追踪到的某一TCP连接的连接状态,是根据本设备收发的报文得到的,记录为本设备追踪的到的TCP连接的连接状态。
如图3所示,为本说明书示出的,在部署有eBPF的Linux系统的设备中,使用eBPF实现的本说明书方法的结构示意图。
eBPF的sockops类可以感知用于处理TCP报文的socket中的TCP状态变迁事件,通过调用该类,确定设备的各个TCP连接的TCP状态是否发生变迁,一旦存在某一TCP连接的TCP状态发生变化,就会触发eBPF的sockops获取该发生TCP状态变迁的TCP连接变迁后的TCP状态,并更新该发生TCP状态变迁的TCP连接的连接状态(若连接状态发生变化就更新,没有则不改变或者覆盖即可)。
其中,图3中的connection table是用于记录各个TCP连接的连接状态,使用了bpfmap的实现方式,key为包含socket信息的元祖(也是TCP连接的元祖),用于唯一标识每一个TCP连接,可以是(src_ip,dst_ip,src_port,dst_port),即(源地址,目的地址、源端口、目的端口),value为连接状态。图中的TCP state指TCP状态。
实际应用中,利用连接状态追踪,可以实现的功能有很多,例如报文处理规则的实现(有状态防火墙),针对同一连接中的报文,当连接处于不同连接状态,对报文执行不同的动作,例如,当收到一个报文后,该报文对应的连接的连接状态为未建立,就可执行丢弃处理动作,以拒绝该报文对应的设备主动访问本设备。当发送一个报文时,该报文对应的连接的连接状态为未建立,就可执行丢弃处理,以限制本设备对该报文对应的目的设备的主动访问。
接下来对基于上述的TCP连接的连接状态追踪方法的TCP报文处理方法进行详细的说明。
该方法是基于上述的TCP连接的连接状态追踪方法,因此应用的设备是相同的,同样应用于使用TCP连接进行通信的设备。
在设备中预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系。
设备在对每个TCP报文进行处理时,首先需要确定该TCP报文所属的TCP连接,TCP报文与TCP连接有着相同的(源地址,目的地址、源端口、目的端口),然后确定为该TCP连接的不同连接状态配置的处理动作。
例如,配置的内容为:TCP连接(IP1,IP2,port1,port2)的连接状态为未建立状态时,拒绝所有通过该TCP连接发送至所述设备的报文;TCP连接(IP1,IP2,port1,port2)的连接状态为已建立状态时,该TCP连接的所有TCP报文都放行。
或者,TCP连接(IP3,IP4,port3,port4)的连接状态为未建立状态时,拒绝放行本设备通过该TCP连接发送至其他设备的所有报文;TCP连接(IP3,IP4,port3,port4)的连接状态为已建立状态时,该TCP连接的所有TCP报文都放行。
如图4所示,为本说明书示出的基于TCP连接的连接状态追踪方法的TCP报文处理方法的流程示意图,包括以下步骤:
步骤401、确定当前TCP报文对应的TCP连接。
接收到TCP报文后,确定该TCP报文所属的TCP连接,如上所述,TCP报文与其所属的TCP连接有着相同的(源地址,目的地址、源端口、目的端口),根据TCP报文所携带的(源地址,目的地址、源端口、目的端口),确定其所属的TCP连接。
当前TCP报文可以是本设备发送至其他设备的,也可以是其他设备发送至本设备的。
步骤403、查询TCP连接对应的连接状态,确定TCP连接的连接状态的状态值。
根据TCP连接的唯一标识,查询TCP连接的连接状态的状态值。
TCP连接的唯一标识可以是上述的(源地址,目的地址、源端口、目的端口),也可以是其他标识,可查询到TCP连接的连接状态的状态值即可。
步骤405、根据为TCP连接所确定的状态值,以及为该TCP连接对应的状态值配置的处理动作,确定当前TCP报文的处理动作。
设备预先配置了各个TCP连接的连接状态的状态值与处理动作的对应关系,因此,根据查询到的TCP连接的连接状态,可以确定当前TCP报文的处理动作。
还需说明的是,上述提到,TCP状态中的SYN_SENT状态对于入方向的TCP报文而言,SYN_SENT状态对应于已建立状态,对于出方向的TCP报文而言,SYN_SENT状态对应于未建立状态。因此,在实际查询中,若当前TCP报文是入报文,那么在当前报文所属的TCP连接处于SYN_SENT状态的情况下,其查询到的连接状态为已建立;若当前TCP报文是出报文,那么在当前报文所属的TCP连接处于SYN_SENT状态的情况下,其查询到的连接状态为未建立。
TCP报文在进入应用层后,设备才会对其进行处理,但TCP报文的处理动作一般部署在设备的出入口(本设备处理完成的报文发送至设备的出入口,出入口根据规则确定是否发送;其他设备发送至本设备的报文先到达出入口,出入口判断是否放行,确定放行后上送至应用层进行进一步的处理),因此,对应其他设备发起的新的TCP连接,本设备不会记录该新的TCP连接的相关连接状态,那么就会确定接收的TCP报文为其他设备向本设备新发起的连接,本设备与该其他设备还未建立TCP连接。
因此,在未查询到所述目标连接的连接状态的情况下,确定当前TCP报文对应的TCP连接所处的连接状态为未建立连接;保存为当前TCP报文对应的TCP连接所确定的连接状态。
以上是对基于TCP连接的连接状态追踪方法实现的TCP报文处理方法的说明,基于上述TCP连接的连接状态追踪方法实现的TCP报文处理方法,在进行TCP报文处理时,可直接查询确定出TCP报文的处理动作,而非先等待TCP状态的追踪结果(先根据TCP报文确定该TCP报文所属的TCP连接的连接状态,然后确定该TCP报文的处理动作),进一步加快了报文处理效率。
此外,本说明书还提供一种出TCP报文的报文处理方法。其中,出TCP报文是指,由本设备生成的、将要发送至其他设备的TCP报文,即,出方向的TCP报文。
如上所述,设备在处理、生成TCP报文时,会更新该TCP报文所属TCP连接的TCP状态。因此,当监听到任一TCP连接的TCP状态发生变迁时,确定变迁后的TCP状态,进而得到TCP连接的连接状态。然后根据得到的TCP连接的连接状态的状态值,确定为该TCP连接的连接状态的状态值配置的处理动作,确定当前处理的TCP报文的处理动作。
即,对于出TCP报文,直接确定出TCP连接的连接状态的状态值,而非根据TCP连接的唯一标识查询,得到TCP连接的连接状态。
如此,可不用执行查询动作(查询该TCP报文所属的TCP连接的连接状态),实现对出方向的TCP报文的报文处理规则的实现,节约了实现出方向的TCP报文的处理规则时的计算资源。
如图5所示,为本说明书根据一具体实施例示出的基于TCP连接的连接状态追踪方法实现的TCP报文处理方法的结构之意图,左半部分与图3相同,相关之处可以参见对图3的描述。右半部分中,outbound为本设备生成的、需要发送至其他设备的TCP报文流,inbound为其他设备发送至本设备的TCP报文流。connection lookup为查询模块,根据TCP连接的唯一标识,查询到对应的连接状态。
其中,设备需要预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系。
对于出TCP报文的处理,使用eBPF中的sockadder类实现,sockaddr会劫持全部socket的connect系统调用,依据acl规则判断生成的TCP报文的判定,由于设备上tcp的新建连接皆会由connect系统调用发起,所以无需读取conntrack table即可实现outbound方向的访问规则。
inbound方向的TCP报文的访问规则使用eBPF的xdp类实现,对于进入的TCP报文,调用connection lookup模块获取TCP连接的连接状态,然后根据预先配置的处理动作,完成对inbound方向的TCP报文的处理。
以上是对基于如上述的TCP连接的连接状态追踪方法的TCP报文处理方法,接下来对相应的装置进行详细的说明。
本说明书提供了一种TCP连接的连接状态追踪装置,所述装置应用于使用TCP连接进行通信的设备;预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系;如图6所示,所述装置包括:
监听模块601,用于监听所述设备的进程与其他设备的进程之间的TCP连接的TCP状态;
确定模块603,用于在监听到任一TCP连接所处的TCP状态发生变迁的情况下,根据变迁后的TCP状态的状态值以及所述对应关系,确定该TCP连接所处的连接状态的状态值;
记录模块605,用于将确定得到的结果记录为所述设备的该TCP连接的连接状态。
此外,所述记录模块可以具体用于:
基于该TCP连接所处的连接状态的状态值,在所述设备的连接会话表中更新该TCP连接的连接状态的状态值;其中所述连接会话表以TCP连接的源地址、目的地址、源端口、目的端口唯一标识一个连接。
其中,所述监听模块可具体用于:
监听所述设备中用TCP类型的socket;其中,所述TCP类型的socket在处理任一TCP报文时,会更新该TCP报文对应的TCP连接所处的TCP状态;
所述确定模块可具体用于:
在捕获到所监听的TCP类型的socket中发生TCP状态变迁的事件的情况下,根据变迁后的TCP状态的状态值,确定该TCP连接所处的连接状态的状态值。
此外,所述监听模块可具体用于:
监听所述设备预先设置的网络策略对应的用于处理TCP报文的socket;其中,所述TCP类型的socket在处理任一TCP报文时,会更新该TCP报文所属的TCP连接所处的TCP状态。
在所述设备的系统为Linux系统的情况下,所述监听模块具体用于,包括:
部署sockops类型的eBPF,监听所述设备中TCP类型的socket;其中,所述TCP类型的socket在处理任一TCP报文时,会更新该TCP报文所属的TCP连接所处的TCP状态。
本说明书还提供了一种基于如上述TCP连接的连接状态追踪方法的TCP报文处理装置,所述装置应用于使用TCP连接进行通信的设备;预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系;如图7所示,所述装置包括:
连接确定模块701,用于确定当前TCP报文对应的TCP连接;
查询模块703,用于查询所述TCP连接对应的连接状态,确定所述TCP连接的连接状态的状态值;
处理动作确定模块705,用于根据为所述TCP连接所确定的状态值,以及为所述TCP连接对应的状态值配置的处理动作,确定所述当前TCP报文的处理动作。
其中,在所述当前TCP报文为所述设备接收的报文的情况下,所述装置还包括:
解析模块(图中未示出),用于在未查询到所述目标连接的连接状态的情况下,解析所述当前TCP报文,确定所述当前TCP报文对应的TCP连接所处的连接状态;
保存模块(图中未示出),用于保存为所述设备的所述TCP连接确定的连接状态。
上述实施例阐明的装置、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
本说明书还提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一所述的方法。
图8示出了本说明书实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器810、存储器820、输入/输出接口830、通信接口840和总线850。其中处理器810、存储器820、输入/输出接口830和通信接口840通过总线850实现彼此之间在设备内部的通信连接。
处理器810可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器820可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器820可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器820中,并由处理器810来调用执行。
输入/输出接口830用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口840用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线850包括一通路,在设备的各个组件(例如处理器810、存储器820、输入/输出接口830和通信接口840)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器810、存储器820、输入/输出接口830、通信接口840以及总线850,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一所述方法的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (12)
1.一种TCP连接的连接状态追踪方法,所述方法应用于使用TCP连接进行通信的设备;预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系;所述方法包括:
监听所述设备的进程与其他设备的进程之间的TCP连接的TCP状态;
在监听到任一TCP连接的TCP状态发生变迁的情况下,根据变迁后的TCP状态的状态值以及所述对应关系,确定该TCP连接所处的连接状态的状态值;
将确定得到的结果记录为所述设备的该TCP连接的连接状态;
其中,所述监听所述设备的进程与其他设备的进程之间的TCP连接的TCP状态,包括:监听所述设备中TCP类型的socket;其中,所述TCP类型的socket在处理任一TCP报文时,会更新该TCP报文所属的TCP连接所处的TCP状态;
所述在监听到任一TCP连接的TCP状态发生变迁的情况下,包括:在捕获到所监听的TCP类型的socket中发生TCP状态变迁的事件的情况下。
2.如权利要求1所述的方法,所述将确定得到的结果记录为所述设备的该TCP连接的连接状态,包括:
基于该TCP连接所处的连接状态的状态值,在所述设备的连接会话表中更新该TCP连接的连接状态的状态值;其中所述连接会话表以TCP连接的源地址、目的地址、源端口、目的端口唯一标识一个连接。
3.如权利要求1所述的方法,所述监听所述设备用于处理TCP报文的socket,包括:
监听所述设备预先设置的网络策略对应的TCP类型的socket。
4.如权利要求1所述的方法,在所述设备的系统为Linux系统的情况下,所述监听所述设备中用于处理TCP报文的socket,包括:
部署sockops类型的eBPF程序,监听所述设备中TCP类型的socket。
5.一种基于权利要求1的TCP报文处理方法,所述方法应用于使用TCP连接进行通信的设备;预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系;所述方法包括:
确定当前TCP报文所属的TCP连接;
查询所述TCP连接对应的连接状态,确定所述TCP连接的连接状态的状态值;
根据为所述TCP连接所确定的状态值,以及为所述TCP连接对应的状态值配置的处理动作,确定所述TCP报文的处理动作。
6.如权利要求5所述的方法,在所述当前TCP报文为所述设备接收的报文的情况下,所述方法还包括:
在未查询到所述TCP连接的连接状态的情况下,确定所述当前TCP报文所属的TCP连接所处的连接状态的状态值为未建立状态;
保存为所述TCP连接确定的连接状态。
7.一种TCP连接的连接状态追踪装置,所述装置应用于使用TCP连接进行通信的设备;预先构建TCP连接的TCP状态的状态值与任意两个设备的进程间任一连接的连接状态的状态值之间的对应关系;所述装置包括:
监听模块,用于监听所述设备的进程与其他设备的进程之间的TCP连接的TCP状态;
确定模块,用于在监听到任一TCP连接所处的TCP状态发生变迁的情况下,根据变迁后的TCP状态的状态值以及所述对应关系,确定该TCP连接所处的连接状态的状态值;
记录模块,用于将确定得到的结果记录为所述设备的该TCP连接所处的连接状态;
其中,所述监听模块具体用于:监听所述设备中用于TCP类型的socket;其中,所述用于TCP类型的socket在处理任一TCP报文时,会更新该TCP报文所属的TCP连接所处的TCP状态;
所述确定模块具体用于:在捕获到所监听的用于处理TCP报文的socket中发生TCP状态变迁的事件的情况下,根据变迁后的TCP状态的状态值以及所述对应关系,确定该TCP连接所处的连接状态的状态值。
8.如权利要求7所述的装置,所述记录模块具体用于:
基于该TCP连接所处的连接状态的状态值,在所述设备的连接会话表中更新该TCP连接的连接状态的状态值;其中所述连接会话表以TCP连接的源地址、目的地址、源端口、目的端口唯一标识一个连接。
9.一种基于权利要求8的TCP报文处理装置,所述装置应用于使用TCP连接进行通信的设备;预先配置各个TCP连接的连接状态的状态值与处理动作的对应关系;所述装置包括:
连接确定模块,用于确定当前TCP报文所属的TCP连接;
查询模块,用于查询所述TCP连接对应的连接状态,确定所述TCP连接的连接状态的状态值;
处理动作确定模块,用于根据为所述TCP连接所确定的状态值,以及为所述TCP连接对应的状态值配置的处理动作,确定所述当前TCP报文的处理动作。
10.如权利要求9所述的装置,在所述当前TCP报文为所述设备接收的报文的情况下,所述装置还包括:
解析模块,用于在未查询到所述TCP连接的连接状态的情况下,确定所述当前TCP报文所属的TCP连接所处的连接状态的状态值为未建立状态;
保存模块,用于保存为所述TCP连接确定的连接状态。
11.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111651269.2A CN114285771B (zh) | 2021-12-30 | 2021-12-30 | 一种tcp连接的连接状态追踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111651269.2A CN114285771B (zh) | 2021-12-30 | 2021-12-30 | 一种tcp连接的连接状态追踪方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285771A CN114285771A (zh) | 2022-04-05 |
CN114285771B true CN114285771B (zh) | 2024-02-06 |
Family
ID=80878808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111651269.2A Active CN114285771B (zh) | 2021-12-30 | 2021-12-30 | 一种tcp连接的连接状态追踪方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285771B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086397A (zh) * | 2022-06-10 | 2022-09-20 | 中国银行股份有限公司 | 一种tcp连接的管理方法及系统 |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1518823A (zh) * | 2001-05-09 | 2004-08-04 | ���ȿ���ͨ�Źɷ�����˾ | 使用会话追踪的动态分组过滤器 |
KR100608136B1 (ko) * | 2005-02-18 | 2006-08-08 | 재단법인서울대학교산학협력재단 | 티씨피 연결의 스테이트풀 인스펙션에 있어서의 보안성능향상방법 |
KR100806492B1 (ko) * | 2006-11-13 | 2008-02-21 | 삼성에스디에스 주식회사 | Tcp 상태천이를 이용한 서비스거부 공격의 차단방법 |
CN101447896A (zh) * | 2007-11-27 | 2009-06-03 | 北京高信达网络科技有限公司 | 一种互联网旁路监测系统的tcp连接管理方法 |
CN101547210A (zh) * | 2009-05-14 | 2009-09-30 | 福建星网锐捷网络有限公司 | 一种tcp连接的处理方法和装置 |
US7768939B1 (en) * | 2007-01-02 | 2010-08-03 | Juniper Networks, Inc. | Network proxy with asymmetric connection connectivity |
CN102035687A (zh) * | 2011-01-06 | 2011-04-27 | 华为技术有限公司 | Tcp连接的备份方法及其设备 |
CN102573078A (zh) * | 2012-01-06 | 2012-07-11 | 华为终端有限公司 | Tcp数据包的处理方法和设备 |
CN103034552A (zh) * | 2012-12-11 | 2013-04-10 | 太仓市同维电子有限公司 | 一种在软件系统中实现软件看门狗的方法 |
CN105490985A (zh) * | 2014-09-15 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 一种基于信令传输的tcp长连接的实现方法及装置 |
CN105939344A (zh) * | 2016-04-18 | 2016-09-14 | 杭州迪普科技有限公司 | 一种tcp连接的建立方法及装置 |
WO2018073623A1 (en) * | 2016-10-19 | 2018-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Service aware switch-over of tcp-flows |
CN108243196A (zh) * | 2018-01-22 | 2018-07-03 | 北京启明星辰信息安全技术有限公司 | Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质 |
CN108600049A (zh) * | 2018-04-16 | 2018-09-28 | 苏州云杉世纪网络科技有限公司 | 一种数据中心网络tcp连接的性能测量方法及装置 |
CN109922159A (zh) * | 2019-03-27 | 2019-06-21 | 宁波大学 | 一种物联网设备间云端双向虚拟连接的方法 |
CN109996250A (zh) * | 2017-12-29 | 2019-07-09 | 洛阳中科晶上智能装备科技有限公司 | 检测tcp连接状态的方法 |
CN110247806A (zh) * | 2019-06-25 | 2019-09-17 | 杭州迪普科技股份有限公司 | 会话故障处理方法、装置、电子设备 |
CN110290030A (zh) * | 2019-08-12 | 2019-09-27 | 北京字节跳动网络技术有限公司 | 网络状态检测方法、装置、电子设备及计算机可读介质 |
CN110620734A (zh) * | 2019-10-17 | 2019-12-27 | 吉旗(成都)科技有限公司 | Tcp链路数据处理方法及装置 |
WO2020019533A1 (zh) * | 2018-07-23 | 2020-01-30 | 华为技术有限公司 | 一种数据传输方法及电子设备 |
CN111565130A (zh) * | 2020-04-22 | 2020-08-21 | 烽火通信科技股份有限公司 | 一种tcp连接检测方法及系统 |
CN112291345A (zh) * | 2020-10-29 | 2021-01-29 | 上海市共进通信技术有限公司 | 不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法 |
CN112732560A (zh) * | 2020-12-31 | 2021-04-30 | 杭州迪普科技股份有限公司 | 文件描述符泄露风险的检测方法及装置 |
CN112769651A (zh) * | 2021-01-13 | 2021-05-07 | 杭州迪普科技股份有限公司 | 一种tcp连接检测方法、装置及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050022017A1 (en) * | 2003-06-24 | 2005-01-27 | Maufer Thomas A. | Data structures and state tracking for network protocol processing |
US9258230B2 (en) * | 2006-10-17 | 2016-02-09 | Hewlett Packard Enterprise Development Lp | In flight TCP window adjustment to improve network performance |
US8578022B2 (en) * | 2011-01-19 | 2013-11-05 | Cisco Technology, Inc. | Adaptive idle timeout for TCP connections in ESTAB state |
US20140157405A1 (en) * | 2012-12-04 | 2014-06-05 | Bill Joll | Cyber Behavior Analysis and Detection Method, System and Architecture |
US10212259B2 (en) * | 2014-12-01 | 2019-02-19 | Oracle International Corporation | Management of transmission control blocks (TCBs) supporting TCP connection requests in multiprocessing environments |
US9954979B2 (en) * | 2015-09-21 | 2018-04-24 | International Business Machines Corporation | Protocol selection for transmission control protocol/internet protocol (TCP/IP) |
US10419968B2 (en) * | 2016-03-30 | 2019-09-17 | International Business Machines Corporation | Dynamic selection of TCP congestion control for improved performances |
US10581978B2 (en) * | 2017-07-31 | 2020-03-03 | Hughes Network Systems, Llc | Smart spoofing to improve spoofing performance when resources are scarce |
-
2021
- 2021-12-30 CN CN202111651269.2A patent/CN114285771B/zh active Active
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1518823A (zh) * | 2001-05-09 | 2004-08-04 | ���ȿ���ͨ�Źɷ�����˾ | 使用会话追踪的动态分组过滤器 |
KR100608136B1 (ko) * | 2005-02-18 | 2006-08-08 | 재단법인서울대학교산학협력재단 | 티씨피 연결의 스테이트풀 인스펙션에 있어서의 보안성능향상방법 |
KR100806492B1 (ko) * | 2006-11-13 | 2008-02-21 | 삼성에스디에스 주식회사 | Tcp 상태천이를 이용한 서비스거부 공격의 차단방법 |
US7768939B1 (en) * | 2007-01-02 | 2010-08-03 | Juniper Networks, Inc. | Network proxy with asymmetric connection connectivity |
CN101447896A (zh) * | 2007-11-27 | 2009-06-03 | 北京高信达网络科技有限公司 | 一种互联网旁路监测系统的tcp连接管理方法 |
CN101547210A (zh) * | 2009-05-14 | 2009-09-30 | 福建星网锐捷网络有限公司 | 一种tcp连接的处理方法和装置 |
CN102035687A (zh) * | 2011-01-06 | 2011-04-27 | 华为技术有限公司 | Tcp连接的备份方法及其设备 |
WO2012092774A1 (zh) * | 2011-01-06 | 2012-07-12 | 华为技术有限公司 | Tcp连接的备份方法及其设备 |
CN102573078A (zh) * | 2012-01-06 | 2012-07-11 | 华为终端有限公司 | Tcp数据包的处理方法和设备 |
CN103034552A (zh) * | 2012-12-11 | 2013-04-10 | 太仓市同维电子有限公司 | 一种在软件系统中实现软件看门狗的方法 |
CN105490985A (zh) * | 2014-09-15 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 一种基于信令传输的tcp长连接的实现方法及装置 |
CN105939344A (zh) * | 2016-04-18 | 2016-09-14 | 杭州迪普科技有限公司 | 一种tcp连接的建立方法及装置 |
WO2018073623A1 (en) * | 2016-10-19 | 2018-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Service aware switch-over of tcp-flows |
CN109996250A (zh) * | 2017-12-29 | 2019-07-09 | 洛阳中科晶上智能装备科技有限公司 | 检测tcp连接状态的方法 |
CN108243196A (zh) * | 2018-01-22 | 2018-07-03 | 北京启明星辰信息安全技术有限公司 | Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质 |
CN108600049A (zh) * | 2018-04-16 | 2018-09-28 | 苏州云杉世纪网络科技有限公司 | 一种数据中心网络tcp连接的性能测量方法及装置 |
WO2020019533A1 (zh) * | 2018-07-23 | 2020-01-30 | 华为技术有限公司 | 一种数据传输方法及电子设备 |
CN109922159A (zh) * | 2019-03-27 | 2019-06-21 | 宁波大学 | 一种物联网设备间云端双向虚拟连接的方法 |
CN110247806A (zh) * | 2019-06-25 | 2019-09-17 | 杭州迪普科技股份有限公司 | 会话故障处理方法、装置、电子设备 |
CN110290030A (zh) * | 2019-08-12 | 2019-09-27 | 北京字节跳动网络技术有限公司 | 网络状态检测方法、装置、电子设备及计算机可读介质 |
CN110620734A (zh) * | 2019-10-17 | 2019-12-27 | 吉旗(成都)科技有限公司 | Tcp链路数据处理方法及装置 |
CN111565130A (zh) * | 2020-04-22 | 2020-08-21 | 烽火通信科技股份有限公司 | 一种tcp连接检测方法及系统 |
CN112291345A (zh) * | 2020-10-29 | 2021-01-29 | 上海市共进通信技术有限公司 | 不同物理机间进行进程迁移过程中实现保持socket不中断状态的方法 |
CN112732560A (zh) * | 2020-12-31 | 2021-04-30 | 杭州迪普科技股份有限公司 | 文件描述符泄露风险的检测方法及装置 |
CN112769651A (zh) * | 2021-01-13 | 2021-05-07 | 杭州迪普科技股份有限公司 | 一种tcp连接检测方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114285771A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9787589B2 (en) | Filtering of unsolicited incoming packets to electronic devices | |
US10084679B2 (en) | Standalone network probing using available network connections | |
CN109361606B (zh) | 一种报文处理系统及网络设备 | |
US10277717B2 (en) | Network introspection in an operating system | |
US10050870B2 (en) | Handling multipath flows in service function chaining | |
US9608906B2 (en) | Methods, systems, and computer readable media for identifying network locations associated with endpoints | |
CN110177128B (zh) | 数据传输系统及其建立vpn连接的方法、终端、vpn代理 | |
US9307555B2 (en) | Method and system for mobile terminal to access the network through cell phone | |
CN111147519A (zh) | 数据检测方法、装置、电子设备和介质 | |
KR20100087032A (ko) | 보안 실행 지점에 보안 연관 정보를 선택적으로 로딩하는 방법 | |
CN114285771B (zh) | 一种tcp连接的连接状态追踪方法及装置 | |
CN110120897A (zh) | 链路探测方法、装置、电子设备及机器可读存储介质 | |
US20240259316A1 (en) | Network load balancing method and apparatus, electronic device, medium, and program product | |
CN110191200A (zh) | 网络访问方法、装置、电子设备和计算机可读介质 | |
US20210367926A1 (en) | Methods and Apparatus for Operating and Managing a Constrained Device within a Network | |
WO2024146293A1 (zh) | 域名服务器解析加速方法及装置 | |
US11245668B1 (en) | Critical firewall functionality management | |
CN111131539A (zh) | 报文转发方法及装置 | |
CN111953810B (zh) | 识别代理互联网协议地址的方法、装置及存储介质 | |
CN115225292A (zh) | 一种内网访问方法、装置、设备及计算机可读存储介质 | |
GB2598293A (en) | Apparatus, methods, and computer programs | |
CN112532610B (zh) | 一种基于tcp分段的入侵防御检测方法及装置 | |
CN113452663B (zh) | 基于应用特征的网络业务控制 | |
CN115085954A (zh) | 一种内网访问方法、装置、设备及计算机可读存储介质 | |
CN111800340A (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 |