专利名称:检测方法、统计分析服务器以及检测系统的制作方法
技术领域:
本发明涉及计算机网络技术领域,具体涉及一种检测方法、统计分析服务器以及检测系统。
背景技术:
在互联网技术中,为解决全球互联网协议IP地址资源匮乏的问题,互联网工程任务组IETF(Internet Engineering Task Force)组织提出了网络地址转换(NAT,Network Address Translation)技术。局域网内各台主机拥有自己的私网IP地址,而NAT设备则拥有一个或多个公网IP地址,各台主机通过NAT设备可以将私网IP地址和端口号映射为一个公网IP地址和端口号,从而达到共享接入上网。
在实际应用中,一般需要对共享接入的主机数目进行检测,以达到监管的目的。现有的一种检测方法是基于互联网络协议标识IPID检测共享接入的主机数目。IPID字段是IP数据包首部长度为16位的标识性字段,可以唯一的标识主机发送的每一份数据包。每台主机在开机初始化TCP/IP(传输控制协议/用户数据报文协议)协议栈的时候初始化IPID,例如对于WINNT系统,IPID初始化值为0,以后主机每发出一个数据包这个IPID值就是模2的16次方加1。由于每台主机同时开机的几率极小再加上每台主机的活动情况各异,处于同一个局域网段内的主机产生相同IPID值概率极小,并且数据包穿越NAT设备时,NAT设备一般不对私网的IPID值进行修改。这样就能够将不同主机发出的数据包区分出来。
现有技术检测方法是将从主机发出的数据流进行分类,每一类用一个IPID值进行区分,将属于同一个主机的数据流归并到一个IPID值上去变化,通过流的IPID值变化更新其对应的IPID值和IPID值的存活时间。检测设备对接收的数据包的IPID值进行记录,例如原来接收的数据包的IPID值是2000,后来又接收一个数据包的IPID值为2005,假设阈值范围为20,那么认为跟IPID值2000相差20的IPID值所对应的数据包都属于同一台主机发出的数据流,则将对应该台主机所记录的原来为2000的IPID值更新为2005,其他情况以次类推。通过在一定时间间隔里统计所有存在的IPID值,则IPID值的存在数目即被认为是共享接入的主机数目。
在实现本发明过程中,发明人发现现有技术的检测方法的检测准确性不是太高,其检测出的主机数目与每台主机的数据流的归属密切相关,一旦一条新数据流归属错误,则可能造成误判。当两台主机某时间段IPID值相距较近且变化幅度相似时,极易造成漏判,当检测网段内部流量较大,同一台主机外发数据包IPID值跳变比较大时,极易造成多判。此外,如果一台主机的流量很大,譬如进行点对点P2P(peer-to-peer)下载,则对流的归并负荷较重。
发明内容
本发明实施例要解决的技术问题是提供一种检测方法、统计分析服务器以及检测系统,能够提高检测共享接入主机数目的准确性。
为解决上述技术问题,本发明实施例通过以下技术方案实现本发明实施例提供一种检测方法,包括从获取的数据包中提取互联网络协议标识值;在包括互联网络协议标识值和终端编号对应关系的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值,若含有,则将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,则在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;在接收到一通知时统计所述记录表中的终端编号的数目,将所述终端编号的数目作为主机数目输出。
本发明实施例提供一种统计分析服务器,包括存储表单元,用于存储含有互联网络协议标识值和终端编号对应关系的记录表;第一查找单元,用于在存储表单元存储的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值;第一处理单元,用于在第一查找单元查找到含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值时,将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,在第一查找单元查找到不含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值时,在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;统计单元,用于统计所述记录表中的终端编号的数目,并作为主机数目输出。
本发明实施例提供一种检测系统,包括分流过滤服务器和统计分析服务器;分流过滤服务器,用于从接收的数据包中分离出指定类型的数据包,并从所述分离出的数据包中提取互联网络协议标识值;统计分析服务器,用于在含有互联网络协议标识值和终端编号对应关系的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值,若含有,则将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,则在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;统计所述记录表中的终端编号的数目,并作为主机数目输出。
以上技术方案可以看出,本发明实施例从获取的数据包中提取互联网络协议标识值;在含有互联网络协议标识值和终端编号对应关系的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值,若含有,则将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,则在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;统计所述记录表中的终端编号的数目,并作为主机数目输出。因为本发明实施例的技术方案充分利用了互联网络协议标识值的变化规律,根据类似冒泡法的一种算法依次将互联网络协议标识值从大到小的主机分离出来,从而能够更准确地判断出共享接入的主机数目。
图1是本发明实施例一检测方法流程图;图2是本发明实施例应用场景示意图;
图3是本发明实施例统计分析服务器中的存储表格式图;图4是本发明实施例二检测方法中的统计流程图;图5是本发明实施例二检测方法中的上报流程图;图6是本发明实施例三检测方法中的统计流程图;图7是本发明实施例统计服务器结构示意图;图8是本发明实施例检测系统结构示意图。
具体实施例方式
现有技术的检测方法检测共享接入主机数目的准确性不高,本发明实施例提供一种检测方法,可以提高检测的准确性。
本发明实施例在检测系统中存储主机记录表,每一个源IP地址对应一个主机记录表,主机记录表中至少包括主机编号和最近更新的IPID值。若接收到新的IPID(记为IPIDcur),根据源IP地址找到对应的主机记录表,查找比IPIDcur小的IPID记录中的最大值,若有则更新,否则(即IPIDcur最小),直接新建主机记录,即保存IPIDcur并分配一个新的主机编号,表明是一台新的主机。从上述过程可以看出,如果主机编号是从1到n依次编号的话,基本稳定后,1号记录的主机IPID最大,2号记录的主机IPID次之,n号记录的主机IPID最小(反转情况除外),因为当IPID值最大的主机编号确定之后,IPID值相对较小的主机只要一活动,就会比已有的主机小,从而会新建主机编号,依次类推,最终将NAT后所有主机一一确定。所以本发明实施例是充分利用了IPID的变化规律,根据类似冒泡法的一种算法依次将IPID从大到小的主机分离出来,从而能够更准确地判断出共享接入的主机数目。
请参阅图1,是本发明实施例一检测方法流程图。
A1、从获取的数据包中提取IPID值;A2、查找是否含有比所述提取的IPID值小的相邻IPID值,并根据查找结果进行相应处理;在含有IPID值和终端编号对应关系的记录表中,查找是否含有比所述提取的IPID值小的相邻IPID值,若含有,则将比所述提取的IPID值小的相邻IPID值更新为所述提取的IPID值,若不含有,则在记录表中新增所述提取的IPID值和对应终端编号的记录。
A3、统计所述记录表中的终端编号的数目,将所述终端编号的数目作为主机数目输出。
在接收到一通知后,统计出所述记录表中的终端编号数目,也就是共享接入的主机数目,并输出。所述通知的内容可以是要求统计设定时间内记录表中的终端编号数目但不局限于此。
以下结合实际应用环境介绍本发明实施例中更具体的实施方案。
本发明实施例主要应用于共享接入检测系统中,也可以作为网络监控系统中的一个模块。请参阅图2,是本发明实施例应用场景示意图。在图中,100表示主机1,200表示主机n,300表示地市城域网,400表示国家骨干网,500表示数据转发装置,600表示与数据转发装置连接的分流过滤服务器,700表示与分流过滤服务器连接的统计分析服务器。
数据转发装置用于从被监控主机群的出口处或网络的出口处引入接入网络的所有网络数据,通过接入独立的宽带来采集所述网络数据传送到分流过滤服务器。数据转发装置可采用分光器,设置在城域网接口与骨干网接口处,分光器是一种可以把一个网络上的数据引出到另一个分支网络中的现有网络设备。当然,数据转发装置也可以是支持端口数据镜像的交换机中用于数据镜像的镜像模块,利用该镜像模块得到通过出口接入网络的网络数据的备份。
分流过滤服务器用于从数据转发装置传送来的网络数据中分离出指定类型的数据包,对分流出的数据包解析出有用的数据,并将这些数据上报到统计分析服务器,对于非指定类型的数据则丢弃。这里指定类型的数据包可以是IP数据包,主要包括TCP数据包和UDP数据包。解析出的有用数据主要是IPID字段,五元组以及其他一些特征字段。
统计分析服务器上配置有检测算法,统计分析服务器根据检测算法对分流过滤服务器输出的数据进行分析统计,提供共享接入主机数目的信息。分流过滤服务器与统计分析服务器可以为同一个服务器,也可以为相互独立的服务器。
本发明实施例的检测算法主要分为统计和上报两部分,统计算法为在一定时间内统计IPID的变化规律并进行相应处理;上报算法采用时间触发,到达上报时间时根据这一段之间内对IPID的统计结果获取NAT后主机数目。本发明实施例中是以WINNT系统的IPID变化规律为例说明检测算法但不局限于此。
请参阅图3,是本发明实施例统计分析服务器中的存储表格式。统计分析服务器中需要存储一张表,记录相关统计信息。其中每个IP针对一个被监控的设备,该设备有可能是共享接入主机NAT,也可能是一台普通的主机,从数据包中的源地址提取匹配;如果IP为共享接入NAT,则主机记录数会大于1,每个主机记录实际上对应检测出来的NAT后的一台主机;主机记录至少包括主机编号以及最近更新的IPID值,当然可以包括其他一些辅助信息,如五元组Hash值,接收的数据包数,更新时间等等。
请参阅图4,是本发明实施例二检测方法中的统计流程图,包括步骤B1、数据转发装置接收所监控网络的IP数据包,转发给分流过滤服务器;B2、分流过滤服务器提取IPID字段(记为IPIDcur)传给统计分析服务器;B3、统计分析服务器根据源IP地址找到对应的主机记录表;此时主机记录表是一系列二元组(主机编号,IPID)。
B4、查找是否含有比IPIDcur小的IPID记录中的最大值IPIDmin,若含有,进入步骤B5,若不含有,进入步骤B9;B5、查找是否含有比IPIDcur大的IPID记录中的最小者IPIDmax,若不含有,进入步骤B7,若含有,进入步骤B6;B6、判断是否满足乱序条件,若满足,进入步骤B8,若不满足,进入步骤B7;由于网络拥塞及路由选择等因素,同一台主机发出的IPID较大的数据包可能会先到达,而IPID较小的数据包可能后到达,则称之为乱序。该步骤中,判断接收的IPIDcur是否满足乱序条件。判断乱序的条件可以采用阈值方法,若IPIDcur与记录中比IPIDcur大的相邻的IPID的差值在一定范围内即认为发生了乱序。
B7、将比IPIDcur小的IPID记录中的最大值IPIDmin更新为IPIDcur;B8、丢弃IPIDcur;满足乱序条件,丢弃IPIDcur,直接不进行处理。
B9、在主机记录表中新建记录。
假设原来的IPID记录有m个,则此时在在主机记录表中新建记录(m+1,IPIDcur)。
需要说明是,本发明实施例是以先查找是否含有比IPIDcur小的IPID记录中的最大值IPIDmin,然后查找是否含有比IPIDcur大的IPID中的最小者IPIDmax进行举例说明但不局限于此,这两个步骤并没有必然的先后关系,也可以同时进行查找,根据查找的结果进行相应处理。
请参阅图5,是本发明实施例二检测方法中的上报流程图,包括步骤C1、启动定时器,计时开始;C2、进入统计流程;C3、判断是否到达上报时间,若未到,继续返回C2进行统计,若到达,则进入步骤C4;C4、定时器时间到,统计分析服务器读取主机记录表,将满足条件的主机记录数(或主机编号数)作为NAT后共享接入主机数目进行上报。
需要说明的是,上报机制可以不采用时间触发机制,而是采用包触发机制,当过了一定时间后只有接收到特定数据包进行更新后,才将该记录进行上报。此外,为进一步提高准确性也可以加入流老化机制。
请参阅图6,是本发明实施例三检测方法中的统计流程图,该流程图中进一步考虑了数据流特征、乱序和反转等条件。
因为IPID的范围为0~65535,当IPID增加到65535时,会重新从0开始计数,则称之为反转。前面也提到,由于网络拥塞及路由选择等因素,同一台主机发出的IPID值较大的数据包可能会先到达,而IPID值较小的数据包可能后到达,则称之为乱序。本发明实施例方案中,判断乱序可以采用阈值方法,若当前IPID值与记录的IPID值的差值在一定范围内即认为发生了乱序。判断反转也可以采用阈值方法,将当前记录中最大的IPID值与65535相减,将相减的值再加上当前IPID值,若所得的值在一定范围内即认为发生了反转。
图6中具体包括步骤D1、数据转发装置接受所监控网络的IP数据包,转发给分流过滤服务器;D2、分流过滤服务器提取IPID字段(记为IPIDcur)以及五元组,计算五元组的Hash值(记为HASHcur);分流过滤服务器将这些信息传给统计分析服务器。五元组指标识一条流的数据包的五个字段源IP地址、源端口、目的IP地址、目的端口、传输层协议类型。这里传输层协议类型可以是TCP/UDP。
D3、统计分析服务器根据源IP地址找到对应的主机记录表;主机记录表是一系列三元组(主机编号,IPID,五元组Hash值)。
D4、统计分析服务器在主机记录表是否查找到HASHcur,如果找到,进入步骤D5,如果没有找到,进入步骤D8;D5、判断是否满足乱序条件,若不满足,进入步骤D6,若满足,进入步骤D7;判断接收的IPIDcur是否满足乱序条件。判断乱序的条件可以采用阈值方法,若IPIDcur与记录中比IPIDcur大的相邻的IPID的差值在一定范围内即认为发生了乱序。
D6、将HASHcur对应的该台主机的IPID更新为IPIDcur;查找到含有HASHcur,且不满足乱序条件,说明这台主机已经有记录,则直接进行更新。
D7、丢弃IPIDcur,直接不进行处理;D8、查找是否含有比IPIDcur小的IPID记录中的最大值IPIDmin,若含有,进入步骤D9,若不含有,进入步骤D12;
查找比IPIDcur小的IPID中的最大者IPIDmin(为第j个记录,其中j=1,2......m)。
D9、查找是否含有比IPIDcur大的IPID中的最小者IPIDmax,若不含有,进入步骤D11,若含有,进入步骤D10;找出已有主机二元组中比IPIDcur大的IPID中的最小者IPIDmax(为第i个记录,其中i=1,2......m)。
D10、是否满足乱序条件,若满足,进入步骤D7,若不满足,进入步骤D11;判断接收的IPIDcur是否满足乱序条件。判断乱序的条件可以采用阈值方法,若IPIDcur与IPIDmax的差值在一定范围内即认为发生了乱序。
D11、将比IPIDcur小的IPID记录中的最大值IPIDmin更新为IPIDcur;如果没有IPIDmax,也就是IPIDcur为最大,则直接将(j,IPIDmin,HASHj)更新为(j,IPIDcur,HASHcur)。
D12、判断主机记录中是否含有IPID值,若含有,进入步骤D13,若不含有,进入步骤D18;如果IPIDmin不存在,也就是IPIDcur最小,此时再判断主机记录中是否含有IPID值。
D13、判断是否满足乱序条件;若不满足,进入步骤D15,若满足,进入步骤D14;判断接收的IPIDcur是否满足乱序条件。判断乱序的条件可以采用阈值方法,若IPIDcur与记录中比IPIDcur大的相邻的IPID的差值在一定范围内即认为发生了乱序。
D14、丢弃IPIDcur,直接不进行处理;如果IPIDcur满足乱序条件,直接不进行处理。
D15、判断是否满足反转条件,若不满足,进入步骤D17,若满足,进入步骤D16;判断接收的IPIDcur是否满足反转条件。判断反转的条件可以采用阈值方法,将当前记录中最大的IPID值与65535相减,将相减的值再加上IPIDcur,若所得的值在一定范围内即认为发生了反转。
D16、获取所有现有记录中IPID最大的IPIDk更新为IPIDcur;获取所有现有记录中IPID最大的IPIDk(为第k个记录,对于所有的p=1,2......m,满足IPIDk>IPIDp),将(k,IPIDk,HASHk)更新为(k,IPIDcur,HASHcur)。
D17、新建记录(m+1,IPIDcur,HASHcur);假设目前所有主机三元组中的IPID有m个,此时将新建记录(m+1,IPIDcur,HASHcur)。
D18、新建记录(1,IPIDcur,HASHcur)。
将IPIDcur与目前所有主机三元组中的IPID(例如有m个)进行比较,此时m=0,则新建主机记录(1,IPIDcur,HASHcur)。
需要说明是,本发明实施例是判断反转和乱序这两个步骤并没有必然的先后关系。还需要说明的是,本发明实施例是将流特征作为一种属性来处理,即通过计算和查找HASHcur来判断是否该主机已经有记录,若有则直接更新IPID值。在实际应用中,还可以结合现有技术检测方法的思想,以流为索引执行本发明实施例的算法,即接收数据后先将其归属于特定流,再在每个特定流中按照本发明实施例的检测算法进行相应的处理。
还需说明的是,本发明实施例中是以WINNT系统的IPID变化规律为例进行说明,对于Windows98系统,IPID不是依序增1,而是依序增加256,对于这种情况仍然可以采用本发明实施例技术方案,将IPID的两个字节以低字节序的方式处理就和WINNT情况相同,因为增加256相当于高字节增1,低字节不变。同理,对于部分Linux和Unix系统,其IPID也是有规律的变化,仍然可以采用本发明实施例技术方案。
本发明实施例三检测方法中的上报流程图与图5中的上报流程图相同。此处不再另外详述。
可以看到,本发明实施例的检测方法实现对共享接入的主机数量的监测,准确性比现有技术方案有明显提高,检测实时性也比较好,能够快速的统计出主机数量。
另外,本发明实施例的检测方法能对各种异常问题进行较好的处理。例如对于两台主机IPID相差较小的情况,本发明实施例技术方案可以对这一问题进行比较好的解决,因为即使两台主机靠的很近,但也不可能两台主机的IPID始终交替上升,只要一台主机的IPID值稍微落后,就会比当前记录小,从而新建主机记录,能够被准确检测出来。对于突变情况,当内网流量过大时,上行的数据包IPID就会出现跳变的情况,但是即使出现跳变,IPID依旧是递增的趋势,出现跳变的地方因为短期内不会更新,从而当有其他数据包IPID大于它时就会将其更新,不会导致多判,因此本发明实施例技术方案也能解决该问题。
上述内容详细介绍了本发明实施例的检测方法,相应的,本发明实施例还提供一种统计分析服务器和检测系统。
请参阅图7,是本发明实施例统计分析服务器结构示意图。
统计分析服务器包括存储表单元701、第一查找单元702、第一处理单元703和统计单元704。
存储表单元701,用于存储含有IPID值和终端编号对应关系的记录表;第一查找单元702,用于在存储表单元701存储的记录表中,查找是否含有比所述提取的IPID值小的相邻IPID值;第一处理单元703,用于在第一查找单元702查找到含有比所述提取的IPID值小的相邻IPID值时,将比所述提取的IPID值小的相邻IPID值更新为所述提取的IPID值,在第一查找单元702查找到不含有比所述提取的IPID值小的相邻IPID值时,在记录表中新增所述提取的IPID值和对应终端编号的记录;统计单元704,用于统计所述记录表中的终端编号的数目,统计出的记录表中的终端编号的数目也就是共享接入的主机数目,并输出。
统计服务器进一步包括第二查找单元705,用于在存储表单元701存储的记录表中,查找是否含有比所述提取的IPID值大的相邻IPID值;第一处理单元703在第二查找单元705查找到不含有比所述提取的IPID值大的相邻IPID值时,或者查找到含有比所述提取的IPID值大的相邻IPID值但不满足乱序条件时,将比所述提取的IPID值小的相邻IPID值更新为提取的IPID值,在第二查找单元705查找到含有比所述提取的IPID值大的相邻IPID值并且满足乱序条件时,则将所述提取的IPID值丢弃。
统计服务器进一步包括第二处理单元706;存储表单元701存储的所述记录表中进一步含有哈希值与IPID值对应关系,第二处理单元706用于根据接收的哈希值在所述记录表中查找是否含有相同的哈希值,若含有,则将所述相同的哈希值对应的IPID值更新为所述提取的IPID值。
请参阅图8,是本发明实施例检测系统结构示意图。
检测系统包括数据转发装置500、分流过滤服务器600和统计分析服务器700。
数据转发装置500,用于从被监控主机群的出口处或网络的出口处引入接入网络的所有网络数据,通过接入独立的宽带来采集所述网络数据传送到分流过滤服务器600。数据转发装置500可采用分光器,设置在城域网接口与骨干网接口处,分光器是一种可以把一个网络上的数据引出到另一个分支网络中的现有网络设备。当然,数据转发装置500也可以是支持端口数据镜像的交换机中用于数据镜像的镜像模块,利用该镜像模块得到通过出口接入网络的网络数据的备份。
分流过滤服务器600,用于从数据转发装置500传送来的网络数据中分离出指定类型的数据包,对分流出的数据包解析出有用的数据,并将这些数据上报到统计分析服务器,对于非指定类型的数据则丢弃。这里指定类型的数据包是IP数据包,主要包括TCP数据包和UDP数据包。提取的有用数据主要是IPID字段,五元组以及其他一些特征字段。
分流过滤服务器600进一步包括过滤单元6001、提取单元6002和计算单元6003。过滤单元6001,用于从接收的数据包中分离出指定类型的数据包;提取单元6002,用于从所述过滤单元6001分离出的数据包中提取IPID值和五元组;计算单元6003,用于根据五元组计算哈希值并传输给统计服务器。
统计分析服务器700,用于在含有IPID值和终端编号对应关系的记录表中,查找是否含有比所述提取的IPID值小的相邻IPID值,若含有,则将比所述提取的IPID值小的相邻IPID值更新为所述提取的IPID值,若不含有,则在记录表中新增所述提取的IPID值和对应终端编号的记录;所述统计分析服务器根据接收的哈希值在所述记录表中查找是否含有相同的哈希值,若含有,则将所述相同的哈希值对应的IPID值更新为所述提取的IPID值。
统计分析服务器700统计设定时间内所述记录表中的终端编号数目,并在上报条件被触发后将统计结果进行上报。统计出的记录表中的终端编号数目也就是共享接入的主机数目。上报条件可以采用时间触发机制,也可以采用包触发机制,当过了一定时间后只有接到特定数据包进行更新后,才将该记录进行上报。此外,为进一步提高准确性也可以加入流的老化机制。
分流过滤服务器600与统计分析服务器700可以为同一个服务器,也可以为相互独立的服务器。
综上所述,本发明实施例的技术方案是从获取的数据包中提取IPID值;在含有IPID值和终端编号对应关系的记录表中,查找是否含有比所述提取的IPID值小的相邻IPID值,若含有,则将比所述提取的IPID值小的相邻IPID值更新为所述提取的IPID值,若不含有,则在记录表中新增所述提取的IPID值和对应终端编号的记录;统计所述记录表中的终端编号数目,并作为主机数目输出。因为本发明实施例的技术方案充分利用了IPID的变化规律,根据类似冒泡法的一种算法依次将IPID从大到小的主机分离出来,从而能够更准确地判断出共享接入的主机数目,其准确性比现有技术方案有明显提高,检测实时性也比较好,能够快速的统计出主机数目。
另外,本发明实施例的检测方法能对各种异常问题进行较好的处理。例如对于两主机IPID相差较小的情况,本发明实施例技术方案可以对这一问题进行比较好的解决,因为即使两台主机靠的很近,但也不可能两台主机的IPID始终交替上升,只要一台主机的IPID值稍微落后,就会比当前记录小,从而新建主机记录,能够被准确检测出来。对于突变情况,当内网流量过大时,上行的数据包IPID就会出现跳变的情况,但是即使出现跳变,IPID依旧是递增的趋势,出现跳变的地方因为短期内不会更新,从而当有其他数据包IPID大于它时就会将其更新,不会导致多判,因此本发明实施例技术方案也能解决该问题。
以上对本发明实施例所提供的一种检测方法、统计分析服务器以及检测系统进行了详细介绍,本文中应用了具体个例对本发明实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明实施例的方法;同时,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种检测方法,其特征在于,包括从获取的数据包中提取互联网络协议标识值;在包括互联网络协议标识值和终端编号对应关系的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值,若含有,则将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,则在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;在接收到一通知时统计所述记录表中的终端编号的数目,将所述终端编号的数目作为主机数目输出。
2.根据权利要求1所述的检测方法,其特征在于,进一步包括在所述记录表中查找是否含有比所述提取的互联网络协议标识值大的相邻互联网络协议标识值,若不含有,则执行所述将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为提取的互联网络协议标识值的步骤,若含有,进一步在不满足乱序条件时执行将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值的步骤。
3.根据权利要求1所述的检测方法,其特征在于,进一步包括所述查找到不含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值时,若所述记录表中含有互联网络协议标识值并且不满足乱序条件和反转条件,则执行在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录的步骤。
4.根据权利要求3所述的检测方法,其特征在于,进一步包括若所述记录表中含有互联网络协议标识值,在不满足乱序条件但满足反转条件时,则将记录表中最大的互联网络协议标识值修改为所述提取的互联网络协议标识值。
5.根据权利要求1所述的检测方法,其特征在于所述记录表中进一步含有哈希值与互联网络协议标识值对应关系;所述查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值之前进一步包括根据从获取的数据包中提取的五元组计算哈希值,在所述记录表中查找是否含有相同的哈希值,若含有,则将所述相同的哈希值对应的互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,再执行查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值步骤。
6.根据权利要求5所述的检测方法,其特征在于在所述记录表中查找含有相同的哈希值后进一步包括在判断不满足乱序条件后再执行将所述相同的哈希值对应的互联网络协议标识值修改为所述提取的互联网络协议标识值的步骤。
7.一种统计分析服务器,其特征在于,包括存储表单元,用于存储含有互联网络协议标识值和终端编号对应关系的记录表;第一查找单元,用于在存储表单元存储的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值;第一处理单元,用于在第一查找单元查找到含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值时,将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,在第一查找单元查找到不含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值时,在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;统计单元,用于统计所述记录表中的终端编号的数目,并作为主机数目输出。
8.根据权利要求7所述的统计分析服务器,其特征在于,包括进一步包括第二查找单元,用于在存储表单元存储的记录表中,查找是否含有比所述提取的互联网络协议标识值大的相邻互联网络协议标识值;第一处理单元在第二查找单元查找到不含有比所述提取的互联网络协议标识值大的相邻互联网络协议标识值时,或者查找到含有比所述提取的互联网络协议标识值大的相邻互联网络协议标识值但不满足乱序条件时,将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为提取的互联网络协议标识值,在第二查找单元查找到含有比所述提取的互联网络协议标识值大的相邻互联网络协议标识值并且满足乱序条件时,将所述提取的互联网络协议标识值丢弃。
9.根据权利要求7或8所述的统计分析服务器,其特征在于进一步包括第二处理单元;存储表单元存储的所述记录表中进一步含有哈希值与互联网络协议标识值对应关系,第二处理单元用于根据接收的哈希值在所述记录表中查找是否含有相同的哈希值,若含有,则将所述相同的哈希值对应的互联网络协议标识值修改为所述提取的互联网络协议标识值。
10.一种检测系统,其特征在于,包括分流过滤服务器和统计分析服务器;分流过滤服务器,用于从接收的数据包中分离出指定类型的数据包,并从所述分离出的数据包中提取互联网络协议标识值;统计分析服务器,用于在含有互联网络协议标识值和终端编号对应关系的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值,若含有,则将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,则在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;统计所述记录表中的终端编号的数目,并作为主机数目输出。
11.根据权利要求10所述的检测系统,其特征在于分流过滤服务器进一步包括过滤单元、提取单元和计算单元;过滤单元,用于从接收的数据包中分离出指定类型的数据包;提取单元,用于从所述过滤单元分离出的数据包中提取互联网络协议标识值和五元组;计算单元,用于根据五元组计算哈希值并传输给统计服务器;所述统计分析服务器根据接收的哈希值在所述记录表中查找是否含有相同的哈希值,若含有,则将所述相同的哈希值对应的互联网络协议标识值修改为所述提取的互联网络协议标识值。
全文摘要
本发明实施例公开一种检测方法,包括从获取的数据包中提取互联网络协议标识值;在包括互联网络协议标识值和终端编号对应关系的记录表中,查找是否含有比所述提取的互联网络协议标识值小的相邻互联网络协议标识值,若含有,则将比所述提取的互联网络协议标识值小的相邻互联网络协议标识值修改为所述提取的互联网络协议标识值,若不含有,则在记录表中新增所述提取的互联网络协议标识值和对应终端编号的记录;在接收到一通知时统计所述记录表中的终端编号的数目,将所述终端编号的数目作为主机数目输出。本发明实施例提供相应的统计分析服务器以及检测系统。本发明实施例提供的技术方案能够提高检测共享接入主机数目的准确性。
文档编号H04L12/56GK101026630SQ20071009620
公开日2007年8月29日 申请日期2007年3月30日 优先权日2007年3月30日
发明者辛阳, 刘利锋, 郑志彬, 朱洪亮, 赵凯, 杨义先 申请人:华为技术有限公司, 北京邮电大学