CN102437959B - 基于双超时网络报文的组流方法 - Google Patents
基于双超时网络报文的组流方法 Download PDFInfo
- Publication number
- CN102437959B CN102437959B CN201110428856.5A CN201110428856A CN102437959B CN 102437959 B CN102437959 B CN 102437959B CN 201110428856 A CN201110428856 A CN 201110428856A CN 102437959 B CN102437959 B CN 102437959B
- Authority
- CN
- China
- Prior art keywords
- network flow
- stream
- message
- record
- address
- 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.)
- Expired - Fee Related
Links
Abstract
一种基于双超时网络报文的组流方法,设置短超时和长超时,当报文到达测量器,从报文头中提取流信息,在网络流缓存中查找由所测量报文的网络流记录,如果找到所述的网络流记录,更新流结束标识,否则在网络流缓存中增加一条新的网络流记录,如果测量周期结束,则检查网络流缓存中的每条网络流,如果所检查网络流的流结束标识为1,则所检查短超时判断网络流结束,否则根据长超时判断网络流结束,本发明采用两个不同时间粒度的流超时机制,大大减少已经结束流在缓存中的存在性,并减少一个流被分割成多段而需要在缓存中进行多次输出流记录、生成新流记录等消耗系统资源的操作,同时又减少后台需要系统资源将多个被分割的短流合并成一个流。
Description
技术领域
本发明涉及网络测量技术领域,特别是一种基于双超时网络报文的组流方法。
背景技术
报文是网络流量的基本单位,由于这些研究相对平等地分析每个报文,从而导致对报文间关系及其更高层次信息分析的缺失。近年来,对网络流量行为的研究不能仅仅满足于流量的网络层特性,网络研究者和工程实践者开始使用流的概念,以理解复杂的网络流量动态行为。网络测量就其对象而言,目前主要可以分为报文测量和流测量两种类型,其中流测量主要是针对网络流的。所谓网络流是指符合特定的流规范和超时约束的一系列数据报文的集合,简称流。其中,流规范是指流中报文必须具有的相同属性,一般被称为“N元组”,常用的有:五元组(源宿IP地址、源宿端口号、传输层协议号)、四元组(源宿IP地址、源宿端口号),超时约束则是指将超过一定时间不活动的流定义为已结束,从而使测量系统的资源可以更充分的用于新的网络流。
基于流的网络行为研究在很多方面弥补了局限于报文层次研究的不足,同时与基于报文的被动测量相比,基于流的被动测量也有比较明显的优势。流测量能反映应用层甚至是用户的行为特征,将原本孤立的网络层行为与应用层行为联系起来,而且对网络流的特性进行测量和分析,可以掌握网络某结点或链路上的诸如运输协议、应用协议、流量强度情况和用户行为特征等的流量细节。
网络流一般实现策略是在网络测量设备中,为每个流维护一块存储空间,在网络流量数据采集过程中测量到的每个数据报文,同时根据报文的属性信息(源IP、宿IP、源端口、宿端口和协议类型等)分类成不同的流,并以流的形式存储在开辟的缓存中,组成流集合。对于网络链路中到达的每个数据报文,都将该报文的信息与缓存流集合中的相关属性作对比,如果与某条流的属性相匹配(比如具有相同的源IP、宿IP、源端口、宿端口和协议类型),更新与该报文具有相同属性的相关流信息,如果该报文与流集合中的任何流的属性都不匹配,那么将在缓存中生成一条新的流记录。同时还需要设定有关条件来判断流的结束。一般可以依据如下两个条件来判断一个流是否结束:
(1)根据预先定义的流超时策略(默认为64秒);
(2)测量到某些标志数据传输结束的报文信息,比如在TCP连接中,FIN报文表示TCP连接的结束,RST报文表示重新建立连接标志,当收到以上报文时都表示该条流传输结束。
由于大多数流的FIN报文或RST报文之后紧跟着一个ACK报文,传统的组流方法一旦收到FIN报文或RST报文就判断该流结束,并将该流输出,但是很快一个新的ACK报文到达,由于ACK报文所对应的流已经被输出,因此只得在缓存中重新维护一条流记录空间等待流超时到达,这样该流被分段成两个流,并且需要被组流两次操作,等待流超时的到达,这样使得实际采用了第二个条件FIN或RST判断流结束的规则更多消耗系统资源,本发明针对FIN或RST报文之后的ACK报文,提出了双超时机制以解决该问题。
发明内容
本发明实施的目的提供一种基于双超时网络报文的组流方法,能够实时地对高速主干网络流量中的报文进行组流,并得到组流记录。
本发明的技术方案是提供一种基于双超时网络报文的组流方法,其特征在于:
步骤一、设置网络流记录,所述的网络流记录由源IP地址、宿IP地址、协议、源端口、宿端口、报文数、流结束标识以及最后一个报文到达时间构成,设置一个网络流缓存用于保存网络流记录,设置短超时st,长超时lt,st在10毫秒到1秒之间取值,lt在1秒到64秒之间取值,设置网络流记录检查周期T,检查周期T取值大于等于1秒,设置系统运行结束时间,测量测量器的本周期开始时间CT0,进入步骤二;
步骤二、当一个报文到达测量器,测量器测量当前报文的到达时间,测量器从报文头中提取源IP地址、宿IP地址、协议、源端口、宿端口,如果所测量报文是TCP报文,报文的TCP标识是FIN或RST,则报文结束标识设置为1,否则设置报文结束标识为0,进入步骤三;
步骤三、在网络流缓存中查找由所测量报文的源IP地址、宿IP地址、协议、源端口和宿端口构成五元组的网络流记录,如果找到所述的网络流记录,则将所述的网络流记录中的报文数增加1,更新网络流记录的流结束标识,设置网络流记录中最后一个报文到达时间为当前报文的到达时间,否则在网络流缓存中增加一条新的网络流记录,该新的网络流记录中的源IP地址、宿IP地址、协议、源端口和宿端口分别设置为所测量报文中提取的源IP地址、宿IP地址、协议、源端口和宿端口,新的网络流记录中的报文数设置为1,新的网络流记录中的流结束标识设置为报文结束标识,设置网络流记录中最后一个报文到达时间为所测量报文的到达时间,进入步骤四;
步骤四、测量测量器的当前时间CT1,如果CT1-CT0<T,回到步骤二测量下一个报文,否则进入步骤五;
步骤五、检查网络流缓存中的每条网络流记录,如果所检查网络流记录的流结束标识为1,最后一个报文到达时间为t0,CT1-t0>st,则所检查网络流记录结束,将所检查网络流记录输出,否则如果所检查网络流记录的流结束标识为0,CT1-t0>lt,则所检查网络流记录结束,将所检查网络流记录输出,进入步骤六;
步骤六、如果系统运行结束时间没有到达,设置CT0=CT1,回到步骤二进行下一个周期的测量,否则将网络流缓存中所有的网络流记录输出。
与现有技术相比,本发明具有如下优点及有效效果:
(1)网络流分类成有流结束标识和没有流结束标识的两类,由于有结束标识的流的结束标识报文到达后,一般会存在一个或多个紧跟着流结束标识的应答报文,传统的报文对于有结束标识的流在接收到结束标识报文后立即结束输出,而流结束标识后面所跟着的应答报文将作为一个新流在缓存中维护,一直等到流超时时间到达,这样使得流缓存中将维护大量无法结束的流记录,占用系统资源,本发明在发现流结束标识的报文后并不是立即将该流记录输出,而是等待一个较小的超时时间后将该流输出,而对于没有流结束标识的流以正常的超时输出,因此本发明可以大大节省系统资源的消耗。
(2)本发明采用两个不同时间粒度的流超时机制,可以大大减少在缓存维护已经结束的流,并减少一个流被分割成多段而需要在缓存中进行多次输出流记录、生成新流记录等消耗系统资源的操作,同时又减少系统需要测量资源将多个被分割的短流合并还原成一个流。
(3)本发明的方法能够进行高速主干网络的组流操作,其组流结果能够用于网络安全、网络管理和网络行为分析。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下而描述中的附图是本发明的一些实施例。
图1:基于双超时网络报文的组流方法功能流程图。
图2:基于双超时网络报文的组流方法步骤示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,当然所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施实例1
一种基于双超时网络报文的组流方法,其特征在于:
步骤一、设置网络流记录,所述的网络流记录由源IP地址、宿IP地址、协议、源端口、宿端口、报文数、流结束标识以及最后一个报文到达时间构成,设置一个网络流缓存用于保存网络流记录,设置短超时st,长超时lt,st在10毫秒到1秒之间取值,lt在1秒到64秒之间取值,设置网络流记录检查周期T,检查周期T取值大于等于1秒,设置系统运行结束时间,测量测量器的本周期开始时间CT0,进入步骤二;
步骤二、当一个报文到达测量器,测量器测量当前报文的到达时间,测量器从报文头中提取源IP地址、宿IP地址、协议、源端口、宿端口,如果所测量报文是TCP报文,报文的TCP标识是FIN或RST,则报文结束标识设置为1,否则设置报文结束标识为0,进入步骤三;
步骤三、在网络流缓存中查找由所测量报文的源IP地址、宿IP地址、协议、源端口和宿端口构成五元组的网络流记录,所述网络流缓存为:使用哈希链表方法或按顺序直接存储方法在内存中维护网络流记录,如果找到所述的网络流记录,则将所述的网络流记录中的报文数增加1,更新网络流记录的流结束标识,所述的更新网络流的流结束标识方法为:如果所测量报文的结束标识为1,则设置网络流记录的流结束标识为1,如果所测量报文的结束标识为0,则网络流记录的流结束标识保持不变,设置网络流记录中最后一个报文到达时间为当前报文的到达时间,否则在网络流缓存中增加一条新的网络流记录,该新的网络流记录中的源IP地址、宿IP地址、协议、源端口和宿端口分别设置为所测量报文中提取的源IP地址、宿IP地址、协议、源端口和宿端口,新的网络流记录中的报文数设置为1,新的网络流记录中的流结束标识设置为报文结束标识,设置网络流记录中最后一个报文到达时间为所测量报文的到达时间,进入步骤四;
步骤四、测量测量器的当前时间CT1,如果CT1-CT0<T,回到步骤二测量下一个报文,否则进入步骤五;
步骤五、检查网络流缓存中的每条网络流记录,如果所检查网络流记录的流结束标识为1,最后一个报文到达时间为t0,CT1-t0>st,则所检查网络流记录结束,将所检查网络流记录输出,否则如果所检查网络流记录的流结束标识为0,CT1-t0>lt,则所检查网络流记录结束,将所检查网络流记录输出,进入步骤六;
步骤六、如果系统运行结束时间没有到达,设置CT0=CT1,回到步骤二进行下一个周期的测量,否则将网络流缓存中所有的网络流记录输出,将所述网络流记录的源IP、宿IP、协议、源端口、宿端口、报文数、最后一个报文到达时间输出,同时将所述网络流记录从网络流缓存中删除。
实施实例2
一种基于双超时网络报文的组流方法,其特征在于:
步骤一(1)、设置网络流记录由源IP地址、宿IP地址、协议、源端口、宿端口、报文数、网络流结束标识以及最后一个报文到达时间构成,设置短超时st,长超时为lt,st取值0.1秒,lt取值2秒,设置流记录检查周期T,检查周期T取值等于2秒,设置系统运行结束时间4秒,测量测量器的本周期开始时间CT0等于0,进入步骤二(2);
步骤二(2)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间0.2秒,测量器从TCP报文头中提取源IP地址SIP1、宿IP地址DIP1、源端口SPORT1、宿端口DPORT1、TCP报文标识是ACK,所测量报文结束标识设置为0,进入步骤三(3);
步骤三(3)、在缓存中查找源IP地址SIP1、宿IP地址DIP1、TCP协议、源端口SPORT1、宿端口DPORT1构成的五元组记录,没有找到五元组所对应的流记录信息,则在缓存中增加一条新的流记录,该新的流记录中的源IP地址、宿IP地址、协议、源端口和宿端口分别设置为源IP地址SIP1、宿IP地址DIP1、TCP协议、源端口SPORT1、宿端口DPORT1,新流记录中的报文数设置为1,新流记录中的流结束标识设置为TCP报文的结束标识0,设置流记录中最后一个报文到达时间为当前报文的到达时间0.2秒,进入步骤四(4);
步骤四(4)、测量测量器的当前时间CT1是0.4秒,CT1-CT0=0.4-0=0.4<T=2,检查周期T时间没有到达,回到步骤二(5)测量下一个报文;
步骤二(5)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间0.5秒,测量器从TCP报文头中提取源IP地址SIP2、宿IP地址DIP2、源端口SPORT2、宿端口DPORT2、TCP报文标识是ACK,所测量报文结束标识设置为0,进入步骤三(6);
步骤三(6)、在缓存中查找源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2构成的五元组记录,没有找到五元组所对应的流记录信息,则在缓存中增加一条新的流记录,该新的流记录中的源IP地址、宿IP地址、协议、源端口地址和宿端口地址分别设置为源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2,新流记录中的报文数设置为1,新流记录中的流结束标识设置为TCP报文的结束标识0,设置流记录中最后一个报文到达时间为当前报文的到达时间0.5秒,进入步骤四(7);
步骤四(7)、测量测量器的当前时间CT1是0.6秒,CT1-CT0=0.6-0=0.6<T=2,检查周期T时间没有到达,回到步骤二(8)测量下一个报文;
步骤二(8)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间0.9秒,测量器从TCP报文头中提取源IP地址SIP2、宿IP地址DIP2、源端口SPORT2、宿端口DPORT2、TCP报文标识是FIN,TCP报文结束标识设置为1,进入步骤三(9);
步骤三(9)、在缓存中查找源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2构成的五元组记录,找到五元组所对应的流记录信息,则在缓存中更新的流记录,更新流记录中的报文数设置为2,更新网络流记录的流结束标识设置为TCP报文的结束标识为1,设置网络流记录中最后一个报文到达时间为当前报文的到达时间0.9秒,进入步骤四(10);
步骤四(10)、测量测量器的当前时间CT1是1秒,CT1-CT0=1-0=1<T=2,检查周期T时间没有到达,回到步骤二(11)测量下一个报文;
步骤二(11)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间1.0秒,测量器从TCP报文头中提取源IP地址SIP2、宿IP地址DIP2、源端口SPORT2、宿端口DPORT2、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(12);
步骤三(12)、在缓存中查找源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2构成的五元组记录,找到五元组所对应的流记录信息,则在缓存中更新的流记录,更新流记录中的报文数设置为3,更新网络流记录中的流结束标识设置为TCP报文的结束标识为1,设置网络流记录中最后一个报文到达时间为当前报文的到达时间1.0秒,进入步骤四(13);
步骤四(13)、测量测量器的当前时间CT1是1.1秒,CT1-CT0=1.1-0=1.1<T=2,检查周期T时间没有到达,回到步骤二(14)测量下一个报文;
步骤二(14)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间1.5秒,测量器从TCP报文头中提取源IP地址SIP1、宿IP地址DIP1、源端口SPORT1、宿端口DPORT1、TCP报文标识是RST,TCP报文结束标识设置为1,进入步骤三(15);
步骤三(15)、在缓存中查找源IP地址SIP1、宿IP地址DIP1、TCP协议、源端口SPORT1、宿端口DPORT1构成的五元组记录,找到五元组所对应的流记录信息,则在缓存中更新的流记录,更新流记录中的报文数设置为2,更新网络流记录中的流结束标识设置为TCP报文的结束标识为1,设置网络流记录中最后一个报文到达时间为当前报文的到达时间1.5秒,进入步骤四(16);
步骤四(16)、测量测量器的当前时间CT1是1.6秒,CT1-CT0=1.6-0=1.6<T=2,检查周期T时间没有到达,回到步骤二(17)测量下一个报文;
步骤二(17)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间1.7秒,测量器从TCP报文头中提取源IP地址SIP1、宿IP地址DIP1、源端口SPORT1、宿端口DPORT1、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(18);
步骤三(18)、在缓存中查找源IP地址SIP1、宿IP地址DIP1、TCP协议、源端口SPORT1、宿端口DPORT1构成的五元组记录,找到五元组所对应的流记录信息,则在缓存中更新的流记录,更新流记录中的报文数设置为3,更新网络流记录中的流结束标识设置为TCP报文的结束标识为1,设置网络流记录中最后一个报文到达时间为当前报文的到达时间1.7秒,进入步骤四(19);
步骤四(19)、测量测量器的当前时间CT1是1.9秒,CT1-CT0=1.9-0=1.9<T=2,检查周期T时间没有到达,回到步骤二(20)测量下一个报文;
步骤二(20)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间1.9秒,测量器从TCP报文头中提取源IP地址SIP3、宿IP地址DIP3、源端口SPORT3、宿端口DPORT3、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(21);
步骤三(21)、在缓存中查找源IP地址SIP3、宿IP地址DIP3、TCP协议、源端口SPORT3、宿端口DPORT3构成的五元组记录,没有找到五元组所对应的流记录信息,则在缓存中增加一条新的流记录,该新的流记录中的源IP地址、宿IP地址、源端口地址和宿端口地址分别设置为源IP地址SIP3、宿IP地址DIP3、TCP协议、源端口SPORT3、宿端口DPORT3,新流记录中的报文数设置为1,新流记录中的流结束标识设置为TCP报文的结束标识0,设置流记录中最后一个报文到达时间为当前报文的到达时间1.9秒,进入步骤四(22);
步骤四(22)、测量测量器的当前时间CT1是2.1秒,CT1-CT0=2.1-0=2.1>T=2,检查周期T时间到达,进入步骤五(23);
步骤五(23)、检查流记录缓存中的每条网络流记录是否满足流结束条件,检查网络流记录源IP地址SIP1、宿IP地址DIP1、TCP协议、源端口SPORT1、宿端口DPORT1,该网络流记录的流结束标识为1,测量器的当前时间CT1减去该网络流记录中最后一个报文到达时间2.1-1.7=0.4>st=0.1,则该网络流判断为结束,将该网络流记录输出,网络流记录输出为:源IP地址SIP1、宿IP地址DIP1、TCP协议、源端口SPORT1、宿端口DPORT1、报文数为3、最后一个报文到达时间1.7秒,同时将该网络流记录从流缓存中删除,继续步骤五(24);
步骤五(24)、网络流记录缓存中有下一条网络流记录源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2,检查网络流记录缓存中的每条网络流记录是否满足网络流结束条件,检查网络流记录源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2,该网络流记录的流结束标识为1,测量器的当前时间CT1减去该网络流记录中最后一个报文到达时间2.1-1.0=1.1>st=0.1,则该网络流判断为结束,将该网络流记录输出,网络流记录输出为:源IP地址SIP2、宿IP地址DIP2、TCP协议、源端口SPORT2、宿端口DPORT2、报文数为3、最后一个报文到达时间1.1秒,同时将该网络流记录从流缓存中删除,继续步骤五(25);
步骤五(25)、网络流记录缓存中有下一条网络流记录源IP地址SIP3、宿IP地址DIP3、源端口SPORT3、TCP协议、宿端口DPORT3,检查网络流记录缓存中的每条网络流记录是否满足网络流结束条件,检查网络流记录源IP地址SIP3、宿IP地址DIP3、TCP协议、源端口SPORT3、宿端口DPORT3,该网络流记录的流结束标识为0,测量器的当前时间CT1减去该网络流记录中最后一个报文到达时间2.1-1.9=0.2<lt=2,则该网络流判断没有结束,网络流记录缓存中没有下一条网络流记录,进入步骤六(26);
步骤六(26)、系统运行结束时间4秒没有到达,设置CT0=CT1=2.1秒,回到步骤二(27)进行下一个周期的测量;
步骤二(27)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间2.5秒,测量器从TCP报文头中提取源IP地址SIP4、宿IP地址DIP4、源端口SPORT4、宿端口DPORT4、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(28);
步骤三(28)、在缓存中查找源IP地址SIP4、宿IP地址DIP4、TCP协议、源端口SPORT4、宿端口DPORT4构成的五元组记录,没有找到五元组所对应的流记录信息,该新的流记录中的源IP地址、宿IP地址、协议、源端口地址和宿端口地址分别设置为源IP地址SIP4、宿IP地址DIP4、TCP协议、源端口SPORT4、宿端口DPORT4,新流记录中的报文数设置为1,新流记录中的流结束标识设置为TCP报文的结束标识0,设置流记录中最后一个报文到达时间为当前报文的到达时间2.5秒,进入步骤四(29);
步骤四(29)、测量测量器的当前时间CT1是2.7秒,CT1-CT0=2.7-2.1=0.6<T=2,检查周期T时间没有到达,回到步骤二(30)测量下一个报文;
步骤二(30)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间3.3秒,测量器从TCP报文头中提取源IP地址SIP5、宿IP地址DIP5、源端口SPORT5、宿端口DPORT5、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(31);
步骤三(31)、在缓存中查找源IP地址SIP5、宿IP地址DIP5、TCP协议、源端口SPORT5、宿端口DPORT5构成的五元组记录,没有找到五元组所对应的网络流记录信息,该新的网络流记录中的源IP地址、宿IP地址、源端口地址和宿端口地址分别设置为源IP地址SIP5、宿IP地址DIP5、TCP协议、源端口SPORT5、宿端口DPORT5,新网络流记录中的报文数设置为1,新网络流记录中的流结束标识设置为TCP报文的结束标识0,设置网络流记录中最后一个报文到达时间为当前报文的到达时间3.3秒,进入步骤四(32);
步骤四(32)、测量测量器的当前时间CT1是3.4秒,CT1-CT0=3.4-2.1=1.3<T=2,检查周期T时间没有到达,回到步骤二(33)测量下一个报文;
步骤二(33)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间3.7秒,测量器从TCP报文头中提取源IP地址SIP6、宿IP地址DIP6、源端口SPORT6、宿端口DPORT6、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(34);
步骤三(34)、在缓存中查找源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6构成的五元组记录,没有找到五元组所对应的流记录信息,该新的流记录中的源IP地址、宿IP地址、源端口地址和宿端口地址分别设置为源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6,新网络流记录中的报文数设置为1,新网络流记录中的流结束标识设置为TCP报文的结束标识0,设置网络流记录中最后一个报文到达时间为当前报文的到达时间3.7秒,进入步骤四(35);
步骤四(35)、测量测量器的当前时间CT1是3.8秒,CT1-CT0=3.8-2.1=1.7<T=2,检查周期T时间没有到达,回到步骤二(36)测量下一个报文;
步骤二(36)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间3.8秒,测量器从TCP报文头中提取源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6、TCP报文标识是FIN,TCP报文结束标识设置为1,进入步骤三(37);
步骤三(37)、在缓存中查找源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6构成的五元组记录,找到五元组所对应的流记录信息,更新流记录中的报文数设置为2,更新网络流记录中的流结束标识设置为TCP报文的结束标识1,设置网络流记录中最后一个报文到达时间为当前报文的到达时间3.8秒,进入步骤四(38);
步骤四(38)、测量测量器的当前时间CT1是3.9秒,CT1-CT0=3.9-2.1=1.8<T=2,检查周期T时间没有到达,回到步骤二(39)测量下一个报文;
步骤二(39)、当一个TCP报文到达测量器,测量器测量当前报文的到达时间3.9秒,测量器从TCP报文头中提取源IP地址SIP6、宿IP地址DIP6、源端口SPORT6、宿端口DPORT6、TCP报文标识是ACK,TCP报文结束标识设置为0,进入步骤三(40);
步骤三(40)、在缓存中查找源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6构成的五元组记录,找到五元组所对应的网络流记录信息,更新网络流记录中的报文数设置为3,设置网络流记录中最后一个报文到达时间为当前报文的到达时间3.9秒,进入步骤四(41);
步骤四(41)、测量测量器的当前时间CT1是4.2秒,CT1-CT0=4.2-2.1=2.1>T=2,检查周期T时间到达,进入步骤五(42);
步骤五(42)、检查网络流记录缓存中的每条网络流记录是否满足流结束条件,检查网络流记录源IP地址SIP3、宿IP地址DIP3、TCP协议、源端口SPORT3、宿端口DPORT3,该网络流记录的流结束标识为0,测量器的当前时间CT1减去该网络流记录中最后一个报文到达时间4.2-1.9=2.3>lt=2,则该流判断为结束,将该网络流记录输出,网络流记录输出为:源IP地址SIP3、宿IP地址DIP3、TCP协议、源端口SPORT3、宿端口DPORT3、报文数为1、最后一个报文到达时间1.9秒,同时将该网络流记录从流缓存中删除,流记录缓存中有下一条流记录源IP地址SIP4、宿IP地址DIP4、TCP协议、源端口SPORT4、宿端口DPORT4,继续步骤五(43);
步骤五(43)、检查网络流记录缓存中的每条网络流记录是否满足流结束条件,检查网络流记录源IP地址SIP4、宿IP地址DIP4、TCP协议、源端口SPORT4、宿端口DPORT4,该网络流记录的流结束标识为0,测量器的当前时间CT1减去该网络流记录中最后一个报文到达时间4.2-2.5=1.7<lt=2,则该网络流判断没有结束,网络流记录缓存中有下一条网络流记录源IP地址SIP5、宿IP地址DIP5、TCP协议、源端口SPORT5、宿端口DPORT5,继续步骤五(44);
步骤五(44)、检查网络流记录缓存中的每条流记录是否满足网络流结束条件,检查网络流记录源IP地址SIP5、宿IP地址DIP5、TCP协议、源端口SPORT5、宿端口DPORT5,该网络流记录的流结束标识为0,测量器的当前时间CT1减去该网络流记录中最后一个报文到达时间4.2-3.3=0.9<lt=2,则该网络流判断没有结束,网络流记录缓存中有下一条网络流记录源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6,继续步骤五(45);
步骤五(45)、检查网络流记录缓存中的每条网络流记录是否满足流结束条件,检查网络流记录源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6,该网络流记录的流结束标识为1,测量器的当前时间CT1减去该流记录中最后一个报文到达时间4.2-3.9=0.3>st=0.1,则该网络流判断没有结束,则该网络流判断为结束,将该网络流记录输出,网络流记录输出为:源IP地址SIP6、宿IP地址DIP6、TCP协议、源端口SPORT6、宿端口DPORT6、报文数为3、最后一个报文到达时间3.9秒,同时将该网络流记录从网络流缓存中删除,网络流记录缓存中没有有下一条网络流记录,进入步骤六(46);
步骤六(46)、如果系统运行结束时间4秒已经到达,将所有的网络流记录输出,网络流记录输出为:将网络流记录的源IP、宿IP、协议、源端口、宿端口、报文数、最后一个报文到达时间输出,同时将该网络流记录从网络流缓存中删除。
输出结果为:
源IP地址SIP4、宿IP地址DIP4、TCP协议、源端口SPORT4、宿端口DPORT4、报文数为1、最后一个报文到达时间2.5秒
源IP地址SIP5、宿IP地址DIP5、TCP协议、源端口SPORT5、宿端口DPORT5、报文数为1、最后一个报文到达时间3.3秒
方法结束。
Claims (4)
1.一种基于双超时网络报文的组流方法,其特征在于:
步骤一、设置网络流记录,所述的网络流记录由源IP地址、宿IP地址、协议、源端口、宿端口、报文数、流结束标识以及最后一个报文到达时间构成,设置一个网络流缓存用于保存网络流记录,设置短超时st,长超时lt,st在10毫秒到1秒之间取值,lt在1秒到64秒之间取值,设置网络流记录检查周期T,检查周期T取值大于等于1秒,设置系统运行结束时间,测量测量器的本周期开始时间CT0,进入步骤二;
步骤二、当一个报文到达测量器,测量器测量当前报文的到达时间,测量器从报文头中提取源IP地址、宿IP地址、协议、源端口、宿端口,如果所测量报文是TCP报文,报文的TCP标识是FIN或RST,则报文结束标识设置为1,否则设置报文结束标识为0,进入步骤三;
步骤三、在网络流缓存中查找由所测量报文的源IP地址、宿IP地址、协议、源端口和宿端口构成五元组的网络流记录,如果找到所述的网络流记录,则将所述的网络流记录中的报文数增加1,更新网络流记录的流结束标识,设置网络流记录中最后一个报文到达时间为当前报文的到达时间,否则在网络流缓存中增加一条新的网络流记录,该新的网络流记录中的源IP地址、宿IP地址、协议、源端口和宿端口分别设置为所测量报文中提取的源IP地址、宿IP地址、协议、源端口和宿端口,新的网络流记录中的报文数设置为1,新的网络流记录中的流结束标识设置为报文结束标识,设置网络流记录中最后一个报文到达时间为所测量报文的到达时间,进入步骤四;
步骤四、测量测量器的当前时间CT1,如果CT1-CT0<T,回到步骤二测量下一个报文,否则进入步骤五;
步骤五、检查网络流缓存中的每条网络流记录,如果所检查网络流记录的流结束标识为1,最后一个报文到达时间为t0,CT1-t0>st,则所检查网络流记录结束,将所检查网络流记录输出,否则如果所检查网络流记录的流结束标识为0,CT1-t0>lt,则所检查网络流记录结束,将所检查网络流记录输出,进入步骤六;
步骤六、如果系统运行结束时间没有到达,设置CT0=CT1,回到步骤二进行下一个周期的测量,否则将网络流缓存中所有的网络流记录输出。
2.根据权利要求1所述的基于双超时网络报文的组流方法,其特征在于,所述的更新网络流记录的流结束标识方法为:如果所测量报文的结束标识为1,则设置网络流记录的流结束标识为1,如果所测量报文的结束标识为0,则网络流记录的流结束标识保持不变;
3.根据权利要求1或2所述的基于双超时网络报文的组流方法,其特征在于,所述网络流缓存为:使用哈希链表方法或按顺序直接存储方法在内存中维护网络流记录。
4.根据权利要求1所述的基于双超时网络报文的组流方法,其特征在于,所述的网络流记录输出为:将所述网络流记录的源IP、宿IP、协议、源端口、宿端口、报文数、最后一个报文到达时间输出,同时将所述网络流记录从网络流缓存中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110428856.5A CN102437959B (zh) | 2011-12-20 | 2011-12-20 | 基于双超时网络报文的组流方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110428856.5A CN102437959B (zh) | 2011-12-20 | 2011-12-20 | 基于双超时网络报文的组流方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102437959A CN102437959A (zh) | 2012-05-02 |
CN102437959B true CN102437959B (zh) | 2014-07-16 |
Family
ID=45985842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110428856.5A Expired - Fee Related CN102437959B (zh) | 2011-12-20 | 2011-12-20 | 基于双超时网络报文的组流方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102437959B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667682B (zh) * | 2018-03-21 | 2020-11-06 | 北京天融信网络安全技术有限公司 | 基于安全网关深度包检测的连接同步方法、装置及介质 |
CN110572300B (zh) * | 2019-08-30 | 2022-07-05 | 西南交通大学 | Tcp流已传输数据量估计方法 |
CN110572332B (zh) * | 2019-08-30 | 2022-08-26 | 西南交通大学 | 网络设备报文观测数据采集任务划分方法 |
CN110545217B (zh) * | 2019-08-30 | 2022-07-05 | 西南交通大学 | 一种事件驱动的细粒度tcp流量测量方法 |
CN110557302B (zh) * | 2019-08-30 | 2022-05-20 | 西南交通大学 | 网络设备报文观测数据采集方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4453838B2 (ja) * | 2005-11-21 | 2010-04-21 | 日本電信電話株式会社 | タイムアウト処理方法とシステムおよびプログラム |
US8031715B1 (en) * | 2006-05-12 | 2011-10-04 | Juniper Networks, Inc. | Network device having service card for dynamic flow capture and monitoring of packet flows |
-
2011
- 2011-12-20 CN CN201110428856.5A patent/CN102437959B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4453838B2 (ja) * | 2005-11-21 | 2010-04-21 | 日本電信電話株式会社 | タイムアウト処理方法とシステムおよびプログラム |
US8031715B1 (en) * | 2006-05-12 | 2011-10-04 | Juniper Networks, Inc. | Network device having service card for dynamic flow capture and monitoring of packet flows |
Non-Patent Citations (6)
Title |
---|
Study of Dynamic Timeout Strategy based on Flow Rate Metrics in High-Speed Networks;周明中等;《ACM Infoscale》;20060531;第1页第2栏第4-6行以及第III-IV节 * |
周明中等.Study of Dynamic Timeout Strategy based on Flow Rate Metrics in High-Speed Networks.《ACM Infoscale》.2006,全文. |
周明中等.网络流超时策略研究.《通信学报》.2005,第26卷(第4期),全文. |
王远等.TCP数据流超时研究.《厦门大学学报(自然科学版)》.2007,第46卷(第2期),全文. * |
程光等.一个检测超流的早期淘汰算法.《厦门大学学报(自然科学版)》.2007,第46卷(第2期),全文. * |
网络流超时策略研究;周明中等;《通信学报》;20050425;第26卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102437959A (zh) | 2012-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102437959B (zh) | 基于双超时网络报文的组流方法 | |
CN104584483B (zh) | 用于自动确定服务质量降级的原因的方法和设备 | |
CN109491990A (zh) | 一种检测数据质量的方法以及检测数据质量的装置 | |
CN103532940B (zh) | 网络安全检测方法及装置 | |
US20160080233A1 (en) | Methods and Computer Program Products for Transaction Analysis of Network Traffic in a Network Device | |
CN109756364A (zh) | 一种基于日志分析的微服务性能优化系统和分析方法 | |
CN110034966B (zh) | 一种基于机器学习的数据流分类方法及系统 | |
CN101997700A (zh) | 基于深度包检测和深度流检测技术的IPv6监测设备 | |
CN109981474A (zh) | 一种面向应用软件的网络流量细粒度分类系统及方法 | |
CN105959321A (zh) | 网络远程主机操作系统被动识别方法及装置 | |
CN104333483A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
CN112214316A (zh) | 基于物联网的数据资源分配方法及云计算服务器 | |
CN105681199B (zh) | 一种车载总线中报文数据的处理方法及装置 | |
CN106027284A (zh) | 网络的故障诊断方法及装置 | |
CN105592061A (zh) | 一种攻击规则的关闭方法和装置 | |
CN106131153A (zh) | 基于智能网关的业务识别方法和装置 | |
CN102739446B (zh) | 选择网络时间协议服务器的方法和装置 | |
CN103685280B (zh) | 报文匹配方法、状态机编译方法及设备 | |
CN105511992A (zh) | 一种用于节点互连芯片验证的全局检测模块方法 | |
CN103746867B (zh) | 一种基于基函数的网络协议分析方法 | |
CN110380902A (zh) | 拓扑关系生成方法、装置、电子设备及存储介质 | |
CN103701821B (zh) | 文件类型识别方法及装置 | |
CN110191481A (zh) | 一种采用超限快速决策树评估链路质量的方法及系统 | |
Wu et al. | Identifying potential standard essential patents based on text mining and generative topographic mapping | |
CN114116811B (zh) | 日志处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140716 Termination date: 20161220 |
|
CF01 | Termination of patent right due to non-payment of annual fee |