实现网络分片报文流量实时监测的方法和装置的制造方法

文档序号:9754388阅读:506来源:国知局
实现网络分片报文流量实时监测的方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络流量监测技术领域,尤其涉及一种实现网络分片报文流量实时监测的方法和装置。
【背景技术】
[0002]IPFIX(IP Flow Informat1n Export,IP数据流信息输出)是由 IETF( InternetEngineering Task Force,互联网工程任务组)公布的用于网络中的流信息测量的标准协议。该协议主要在于:1、统一 IP数据流的统计、输出标准,这使得网络管理员很容易地提取和查看存储在这些网络设备中的重要流量统计信息。2、输出格式具有较强的可扩展性,因此如果流量监控的要求发生改变,网络管理员也可通过修改相应配置来实现,不必升级网络设备软件或管理工具。
[0003]IPFIX定义的格式以网络流量监控技术第9版本(Cisco Netflow Vers1n9)数据输出格式作为基础,可使IP流量信息从一个输出器传送到收集器。因为IPFix是一种针对数据流特征分析、基于模板的格式输出的协议,因此具有很强的可扩展性,对于不同的需求都可以定义不同的数据格式。为了较完整的输出数据,IPFIX缺省使用七元组来标识网络流量:源IP地址、目的IP地址、TCP/UDP源端口、TCP/UDP目的端口、三层协议类型、服务类型和输入逻辑接口。如果不同IP报文中这所有的七个字段都匹配,那么这些IP报文都将被视为属于同一条流量。这些流的统计数据,如流量持续时间、流量中报文个数、报文平均长度、TTL的变化等,定期被组装为IPFIX报文,发送给指定的IPFIX服务器。IPFIX服务器提供强大的图形显示、计算能力,对IPFIX报文中的流统计进行分析,帮助网络管理员可以了解到当前网络的应用情况,并根据这些信息对网络进行优化,安全检测,流量计费。
[0004]IP分片是网络中传输IP报文的一种技术手段。网络设备的接口需要发送的IP报文的大小超过最大传输单元MTU(Maximum Transmiss1n Unit)时,就会产生IP分片。这些分片只有在目的地时才进行重组。
[0005]OSI模型的第四层是传输层,负责端对端通信。在IP协议栈中这是TCP和UDP所在的协议层。而四层的端口号,可以唯一区分每个数据报文的应用服务,例如HTTP,FTP等。正因如此,IPFIX缺省使用的“七元组”中就包含了 TCP/UDP源端口、TCP/UDP目的端口。
[0006]如图1所示,对于IP分片技术,一个长报文在分成多片时,只有首分片才有四层源、目的端口信息,其他的分片都不包含四层源、目的端口信息。那么对于没有重组分片报文义务的网络设备,如果采用传统的“七元组”去统计HTTP、FTP等具体应用业务的流量,那么只能统计首分片的流量,统计结果不精确,这对网络管理员部署网络、分析网络流量以及运营商根据流量计费等都造成影响。

【发明内容】

[0007]本发明通过一种关联机制,将非首分片的IP分片和首分片进行关联,从而将报文中不携带四层源、目的端口信息的分片报文全部统计到具体的应用业务流量中,提高统计的精度。关联的过程由芯片自动完成,无需(PU感知。
[0008]为实现上述目的,本发明提出如下技术方案:一种实现网络分片报文流量实时监测的方法,交换机接收到一个IP分片报文,判断所述IP分片报文是否为首分片,若是首分片报文,则提取IP地址和分片标识存储在关联KEY表项中,提取源、目的端口存储在关联AD表项中,进入IPFIX模块进行流量监测。
[0009]优选地,判断所述IP分片报文是否为首分片之后还包括,若不是首分片报文,提取IP首部中的源、目的IP地址和分片标识,在所述KEY表项中进行逐行查找,在AD表项中提取相应的源端口、目的端口信息,进入IPFIX模块进行流量监测。
[0010]优选地,所述在AD表项中提取相应的源端口、目的端口信息之后,判断IP分片报文是否为末分片,若是末分片,删除相应的KEY表项和AD表项,进入IPFIX模块进行流量监测。[0011 ]优选地,所述在AD表项中提取相应的源端口、目的端口信息之后,判断IP分片报文是否为末分片,若不是末分片,进入IPFIX模块进行流量监测。
[0012]优选地,所述判断所述IP分片报文是否为首分片的方法为:IP首部中的MF标志位置I,片位移为O,则认定该报文是分片报文,而且是首分片报文。
[0013]优选地,所述判断IP分片报文是否为末分片的方法为:IP首部中MF标志位置0,片位移不为O。
[0014]优选地,对于所述KEY表项和所述AD表项,提供老化机制,当某条有效条目对应的中间分片长时间没有接收到,则不必等到末分片到达,直接将该条目置为无效。
[0015]优选地,所述KEY表项和所述AD表项中,所述有效条目的判定方法为:该条目的Valid标识为I,所述将该条目置为无效的方法为:该条目的Valid标识为O。
[0016]本发明的另一目的在于提供一种实现网络分片报文流量实时监测的装置,包括:报文接收模块、首分片判断模块、末分片判断模块、提取模块、查找模块、删除模块、IPFIX模块,所述报文接收模块用于接收到IP分片报文;所述首分片判断模块用于判断所述IP分片报文是否为首分片;所述提取模块用于提取IP地址和分片标识存储在关联KEY表项中,提取源、目的端口存储在关联AD表项中;所述查找模块用于提取IP首部中的源、目的IP地址和分片标识,在所述KEY表项中进行逐行查找,在AD表项中提取相应的源端口、目的端口信息;所述末分片判断模块用于判断IP分片报文是否为末分片;所述删除模块用于删除相应的KEY表项和AD表项。
[0017]本发明的有益效果是:
[0018]1、将首分片的四层端口信息和三层IP地址、分片标识记录下来,后续分片到来后,查找源、目的IP地址和分片标识,就能得到所属原始报文的四层源、目的端口。
[0019]2、KEY和AD具有清除功能,收到末分片、或者长时间没有新的中间分片到达时,相应的KEY和AD需要清除,留出资源给其他分片报文使用。
[0020]3、基于IPFIX进行流量监测,能够灵活地针对从哪个IP地址发往哪个IP地址的某种具体的应用业务流量进行统计,不漏掉非首分片的分片报文的统计结果。
[0021]4、整个过程由芯片完成,无需CPU感知。
【附图说明】
[0022]图1是IP分片报文的不意图;
[0023]图2是实现网络分片报文流量实时监测的方法流程图;
[0024]图3是分片标识KEY表项与AD表项的对应关系图。
[0025]图4是IPFIX模块的流程示意图;
[0026]图5流表记录哈希Hash查找的流程示意图;
[0027]图6是实现网络分片报文流量实时监测的装置结构示意图。
【具体实施方式】
[0028]下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
[0029]图2是实现网络分片报文流量实时监测的方法流程图,具体步骤如下:
[0030]S201,交换机接收到一个IP分片报文;
[0031 ] S202,判断IP分片报文是否为首分片,发现IP首部中的MF标志位置I,片位移为O,则认定该报文是分片报文,而且是首分片报文,则执行S203,否则执行S206;
[0032]S203,提取IP地址和分片标识存储在关联KEY表项中。对于首分片报文,由于其携带了完整的四层信息,尤其是源、目的端口,于是将此首分片报文的源、目的IP地址,分片标识存入专门用于关联所有分片的存储表项中,其中,步骤S203是将报文的源、目的IP地址,分片标识存入关联KEY表项中;
[0033]S204,提取源、目的端口存储在关联AD表项中;
[0034]S206,提取IP首部中的源、目的IP地址和分片标识,在KEY表项中进行逐行查找;
[0035]S207,在AD表项中提取相应的源、目的端口信息,根据匹配的索引值,读取相应的AD表项,得到当前分片所在原始报文的源、目的端口;
[0036]S208,判断IP分片
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1