嵌入式p2p流量监控系统及方法

文档序号:7927753阅读:191来源:国知局
专利名称:嵌入式p2p流量监控系统及方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种嵌入式P2P流量监控系统及方法。
背景技术
点到点(Point to Point,P2P)技术以其独特的优势在近年来迅速发展,在网络通信中得到了极为广泛的应用。图1为用于实现P2P技术的网络架构图。如图1所示,该平台包括内网、直接与内网连接的路由器,以及连接在路由器与互联网之间的网关。其中,网关的Linux操作系统内设置有P2P流量监控模块。图2为现有技术P2P流量监控的流程示意图。如图2所示,内网用户的数据(即网络数据流)通过路由器推送到网关服务器,网关服务器的Linux操作系统的P2P流量监控模块利用7层过滤(L7-filter)对数据包进行过滤处理,并检测过滤后的数据包是否匹配P2P应用正则表达式,若匹配,则对数据包进行P2P规则转换并导入流控平台规则库,若不匹配,则将数据包按照其他数据包进行处理。可以看出,目前是由串接在网络中的设备对流量进行直接的控制。该方式下,所有的网络数据流都要经过该设备进行处理后转发,所以一方面容易带来附加延时,从而降低网络的服务质量、影响用户感知,更为重要,由于检测设备必须部署到网络流量的真实路径上,所以容易形成处理瓶颈和单点故障。

发明内容
本发明提供一种嵌入式P2P流量监控系统及方法,以实现能够避免附加延时并且保障网络系统可靠性的P2P流量监控。根据本发明的一方面,提供一种嵌入式P2P流量监控系统,包括数据采集解析模块,用于获取镜像的网络数据包,并对所述网络数据包进行解析以获取所述网络数据包的网络层信息、传输层信息和应用层信息;业务识别模块,用于根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别;业务管理模块,用于统计属于待识别P2P业务类型的网络数据包的流量信息,并将待控制P2P业务类型发送至业务控制模块,并将从人机交互模块接收的系统控制信息发送至所述业务识别模块和业务控制模块,以对所述业务识别模块和所述业务控制模块进行控制;所述业务控制模块,用于对属于所述待控制P2P业务类型的网络数据包进行流量控制;人机交互模块,用于获取用户输入的系统控制信息和待识别P2P业务类型,显示所述流量信息,并获取所述用户根据所述流量信息设置的待控制P2P业务类型。根据本发明的另一方面,还提供一种基于本发明嵌入式P2P流量监控系统的P2P流量监控方法,包括
获取镜像的网络数据包,并对所述网络数据包进行解析以获取所述网络数据包的网络层信息、传输层信息和应用层信息;根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别;统计属于待识别P2P业务类型的网络数据包的流量信息;显示所述流量信息,并获取用户根据所述流量信息设置的待控制P2P业务类型;对属于所述待控制P2P业务类型的网络数据包进行流量控制。根据本发明的P2P流量监控系统及方法,通过采用嵌入式系统实现P2P业务流量监控,并且由于该嵌入式P2P业务流量监控系统通过从路由器获取镜像的网络数据包,无需串接在网络,即网络数据包无需经过该P2P业务流量监控系统进行处理后转发,所以不会带来附加延时,提高了网络的服务质量,并且由于无需部署到网络流量的真实路径上,所以避免了在网络中形成处理瓶颈和单点故障,提高了网络可靠性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为用于实现P2P技术的网络架构图。图2为现有技术P2P流量监控的流程示意图。图3为本发明嵌入式P2P流量监控系统的结构示意图。图4为在应用本发明嵌入式P2P流量监控系统的网络架构图。图5为本发明嵌入式P2P流量监控系统的硬件接口示意图。图6为业务识别模块执行P2P业务识别的流程图。图7为业务管理模块的执行系统管理的流程图。图8为人机交互模块向用户提供的界面显示示意图。图9为本发明P2P流量监控方法的流程示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图3为本发明嵌入式P2P流量监控系统的结构示意图。如图3所示,该P2P流量监控系统包括数据采集解析模块31,用于获取镜像的网络数据包,并对所述网络数据包进行解析以获取所述网络数据包的网络层信息、传输层信息和应用层信息;业务识别模块32,用于根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别;
业务管理模块33,用于统计属于待识别P2P业务类型的网络数据包的流量信息,并将待控制P2P业务类型发送至业务控制模块,并将从人机交互模块35接收的系统控制信息发送至所述业务识别模块32和业务控制模块34,以控制所述业务识别模块和所述业务控制模块的开启和关闭;所述业务控制模块34,用于对属于所述待控制P2P业务类型的网络数据包进行流量控制;人机交互模块35,用于获取用户输入的系统控制信息和待识别P2P业务类型,显示所述流量信息,并获取所述用户根据所述流量信息设置的待控制P2P业务类型。图4为在应用本发明嵌入式P2P流量监控系统的网络架构图。下面结合图4对图3所示的嵌入式P2P流量监控系统中进行详细说明。如图4所示,局域网内的客户机与外网通信时,网络数据均需要通过路由器进行转发。嵌入式P2P流量监控系统包括监控平台和人机交互模块35两部分。其中监控平台通过网线连接路由器的镜像端口,网络中所有的数据在流经路由器时都会被镜像到网线上,监控平台采集网络数据进行识别;监控平台还接收人机交互模块35传递的人机指令,根据人机指令对网络中的指定业务类型的P2P流量进行监控。人机交互模块35通过USB接口接收监控平台统计的网络数据参数,并在人机交互模块35界面显示,用户可通过操作人机交互平台提供的界面实现对P2P流量监控系统的控制。具体地,嵌入式P2P流量监控系统例如按照以下方式进行硬件配置。例如,基于Samsung S3C6410处理器的0K6410开发平台进行硬件开发。进一步地,该Samsung S3C6410处理器基于ARMl 176JZF-S内核,主频达到553/667MHz。该0K6410开发平台还需包括以下硬件资源256M字节DDR内存、2G字节NANDFlash存储器和4个串口,其中4个串口包括1个100M网口,采用DM9000,带连接和传输指示灯;1个USB HOST插口,支持USB1. 1协议,可插鼠标、U盘等;IfUSB Slave接口,支持USB2.0协议,使用Mini-USB插座,可与计算机连接;1个JTAG接口,可使用10 插针连接器等。该嵌入式P2P流量监控系统的内核版本为Linux2. 6. 28,并且交叉编译环境链为4. 2. 2_eabi。图5为本发明嵌入式P2P流量监控系统的硬件接口示意图。如图5所示,该嵌入式P2P流量监控系统例如在MX27/LINUX嵌入式开发板上进行开发,其上设置有4个能够与外部通信的串口,并且还与电源模块、NAND FLASH存储器以及SDRAM内存连接。具体地,支持USB2. 0协议的USB SLAVE接口与计算机的USB2. OHOST接口相连,二者之间传输的数据包括需要在人机交互界面上显示的数据包参数和用户在人机交互界面上输入的对系统的操作指令;100M网口,例如为以太网接口 RJ45,与路由器镜像端口连接;USB HOST插口,例如为RS232串口,与宿主机串口连接进行交叉开发JTAG接口用于在线仿真调试;SDRAM内存为程序运行提供空间;NAND FLASH保存数据,包括P2P业务的识别策略文件,操作系统等。此外,图5中所示的NAND FLASH存储器用于保存数据,SDRAM内存用于为程序提供空间。下面对本发明嵌入式P2P流量监控系统执行P2P流量监控的流程进行详细说明。数据采集解析模块31从路由器的镜像端口捕获网络数据包,对数据包网络层协议和传输层协议的首部进行解析。捕获网络数据包可借助网络数据包的捕获函数包Iibpcap实现。当接收到系统停止采集数据的指令时,数据采集解析模块31停止向捕获函数包Iibpcap中的结构体RawDataMru赋值。结构体RawDataMru的成员包括网络数据包的五元组、时间戳、数据包序列号、负载首地址、数据包、字节数、序列号和确认号。数据采集解析模块31将解析获得的网络数据包的五元组、时间戳、数据包序列号、负载首地址、数据包、字节数、序列号和确认号发送给业务识别模块32,以使业务识别模块32根据预置的P2P业务识别策略,对数据采集解析模块31所捕获的网络数据包进行P2P业务识别。图6为业务识别模块32执行P2P业务识别的流程图。如图6所示,识别分为三个步骤比较HASH表中的可疑(IP,PR0T)对、端口识别和DPI识别。具体包括以下步骤步骤S601,业务识别模块32检测系统开启标识位Flagoftorecg是否为1,其中开启标识位Flagoftorecg通过用户对人机交互模块35提供的开启、关闭选项来设置。当用户点击开启选项时,开启标识位Flagoftorecg == 1,当用户点击关闭选项时,开启标识位Flagoftorecg == O ;若检测到Flagoftorecg = = 1,则执行步骤S602,否则结束流程;步骤S602,对HASH表进行初始化,由于HASH表存储空间有限,所以在系统每次启动后,均根据当前有效的HASH表对其进行更新;步骤S603,检测网络数据包的协议类型是否为TCP协议;若是,则执行步骤S604,若否,则输出识别结果并结束流程;步骤S604,将网络数据包的IP和PORT构成的(IP,P0RT)对与HASH表中存储的已知属于待识别P2P业务类型的(IP,P0RT)对相比较,以检测网络数据包的(IP,P0RT)对是否为可疑(IP,P0RT)对,其中,待识别P2P业务类型由用户通过人机交互模块35进行设置,生成识别策略队列,并且该识别策略队列经由业务管理模块33发送至业务识别模块32 ;若是,则直接输出识别结果并结束流程,若否,则执行步骤S605 ;步骤S605,对网络数据包进行端口检测;步骤S606,判断网络数据包的端口是否为已知用于进行待识别P2P业务类型的特定端口 ;若是,则将该网络数据包的端口连同其IP添加至哈希(HASH)表中,以对HASH表进行更新,并直接输出识别结果并结束流程,若否,则执行步骤S607 ;步骤S607,对网络数据包进行深层数据包解析(DPI),以获取存储在网络数据包的应用层的特征码,并根据识别策略队列从外置的存储模块36 (如图3所示)中读取待识别P2P业务类型的特征码,以进行DPI检测;步骤S608,通过将通过DPI解析获取到的网络数据包的特征码与待识别P2P业务类型的特征码相匹配,来判断所述网络数据包是否属于待识别P2P业务类型;若是,则将该网络数据包的端口连同其IP添加至HASH表中,以对HASH表进行更新,并直接输出识别结果并结束流程,若否,则执行步骤S609 ;步骤S609,判断是否已完成对全部待识别的网络数据包的P2P业务识别;若否,则返回步骤S604,针对下一待识别的网络数据包进行P2P业务识别,若是,则直接输出识别结果并结束流程。至此,业务识别模块32完成了对数据采集解析模块31所捕获的网络数据包的P2P业务类型识别,识别结果发送至业务管理模块33。图7为业务管理模块33的执行系统管理的流程图。如图7所示,业务管理模块33执行以下步骤步骤S701,读取infofromdisp结构体,对系统进行初始化,其中infofromdisp结构体存储有系统中预置的用于实现系统初始化程序;步骤S702,获取用户通过人机交互模块35赋值的识别策略队列,该识别策略队列中存储用户设置的待识别P2P业务类型;步骤S703,读取存储模块36的策略文件,该策略文件包括对应于识别策略队列中各项待识别P2P业务类型的特征码;步骤S704,获取用户通过人机交互模块35赋值的控制业务队列,该识控制业务队列中存储用户设置的待控制P2P业务类型;步骤S705,读取mirrordatastru结构体,即从业务识别模块32获取P2P业务识别
结果;步骤S706,针对从业务识别模块32所获取的各P2P业务识别结果,检测是否为待识别的P2P业务;若否,则进行普通业务信息统计,通过通信模块发送至人机交互模块35,并结束流程;若是,则执行步骤S707,此外还根据控制业务队列进行控制参数统计,并将统计的控制参数通过通信模块发送至业务控制模块34,并结束流程;步骤S707,进行P2P基本参数统计;步骤S708,进行P2P连接数统计;步骤S709,进行P2P速率统计,并将所统计的P2P基本参数、P2P流和P2P速率均通过通信模块发送至人机交互模块35,并结束流程。在实际应用中,上述步骤的执行顺序并不限于图7所示的上述顺序。例如,上述流程中的步骤S704通常在执行步骤S709后,即已向人机交互模块35显示统计结果后,才获取用户通过人机交互模块35赋值的控制业务队列。图8为人机交互模块35向用户提供的界面显示示意图。如图7所示,界面上显示当前网络中传送的属于待识别P2P业务类型的网络数据包的到达时间、源IP、源端口、目的IP、目的端口、传输层协议、应用层协议、P2P业务连接数和P2P业务速率等信息。人机交互模块35向用户展示P2P业务识别结果后,接收用户对待控制P2P业务类型的设置,根据用户设置生成待控制P2P业务队列,并发送至业务管理模块33 ;业务管理模块33通过读取将待控制P2P业务队列,将已获知的属于待控制P2P业务类型的网络数据包的相关信息发送至业务控制器,以由业务控制器执行相应控制,该相关信息例如包括IP地址和端口信息等;业务控制模块34通过向属于待控制的P2P业务类型的网络数据包的端口发送干扰数据包,以切断所述端口的流量。至此,上述实施例的嵌入式P2P业务流量监控系统实现了对网络中特定类型的P2P业务的监测和控制。根据上述实施例的嵌入式P2P业务流量监控系统,通过采用嵌入式系统实现P2P业务流量监控,并且由于该嵌入式P2P业务流量监控系统通过从路由器获取镜像的网络数据包,无需串接在网络,即网络数据包无需经过该P2P业务流量监控系统进行处理后转发,所以不会带来附加延时,提高了网络的服务质量,并且由于无需部署到网络流量的真实路径上,所以避免了在网络中形成处理瓶颈和单点故障,提高了网络可靠性。进一步地,在上述实施例的嵌入式P2P业务流量监控系统中,所述业务识别模块用于根据所述网络数据包的协议类型、IP地址、端口信息以及通过对所述网络数据包进行DPI解析以获取所述网络数据包的特征码,对所述网络数据包进行P2P业务类型识别。根据上述实施例的嵌入式P2P业务流量监控系统,由于采用了 DPI对数据包应用层协议进行解析匹配以发现P2P应用的特征码,DPI能够检测数据包的有效负载并且能够提取出内容级别的信息,因而识别的准确性很高。由于P2P软件引入动态端口,只能通过扫描高层协议来准确探知P2P数据报。对于其他P2P应用,有时甚至要通过几个特征代码才能判明其为P2P流。DPI是通过对数据包应用层协议的检测解析发现P2P应用。DPI可以帮助实现对网络内部奥秘的透视和对网络资源的控制,可以分辨出具体用户具体应用的数据流,从而可以对用户的应用部署QoS、安全等其他策略。进一步地,在上述实施例的嵌入式P2P业务流量监控系统中,所述数据采集解析模块、所述业务识别模块、所述业务管理模块和所述业务控制模块集成设置在ARM开发板上,所述人机交互模块与所述ARM开发板通过USB接口连接。根据上述实施例的嵌入式P2P业务流量监控系统,由于采用ARM处理器作为系统核心,体积小、功能多且性能更强。进一步地,在上述实施例的嵌入式P2P业务流量监控系统中,所述业务控制模块用于通过向属于所述待控制P2P业务类型的网络数据包所对应的端口发送干扰数据包,以切断所述端口的流量。根据上述实施例的嵌入式P2P业务流量监控系统,由于业务控制模块使用旁路干扰控制技术切断连接,达到流量控制的目的。同时避免了对原有网络的性能造成大的影响。旁路干扰控制技术不采用丢弃数据包的方式进行干扰,它通过使用数据包伪装技术将伪装的干扰数据包发到正在传输数据信息的TCP、UDP连接中,达到降低连接的数据传输速率或者切断连接的目的,从而实现流量的控制。这种干扰方法不需要以串接的方式部署P2P监控设备,不会对原有网络性能造成太大影响,同时可以达到理想的P2P流量控制效果。进一步地,上述实施例的嵌入式P2P业务流量监控系统中,还包括与所述ARM开发板连接的存储模块,用于进行数据存储。根据上述实现例的嵌入式P2P业务流量监控系统,由于采用了外置于ARM开发板的存储模块,所以具有可扩展性。嵌入式P2P业务流量监控系统的存储模块保存P2P业务的识别策略,当用户通过人机交互接口选择需要监控的P2P业务后,相应的业务标志被分别添加到业务识别器的识别业务队列和业务控制器的控制业务队列,系统设计了 50个P2P业务的队列预留空间。其中队列相应位对应的P2P业务已经提前设置。系统运行时,通过判定队列相应位的标志决定是否对该业务进行监控。当新的P2P业务需要监控时,只需将该P2P业务的识别策略文件写入存储模块,同时在人机交互接口上提供选择窗口而无需对系统的整体框架做修改。图9为本发明P2P流量监控方法的流程示意图。如图9所示,该P2P流量监控方法包括以下步骤步骤S901,获取镜像的网络数据包,并对所述网络数据包进行解析以获取所述网络数据包的网络层信息、传输层信息和应用层信息;步骤S902,根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别;步骤S903,统计属于待识别P2P业务类型的网络数据包的流量信息;
步骤S904,显示所述流量信息,并获取用户根据所述流量信息设置的待控制P2P 业务类型;步骤S905,对属于所述待控制P2P业务类型的网络数据包进行流量控制。上述实施例 的P2P流量监控方法基于前述实施例的嵌入式P2P流量监控系统来实现,故其具体执行流程此处不再赘述。根据上述实施例的P2P流量监控方法,通过获取镜像的网络数据包,无需截取网络数据包、并在对网络数据包进行处理后再转发至网络传输路径,所以不会带来附加延时, 提高了网络的服务质量,并且由于无需通过在网络流量的真实路径上设置P2P流量监控系统,所以避免了在网络中形成处理瓶颈和单点故障,提高了网络可靠性。进一步地,在上述实施例的P2P流量监控方法中,根据预置的P2P业务识别策略、 所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别具体包括根据所述网络数据包的协议类型、IP地址、端口信息以及通过对所述网络数据包进行深层数据包解析以获取所述网络数据包的特征码,对所述网络数据包进行P2P业务类型识别。根据上述实施例的P2P流量监控方法,能够提高P2P业务类型的识别准确性。进一步地,在上述实施例的P2P流量监控方法中,对属于所述待控制P2P业务类型的网络数据包进行流量控制具体包括通过向属于所述待控制P2P业务类型的网络数据包所对应的端口发送干扰数据包,以切断所述端口的流量。根据上述实施例的P2P流量监控方法,能够避免对原有网络性能造成太大影响, 同时还可以达到理想的P2P流量控制效果。上述实施例的嵌入式P2P流量监控系统及方法受基金NSFC11171032支持。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种嵌入式点到点P2P流量监控系统,其特征在于,包括数据采集解析模块,用于获取镜像的网络数据包,并对所述网络数据包进行解析以获取所述网络数据包的网络层信息、传输层信息和应用层信息;业务识别模块,用于根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别;业务管理模块,用于统计属于待识别P2P业务类型的网络数据包的流量信息,并将待控制P2P业务类型发送至业务控制模块,并将从人机交互模块接收的系统控制信息发送至所述业务识别模块和业务控制模块,以控制所述业务识别模块和所述业务控制模块的开启和关闭;所述业务控制模块,用于对属于所述待控制P2P业务类型的网络数据包进行流量控制;所述人机交互模块,用于获取用户输入的系统控制信息和待识别P2P业务类型,显示所述流量信息,并获取所述用户根据所述流量信息设置的待控制P2P业务类型。
2.根据权利要求1所述的嵌入式P2P流量监控系统,其特征在于,所述业务识别模块用于根据所述网络数据包的协议类型、互联网协议IP地址、端口信息以及通过对所述网络数据包进行深层数据包解析以获取所述网络数据包的特征码,对所述网络数据包进行P2P业务类型识别。
3.根据权利要求1或2所述的嵌入式P2P流量监控系统,其特征在于,所述数据采集解析模块、所述业务识别模块、所述业务管理模块和所述业务控制模块集成设置在ARM开发板上,所述人机交互模块与所述ARM开发板通过USB接口连接。
4.根据权利要求3所述的嵌入式P2P流量监控系统,其特征在于,还包括与所述ARM开发板连接的存储模块,用于进行数据存储。
5.根据权利要求1所述的嵌入式P2P流量监控系统,其特征在于,所述业务控制模块用于通过向属于所述待控制P2P业务类型的网络数据包所对应的端口发送干扰数据包,以切断所述端口的流量。
6.一种基于权利要求1-5中任一所述的嵌入式P2P流量监控系统的P2P流量监控方法,其特征在于,包括获取镜像的网络数据包,并对所述网络数据包进行解析以获取所述网络数据包的网络层信息、传输层信息和应用层信息;根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别;统计属于待识别P2P业务类型的网络数据包的流量信息;显示所述流量信息,并获取用户根据所述流量信息设置的待控制P2P业务类型;对属于所述待控制P2P业务类型的网络数据包进行流量控制。
7.根据权利要求6所述的P2P流量监控方法,其特征在于,根据预置的P2P业务识别策略、所述网络层信息、所述传输层信息和所述应用层信息对所述网络数据包进行P2P业务类型识别具体包括根据所述网络数据包的协议类型、IP地址、端口信息以及通过对所述网络数据包进行深层数据包解析以获取所述网络数据包的特征码,对所述网络数据包进行P2P业务类型识别。
8.根据权利要求6或7所述的P2P流量监控方法,其特征在于,对属于所述待控制P2P业务类型的网络数据包进行流量控制具体包括通过向属于所述待控制P2P业务类型的网络数据包所对应的端口发送干扰数据包,以切断所述端口的流量。
全文摘要
本发明提供嵌入式P2P流量监控系统及方法。该方法包括数据采集解析模块获取镜像的网络数据包,并对网络数据包进行解析以获取网络数据包的网络层信息、传输层信息和应用层信息;业务识别模块根据预置的P2P业务识别策略及上述信息对网络数据包进行P2P业务类型识别;业务管理模块统计属于待识别P2P业务类型的网络数据包的流量信息,将待控制P2P业务类型发送至业务控制模块;业务控制模块对属于所述待控制P2P业务类型的网络数据包进行流量控制;人机交互模块获取用户输入的系统控制信息和待识别P2P业务类型,显示流量信息,并获取所述用户根据所述流量信息设置的待控制P2P业务类型。
文档编号H04L12/24GK102387045SQ20111029776
公开日2012年3月21日 申请日期2011年9月30日 优先权日2011年9月30日
发明者李卫, 李祥贵, 高强 申请人:北京信息科技大学, 北京航空航天大学, 北京远志盛达信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1