CN1997007A - 一种实现业务感知的系统、方法及设备 - Google Patents
一种实现业务感知的系统、方法及设备 Download PDFInfo
- Publication number
- CN1997007A CN1997007A CN 200610063019 CN200610063019A CN1997007A CN 1997007 A CN1997007 A CN 1997007A CN 200610063019 CN200610063019 CN 200610063019 CN 200610063019 A CN200610063019 A CN 200610063019A CN 1997007 A CN1997007 A CN 1997007A
- Authority
- CN
- China
- Prior art keywords
- strategy
- module
- recognition
- data
- model example
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现业务感知的系统、方法及设备,该实现业务感知的系统包括:数据提取策略库,用来提供数据提取策略;数据包特性提取模块,用来提取流的特征数据;流模型实例构建模块,用来根据数据包特性提取模块输出的流特性参数建立流模型实例的集合;识别策略库,用来为综合业务感知模块提供识别策略;综合业务感知模块,用来对流模型实例进行感知。该实现业务感知的方法包括:提取流特征数据;构建流模型实例的集合;对流模型实例进行感知,输出识别结果。该实现业务感知的设备包括:快速识别模块,用于对流模型实例进行快速识别;机器学习模块,用于对快速识别模块无法识别的流模型实例作进一步处理,输出识别结果。
Description
技术领域
本发明涉及网络技术领域,特别是一种实现业务感知的系统、方法及设备。
背景技术
随着Internet的普及,用户对于通信业务的需求不断提升,人们已经不再仅仅满足于上网浏览网页这类简单的互联网应用,而是希望享受更高速、更丰富的多媒体应用,例如语音IP(VoIP,Voice over IP、视频电话、视频会议、视频点播(VOD,Video on Demand)、交互式网络电视(IPTV)等应用;另一方面,主流的固定网络运营商也正面临着传统语音业务日趋贬值的挑战,从而希望充分利用网络资源,找到新的业务增长点,增加业务收入,降低运营成本。
然而,随着近年来大批新的网络应用的出现,对于传统业务和网络的冲击也与日俱增,其中的代表有:点到点文件共享软件(P2P软件),如BT下载(基于BitTorrent协议的高效P2P文件分享下载)、电驴下载(eDonkey)等文件共享软件;即时通讯软件,如MSN(微软公司推出的即时消息软件)、QQ(腾讯公司开发的及时消息软件)等;VoIP软件,如Skype(免费语音通讯软件)等。根据调查显示,当前网络流量中有很大一部分来自于P2P应用,而这些P2P应用又无法很好地管理,给现有网络带来了较大冲击。此外,运营商也希望不断引入新的业务类型,提高运营收益。因此,如何管理现有网络业务流量和保证新业务的服务质量就成为当前和下一代网络需要考虑的关键因素。。
基于上述背景,业务感知技术得到了越来越多的重视。所谓业务感知,是指区分网络中不同业务流的技术。这里所说的业务流指的是具体的网络应用程序所对应的数据流。感知网络中各种业务流,对网络的管理、计费、安全、服务质量(QoS,Quality ofService)保证等都具有至关重要的意义:1)业务感知是实施网络QoS策略和安全策略的基础;2)业务管理模型可以根据业务感知的结果提供差异化服务供用户选择;3)业务感知技术是资源调度的前提,通过业务感知技术,业务管理系统可以准确及时地获取网络能力基线和资源需求基线,实现动态灵活的资源调度。
目前实现业务感知的技术主要有基于五元组检测的流分类方法、深度包检测技术、基于流的行为特性的识别技术。其中,基于五元组检测的流分类方法对数据包进行分析,解析出其五元组数据(源IP地址、源端口、目的IP地址、目的端口、协议号),然后根据该五元组数据同已有的应用类型进行比较,判断其属于哪种应用。例如,传统的Web服务通常使用80(或者8080)端口作为自己的服务端口,因此通过比较端口号,可以知道业务流中的数据包属于何种网络应用,这种方案策略简单,易于实施,对设备处理能力要求低,然而只适用于检测传统的具有固定端口号的网络应用(如Web服务、FTP服务等),如果新的业务类型(如P2P)采用了随机的或协商确定的端口号,这种办法就无能为力了。
在五元组检测方法的基础上,深度包检测方法更进一步,试图对应用层数据进行解析,然后将获取的关键字同已知的应用类型所使用的关键字进行匹配,从而识别业务类型。图2描述了一种使用深度包检测方法识别Kazaa应用(一种用于共享文件的P2P软件)的方法,其中TCP协议的载荷部分包含了Kazaa定义的协议内容,通过对Kazaa协议的分析,可以提炼出匹配关键字,如“HTTP”和“Kazaa”等;然后利用深度包检测方法将这些关键字同数据包中的TCP载荷内容进行匹配,如果匹配结果满足条件,则可认为该数据包属于Kazaa应用。然而,深度包检测方法存在很多不足:首先,这种方法理论上要对每个数据包的净荷(数据包中携带的有效数据)进行分析,若数据量较大,则要求硬件处理能力很高,策略也会相当复杂;其次,检测数据包的内容部分也会涉及到隐私保护的问题;再次,一旦应用程序对数据净荷进行了加密,该方法就不能奏效了;最后,深度包检测方法灵活性差,如果应用程序使用的协议发生改变或出现新的业务类型,就需要更改匹配规则。
与上述两种方法有些不同,现有基于流行为特性的识别技术力图通过对业务流中的数据包进行统计和特征分析,提炼出特定的流特征模式进行识别。以P2P应用为例,由于P2P应用基本上采取分布式网络结构,可以将网络传播直径作为判断依据,(网络传播直径:例如图1所示,A向B发起连接请求,B向C发起连接请求,C又向D发起连接请求,则传播路径为A->B->C->D,网络直径为3),根据这个特征,可以监测网络中传输的数据流,近似计算出网络传播直径,当其大于某个设定好的阀值(比如2)时,就认为这个数据流的应用类型为P2P应用。这种方法对协议变化不敏感,能够识别出加密数据流或新的数据流类型,然而该方法只能识别出流的大致类型(比如Web、P2P等),很难确定属于何种特定应用,比如能够识别出是P2P数据流,但是无法识别其采用了何种协议即具体的业务类型,如无法区分是BT下载还是电驴下载。
发明内容
由于上述现有技术无法快速高效地实现业务感知并识别发现新的业务类型,因此,本发明的主要目的在于提供一种实现业务感知的系统、方法及设备,不仅能够快速地识别已知的业务类型,也能够灵活、高效地识别出新的业务类型。
本发明提供的一种实现业务感知的系统是这样实现的:
一种实现业务感知的系统,包括:
数据包特性提取模块,用来解析输入的数据包流并从数据包中提取流的特征数据;
数据提取策略库,用来为数据包特性提取模块提供数据提取策略;
流模型实例构建模块,用来根据数据包特性提取模块输出的流特性参数建立流模型实例的集合;
识别策略库,用来为综合业务感知模块提供识别策略,从综合业务感知模块中获取并保存新的识别策略;
综合业务感知模块,用来对流模型实例集合进行分析,判断流模型实例是否和已有的识别策略相匹配,若匹配,则输出体现业务类型的识别结果;若不匹配,则生成新的识别策略,并输出识别结果。
其中,还包括:
策略映射模块,其功能在于:根据综合业务感知模块输出的识别结果,获取数据流对应的业务类型,并建立业务类型和对应的网络应用策略之间的映射。
其中,所述的数据提取策略、识别策略,为:
用形式语言描述的数据提取策略、识别策略。
其中,所述的流特征数据至少包括:
源IP地址、目的IP地址、源端口号、目的端口号、协议号、数据包大小、数据包数目、流的持续时间或流量之一。
其中,所述的综合业务感知模块,包括:
快速识别模块,其功能在于:根据已有的识别策略,用快速识别方法对流模型实例进行识别处理,并输出识别结果;
机器学习模块,其功能在于:对快速识别模块无法识别的流模型实例,使用机器学习的方法进行分析,将分析结果同已有的识别策略进行匹配,若能够匹配,则输出识别结果;否则,生成新的识别策略,并输出识别结果。
其中,所述的快速识别方法包括:
五元组检测方法、物理端口检测方法或有限数据包检测方法。
本发明提供的一种实现业务感知的方法是这样实现的:
设立识别策略库,动态地生成或调整识别策略;还包括步骤:
A)提取流特征数据;
B)构建流模型实例的集合;
C)对流模型实例进行感知,输出识别结果。
优选地,还包括:
D)建立业务类型和网络应用策略之间的映射。
其中,所述的步骤A为:
根据输入的数据流,从数据提取策略库中调取相应的数据提取策略,根据该数据提取策略从输入的数据包流中提取流特征数据。
其中,所述的步骤B为:
根据预先定义的流模型描述,结合输入的流特征数据,构建成流模型实例的集合。
其中,所述的步骤C为:
综合业务感知模块根据已有的识别策略,对输入的流模型实例进行感知,输出识别结果。
其中,当综合业务感知模块包括快速识别模块和机器学习模块时,所述的步骤C包括:
C1)快速识别模块采用快速识别方法对输入的流模型实例进行匹配处理;
C2)对于快速识别模块无法识别的流模型实例,机器学习模块采用机器学习的方法进行分析,将分析结果同已有的识别策略进行匹配,若匹配,则输出对应的识别结果;否则,生成新的识别策略,并输出识别结果。
其中,步骤C1中所述的匹配处理为:
对流模型实例进行分析,将流模型实例和已有的识别策略进行匹配,若匹配,则输出相应的识别结果;否则进入机器学习模块处理。
本发明提供的一种实现业务感知的设备是这样实现的:
一种实现业务感知的设备,包括
快速识别模块,用于根据已有的识别策略,采用快速识别方法对输入的流模型实例进行分析识别,输出识别结果;
机器学习模块,用于对快速识别模块无法识别的流模型实例,使用机器学习的方法进行分析,将分析结果与已有的识别策略相匹配,如果能够匹配,则输出相应的识别结果;否则,生成新的识别策略,并输出识别结果。
其中,所述的快速识别方法,包括:
五元组检测方法、物理端口检测方法或有限数据包检测方法。
本发明的有益效果是:
1、由于设置了数据提取策略库,可以针对不同数据源的数据采用不同的数据提取策略,更具针对性和灵活性;
2、由于引入了数据提取策略,这样就可以根据实际需求,从数据包中提取业务感知所需要的参数,而且参数范围不仅可以包括传统的五元组参数,还可以包括数据包大小、包数目等其他参数,通过对这些参数进行组合分析,可以得到相关业务应用数据流的更多信息。因此,有效弥补了传统五元组检测、物理端口号检测、流行为特性识别等方法的弊端,不仅能够识别出流的一般性类型,更能识别出具体的应用协议,从而确定具体的业务类型。
3、由于构建了流模型实例集合,起到了对数据包特性参数进行预处理的作用,可以为不同的业务类型建立对应的数据结构,这样,有利于业务类型的快速识别;
4、由于采用了快速识别和机器学习相结合的综合感知方法,既可以快速高效地识别传统业务类型,又可以动态的学习识别新的业务类型,从而成功避免了五元组检测等简单检测方法不能动态识别新业务类型的弊端;
5、由于在机器学习之前,首先进行快速识别,这样就减少了后续进行机器学习的数据流,大大降低了对于硬件处理能力的需求;
6、由于无需对每个数据包的净荷进行解析,因此不会涉及用户隐私等法律问题;
7、由于采用了灵活的机器学习技术,针对端口号随机分配或协商分配的数据流,以及净荷被加密的数据流,也同样能够高效地识别出对应的业务类型;
8、由于在识别的过程中,可以动态地学习并生成新的识别策略,因此,整个综合业务感知模块构成了一个自学习系统,无需频繁的人工设定,具有优秀的智能性和自动性;
9、由于可以根据网络状况等实际需求动态地生成或调整匹配策略,因此具有较强的灵活性,可以较好地适应不同的网络情况。
10、由于综合了现有业务感知技术的优点,并作出了进一步优化,因此,本发明完全可以适用于现有感知技术所应用的各种场合,更具适应性和健壮性。
附图说明
图1是现有技术中深度包探测方法示意图;
图2是现有技术中流行为特性识别方法示意图;
图3是本发明的系统示意图;
图4是本发明中流模型实例的数据结构示意图;
图5是Web应用模型示意图;
图6是本发明系统中快速识别模块和机器学习模块的工作流程示意图;
图7是4类不同应用数据流的数据包大小和时间的分布关系示意图;
图8是本发明的方法示意图;
图9是本发明的设备示意图。
具体实施方式
请参阅图3,在本发明所述系统的具体实施方式中,包括数据提取策略库,数据包特性提取模块,流模型实例构建模块,综合业务感知模块,识别策略库,策略映射模块。通过对输入的数据流进行一系列处理,感知出数据流所对应的业务类型。这里所述的感知就是指对特定数据流进行的分析识别等处理,从而判断出特定数据流所对应的业务类型。
所述数据特性提取模块的功能是负责解析数据包流,并根据数据提取策略提取数据流的特征数据,即流特性参数。数据包特性提取模块的输入为分组网络中交换机、路由器、防火墙设备、网关等设备的数据包流,输出为反映流特性的参数集合。提取的流特征数据可以包括:五元组参数(源、目的IP、源、目的端口号、协议);数据包的最小尺寸、最大尺寸、平均尺寸、数量、数据包到达的间隔时间、数据包分片等;数据流的持续时间;交互模式和批量传输模式下传输的数据量;连接处于空闲模式、交互模式和批量传输模式下所花费的时间。
所述数据提取策略库由具体的数据提取策略构成,数据提取策略描述了如何从分散的数据包中提取所需的流特性参数,包括参数的个数,范围和类型等。在本实施方式中可以采用可扩展标识语言(XML,Extensible Markup Language)描述数据提取策略,例如可以采用以下形式进行描述:
<?xml version=″1.0″?>
……
<Sample_Strategy>
<SrcIP>
<minOccurs>131.107.1.1</minOccurs>
<maxOccurs>131.107.1.10</maxOccurs>
</SrcIP>
<DstIP>157.60.15</DstIP>
<SrcPort>
<minOccurs>1024</minOccurs>
<maxOccurs>8000</maxOccurs>
</SrcPort>
<DstPort>80</DstPort>
<Protocol>TCP</Protocol>
<PacketSize>
<minOccurs>512</minOccurs>
<maxOccurs>1024</maxOccurs>
</PacketSize>
……
</Sample_Strategy>
该XML片断描述了一种数据提取策略,其含义为:数据包的源IP地址位于131.107.1.1到131.107.1.10间,目的IP地址为157.60.1.5,源端口位于1024到8000间,目的端口为80,协议为TCP,包尺寸位于512到1024字节间等。需要说明的是,在本发明的实际应用过程中,也可以用ASN.1(Abstract Syntax Notation One)等其他形式语言描述数据提取策略。数据策略提取库中包含多种数据提取策略,针对不同的数据源,可以分别提供相应的数据提取策略,由数据包特性提取模块对相应数据源的数据包进行处理,提取所需的流特性参数。这样就提高了特征数据提取的灵活性和效率。在本发明的实际应用过程中,用户可以通过修改提取策略描述动态地改变提取数据包特性参数的规则。
所述流模型实例构建模块的功能是根据流特征数据建立流模型实例的集合。流模型是对业务流抽象的描述,其定义了流的构成和特征。流模型实例是根据数据包特性提取模块输出的流特性参数,所构建成的符合流模型描述的数据结构。在本具体实施方式中,流模型采用以下形式:
Flow∷={
SrcIP(STRING), --源IP地址,字符串形式
DstIP(STRING), --目的IP地址,字符串形式
SrcPort(INTEGER), --源端口号,整数形式
DstPort(INTEGER), --目的端口号,整数形式
Protocol(ENUM), --使用的协议,枚举类型,如TCP,
UDP等。
PacketSize(INTEGER), --平均包大小,整数类型
PacketNum(INTEGER), --包数目,整数类型
Traffic(INTEGER), --流量,整数类型
Time(TIME), --持续时间,时间类型
PhysicalPort(IDENTIFIER)--物理端口号,标识符类型
… --其它标识流的参数
}
根据流模型描述,流模型实例构建模块根据流特征数据构建出流模型的实例。在IPv4中,每个流的实例可以通过IP地址和端口号相互区分,IPv6中除了采用IP地址和端口号进行区分外,对于某些应用还可以采用流标签(Flow Label)进行区分。该构建流模型实例集合的过程是一个将杂乱的数据包映射为逻辑流的过程,也是将提取的数据进行初步分类的过程,以便于后续的业务感知模块对流的数据进行处理和识别。本具体实施方式采用附图4所示的数据结构存储流实例,该数据结构用类似哈希表(Hash Table)的形式记录流实例的集合,对应每个流的表项包含一个唯一的标识符或键值用来区分不同的流并且可以快速的定位流。系统通过分析数据包的数据动态地构建和维护该表,当发现一个表中没有的键值时,可以构建一个新的表项,根据流模型的描述和提取的数据包的特性参数填写表中的属性值;若一段时间内没有相关流的数据包,可以删除相应表项。需要说明的是,在本发明系统的其他具体实施方式中,流模型以及流实例的数据结构可以采用其他实现类似功能的方式。
所述识别策略库用来向综合业务感知模块提供归纳好的、用某种形式化语言描述的识别策略。一种识别策略是某种网络应用模式区别于其它网络应用模式的特征的一种形式化描述。这些策略可以来自于对现有网络应用模式的分析及归纳,也可以来自于综合业务感知模块对新的网络应用进行机器学习而归纳出的新的识别策略。同时,识别策略中还包含了匹配精度,用来判断某个业务流是否同已有的网络应用模式相吻合,匹配精度可以由用户根据实际需求动态调整。附图5显示了一种典型的Web应用模式。其中主机A为Web服务器,主机B、C为Web客户端,通过Internet Explorer等浏览器和主机A通信。可以从该模型中得到Web应用区别于其他网络应用的一些特征:(1)采用TCP协议;(2)其数据流的源IP地址和端口为Web服务器的IP地址和端口号80(HTTP协议)或443(HTTPS协议),目的IP地址和端口为Web客户端主机的IP地址和无规律的端口号(客户端端口号一般由主机创建TCP连接时随机分配);(3)一个Web服务器会同时和多个客户端进行通信,客户端的端口号往往互不相同(因为端口号是随机分配的)。针对该应用模式,可以提取出Web服务器的数据流模式并采用XML语言描述该模式:
<?xml version=″1.0″?>
……
<WebServer_Flow>
<SrcPort> --源端口号
<Value>80</Value>
<Value>443</Value>
</SrcPort>
<DstDiffPort_Num> --具有不同端口号的目标连接数
<Value>5</Value>
</DstDiffPort_Num>
<Protocol> --使用的协议
<Value>TCP</Value>
</Protocol>
……
</WebServer_Flow>
在该描述中,Web务器数据流的特征包括:(1)源IP端口号为80或443之一;(2)源IP地址相同,具有不同的端口的目标连接数大于等于5;(3)使用协议为TCP。业务感知模块首先解析该XML描述加载识别策略,然后根据识别策略所描述的模式对流实例数据进行分析,并将分析结果与识别策略进行匹配。如果发现某个流满足Web服务流识别策略匹配精度的要求,则认为此数据流为Web服务流。此处的匹配精度由用户定义,可以通过调整匹配模型中参数的阈值来动态调整匹配精度,以适合网络的实际情况;如在上述的XML描述中,不同的IP/端口的目标连接数就是一个可以调整的阈值。对于新的网络应用模式,如果其属于某种已知的应用类型,则不需要定义新的匹配策略。例如需要识别一种新的P2P应用,但这种新的P2P应用的数据流模式可由现有的P2P匹配规则描述,则不需定义新的匹配策略;如果将要识别网络应用模式是全新的,则需要定义新的识别策略并加入到识别策略库中或修改已有的识别策略。需要说明的是本实施方式中采用XML语言描述识别策略,在本发明所述系统的其他实施方式中,可以采用ASN.1(Abstract Syntax Notation One)等其他形式语言描述识别策略,同时Web应用模式也可以表示为其他类似形式。
所述综合业务感知模块为本发明系统中的核心模块,该模块根据上述策略识别库中的提供的识别策略对流模型实例进行识别,从而输出识别结果;同时,对于无法识别的流模型实例,通过机器学习,归纳出新的识别策略,并将新的识别策略加入到识别策略库中,用来识别新的流模型。综合业务感知模块可以进一步分为两个模块:快速识别模块和机器学习模块。请参阅图6,该图描述了快速识别模块和机器学习模块的工作流程:首先,待识别的流实例集合进入快速识别模块进行处理,根据识别策略识别出容易识别的流,输出识别结果;其次,快速识别模块无法识别的流进入机器学习模块,机器学习模块对这些流进行分析归纳,然后和已有的识别策略进行比较,若符合既定的匹配精度,则认为匹配,输出识别结果;若不符合既定的匹配精度,则认为不匹配,则生成新的识别策略,并输出识别结果。下面对快速识别模块和机器学习模块做进一步解释:
快速识别模块采用传统的五元组检测、物理端口检测或有限数据包检测(只检测数据包载荷的少量部分)等比较简单快速的方法对流模型实例构建模块生成的流实例进行分析并和识别策略匹配。其中,有限数据包检测是指不对数据包的全部净荷进行检查,而只检查其中一部分的深度包检测技术。目前很多应用程序通过分析其应用层协议可以得知对应的类型,而应用层协议不少情况下又可以通过分析净荷数据的某一部分字节得到(如应用层协议首部一般都位于实际用户数据的前面),这种情况下就没有必要对所有的净荷数据进行分析,从而大大减少了计算量。一些传统的网络应用数据流,如Web、FTP等能够从端口号等参数上很容易地区分出来,因此可以在快速识别模块中就将这些流的数据从总的数据集合中分离出去。使用快速识别模块的目的是对容易识别的流进行高效地识别,起到一个预处理的作用,减少后续进入机器学习模块的数据。机器学习模块通常采用分类、聚类等复杂识别算法,相对效率较低,减少机器学习模块处理的数据可以极大地减少总体识别时间。
机器学习模块采用机器学习的方法对快速识别模块无法识别的流进行分析归纳,然后和已有的识别策略进行比较,判断是否匹配,若匹配,则输出识别结果;若已有的识别策略无法与之相匹配,则生成新的识别策略,并输出识别结果。本实施方式采用的机器学习技术可以是分类学习、关联学习、聚类或数值预测等,具体介绍如下:
1)分类学习(classification learning):采用某个已分类的样本集合表示学习方案,并从该样本集合中学习到对未来样本进行分类的方法。
2)关联学习(association learning):不仅仅是为了预测一个特定的类型,而是寻找样本集合数据之间的关联。
3)聚类(clustering):寻找能够组合在一起的样本,并按照组合进行分类。
4)数值预测(numeric prediction):预测数值量而不是离散类。
机器学习的输入是一个数据实例集合,由机器学习方案进行分类、关联或聚类。这些输入被称为实例(Instance),每个实例都是被用来学习的单一的、独立的样本。每个单一、独立的实例是由一组固定的预定义的特征或属性(attribute)值作为输入。数据挖掘的输出为学习到的数据中的结构形式。这些输出形式包括:
决策表(decision table):采用和输入同样形式的比较简单的输出规则。
决策树(decision tree):采用树形结构对学习结果进行输出。决策树的节点包含了对某个特定属性的测试;叶节点对所有到达叶节点的实例给出一个或一组分类,或是一个包括了所有可能分类的概率分布。
分类规则(classification rules):取代决策树的一种方法。在该方法中,一个规则的前提或先决条件是一系列的测试,而结论则给出适合与规则覆盖实例的一个或多个分类,或是给出实例在所有类上的概率分布。
关联规则(association rule):能够预测任何属性和属性的组合而不仅仅是类。关联规则不像分类规则那样被组合成一个规则来使用,不同关联规则揭示出规则集的不同规律,通常用来预测不同的事物。一个关联规则的覆盖量为关联规则能够正确预测的实例数量,称为支持(support),正确率称为置信度(confidence),为将正确预测的实例数量表示为它在关联规则应用所涉及的全部实例中占据的比例。
包含例外的规则:为分类规则的扩展,允许规则包含例外。它是现有的规则上使用例外表达法递增地修改规则集,而不需要重新建立整个规则集。
包含关系的规则:前面的规则假设了规则中的条件涉及一个属性值和一个常量的测试,这类规则称为命题。包含关系的规则能够描述样本之间的关系,在一些情况下比命题规则具有更直观和简练的描述。
基于实例的表达(instance-based learning):基于实例的表达保存实例本身,并将未知的新实例与现有的已知的实例联系起来进行操作。这种方法直接在样本上工作,而不是建立规则。该方法是懒散的,尽可能延缓实质性工作,而其它方法是急切的,只要发现数据就产生一个归纳。
聚类:通过机器学习到的是聚类而不是一个分类器,输出可以采用一个显示实例如何落入聚类的图形形式。聚类之后常伴随着推导出一个决策树或规则集的步骤,从而将每个实例分配到其所属的聚类。
作为一种优选的实施方案,在本实施方式中,机器学习的过程具体为:流实例的集合作为输入到机器学习模块的样本集合,每一个流实例可以看作是一个学习的实例,而构成流的参数,如源、目的IP地址,源、目的端口号,协议,包尺寸等,作为机器学习的属性集合;识别策略作为定义好的规则集;机器学习模块采用某种算法对流实例的集合进行学习并输出学习结果,该学习结果的形式反映了流实例集合内部的模式;机器学习模块进而根据该学习结果同已有的识别策略进行匹配,并判断是否符合预先设定的匹配精度,如果符合,则认为该流实例的集合属于识别策略对应的业务流类型,输出识别结果;如果不符合,则为对应的网络应用模式生成新的识别策略并存入策略识别库,输出对应的识别结果。在这里需要指出的是,所述匹配精度可以根据需求动态设定。
在本实施方式中,机器学习模块可以采用期望-最大化(EM,Expectation-Maximization,)算法对流实例集合的属性集进行处理,其学习目的是将流实例分为不同的聚类(cluster)。可以认为一个聚类中的流实例彼此具有某些相似度,而这些相似度是由流内部或流之间有关数据分布的潜在规则决定的,如不同应用的业务流的IP地址分布、端口号分布以及数据包的大小等参数都能够体现这些规则。图7描述了4类不同应用数据流的数据包大小和时间的分布关系,其中横轴为时间,纵轴为数据包的大小,深色数据点为客户端到服务器的数据包,浅色数据点为服务器到客户端的数据包。可以看出,这4类应用的分布存在着显著的差异,这些差异可以作为对不同应用的流进行聚类分析的基础。通过将聚类的特性和已知的应用业务流特性进行对比,可以识别出聚类的类型,从而也就知道了构成聚类的流的类型。EM算法是一种基于概率的聚类方法,这类方法采用了统计学的方法对实例进行聚类分析。从概率的角度来看,聚类需要解决的问题是如何在给定数据中找到最有可能的聚类,而我们很难从有限数量的实例集合完全推导出某个结论,因此实例无法被绝对地分到某个聚类,只能认为实例以一定的可能性属于某个聚类。统计聚类的基础是建立在有限混合(finite mixture)的统计模型之上的。混合是指用k个概率分布代表k个聚类,对于某个具体实例,每个分布给出假设其属于这个聚类,实例具有某种系列属性值的概率。每个聚类具有不同的分布,任何具体实例属于且只属于一个聚类,但是未知的。而且每个聚类不具有同等可能性,存在某种反映其相对总体数量的概率分布。EM算法可以发现混合模型中概率分布参数的最大似然估计。EM算法对每个聚类的模型参数进行初始的猜测,并迭代地进行两个步骤的处理以达到似然最大化。在第一步,计算聚类概率(即“期望的”类值),这个步骤是期望;第二步,计算分布参数,即对给定数据的分布进行似然“最大化”处理。迭代结束的条件是对数似然(log-likehood)的增值可以忽略不计。EM算法虽然能保证收敛于某个最大值,但可能是局部最大值而非全局最大值,因此必须使用不同的初始猜测参数值重复几次,选择总体对数似然值最大的聚类划分。需要说明的是,在本发明所述系统的其他实施方式中,除了EM算法,机器学习模块还可以采用多种机器学习方法对流数据进行学习。机器学习模块输出的识别结果可以是流实例中的数据包到业务类型的一个映射。如识别结果可以是流实例中的一个标记,该标记记录了流实例的业务类型。策略映射模块通过读取该标记可以得知对应的数据包所属的业务类型,从而可以对数据包进行进一步的相应处理。
策略映射模块:该模块根据综合业务感知模块输出的识别结果得知对应的数据包所属的业务类型,进而建立业务类型和具体的网络应用策略之间的映射。策略映射模块可以将业务类型映射到QoS、流管理、入侵检测等应用策略,再由对应的应用策略模块实现网络流量管理,入侵检测等功能。例如可以将映射结果输入到网络设备的QoS模块中,QoS模块可以根据这个映射关系对不同类别的流提供有差别的QoS服务。
请参阅图8,本发明方法的具体实施方式:
在系统中设立识别策略库,识别策略可以来自于对现有网络应用模式的分析及归纳,也可以来自于综合业务感知模块对新的网络应用进行机器学习而归纳出的新的识别策略;还包括以下步骤:
A)数据包特性提取模块根据输入的数据包流,从数据提取策略库中调用相应的数据提取策略,根据该数据提取策略从输入的数据包流中提取流特征数据;
B)流模型实例构建模块根据预先定义的流模型描述,结合输入的流特征数据,构建流模型实例的集合;
C)综合业务感知模块根据已有的识别策略,对输入的流模型实例进行感知,输出识别结果。
到这一步,本发明方法的目的已经实现,优选地,还可以进一步包括:
D):策略映射模块根据输入的识别结果,建立业务类型与网络应用策略之间的映射;
从而,应用策略模块根据映射结果为业务流提供相应的服务。
当综合业务感知模块包括快速识别模块和机器学习模块时,步骤C可以具体包括:
C1)快速识别模块先采用快速识别方法对输入的流模型实例进行匹配处理,输出识别结果;
C2)对于快速识别模块无法识别的流模型实例,机器学习模块采用机器学习的方法进行分析,然后,将分析结果同已有的识别策略进行匹配,若匹配,则输出对应的识别结果;否则,生成新的识别策略,并输出识别结果。
在这里,步骤C1中采用的快速识别方法包括五元组检测、物理端口检测或有限数据包检测等简单的识别方法,算法简单、效率较高,可以对容易识别的流进行高效识别,起到预处理的作用,从而大大减少了后续进入机器学习模块的数据流。C1中所述的匹配处理具体为对流模型实例进行分析,并根据预先设定的匹配精度将流模型实例和已有的识别策略进行匹配,若匹配,则输出相应的识别结果;否则进入机器学习模块处理。
步骤C2中采用的机器学习方法包括分类学习、关联学习、聚类、数值预测等方法中的一种或多种,本方法实施方式中特别采用了期望-最大化的算法进行机器学习。学习结果可以采用的形式包括:决策表、决策树、分类规则、关联规则、包含例外的规则、包含关系的规则、基于实例的表达、聚类等。需要特别指出的是:所述的匹配精度是可以根据实际需求动态设定的,从而实现了更大的灵活性和适应性,可以有效弥补深度检测等方法的不足。
请参阅附图9,本发明所述实现业务感知的设备具体包括:
快速识别模块,用于对输入的流模型实例进行快速识别,识别出传统的网络应用模式所对应的流实例,输出识别结果,从而将这些流实例对应的数据包从总的数据包集合中快速分离;
机器学习模块,用于对快速识别模块无法识别的流实例进行机器学习,将学习结果与识别策略库中的识别策略相匹配,如果能够匹配,则输出相应的识别结果;否则,生成新的识别策略,保存到识别策略库中,并输出识别结果。其中,快速识别模块可以采用传统的五元组检测、物理端口检测或有限数据包检测等方法。机器学习模块进行机器学习时使用的方法包括:分类学习、关联学习、聚类或数值预测方法。输出的学习结果可以采用的形式包括:决策表、决策树、分类规则、关联规则、包含例外的规则、包含关系的规则、基于实例的规则、基于实例的表达或聚类。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1、一种实现业务感知的系统,其特征在于,该系统包括:
数据包特性提取模块,解析输入的数据包流并从数据包中提取流的特征数据;
数据提取策略库,为数据包特性提取模块提供数据提取策略;
流模型实例构建模块,根据数据包特性提取模块输出的流特性参数建立流模型实例的集合;
识别策略库,为综合业务感知模块提供识别策略,从综合业务感知模块中获取并保存新的识别策略;
综合业务感知模块,用来对流模型实例集合进行分析,判断流模型实例是否和已有的识别策略相匹配,若匹配,则输出体现业务类型的识别结果;若不匹配,则生成新的识别策略,并输出识别结果。
2、如权利要求1所述的实现业务感知的系统,其特征在于,还包括:
策略映射模块,其功能在于:根据综合业务感知模块输出的识别结果,获取数据流对应的业务类型,并建立业务类型和对应的网络应用策略之间的映射。
3、如权利要求1所述的实现业务感知的系统,其特征在于,所述的数据提取策略、识别策略,为:
用形式语言描述的数据提取策略、识别策略。
4、如权利要求1所述的实现业务感知的系统,其特征在于,所述的流特征数据至少包括:
源IP地址、目的IP地址、源端口号、目的端口号、协议号、数据包大小、数据包数目、流的持续时间或流量之一。
5、如权利要求1所述的实现业务感知的系统,其特征在于,所述的综合业务感知模块,包括:
快速识别模块,其功能在于:根据已有的识别策略,用快速识别方法对流模型实例进行识别处理,并输出识别结果;
机器学习模块,其功能在于:对快速识别模块无法识别的流模型实例,使用机器学习的方法进行分析,将分析结果同已有的识别策略进行匹配,若能够匹配,则输出识别结果;否则,生成新的识别策略,并输出识别结果。
6、如权利要求5所述的实现业务感知的系统,其特征在于,所述的快速识别方法包括:
五元组检测方法、物理端口检测方法或有限数据包检测方法。
7、一种实现业务感知的方法,其特征在于,设立识别策略库,动态地生成或调整识别策略;还包括步骤:
A)提取流特征数据;
B)构建流模型实例的集合;
C)对流模型实例进行感知,输出识别结果。
8、如权利要求7所述的实现业务感知的方法,其特征在于,还包括:
D)建立业务类型和网络应用策略之间的映射。
9、如权利要求7所述的实现业务感知的方法,其特征在于,所述的步骤A为:
根据输入的数据流,从数据提取策略库中调取相应的数据提取策略,根据该数据提取策略从输入的数据包流中提取流特征数据。
10、如权利要求7所述的实现业务感知的方法,其特征在于,所述的步骤B为:
根据预先定义的流模型描述,结合输入的流特征数据,构建成流模型实例的集合。
11、如权利要求7所述的实现业务感知的方法,其特征在于,所述的步骤C为:
综合业务感知模块根据已有的识别策略,对输入的流模型实例进行感知,输出识别结果。
12、如权利要求11所述的实现业务感知的方法,其特征在于,当综合业务感知模块包括快速识别模块和机器学习模块时,所述的步骤C包括:
C1)快速识别模块采用快速识别方法对输入的流模型实例进行匹配处理;
C2)对于快速识别模块无法识别的流模型实例,机器学习模块采用机器学习的方法进行分析,将分析结果同已有的识别策略进行匹配,若匹配,则输出对应的识别结果;否则,生成新的识别策略,并输出识别结果。
13、如权利要求12所述的实现业务感知的方法,其特征在于,步骤C1中所述的匹配处理为:
对流模型实例进行分析,将流模型实例和已有的识别策略进行匹配,若匹配,则输出相应的识别结果;否则进入机器学习模块处理。
14、一种实现业务感知的设备,其特征在于,包括:
快速识别模块,用于根据已有的识别策略,采用快速识别方法对输入的流模型实例进行分析识别,输出识别结果;
机器学习模块,用于对快速识别模块无法识别的流模型实例,使用机器学习的方法进行分析,将分析结果与已有的识别策略相匹配,如果能够匹配,则输出相应的识别结果;否则,生成新的识别策略,并输出识别结果。
15、如权利要求14所述的实现业务感知的设备,其特征在于,所述的快速识别方法,包括:
五元组检测方法、物理端口检测方法或有限数据包检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100630196A CN100550909C (zh) | 2006-09-30 | 2006-09-30 | 一种实现业务感知的系统、方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100630196A CN100550909C (zh) | 2006-09-30 | 2006-09-30 | 一种实现业务感知的系统、方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1997007A true CN1997007A (zh) | 2007-07-11 |
CN100550909C CN100550909C (zh) | 2009-10-14 |
Family
ID=38251936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100630196A Active CN100550909C (zh) | 2006-09-30 | 2006-09-30 | 一种实现业务感知的系统、方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100550909C (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827089A (zh) * | 2009-03-02 | 2010-09-08 | 冲电气工业株式会社 | 加密通信量识别装置及具有该装置的加密通信量识别系统 |
CN101919226A (zh) * | 2009-04-03 | 2010-12-15 | 华为技术有限公司 | 服务质量控制方法和网络设备 |
CN102111822A (zh) * | 2011-01-04 | 2011-06-29 | 南京邮电大学 | 一种基于认知技术的物联网方法 |
CN101414939B (zh) * | 2008-11-28 | 2011-12-28 | 武汉虹旭信息技术有限责任公司 | 一种基于动态深度包检测的互联网应用识别方法 |
CN102420830A (zh) * | 2010-12-16 | 2012-04-18 | 北京大学 | 一种p2p协议类型识别方法 |
CN102739457A (zh) * | 2012-07-23 | 2012-10-17 | 武汉大学 | 一种基于dpi和svm技术的网络流量识别系统及方法 |
CN104243521A (zh) * | 2013-06-19 | 2014-12-24 | 北京思普崚技术有限公司 | 一种利用深度包检测技术进行p2p网络识别的方法 |
US9119219B2 (en) | 2009-12-31 | 2015-08-25 | Huawei Technologies Co., Ltd. | Bandwidth control method, apparatus and system |
CN105530138A (zh) * | 2014-09-28 | 2016-04-27 | 腾讯科技(深圳)有限公司 | 一种数据监控方法及装置 |
WO2016201876A1 (zh) * | 2015-06-18 | 2016-12-22 | 中兴通讯股份有限公司 | 一种加密流量的业务识别方法、装置和计算机存储介质 |
CN106452955A (zh) * | 2016-09-29 | 2017-02-22 | 北京赛博兴安科技有限公司 | 一种异常网络连接的检测方法及系统 |
CN109547475A (zh) * | 2018-12-25 | 2019-03-29 | 中电福富信息科技有限公司 | 基于本机网络数据流量采集的业务体验分析系统 |
CN111131072A (zh) * | 2019-12-23 | 2020-05-08 | 北京浩瀚深度信息技术股份有限公司 | 一种无埋点数据采集方法、装置及存储介质 |
CN112822066A (zh) * | 2020-12-31 | 2021-05-18 | 北京浩瀚深度信息技术股份有限公司 | 一种用于dpi设备的数据链路的测试方法及系统 |
CN113395367A (zh) * | 2020-03-13 | 2021-09-14 | 中国移动通信集团山东有限公司 | Https业务识别方法、装置、存储介质及电子设备 |
CN115801538A (zh) * | 2022-11-10 | 2023-03-14 | 云南电网有限责任公司 | 场站服务器应用资产深度识别方法、系统及设备 |
-
2006
- 2006-09-30 CN CNB2006100630196A patent/CN100550909C/zh active Active
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414939B (zh) * | 2008-11-28 | 2011-12-28 | 武汉虹旭信息技术有限责任公司 | 一种基于动态深度包检测的互联网应用识别方法 |
CN101827089B (zh) * | 2009-03-02 | 2013-10-30 | 冲电气工业株式会社 | 加密通信量识别装置及具有该装置的加密通信量识别系统 |
CN101827089A (zh) * | 2009-03-02 | 2010-09-08 | 冲电气工业株式会社 | 加密通信量识别装置及具有该装置的加密通信量识别系统 |
CN101919226A (zh) * | 2009-04-03 | 2010-12-15 | 华为技术有限公司 | 服务质量控制方法和网络设备 |
US9119219B2 (en) | 2009-12-31 | 2015-08-25 | Huawei Technologies Co., Ltd. | Bandwidth control method, apparatus and system |
CN102420830A (zh) * | 2010-12-16 | 2012-04-18 | 北京大学 | 一种p2p协议类型识别方法 |
CN102111822A (zh) * | 2011-01-04 | 2011-06-29 | 南京邮电大学 | 一种基于认知技术的物联网方法 |
CN102111822B (zh) * | 2011-01-04 | 2014-04-09 | 南京邮电大学 | 一种基于认知技术的物联网方法 |
CN102739457A (zh) * | 2012-07-23 | 2012-10-17 | 武汉大学 | 一种基于dpi和svm技术的网络流量识别系统及方法 |
CN102739457B (zh) * | 2012-07-23 | 2014-12-17 | 武汉大学 | 一种基于dpi和svm技术的网络流量识别方法 |
CN104243521B (zh) * | 2013-06-19 | 2017-06-09 | 北京思普崚技术有限公司 | 一种利用深度包检测技术进行p2p网络识别的方法 |
CN104243521A (zh) * | 2013-06-19 | 2014-12-24 | 北京思普崚技术有限公司 | 一种利用深度包检测技术进行p2p网络识别的方法 |
CN105530138A (zh) * | 2014-09-28 | 2016-04-27 | 腾讯科技(深圳)有限公司 | 一种数据监控方法及装置 |
CN105530138B (zh) * | 2014-09-28 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 一种数据监控方法及装置 |
WO2016201876A1 (zh) * | 2015-06-18 | 2016-12-22 | 中兴通讯股份有限公司 | 一种加密流量的业务识别方法、装置和计算机存储介质 |
CN106452955B (zh) * | 2016-09-29 | 2019-03-26 | 北京赛博兴安科技有限公司 | 一种异常网络连接的检测方法及系统 |
CN106452955A (zh) * | 2016-09-29 | 2017-02-22 | 北京赛博兴安科技有限公司 | 一种异常网络连接的检测方法及系统 |
CN109547475A (zh) * | 2018-12-25 | 2019-03-29 | 中电福富信息科技有限公司 | 基于本机网络数据流量采集的业务体验分析系统 |
CN111131072A (zh) * | 2019-12-23 | 2020-05-08 | 北京浩瀚深度信息技术股份有限公司 | 一种无埋点数据采集方法、装置及存储介质 |
CN111131072B (zh) * | 2019-12-23 | 2023-08-22 | 北京浩瀚深度信息技术股份有限公司 | 一种无埋点数据采集方法、装置及存储介质 |
CN113395367A (zh) * | 2020-03-13 | 2021-09-14 | 中国移动通信集团山东有限公司 | Https业务识别方法、装置、存储介质及电子设备 |
CN113395367B (zh) * | 2020-03-13 | 2023-04-28 | 中国移动通信集团山东有限公司 | Https业务识别方法、装置、存储介质及电子设备 |
CN112822066A (zh) * | 2020-12-31 | 2021-05-18 | 北京浩瀚深度信息技术股份有限公司 | 一种用于dpi设备的数据链路的测试方法及系统 |
CN112822066B (zh) * | 2020-12-31 | 2022-03-11 | 北京浩瀚深度信息技术股份有限公司 | 一种用于dpi设备的数据链路的测试方法及系统 |
CN115801538A (zh) * | 2022-11-10 | 2023-03-14 | 云南电网有限责任公司 | 场站服务器应用资产深度识别方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100550909C (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100550909C (zh) | 一种实现业务感知的系统、方法及设备 | |
CN102035698B (zh) | 基于决策树分类算法的http隧道检测方法 | |
Yun et al. | A semantics-aware approach to the automated network protocol identification | |
Vlăduţu et al. | Internet traffic classification based on flows' statistical properties with machine learning | |
CN103312565B (zh) | 一种基于自主学习的对等网络流量识别方法 | |
CN102571946B (zh) | 一种基于对等网络的协议识别与控制系统的实现方法 | |
CN101510873B (zh) | 基于支持向量机的混合式点对点流量检测方法 | |
CN103200133A (zh) | 一种基于网络流引力聚类的流量识别方法 | |
Yang et al. | Research on network traffic identification based on machine learning and deep packet inspection | |
CN104348716A (zh) | 一种报文处理方法及设备 | |
CN104320304A (zh) | 一种易扩展的多方式融合的核心网用户流量应用识别方法 | |
CN109151880A (zh) | 基于多层分类器的移动应用流量识别方法 | |
Cai et al. | An analysis of UDP traffic classification | |
Canini et al. | GTVS: Boosting the collection of application traffic ground truth | |
Hubballi et al. | BitProb: Probabilistic bit signatures for accurate application identification | |
Luxemburk et al. | CESNET-QUIC22: A large one-month QUIC network traffic dataset from backbone lines | |
Himura et al. | Synoptic graphlet: Bridging the gap between supervised and unsupervised profiling of host-level network traffic | |
CN101854330A (zh) | 互联网的网络应用采集与分析方法及系统 | |
Min et al. | Online Internet traffic identification algorithm based on multistage classifier | |
Oudah et al. | A novel features set for internet traffic classification using burstiness | |
Li et al. | High performance flow feature extraction with multi-core processors | |
CN106257867A (zh) | 一种加密流量的业务识别方法和装置 | |
Qin et al. | MUCM: multilevel user cluster mining based on behavior profiles for network monitoring | |
CN102098346B (zh) | 一种在未知流量中识别p2p流媒体流量的方法 | |
CN101854366A (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 |