专利名称:一种基于tcp连接的网络报文采样系统和方法
一种基于tcp连接的网络报文采样系统和方法技术领域
本发明属于网络数据处理领域,具体讲涉及一种基于tcp连接的网络报文采样系统和方法。
背景技术:
当前的网络数据处理系统需要对网络上的报文进行接收处理,在网络流量很大的情况下,为降低系统负载,一般采用报文采样的方法,也就是说,系统不接收所有报文,而是从所有报文中抽取一定量的报文进行分析。
报文采样往往是基于报文的,用统计报文计数的方法,按照一定的采样比例,随机采样报文,比如从每10个报文中抽取一个报文进行分析。但在实际应用中,很多网络数据分析工作不是针对单个报文的,而是针对tcp连接的。
专利号为ZL200910073048. 4、名称为“一种用于异常检测的自适应网络流量采样方法”的发明披露了一种自适应网络流量采样方法,利用统计报文计数的方法对传输的数据包报文进行采样,但这样对报文进行采样往往会丢掉tcp连接中的某些报文,使tcp连接的数据不完整,导致在分析采样数据时存在采样数据有效性不高的问题。发明内容
本发明的目的在于,提出一种基于tcp连接的网络报文采样系统和方法,可对报文进行连续采集,提高采样数据的有效性。
为实现上述目的,本发明提供一种基于tcp连接的网络报文采样系统,所述报文采样系统包括tcp报文判断模块、tcp标识判断模块和采样比例判断模块;其特征在于,与所述tcp标识判断模块连接的tcp查找模块,及所述tcp查找模块和所述采样比例判断模块分别与tcp管理表连接;所述tcp报文判断模块、所述tcp标识判断模块和所述采样比例判断模块依次连接。
本发明提供的优选技术方案中,所述tcp连接管理表中的每个表项为标识tcp连接的四元组结构。
本发明提供的第二优选技术方案中,所述tcp报文判断模块对输入的报文是否是 tcp报文做出判断,确定是按采样比例随机采样,继续处理下一个输入报文还是将该报文传输到tcp标识判断模块。
本发明提供的第三优选技术方案中,所述tcp标识判断模块判断报文的tcp标识, 确定将所述报文传输到所述采样比例判断模块还是将所述tcp报文传输到所述tcp查找模块。
本发明提供的第四优选技术方案中,所述采样比例判断模块判断当前采样的数据量是否达到了系统预设的采样比例,判断是丢弃收到的报文,继续处理下一个输入报文,还是采样收到的报文,并且提取出所述收到的报文的四元组结构并传输到所述tcp连接管理表中。
本发明提供的第五优选技术方案中,所述四元组结构包括源ip、目的ip、源端口和目的端口。
本发明提供的第六优选技术方案中,所述tcp查找模块在接到所述tcp标识判断模块发出的tcp报文后,提取出该tcp报文的四元组结构,并到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项。
本发明提供的第七优选技术方案中,提供一种基于tcp连接的网络报文采样方法,其改进之处在于,所述网络报文采样方法包括如下步骤
(1)在报文采样系统中建立一张tcp连接管理表;
(2)判断输入报文的类型,如该报文类型是TCP报文,则查看该报文的tcp标识位; 否则按采样比例随机采样,然后继续处理下一个输入报文;
(3)判断报文的tcp标识位,如果该tcp报文属于新建的tcp连接的,则进行步骤 4 ;如果该tcp报文属于已建的tcp连接的数据报文,则进行步骤5 ;如果该tcp报文属于 tcp连接的关闭报文,则进行步骤6 ;
(4)判断当前采样的数据量是否达到了系统预设的采样比例,如果达到了采样比例,则丢弃收到的报文,继续处理下一个输入报文;否则采样收到的报文,并且提取出所述收到的报文的四元组结构,插入到所述tcp连接管理表中;
(5)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项,如果查找到了,则采样该tcp报文;否则丢弃该tcp报文,继续处理下一个输入报文;
(6)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项;如果查找到了,则采样该tcp报文,并从所述tcp连接管理表中删除该tcp连接;否则丢弃该tcp报文,继续处理下一个输入报文。
与现有技术比,本发明提供的一种基于tcp连接的网络报文采样系统和方法,可在报文采样系统中建立一张tcp连接管理表,管理tcp连接建立、传输、关闭的过程,通过 tcp连接管理表实现基于tcp连接的报文采样;当一个新的tcp连接被发现时,如果需要采样,就把它在tcp连接表中管理起来,整个传输过程中所有的报文都采样,直到连接关闭。 如果一个新发现的tcp连接不需要采样,就不在tcp连接管理表中建立该tcp连接的选项,后继报文全部丢弃;而且,避免了现有的报文采样系统在对报文进行采样时往往会丢掉 tcp连接中的某些报文,使tcp连接的数据不完整,导致在分析采样数据时存在采样数据有效性不高的问题。
图1为网络报文采样系统的结构示意图。
图2为网络报文采样方法的流程图。
具体实施方式
如图1所示,基于tcp连接的网络报文采样系统,包括tcp报文判断模块、tcp标识判断模块和采样比例判断模块,与所述tcp标识判断模块连接的tcp查找模块,及分别与所述tcp查找模块和所述采样比例判断模块相连接的tcp连接管理表;所述tcp报文判断4模块、所述tcp标识判断模块和所述采样比例判断模块依次连接。
所述tcp连接管理表中的每个表项是标识tcp连接的四元组结构;所述四元组结构包括源ip、目的ip、源端口和目的端口。所述tcp报文判断模块对输入的报文是否是tcp 报文进行判断,判断结果为“否”,则按采样比例随机采样,然后继续处理下一个输入报文; 判断结果为“是”,则将该报文传输到tcp标识判断模块。所述tcp标识判断模块可对tcp 报文的标识进行判断,如果tcp标识显示所述tcp报文属于新建的tcp连接,则将所述tcp 报文传输到所述采样比例判断模块;如果tcp标识显示所述tcp报文属于已建的tcp连接的数据报文或者tcp连接的关闭报文,则将所述tcp报文传输到所述tcp查找模块。所述采样比例判断模块判断当前采样的数据量是否达到了系统预设的采样比例,判断结果为 “是”,则丢弃收到的报文,继续处理下一个输入报文;判断结果为“否”,则采样收到的报文, 并且提取出所述收到的报文的四元组结构并传输到所述tcp连接管理表中。所述tcp查找模块在接到所述tcp标识判断模块发出的tcp报文后,提取出该tcp报文的四元组结构,并到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项。
如图2所示,为一种基于tcp连接的网络报文采样方法,包括如下步骤
(1)在报文采样系统中建立一张tcp连接管理表;
(2)对输入的报文是否是tcp报文进行判断,判断结果为“否”,则按采样比例随机采样,然后继续处理下一个输入报文;判断结果为“是”,则查看报文的tcp标识位;
(3)对报文的tcp标识位进行判断,判断结果显示该tcp报文属于新建的tcp连接的,则进行步骤4 ;判断结果显示该tcp报文属于已建的tcp连接的数据报文,则进行步骤 5 ;判断结果显示该tcp报文属于tcp连接的关闭报文,则进行步骤6 ;
(4)判断当前采样的数据量是否达到了系统预设的采样比例,判断结果为“是”,则丢弃收到的报文,继续处理下一个输入报文;判断结果为“否”,则采样收到的报文,并且提取出所述收到的报文的四元组结构,插入到所述tcp连接管理表中;
(5)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项,查找结果为“是”,则采样该tcp报文;查找结果为“否”,则丢弃该tcp报文,继续处理下一个输入报文;
(6)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项,查找结果为“是”,则采样该tcp报文,并从所述tcp连接管理表中删除该tcp连接;查找结果为“否”,则丢弃该tcp报文,继续处理下一个输入报文。
需要声明的是,本发明内容及具体实施方式
意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理启发下,可作各种修改、等同替换、或改进。但这些变更或修改均在申请待批的保护范围内。
权利要求
1.一种基于tcp连接的网络报文采样系统,所述报文采样系统包括tcp报文判断模块、tcp标识判断模块和采样比例判断模块;其特征在于,与所述tcp标识判断模块连接的 tcp查找模块,及所述tcp查找模块和所述采样比例判断模块分别与tcp管理表连接;所述 tcp报文判断模块、所述tcp标识判断模块和所述采样比例判断模块依次连接。
2.根据权利要求1所述的报文采样系统,其特征在于,所述tcp连接管理表中的每个表项为标识tcp连接的四元组结构。
3.根据权利要求1所述的报文采样系统,其特征在于,所述tcp报文判断模块对输入的报文是否是tcp报文做出判断,确定是按采样比例随机采样,继续处理下一个输入报文还是将该报文传输到tcp标识判断模块。
4.根据权利要求1所述的报文采样系统,其特征在于,所述tcp标识判断模块判断报文的tcp标识,确定将所述tcp报文传输到所述采样比例判断模块还是将所述tcp报文传输到所述tcp查找模块。
5.根据权利要求1所述的报文采样系统,其特征在于,所述采样比例判断模块判断当前采样的数据量是否达到了系统预设的采样比例,判断是丢弃收到的报文,继续处理下一个输入报文,还是采样收到的报文,并且提取出所述收到的报文的四元组结构并传输到所述tcp连接管理表中。
6.根据权利要求2所述的报文采样系统,其特征在于,所述四元组结构包括源ip、目的 ip、源端口和目的端口。
7.根据权利要求4所述的报文采样系统,其特征在于,所述tcp查找模块在接到所述 tcp标识判断模块发出的tcp报文后,提取出该tcp报文的四元组结构,并到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项。
8.根据1-7项权利要求任一项所述的基于tcp连接的网络报文采样系统的基于tcp连接的网络报文采样方法,其特征在于,所述网络报文采样方法包括如下步骤(1)在报文采样系统中建立一张tcp连接管理表;(2)判断输入报文的类型,如该报文类型是TCP报文,则查看该报文的tcp标识位;否则按采样比例随机采样,然后继续处理下一个输入报文;(3)判断报文的tcp标识位,如果该tcp报文属于新建的tcp连接的,则进行步骤4;如果该tcp报文属于已建的tcp连接的数据报文,则进行步骤5 ;如果该tcp报文属于tcp连接的关闭报文,则进行步骤6;(4)判断当前采样的数据量是否达到了系统预设的采样比例,如果达到了采样比例,则丢弃收到的报文,继续处理下一个输入报文;否则采样收到的报文,并且提取出所述收到的报文的四元组结构,插入到所述tcp连接管理表中;(5)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项,如果查找到了,则采样该tcp报文;否则丢弃该tcp报文,继续处理下一个输入报文;(6)提取出tcp报文的四元组结构,到所述tcp连接管理表中去查找是否有与所述提取的tcp报文相同的表项;如果查找到了,则采样该tcp报文,并从所述tcp连接管理表中删除该tcp连接;否则丢弃该tcp报文,继续处理下一个输入报文。
全文摘要
本发明提供一种基于tcp连接的网络报文采样系统,包括tcp报文判断模块、tcp标识判断模块和采样比例判断模块;与所述tcp标识判断模块连接的tcp查找模块,及分别与所述tcp查找模块和所述采样比例判断模块相连接的tcp连接管理表;还提供一种基于tcp连接的网络报文采样方法,在报文采样系统中建立一张tcp连接管理表,管理tcp连接建立、传输、关闭的过程。本发明提供的基于tcp连接的网络报文采样系统和方法,可对报文进行连续采集,提高采样数据的有效性。
文档编号H04L12/56GK102546392SQ20111038369
公开日2012年7月4日 申请日期2011年11月28日 优先权日2011年11月28日
发明者刘朝辉, 姬乃军, 白宗元, 纪奎 申请人:曙光信息产业(北京)有限公司