首页 / 专利库 / 家用器具 / 定时器 / 一种互联网旁路监测系统的TCP连接管理方法

一种互联网旁路监测系统的TCP连接管理方法

阅读:592发布:2023-01-22

专利汇可以提供一种互联网旁路监测系统的TCP连接管理方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种互联网旁路监测系统的TCP连接管理方法。该方法包括:监测系统初始化完成后接收数据包,根据数据包查找与该数据包对应的连接;若找到与所述数据包对应的连接结点,则设置该结点的连接状态;若未找到则进行应用层 数据处理 ,并根据处理结果找到的应用层协议建立连接结点,将建立的连接结点加入到超时队列;设置并检查结点的连接状态,若连接状态变化到结束状态,则删除连接结点,并更新超时队列;若连接状态未变化到结束状态,则更新连接结点所维护的 定时器 ,并根据连接结点所处状态设置定时器的时长;判断是否需要检查超时队列,若是则进行检查并删除超时的连接结点。该方法实现方便的对监测系统所监测的TCP连接进行管理。,下面是一种互联网旁路监测系统的TCP连接管理方法专利的具体信息内容。

1、一种互联网旁路监测系统的TCP连接管理方法,其特征在于,包括:
监测系统初始化完成后接收数据包,根据数据包查找与该数据包对应的 连接结点;
若找到与所述数据包对应的连接结点,则设置该结点的连接状态;若未 找到与所述数据包对应的连接结点则进行应用层数据处理,并根据处理结果 找到的数据包所属的应用层协议建立连接结点,将建立的连接结点加入到超 时队列;
设置并检查结点的连接状态,若连接状态变化到结束状态,则删除连接 结点,并更新超时队列;
若结点的连接状态未变化到结束状态,则更新连接结点所维护的定时 器,并根据连接结点所处状态设置定时器的时长;
判断是否需要检查超时队列,若是则进行检查并删除超时的连接结点。
2、根据权利要求1所述的方法,其特征在于,所述方法进一步包括:每 个连接结点对应维护一个定时器。
3、根据权利要求1所述的方法,其特征在于,所述设置结点的连接状态 的步骤还包括:
以符合监测系统使用的TCP状态变迁来设置结点的连接状态。
4、根据权利要求1所述的方法,其特征在于,所述的判断是否需要检查 超时队列的步骤还包括:
若判断结果为不需要检查,则继续进行接收数据包的操作。
5、根据权利要求1所述的方法,其特征在于,所述进行应用层数据处理 的步骤包括:监测系统进行应用层数据处理,对应用层协议进行初始化后接 收数据包;取应用层数据并判断是否有数据,若有则查找数据包对应的连 接;若找到该连接则调用应用层协议来处理数据;
若未找到则查找数据包所属的应用层协议,若找到则进行实例化应用层 协议的操作。
6、根据权利要求5所述的方法,其特征在于,所述的判断是否有数据的 步骤还包括:
若没有数据则继续执行接收数据包。
7、根据权利要求5所述的方法,其特征在于,所述的查找数据包所属的 应用层协议的步骤进一步包括:
若未找到该协议则继续执行接收数据包。

说明书全文

技术领域

发明涉及网络安全技术,尤其涉及一种互联网中旁路式数据监测中的 TCP连接管理方法。

背景技术

数据监测是指通过还原网络中的原始数据,分析网络状态或过滤网络数 据的行为,起到对网络中的协议连接状态进行管理的目的,通过数据监测管 理员可以监控网络资源是否被合法使用。
TCP/IP(Trans control protocol/Internet Protocol)协议栈已成为 目前互联网中的实际连接标准。TCP协议是属于TCP/IP协议栈中的传输层,它 向应用层提供一种面向连接,可靠的字节流服务。面向连接意味着两个TCP的 应用,通常是一个客户和一个服务器之间在彼此交换数据之前必须建立一个 TCP连接。当连接建立后,才能在彼此之间交换数据,进行通信。完成通信 后,必须释放连接。通过在IP协议头中获得连接双方的IP地址和端口号,可 以确定唯一的连接。
为维持和保证一个TCP连接,TCP协议对连接的建立,维护和拆除都有相 应的处理规定,并形成标准的TCP状态变迁图(见附图1)及对应状态下的定 时器,反应不同时间和情况下的连接状态,用于保证各种正常或异常条件下 的都能正常工作。
在标准的TCP连接状态监测中,是从客户端和服务器端通信双方的度来 定义一个TCP连接的状态变迁,而监测系统需要从第三方的角度来管理一个 TCP连接。虽然监测的是相同的数据,但TCP协议栈与监测系统之间在管理TCP 连接上还存在一些区别,这也是利用TCP标准状态变迁图进行监测管理所存在 的问题。
从上述对现有标准的TCP连接状态监测中,发明人发现上述现有技术至 少存在以下问题:
(1)操作系统中标准TCP协议栈管理的连接数量远小于监测系统处理机 管理的TCP连接数量,因此用TCP协议栈的方法无法快速有效地定位一个数 据包属于哪一个连接;
(2)标准的TCP状态变迁图中一次连接的建立是由SYN(建立连接标 志)包开始,而监测系统一个连接可能由其它的数据包建立一个连接,因为 监测系统会在一个TCP连接建立后才捕获到数据,因此监控系统必须能处理 由其它的数据包建立的连接。
(3)为了保证TCP连接的可靠性,在标准的TCP连接中会维护多个定时 器,在不同的状态下使用不同的定时器,使定时器管理过于复杂。而监测系 统是处于旁观者的角度,对TCP连接的可靠性要求不高,因此没必要维护太多 的定时器。

发明内容

本发明提供了一种互联网旁路监测系统的TCP连接管理方法。通过收到的 数据包来定位或建立TCP连接,方便的进行多个连接的管理,达到监测各连接 状态进行删除或建立各连接的目的。
本发明的目的是通过以下技术方案实现的:
本发明提供一种互联网旁路监测系统的TCP连接管理方法,包括:
监测系统初始化完成后接收数据包,根据数据包查找与该数据包对应的 连接结点;
若找到与所述数据包对应的连接结点,则设置该结点的连接状态;若未 找到与所述数据包对应的连接结点则进行应用层数据处理,并根据处理结果 找到的数据包所属的应用层协议建立连接结点,将建立的连接结点加入到超 时队列;
设置并检查结点的连接状态,若连接状态变化到结束状态,则删除连接 结点,并更新超时队列;
若结点的连接状态未变化到结束状态,则更新连接结点所维护的定时 器,并根据连接结点所处状态设置定时器的时长;
判断是否需要检查超时队列,若是则进行检查并删除超时的连接结点。
所述方法进一步包括:每个连接结点对应维护一个定时器。
所述设置结点的连接状态的步骤还包括:以符合监测系统使用的TCP状态 变迁来设置结点的连接状态。
所述的判断是否需要检查超时队列的步骤还包括:
若判断结果为不需要检查,则继续进行接收数据包的操作。
所述进行应用层数据处理的步骤包括:监测系统进行应用层数据处理, 对应用层协议进行初始化后接收数据包;取应用层数据并判断是否有数据, 若有则查找数据包对应的连接;若找到该连接则调用应用层协议来处理数 据;
若未找到则查找数据包所属的应用层协议,若找到则进行实例化应用层 协议的操作。
所述的判断是否有数据的步骤还包括:若没有数据则继续执行接收数据 包。
所述的查找数据包所属的应用层协议的步骤进一步包括:若未找到该协 议则继续执行接收数据包。
由上述本发明实施例提供的技术方案可以看出,本发明实施例的连接管 理方法,在标准的TCP连接管理的基础上,针对监测系统的特点,方便的对监 测系统所管理的TCP连接进行定位或建立的处理,且每个TCP连接只维护一个 定时器,达到监测系统管理和维护数量庞大的TCP连接的目的,保证监测系统 对应用层协议的分析与处理。

附图说明

图1为现有技术提供的TCP连接的状态变迁图;
图2为本发明实施例的监测系统所使用的TCP连接的状态变迁图;
图3为本发明实施例的监测系统的连接管理方法流程图
图4为本发明实施例的监测系统对应用层数据处理流程图。

具体实施方式

本发明实施例提供了一种互联网旁路监测系统的TCP连接管理方法。根据 接收到的数据包进行连接结点的查找或建立,并设置、检查该连接结点的状 态,使监测系统方便的对所监测的数据庞大的TCP连接进行管理,与现有的标 准的TCP协议栈相比,具有管理方便,管理所维护的定时器简单等优点。
为便于理解本发明,下面结合附图对和具体实施例进行说明。
实施例一
本发明实施例是一种互联网旁路监测系统的TCP连接管理方法,该方法具 体包括下述处理步骤:
监测系统初始化完成后接收数据包,根据数据包查找与该数据包对应的 连接结点;
若找到与所述数据包对应的连接结点,则设置该结点的连接状态;若未 找到与所述数据包对应的连接结点则进行应用层数据处理,并根据处理结果 所查找到的数据包所属的应用层协议来建立连接结点,将建立的连接结点加 入到超时队列;
设置并检查结点的连接状态,若连接状态变化到结束状态,则删除连接 结点,并更新超时队列;
若连接状态未变化到结束状态,则更新连接结点所维护的定时器,并根 据连接结点所处状态设置定时器的时长;
判断是否需要检查超时队列,若是则进行检查并删除超时的连接结点。
其中,每个连接结点对应维护一个定时器。
其中,所述设置结点的连接状态时以符合监测系统使用的图2所示,TCP 状态变迁图来设置结点的连接状态。
所述的判断是否需要检查超时队列时,若结果为不需要检查,则继续进 行接收数据包的操作。
所述的进行应用层数据处理包括:监测系统对应用层协议进行初始化后 接收数据包;取应用层数据并判断是否有数据,若有则查找数据包对应的连 接,若没有数据则继续执行接收数据包;若找到该连接则调用应用层协议来 处理数据;若未找到则查找数据包所属的应用层协议,若找到则进行实例化 应用层协议的操作。
所述的查找数据包所属的应用层协议时,若未找到该协议则继续执行接 收数据包。
如图2所示,给出了本发明中监测系统所使用的TCP连接状态变迁图,下 面给出其中相应的解释:
连接状态      对应解释
CLOSED  关闭,新建立一个连接结点时的状态,即初始状态;
SYN1_SENT_1   第一个有SYN标志的TCP包发送,正常打开和同时打开连 接共用的状态;
SYN1_SENT_2   第二个有SYN标志的TCP包发送,针对TCP连接同时打开的 状态;
SYN1_ACK         一个SYN被响应,同时打开时的状态,SYN为建立连接标 志;
SYN2_SENTSYN2   包发送,正常打开连接时的状态;
ESTABLISHED     数据传输状态;
FIN_WAIT_1      第一个FIN1发送,正常关闭和同时关闭时共用;
FIN_WAIT_2      一个FIN被响应,正常关闭时的状态;
CLOSE_WAIT      第二个FIN被发送,正常关闭时的状态;
CLOSING_1       第二个FIN被发送,同时关闭时的状态;
CLOSING_2       一个FIN被响应,同时关闭时的状态;
TIME_WAIT       两个FIN被响应,进入2MSL超时等待,此时可以删除连 接;
RST             收到RST包,连接重置,此时可以删除连接,TCP连接异 常中止产生的数据包;RST为重置连接标志
与TCP标准状态的对比变化的状态;
LISTEN        是服务器端口监听时的状态,监测系统不可能获得这种情 况,此状态去掉;
LAST_ACK    合并正常的TCP连接关闭中客户端和服务器端的状态变化,此 状态去掉;
CLOSE       合并正常的TCP连接关闭中客户端和服务器端的状态变化,此 状态去掉;
CLOSING     针对同时关闭时的情况,去掉这个状态,增加CLOSING1 和CLOSING2;
SYN_SENT    对应SYN1_SENT_1,为同时打开的情况做变动;
SYN收到     对应SYN2_SENT增加的状态;
SYN1_SENT_2 针对同时打开连接时增加;
CLOSING1      针对同时关闭的情况增加;
CLOSING2      针对同时关闭的情况增加。
新状态变迁图的特点:
对于新定义的TCP状态,它不区分服务器与客户端,因此在对应每一个 TCP连接,只需要维护一个状态图。
监测系统使用的数据包类型定义如下:
数据包类型      解释
SYN1        只设置SYN标志位的数据包,TCP建立连接标准三步握手中的 第一步;也有可能是同时连接时双方发出的第一个包;
SYN2        包含SYN和ACK的数据包,TCP建立连接三步握手中的第二 步;
ACK(响应)   只包含ACK的TCP包,这种类型数据包存在的范围最广泛, 在TCP连接的各个阶段都会在;
DATA        包含应用层数据的TCP包,也有可能包含ACK标志;
一般只在ESTABLISHED存在,极少数情况在TCP连接处理于半关闭状态 (有FIN包发出)还有这类数据包;
FIN         包含FIN标志位的TCP包,关闭连接时产生;
RST         包含RST标志位的TCP包,重置连接使用,可以在任何时间产 生,表示TCP连接中断;
数据包类型的定义主要是根据TCP协议头中的6个标志位来做判断的,使 用了其中的四个标志位ACK,SYN,FIN,RST。URG和FSH标志位是对TCP协议传 输的应用层数据起作用,只有在ESTABLISHED状态才有,在定义状态变迁图时 不予考虑。
图2中,根据TCP连接的现有状态和获得的数据包的类型,变迁到下一个 状态,最上面一行表示连接获得的数据包的类型;
最左边的一列表示TCP连接现在的状态;
中间是表示根据TCP连接现在的状态和数据包的类型,TCP连接将要进入 的下一个状态。
当TCP连接进入TIME_WAIT状态或RST状态则不再变化。
表中的TCP连接的状态变迁除了正常的状态变迁外,还考虑了各种异常情 况时的TCP连接状态变化。
异常情况包括:
(1)在TCP连接发生后得到TCP连接的数据,数据包完整时,TCP连接应该 从CLOSED变化到SYN1_SENT_1,在TCP连接发生后获得数据,则会从CLOSED 变迁到其它状态。这是由监测系统的特点决定的,在系统刚开始运行的时候 的连接都是没有开始的。
(2)监测系统丢包,TCP协议有重发机制,因此标准的TCP状态变迁图不用 考虑这个问题。但在对于监测系统来说,由于采集或其它的原因,造成的系 统丢包问题是不可避免,在这种情况下,TCP连接的状态会跳过正常状态变迁 中的某一步或几步,保证TCP连接能继续工作。
(3)RST包,无论什么时候收到RST包,都直接进入RST状态。
在状态变迁表中,每一个数据包都会引起一次状态变迁的动作,虽不一 定会改变连接的状态,但可能会对连接的定时器进行更新(如在ESTABLISHED 状态下的ACK和DATA包,连接的状态都会改变,但此时需要设置的定时器时长 不同,如果是ACK包,应该参考保活定时器设置,如果是DATA包,应该参考重 发定时器设置,这是针对TCP标准状态变迁图中的问题2)。
在ESTABLISHED状态收到ACK设置定时器时长要注意的问题: TCP连接处理ESTABLISHED时,可能连接的双方都有数据需要响应,如果这时 只有一个方向的ACK,定时器时长应该是按重发定时器设置,如果有两个方向 的ACK,则按保活定时器设置。
结合具体的流程图,以分步骤的方式对本发明的连接管理方法进行说 明。
如图3所示,它示出了监测系统TCP连接管理方法的流程:
其中,步骤31,监测系统初始化状态变化表,状态表需要考虑不完整的 TCP连接。保存在各种总情况下都能正常工作;
步骤32,接收数据包;
步骤33,查找数据包对应的连接;
步骤34,是否找到结点,若找到执行步骤39,若未找到则执行步骤35;
步骤35,查找数据包应用层所属协议;
步骤36,是否找到协议,若是执行37,否则执行32;
步骤37,建立连接结点;
步骤38,将结点加入到超时队列;
步骤39,设置连接状态;由于监测系统是从旁观者的角度监测TCP连接, 因此不能使用标准的TCP状态变迁图,需要使用以标准状态变迁图为基础得出 的图2的状态变迁图;
步骤310,检查连接状态,若连接变化到结束状态,执行步骤11;否则执 行步骤12;
步骤311,删除连接结点,删除连接结点不只是在链表中删除,同时还需 更新超时队列;
步骤312,更新结点定时器,定时器的时长根据结点所处的状态设置;
步骤313,是否需要检查超时队列;是执行步骤14,否返回执行步骤2;
步骤314,检查超时队列,将超时的连接结点删除。
下面结合图4对本发明的应用层数据处理的具体流程进行分步骤说明:
其中,步骤41:应用层协议初始化;
步骤42:接收数据包;
步骤43:取应用层数据;
步骤44:判断是否有数据,若有数据执行45,若没有数据则执行42;
步骤45:查找数据包对应的连接;
步骤46:是否找到,若找到执行410,若未找到执行47
步骤47:查找数据包所属的应用层协议;
步骤48:是否找到,找到执行49,未找到执行42;
步骤49:实例化应用层协议;
步骤410:调用应用层协议处理函数处理数据。
综上所述,本发明实施例中的监测系统对TCP连接的管理方法,利用以标 准的TCP连接状态变迁图得出的适用于监测系统的TCP状态变迁图,通过接收 的数据包定位或建立相应的连接,同时设置并检查该连接的状态,来确定对 该连接的更新或删除,使用该方法使监测系统方便的进行多个TCP连接的管 理,且每个连接只需要维护一下定时器,避免了现有标准的TCP/IP协议栈要 进行复杂的定时器管理的问题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 的保护范围应该以权利要求的保护范围为准。
相关专利内容
标题 发布/更新时间 阅读量
定时器 2020-05-12 773
定时器 2020-05-12 687
定时器 2020-05-12 970
定时器装置 2020-05-13 423
多段定时器 2020-05-13 576
石英钟式定时器机芯 2020-05-11 692
定时器调速机构 2020-05-11 240
全塑定时器 2020-05-11 945
机械式定时器 2020-05-12 333
六端子定时器 2020-05-11 897
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈