基于分类算法与聚类算法流量识别系统的研究论文

基于分类算法与聚类算法流量识别系统的研究论文

ID:34034506

大小:2.92 MB

页数:74页

时间:2019-03-03

上传者:U-22107
基于分类算法与聚类算法流量识别系统的研究论文_第1页
基于分类算法与聚类算法流量识别系统的研究论文_第2页
基于分类算法与聚类算法流量识别系统的研究论文_第3页
基于分类算法与聚类算法流量识别系统的研究论文_第4页
基于分类算法与聚类算法流量识别系统的研究论文_第5页
资源描述:

《基于分类算法与聚类算法流量识别系统的研究论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

密级:保密期限:砖贡却童大警硕士研究生学位论文题目:基王佥耋复选皇塞耋复洼速量迟型系统的研究学姓专导学号:QZ鱼ZQ2名:崔旦嫂业:通信皇值:垦丕统师:一.鄞查匿4院:值皇量逗篮王程堂陵2010年1月10日 独创性(或创新性)声明IIIIIIqllll]LIIllIIIIllllIIIIllllqlllqILlqllLllIY1759657本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果.尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其它人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其它教育机构的学位或证书而使用过的材料.与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意.申请学位论文与资料若有不实之处,本人承担一切相关责任.本人签名:.垒A互盎j日期:至丑壁:l:12关于论文使用授权的说明学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学.学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文.(保密的学位论文在解密后遵守此规定)本学位论文不属于保密范围,适用本授权书.本人签名:壁出壶日期:圣!f!:f:f!、导师签名:—耸盏乳一日期:—望坐L2£卜 北京邮电大学硕上论文基于分类算法与聚类算法流量识别系统的研究摘要Internet已经成为人们生活和经济活动中一个不可或缺的重要组成部分,为了监测网络是否安全、高效、稳定地运行和维护,必须对网络流量的特征,网络流量的类别进行细致的分析和研究,这些对及时了解网络实时运行状态、网络行为特征、定位网络故障十分重要,同时对设计高效的网络系统,重新进行网络性能设施的配置和为不同的网络客户提供QOS控制起到了指导性作用。而所有的这些都必须建立在对网络流量识别的基础之上。许多传统技术已经不适应形势的发展,传统的网络流量识别技术尤其是应用层的流量识别技术面临巨大的挑战,当前网络流量和模式比过去要复杂得多。这些新兴的业务流具有以下特点:大量基于网络的应用被开发和广泛使用,这些应用的数量在将来还会持续的增长。许多新兴业务流都使用私有的应用层协议,这些私有的协议非常复杂,很难在格式和操作上进行理解和交流。这些新兴的应用所使用的端口号是不规则的,许多业务流使用一个大于1024的临时端口号作为缺省端口。许多业务流的缺省端口号并不在IANA端口列表中注册,许多为某个特定区域的用户所开发的应用也不将它们的端口号在IANA端口列表中注册。许多P2P和流媒体应用程序使用动态端口号在节点间进行通信。综上所述,由于网络流量和模式的复杂性,提出新的并且高效的网络流量识别技术已成为近年来国际上的研究热点,有关课题具有重大而又深远的意义。本文系统研究了机器学习原理、数据挖掘技术以及特征选择算法,深入研究了多种网络流量识别算法,创新地提出分别基于分类和基于聚类的网络流量识别系统,并对两系统进行了分析比较。作者主要完成了以下工作:1、系统的研究了网络流量识别技术的国内外现状及发展情况。2、系统的介绍了网络流量识别的各种技术并进行了分析比较;系统的介绍了机器学习原理、数据挖掘技术以及特征选择算法。3、考虑到基于端口的识别方法准确性比较低,而基于有效负载的方法的开销太大,促使利用应用连接到网络时的特征流的特点来识 北京邮电大学硕士论文别流量。本文提出两种流量识别系统:一种是综合基于端口号和层流量特征识别技术优点的分类算法流量识别系统;另一种是基类算法的流量识别系统。4、通过进行流量采集和测试,从正确肯定率、建模时间、时间、算法的模型描述简洁度、CPU使用率和内存消耗等指标对统的性能进行综合评估。5、通过对两系统的综合评估,从正确肯定率、实时性、端易变性、以及CPU使用率和内存消耗等方面对两系统进行了比较析了基于分类算法与基于聚类算法流量识别系统各自的优缺点用场景。关键字流量识别机器学习数据挖掘分类算法聚类算法n ABSTRACTMInternethasbecomeanintegralandimportantpartofpeople’Slivesandeconomicactivities,inordertomonitorthenetworkoperationandmaintenancewhethersafe,ef!ficient,stable,musttodoacarefulanalysisandresearchonthefeaturesofnetworktrafficandthecategoriesofnetworktraffic.nisisveryimportforunderstandingthenetworkreal-timeoperationstatus,networkbehavior,positioningnetworkfailuresintime,whilefortheefficientdesignednetworksystem,alsohasplayedaguidingroleinre—configuringnetworkperformancefacilitiesandprovidingfordifferentnetworkcustomers.AllofthesehavetobeestablishedonthebaseofnetworktraffiCidentification.Manytraditionaltechnologiesarenotsuitedtodevelopmentofthesituation,thetraditionalnetworktrafficidentificationtechnology,especiallytheapplicationlayertrafficidentificationtechnologyhasfacedenormouschallenges,forthecurrentnetworktrafficandpatternsismuchmorecomplexthanthepast.Thesenewbusinessestraffichavefollowingcharacteristics:alargenumberofW.eb.basedapplicationshavebeendevelopedandbeenwidelyused,thenumberoftheseapplicationswillcontinuegrowinginthefuture.Manyofthesenewbusinessestrafficuseprivateapplicationlayerprotocol,theseprivateprotocolsareverycomplexanddifficulttounderstandandcommunicateontheformandoperation.Thesenewapplicationsuseirregularportnumbers,andmanyofthenewbusinessestrafficuseatemporaryportnumberwhichisgreaterthan1024asthedefaultport.Manybusinessestraffic’Sdefaultportnumberdoesn’tregisterinthe㈣portlist,andmanydevelopedHI 北京邮电大学硕士论文businessesforparticularregionuserswon’tregistertheirportnumberintheIANAportlist.ManyP2PandstreamingmediaapplicationsUSedynamicportnumberstocommunicatebetweennodes.Inconclusion,duetothecomplexityofnetworktrafficandpatterns,proposinganewandefficientnetworktrafficidentificationtechnologyhasbecomeaninternationalresearchhotspotinrecentyears,therelatedsubjectshavegreatandprofoundsignificance.Thisdissertationresearchedintotheprinciplesofmachineleaming,dataminingtechnology,andfeatureselectionalgorithms,studiedavarietyofnetworktrafficidentificationalgorithms,inventedtwonetworktrafficidentificationsystemswhichbaseclassificationandclusterseparately,andmakeanalysisandcomparisonbetweenthetwosystems.Themainworksofthedissertationaresummarizedasfollows:1.Studiedsystematicallytheinternalandexternalnetworktrafficidentificationtechnologystatus.2.Describedsystematicallyavarietyofnetworktrafficidentificationtechnologyandalsodidanalysisandcomparison;describedsystematicallytheprinciplesofmachinelearning,dataminingtechnology,andfeatureselectionalgorithms.3.Takingintoaccounttheaccuracyoftherelativelylowport-basedidentificationmethod,whilethecostofthemethodbasedonpayloadistoolargetopromotetheuseofthefeaturetrafficcharactersofapplicationsconnectedtothenetworktoidentifytraffic.Inthispapef,twokindsoftrafficidentificationsystemsareputforward:oneisbasedonclassificationalgorithmwhichintegratesadvantagesofportnumberandtransportlayertrafficfeaturerecognitionidentificationtechnology;theotherisbasedontheclusteringalgorithm.4.Throughtrafficcollectionandtraffictesting,positivefromtherightrate,evaluatedtheperformancesofthetwosystemsbasedontruepositiverate,buildingmodeltime,testingtime,conciseofalgorithmmodelsdescription,CPUutilizationandmemoryconsumption.5.Throughacomprehensiveassessmentbetweenthetwosystems,comparedthetwosystemsbasedonthecorrectidentificationrateofalgorithm,real—time,variabilityofport,aswellasCPUutilityandIV 北京邮电大学硕士论文memoryconsumption.Analyzedthetwosystems,andpointedtotheirrespectiveadvantages,disadvantagesandapplicationscenarios.KEYWORDS:TrafficidentificationMachinelearningDataminingClassificationalgorithmClusteralgorithmV 北京邮电大学硕士论文 北京邮电大学硕士论文目录目录第1章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.1弓I言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..11.2国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21.3研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。31.4工作成果及论文结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4第2章流量识别技术与数据挖掘⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.1弓l言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.2网络业务流量识别技术的分析与比较⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。62.2.1基于端口号的流量识别技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.2.2基于特征字段的流量识别技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.2.3基于传输层的流量识别技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。102.3数据挖掘技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。142.4机器学习技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.152.4.1基本概念⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.4.2评估测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯162.5数据挖掘技术在流量测量中的应用分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯18第3章基于分类算法的流量识别系统设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.1网络识别分类算法的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.1.1决策树⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.1.2规则推理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.243.1.3K最近邻法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯253.1.4贝叶斯分类⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..253.1.5网络流量识别算法的比较分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.273.2系统的设计及实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.303.2.1网络流量识别分析系统框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯313.2.2数据采集和所用工具⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.323.2.3评估方法与过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯353.2.4评估结果与分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。36第4章基于聚类算法的流量识别系统设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.444.1网络识别聚类算法的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯454.1.1K-means聚类算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。46 北京邮电大学硕上论文目录4.1.2DBSCAN聚类算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯464.1.3K-medoids聚类算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。474.1.4CURE聚类算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..484.2系统的设计及实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯484.2.1系统框架及功能⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。484.2.2评估方法与过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。504.2.3评估结果与分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.504.3基于分类算法和聚类算法的流量识别系统的比较⋯⋯⋯⋯⋯⋯⋯⋯⋯53第5章结束语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯55参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。571改谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.60攻读学位期间发表的论文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯61Ⅱ 北京邮电大学硕.J二论文正文1.1引言第1章绪论随着近年来Intemet持续高速的发展,各种新的网络应用与需求层出不穷,网络承载业务也由传统的WWW、FTP和Email等应用逐步向包括语音、视频和数据等在内的综合业务及增值服务发展,VolP、在线游戏、视频会议、VoD点播、网上购物、电子银行和网上炒股等实时业务己经在Intemet得到广泛应用n1。而与网络规模不断扩大、带宽不断增加和宽带接入用户不断增长对应的却是用户的数量的迅猛增长、网络复杂性的提高和用户对网络连接速度与服务质量抱怨的增加。中国互联网络信息中心(删C)在2004年1月15日发布的第13次《中国互联网络发展状况统计报告》数据显示:截至2003年年底,我国网民数量己经达到7950万,上网计算机达到3089万台,网络国际出口带宽总数达到27216M,互联网已经发展成为国内增长最快、市场潜力最大的产业之一,而用户对当前互联网网络速度的满意程度为40.8%,对当前互联网总体满意度仅有38.9%,IP网络的服务质量(OoS)、可靠性和效率成为用户主要关心的问题。随着网络用户数量的指数增长、网络规模的飞速膨胀,使信息对我们的生活发生着“无网不入一的广泛而深远的影响。但是非关键业务的泛滥正导致运营网络的带宽资源被大量地消耗,影响了其他一些网络关键业务的正常开展。正是因为以上原因,近年来Internet流分类在学术和应用领域备受重视,已形成一个相对独立的研究领域。用户对各类Interact业务的服务质量要求越来越精细;网络管理者需要对各种业务流进行实时的监控与管理;网络服务提供商在规划和建设网络时需要了解网络各类业务流的状况;Intemet研究人员需要关注网络中各种流的特征及相应的用户行为等,这些都离不开Internet流分类技术。通过监控各类应用的网络流量,管理员可以及时发现设备故障,链路拥塞,用户带宽的使用状况等。此外,随着互联网的日益普及,网上传播病毒的种类与数量也越来越多,由此造成的危害也在不断升级。所以,如何有效遏制病毒传播是目前Internet急需解决的难题之一。Thomas等人提到乜】,如果一台主机利用一个或多个源端口扫描多台主机的同一个端口;或者是一台主机利用多个端口扫描另一台主机的多个端口,则这台主机发出的流很可能是攻击流。由此可见,通过识别可疑流,可以及时进行网络管理告警,达到预防病毒泛滥的目的。网络服务提供商通过流分类,可以获悉各类网络应用所占比例,预测网络业务的发展趋势。传统技术采用尽力而为的方式进行包转发,对吞吐量、延迟、延 北京邮电大学硕士论文正文迟抖动和丢包率没有任何保障,把传输损失都留给终端系统来处理,这对于过去以电子邮件传输和网页浏览为主的网络来说基本没有问题。最近几年,Intemet通信无论是在流量还是应用类型方面,都保持着飞速增长。同时音频,视频以及其它实时应用的加入,更是从根本上改变了人们对于Intemet的使用方式。为了适应电话、视频、对等网络应用(P2P,Peer-to-Peer)等新型业务的大量普及,要求新一代的互联网必须能够为不同应用提供不同级别的服务质量(OoS,QualityofService)保障,使用户得到更好的上网体验。因此,流分类已成为提供服务质量中不可缺少的重要手段。对于研究人员,在P2P应用出现之前,网络传输基本上都是遵循客户端/服务器(c/s,Client/Server)模式,从链路带宽设计考虑,他们自然而然地选择了某种数字用户线路(xDSL,xDigitalSubscriberline)模式,即上行带宽小,下行带宽大。然而,最近几年的研究报告表明瞄1,P2P已成为当前网络带宽的“杀手级”应用,其上传/下载比趋近于l,造成传统xDSL网络的上行链路极易拥塞。所以,流分类的另一个重要性在于能够及时了解网络上各种应用流量所占的带宽比例及其趋势,帮助研究人员更合理地规划网络资源,为用户提供更好的服务质量。因此,通过有效的技术手段,对网络流量进行识别以便管理和控制网络中的各种业务流量,为不同应用分配合理的带宽资源,提供不同级别的服务质量保障,是当前网络运营中面临的主要挑战之一。1.2国内外研究现状1.2.1传统网络流量识别技术●传统的流量识别技术主要是通过口地址、端口和协议号来识别,识别的数据介于OSI体系结构的2.7层H1。在早期的各种协议规范中,对于网络层、运输层和应用层上的协议有固定的协议号或端口来区分∞1,在报文分类时通过识别协议号或者端口来识别该数据包的类型晦1。传统的流量识别技术高效快速,易于实现,但是识别的种类有限。随着实时语音,视频数据流在各种网络业务中的应用,对网络流量识别技术也有了新的要求。,1.2.2技术发展现状近年在运输层之上的多媒体实时传输协议,如SIP、H.323,P2P文件传输协议,如Bittorrent、cDonkey和ICQ等,得到了广泛的应用。国内外在这方面的2 北京邮电大学硕上论文正文研究也逐渐发展起来,NationalChung-ChengUniversity的Chia—Yi根据H.323协议对网络流媒体的特征进行了分析,并且改进了传统网络设备中的分类器的体系结构口M。AT&T实验室的研究人员对P2P协议特征进行了分析阳儿101,并且首次提出一套对流量分类的评价体系。华盛顿大学的研究人员对华盛顿大学接入网的出入数据进行研究⋯儿捌,深入比较了P2P流量和传统流量的区别。最近几年的研究主要集中在:对报文分类算法的研究、对基于会话分类的研究、基于应用层内容分类的研究。对报文分类的经典算法:Lakshman和Stidialis提出的BV(BitVector)算法,FlorinBaboescu和GeorgeVarghese提出的ABV(AggregatedBitVector)算法,以及JiLi,HaiyangLiu,KarenSollins等人提出的改进型ABV算法AFBV算法。上述算法跟传统流量识别技术中的算法比较,在规则库中规则数目较多的系统实现中比较有优势。基于端口、会话、内容来识别和控制流量的宽带网络管理产品在国内外已经开始使用。大多数产品都是来自国外的公司,如:Packeteer公司的PacketShaper系列,PacketSeeker系列,NetGuard公司的Gu盯dianPro,CheckPoint公司的FloodGate。Packeteer公司的PacketShaper9500可以识别的网络数据种类有近300种。基于会话、内容的识别技术与传统的流量识别技术比较,识别的种类增多,特别是对于P2P流量的识别有明显的优势。但是由于P2P流量端口的动态分配、数据包上下文相关等特性n31,使得识别这类流量时消耗的资源也大大增加,对于协议未公开或者加密的P2P流量的识别也是流量识别中的一个难点。1.3研究意义P2P应用的泛滥正导致运营网络的带宽资源被大量地消耗,影响了其他一些网络关键业务的正常开展。因此,通过有效的流量识别技术手段,管理和控制网络中的各种业务流量,为不同应用分配合理的带宽资源,提供不同级别的服务质量保障,是当前网络运营中面临的主要挑战之一。Internet网络应用的发展要求下一代路由器必须有能力支持QoS,网络入侵检测、传输测量与记账、负载均衡、拥塞控制等一系列功能,因此要求采用不同的机制来实现这些功能。虽然实现这些功能的技术可能不尽相同,但它们都有一个公共的要求,即路由器应能够识别这些在网络节点处流入和流出的数据包。因此流量识别技术是许多网络技术的基础,它涉及到网络的控制、性能、安全、管理等多方面内容,流量识别技术的优劣直接影响到这些网络技术的性能。3 是综合基于端口号和基于传输层流量特征识别技术优点的分类网络流量识别分析系统,网络流量识别分析系统的实现为掌握网络运行情况,进行异常流量监测,分析和控制各种业务流量,以及为网络优化、网络规划和网络安全提供了一个新型的网络性能评估工具。2、考虑到基于端口和基于特征负载的方法存在着种种缺陷,本文又提出一种基于聚类的流量识别系统。此系统由两个模块组成,离线学习模块在离线状态下对采集的流量数据进行聚类,最后输出聚类的描述(聚类中心);在线识别模块对实时流量数据进行特征计算和归属簇匹配,对实时流量进行分类识别。3、通过进行流量采集和测试,从正确肯定率、建模时间、测试时间、算法的模型描述简洁度等指、CPU使用率和内存消耗等指标对两系统的性能进行综合评估。4、通过对两系统的综合评估,从正确肯定率、实时性、端口的易变性、以及CPU和内存消耗对两系统进行了比较,分析了基于分类算法与基于聚类算法的流量识别系统的优缺点及应用场景。本论文的研究工作紧扣上述发现的问题和相关内容而展开,整个论文共分为五章,论文的各章之间具有较为紧密的内在逻辑关系,具体的组织情况以及各章的内容概括如下:第一章是论文的引言部分,主要对现有传统互联网的现状进行了分析和描述,对网络流量工作的技术发展、必要性进行了阐述,从而阐明了本论文研究的背景、国内外研究现状、意义、目标以及关键研究内容等第二章论述了TCP/IP体系结构下的流量识别技术。然后针对不同的网络流量识别技术进行了比较分析,阐述了它们的优缺点以及流量识别技术的发展趋势,同时也对网络流量识别算法进行了比较分析。最后介绍了数据挖掘技术和机器学习技术应用于流量识别技术的巨大优势。第三章在以上章节对网络识别技术和算法研究与比较分析的基础上,提出了基于分类的网络流量识别分析系统,采用优先级一淘汰综合评估方法并基于15种有监督机器学习算法对系统进行了评估,系统能够正确地识别和分析业务流,并且基于C4.5算法时,系统的性能达到最优。4 北京邮电大学硕士论文正文第四章考虑到传统的流量识别难以适应新型网络的复杂流量特性,提出了一种基于聚类的流量识别分析系统,此系统由离线学习和在线识别两个模块组成,基于5中无监督的聚类机器学习算法对系统进行了评估,系统能够正确的识别和分析业务流。最后根据综合评估系统性能的数据,从正确肯定率、实时性、等方面对基于分类算法与基于聚类算法的两个流量识别系统进行对比分析,指出各自的优缺点及应用场景。第五章结束语总结了论文的主要成果和创新点,同时也指出了论文中尚待解决的问题并对下一步研究工作进行了展望。5 北京邮电大学硕士论文2.1引言第2章流量识别技术与数据挖掘随着近年来Intemet持续高速的发展,各种新的网络应用与需求层出不穷,VolP、在线游戏、视频会议、VoD点播、网上购物、电子银行和网上炒股等实时业务己经在Intemet得到广泛应用;同时网络用户数量也呈指数增长、网络规模飞速膨胀,但是非关键业务的泛滥导致运营网络的带宽资源被大量地消耗,影响了其它一些关键业务的正常开展,降低了网络性能,用户没有得到相应的服务质量,运营商也没有得到利润。因此,必须通过有效的技术手段,管理和控制网络中的各种业务流量,为不同应用分配合理的带宽资源,提供不同级别的服务质量保障,是当前网络运营中面临的主要挑战之一。流量识别在实现提供网络的“信息快照"的步骤中,有着非常关键的作用,同时也是对网络流量,为不同用户提供不同Qos控制、为不同的ISP提供健全的计费系统的前提。随着目前的因特网网络流量中传统的流量所占用的比例越来越低,而与此同时P2P流量和多媒体流量所占的比例越来越大,应用层流量识别的难度也不断增大。这些动态的流量削弱了原来的基于包识别方法和熟知端口号识别方法的精确度,由此造成了对网络性能评估和网络应用分析的的不准确性,因此通过有效的技术手段,对网络流量进行识别进而对分析整个网络流量的特征有着重要的意义。2.2网络业务流量识别技术的分析与比较随着网络带宽的不断提高,实时音频/视频,网络游戏,P2P文件共享等新应用不断出现,很大程度上改变了用户对于互联网的使用方式,导致网络业务应用流量的比例发生了根本性变化n引。传统的网络应用(如Http、FrP、TELNET以及SMTP等)具有统一的标准和规范,在实际运行中大多采用固定端口号进行通信,因此,对于这类应用协议,早期的网络管理员等可以根据数据包头截取的端口号码直接分类业务流量,并针对不同的应用执行不同操作,达到优化网络、提高服务质量的目的。然而,近年来一些新型应用协议基于安全性、灵活性等考虑,越来越多地使用动态端口号进行通信,如流媒体,网络游戏和P2P文件共享等n础;有的进行了加密(比如通过SSLVI'N进行远程接入访问内部局域网)。因此,原有的流量识别技术已不再适用,流量识别分类技术的研究面临着新的挑6 北京邮电人学硕士论文正文战。2.2.1基于端口号的流量识别技术对于采用固定端口号进行通信的应用,流量识别技术非常简单,通过截取TCP(图2.1TCP数据报文格式)以及UDP数据报(图2.2UDP数据报文格式)的5元组,将其中的端口号与业务应用类型一一对应起来即可,并且其准确性和实时性都比较令人满意,属于确定性的识别技术,即根据某些标准直接判断出数据包所属的协议。然而,随着各种新型应用的不断出现,网络地址转换(NAT,NetworkAddressesTransformation)以及代理技术的使用等,端口号已经无法作为识别流量的唯一标识。源端口目的端口发送序号接收序号U^PSr数据偏移保留RCSYI窗口GKHN校验和紧急指针选项和填充数据图2.2UDPff#.-据包格式但即使这样,基于端口号的流量识别技术因为实现原理简单,技术成熟,适用于高速网络上的实时流量识别分类,目前还未被完全淘汰。例如,在很多关于P2P流量特征的研究文献n61中仍然使用默认端口号作为P2P流量的识别方法。2.2.2基于特征字段的流量识别技术该方法常被称为深度包检测技术DPI(DeepPacketInspection)。主要用于识别P2P协议流量,此类流量占网络总流量的比例逐年增加,在很多网络中甚至超过了50%,所以,一旦能准确识别出P2P流量,则流量识别分类问题可谓已解决了一大半。这种方法基于应用层的内容来对网络流量进行识别,目前己经成为进一步细化网络流量识别技术的关键。深度包检测技术不仅仅检测网络层和传输层7 \它们之间的连接,BitTorrent服务器不负责为peers搜索文件,在BitTorrent网络中peers通过w曲上传种子文件(torrent),通过点击种子文件的超链接开始下载。因此,BitTorrent网络没有搜索阶段,通过研究传输阶段的数据段来提取特征值。peers之间的连接始终是以一个固定长度的握手消息开始的,于是可以通过提取如下的特征值来识别BitTorrentprotocol:(1)TCP载荷第一个字节的值是特征值19(0x13)。(2)接下来19个字节的值匹配于字符串“BitTorrentprotocol"。2.2.2.2eDonkeyprotocoleDonkey网络是由peers与eDonkey服务器组成n81。在搜索阶段,每一个peer通过TCP连接到一个eDonkey服务器上,并发送一个查询请求到它们的eDonkey服务器上,通过服务器来查找能够提供所需内容peers的信息;在传输阶段,peers通过TCP直接建立连接,然后下载各自所需的内容。可以通过提取如下的特征值来识别eDonkeyprotocol:8 北京邮电大学硕上论文正文(1)在TCP头后面第一个字节的值是eDonkeyMarker(Oxe3)。(2)接下来4个字节是packagcfength,其值是TCP数据段的长度减去eDonkey头(5字节)。2.2.2.3GnutellaprotocolGnutella是一个纯分布式协议,在GnuteUa网络中,每一个peer既是客户端又是服务器,因此客户端与服务器都集中在一个系统中,称之为servant。一个Gnutellaservant通过与另一个当前在网络中的servant建立连接来使自己与网络相连。一旦一个servant成功连接到网络上,它与其它servant通过发送和接收Gnutella协议描述字来搜索网络一这就是Gnutellaprotocol的搜索阶段;真正的文件传输阶段是通过HTlV协议在请求的servant与拥有请求文件的servant之间进行传输。通过提取如下的特征值来识别GnuteUaprotocol:(1)在TCP头后面的第一个字符串匹配于“GNUTELLA",“GET’’,或者“HTrP’’。(2)如果开始的字符串是“GET’’或“唧’’,将包括下面其中之一的字符串:User-Agent:(3-8)最好的分叉s’为误差测度降低最多的分叉:△EO’,f)一maxae(s,f)(3·9)生成递归树的策略是反复地分叉节点,这样最大限度地减少递归树的整体误差测度Eft)。因此,递归树的目标是:以一步超前、贪婪的方式,递归地分解分叉节点,使给定的合理误差测度最小。树剪枝阶段:一般情况下,由以上步骤生成的树的规模很大,而且与训练数据集有偏差,必须进行剪枝处理,基于最小代价复杂性或最弱子树收缩原理是CART算法运用的最有效的方法之一,该方法第一步是产生一棵充分张开的树k,这棵树拟合训练数据相当好,但规模较大,因此要寻找其中的最弱子树进行剪枝。考虑训练误差测度和终节点数目,即考虑树的复杂性指标,就可以找到最弱子树。(1)对于任意子树zck,定义其复杂度为T中的终节点数目ITl。那么代价复杂性测度Em定义为:瓦仃)一£仃)+口ITl,a是代价复杂度参数(3-10)(2)对于每个a,对应于给定的E仃),可以找到一个最小子树r(a):E仃(口))一,m,,inE仃)(3-11)(3)当a值增大时,r(a)一直保持最小,直到到达一个跳跃点a’,此时,树r0I)成为新的最小树。 北京邮电大学硕士论文正文设‰有L个终节点。采用逐步向上进行树剪枝的思想使得满足:能}一墨c⋯c瓦dc乏一‰(3-12)式中z:有i个终节点。(4)求树T的下一棵最小树。对于Tde的每个内节点t,求使得r一互为下一棵最小树的a值,记为q:q-端挚(3-13,(5)选择具有最小呸的内节点作为剪枝的目标节点。树的剪枝过程为:①计算互中每个内节点t的q值;②求最小q并选择Z一互为下次最小树;③判断是否只有一个根节点,若不是,则转①;④用独立测试(检验)数据集的方法选择最优规模树。3.1.2规则推理规则推理是用使用一组“IF⋯THEN"表达式来分类记录的技术,而产生这些规则的算法就是本章涉及的RIPPER、Ripple.down、DecisionTable和PART觥’未找粥佣蟊0下面以PART算法为例,说明规则算法的原理。Part算法从由C4.5算法建立的部分决策树中获取规则,利用C4.5的探索方法来生成树。Part算法避免了全局优化但能生成一个精确的,紧凑型的规则集。这个方法能将决策树学习所应用的分治策略和规则学习的割治策略结合起来。它是这样采用割治策略的,先建立一条规则,将规则所覆盖的实例去除,然后递归地为剩余的实例建立规则,直至没有剩余实例。它与标准方法的不同之处在于每条规则都是创建出来的。在本质上,创建一条规则就是先为当前的实例集创建一个经过修剪的决策树,将覆盖实例最多的叶节点转换成一条规则,然后丢弃这个决策树。这个算法的主要思路是建局部决策树而不展开整个树。局部决策树是一个普通的决策树,它包含了一些未定义子树的分支。为了建这样的树,将构建和修剪操作合成一体以便能找到一个“稳定"的,不能再简化的子树。一旦找到了这样的子树,建树过程即停止并从中读出一条规则来。其伪代码如下: 北京邮电大学硕士论文正文展开子集(S)E选择一个测试T,将实例集分裂为子集将子集按平均熵的升序排列当(存在一个未被展开的子集X,并且目前已展开的子集都是叶节点),则展开子集(X)如果(所有的己展开的子集都是叶节点,并且子树估计误差节点估计误差).取消子集的展开并且将该节点变为一个叶节点。3.13K最近邻法K最近邻法(Ⅺ州,KNearestNeighboo就是在Ⅳ个已知样本中,找出样本X的K个近邻。设这Ⅳ个样本中来自M类的样本有Ⅳ1个,来自%类的样本有Ⅳ2个,⋯,来自K类的样本有Ⅳc个,若毛,k2,⋯,七c分别是七个近邻中属于M,w29"I'9%类的样本数,则可以定义判别函数为:g,tx)一毛,f一1,2,⋯,c(3·14)决策规则为:若则决策g,@)一maxkilxE%这就是K最近邻法的基本规则。3.1.4贝叶斯分类(3·15)(3-16)朴素贝叶斯分类器基于贝叶斯公式中的先验概率和条件概率,它将事件的先验概率与后验概率结合起来,利用已知信息来确定新样本的后验概率。贝叶斯分类算法的目标就是求待分类样本数据在不同类中的最大后验概率,并将此样本数据归为具有最大后验概率的类,Naivebayes以及BayesNetwork都属于贝叶斯分类。朴素贝叶斯分类-器(NaiveBayesianClassifier,r、IBc)是贝叶斯分类模型中最简单,最有效的分类器。朴素贝叶斯模型假设特征向量的各个分量之间相对于决策变量是相对独立的,也就是各个分量独立地作用于决策变量,尽管这一假设在一 北京邮电大学硕上论文正文定程度上限制了朴素贝叶斯模型的适用范围,但是在实际的应用中,朴素贝叶斯分类算法是数据挖掘中一项重要的分类技术,可与决策树和神经网络等分类算法相互媲美,因而在实际应用中有着广泛的应用前景,并已经成功地应用到分类,聚类等数据挖掘任务中。假设:(1)设样本有n维4,4,...,4I属性(特征),每个样本可看作是n维空间的一个点Xt%,X2,...,t)。(2)假定有m种不同的类别(q,c2,∽c_)。x是一个未知类别的样本。预测X的类别为后验概率最大的那个类别,即算法将未知类别的样本流X归到类e,当且仅当P(cilX)>P(CjI石)(3-17)对于所有的j成立(1‘ism,12.『-:m,_『_f)即P(CiIX)最大。(3)根据贝叶斯定理得知P(qIx)一P(Xle)P(cf)/P(x)(3-18)P(X)对于所有类为常数,因此只需P(xIC)P(C)取最大即可。(4)类的先验概率P(C)由尸(ci)一墨/S估算。墨为训练样本集中属于类G的样本数,S为全部训练样本集的样本数。P(XIG)一P(X1lG)P(x:IC)..,(以lci)(3—19)(5)对未知样本x分类,计算P(XIC)P(cI)。样本流x被指派到类ci,当且仅当P(Xlc:)尸(e)>P(XICf)P(cf)(1妄fsm,1sj『sm,-『一i)(3—20)即x被指派到其P(XIC)P(cf)最大的类cl。3.1.4.2BBN算法贝叶斯网络算法的全称是贝叶斯信念网络(BayesianBeliefNetworks,BBN),贝叶斯网络是一种基于概率推理的有向图解模型,通过可视化的网络模型表达问题领域中变量的依赖关系和关联关系,适用于不确定性知识的表达和推理。它可以将具体问题中复杂的变量关系体现在一个网络结构中,以简洁的图论形式揭示变量之间的内在现象和本质。运用概率参数描述变量之间的关联强度,将繁琐的联合概率通过局部条件概 北京邮电大学硕士论文正文率紧凑地表达出来。贝叶斯网络最重要的一个特点是对现实世界的直接描述,而不是其推理的过程。贝叶斯网络主要由两部分构成,分别对应问题领域的定性描述和定量描述;(1)一部分为有向无环[虱(DirectedAcyclicGraph,DAG),通常称为贝叶斯网络结构。DAG由若干个节点和连接这些节点之间的有向边组成,节点代表问题领域的随机变量,每个节点对应一个变量。变量的定义可以是问题中感兴趣的现象、部件、状态或属性等,具有一定的物理和实际意义。连接节点之间的有向边代表节点之间的依赖或因果关系,连接边的箭头代表因果关系影响的方向性(由父节点指向子节点),节点之间缺省连接则表示节点所对应的变量之间条件独立。(2)另一部分为反映变量之间关联性的局部概率分布集即概率参数,通常称为条件概率表(ConditionalProbabilityTable,CPD,概率值表示子节点与其父节点之间的关联强度或置信度,没有父节点的节点概率为其先验概率。贝叶斯网络结构是将数据实例抽象化的结果,是对问题领域的一种宏观描述。而概率参数是对变量(节点)之间关联强度的精确表达,属于定量描述的部分。假定有一个包含n个变量的随机变量集V,用G表示有向无环图,L表示有向边的集合,P表示条件概率分布集,则一个贝叶斯网络模型用数学符号表示为:BN=(G,P)=(V,LP)(3-21)其中:G=(V,L)(3·22)V={Vl,V2,...,Vn’(3—23)L一{(K—K)lK,屹ev}(3·24)P一俨(KIK4,K一:,⋯,K),Kev}(3-25)根据概率的链规则,用P口;表示变量K的父节点集,则其联合概率分布为:P缈)一P形,%,...,K)t丌P形IPa;)(3-26)各r在贝叶斯网络中,节点t条件独立于给定父节点集的其他任意非子节点集,正是由于这种条件独立性假设,大大简化了贝叶斯网络中的计算和推理问题。3.1.5网络流量识别算法的比较分析综上所述,各类网络流量识别算法的特点如下:1、决策树算法通常具有以下特点:(1)决策树算法是一种构建分类模型的非参数方法。它不要求任何先验假设,不假定类和其他属性服从一定的概率分布。 北京邮电火学硕上论文正文(2)决策树技术不需要昂贵的计算代价,即使训练集非常大,也可以快速建立模型。并且,决策树一旦建立,未知样本分类非常快。在最坏情况下的时间复杂度是。佃),其中∞是树的最大深度。(3)决策树相对容易解释,特别是小型的决策树。在很多简单的数据集上,决策树的准确率可以与其他分类算法相媲美。(4)决策树是学习离散值函数的典型代表。然而,它不能很好地推广到某些特定的布尔问题。(5)决策树算法对于噪声的干扰具有相当好的鲁棒性。(6)冗余属性不会对决策树的准确率造成不利的影响。一个属性是冗余的,如果在数据中它与另一个属性是强相关的。在两个冗余的属性中,如果已经选择其中一个作为用于划分的属性,则另一个将被忽略。然而,如果数据集中含有很多不相关的属性(即是对分类任务没有用的属性),则某些不相关属性可能在树的构造过程中偶然被选中,导致决策树过于庞大。通过在预处理阶段进行特征选择,采用基于相关性的特征选择评估算法删除不相关属性,进而提高决策树的准确率。2、基于规则的分类器的特点(1)规则集的表达能力几乎等价于决策树,因为决策树可以用互斥和穷举的规则集表示。基于规则的分类器和决策树分类器都对属性空间进行直线划分,并将类指派到每个划分。然而,如果基于规则的分类器允许一条记录触发多条规则的话,就可以构造一个更加复杂的决策边界。(2)基于规则的分类器通常被用来产生更容易解释的描述性模型,而模型的性能却可以与决策树分类器相媲美。(3)基于规则的分类器(如:RIPPER)所采用的基于类的规则定序方法非常适用于处理类分布不平衡的数据集。3、最近邻分类器的特征(1)最近邻分类算法属于基于实例的学习,它使用具体的训练实例进行预测,而不必维护源自数据的模型。基于实例的学习算法需要一个邻近性度量来确定实例间的相似性或距离,还需要一个分类函数根据测试实例与其他实例的邻近性返回测试实例的预测类标号。(2)最近邻分类算法不需要建立模型,但是其分类测试样例的开销很大,因为需要逐个计算测试样例和训练样例之间的相似度;并且一旦模型建立以后,分类测试样例非常慢。(3)最近邻分类算法基于局部信息进行预测,而决策树和基于规则的分类器试图找到一个拟合整个输入空间的全局模型。正是因为这样的局部分类决策,最 北京邮电大学硕上论文正文近邻分类器(k很小时)对噪声非常敏感。(4)最近邻分类算法可以生成任意形状的决策边界,这样的决策边界与决策树和基于规则的分类器通常所局限的直线决策边界相比,能提供更加灵活的模型表示。最近邻分类算法的决策边界还有很高的可变性,因为它们依赖于训练样例的组合。增加最近邻的数目可以降低这种可变性。(5)除非采用适当的邻近性度量和数据预处理,否则最近邻分类器可能做出错误的预测。例如,假设想根据身高(以米为单位)和体重(以磅为单位)等属性来对一群人分类。属性高度的可变性很小,从1.5米到1.85米,而体重范围则可能从90磅到250磅。如果不考虑属性值的单位,那么邻近性度量可能就会被人的体重差异所左右。4、朴素贝叶斯分类器的特点(1)面对孤立的噪声点,朴素贝叶斯分类器是健壮的。因为在从数据中估计条件概率时,这些点被平均。通过在建模和分类时忽略样例,朴素贝叶斯分类器也可以处理属性值遗漏问题。(2)面对无关属性,该分类器也是健壮的。如果置是无关属性,那么P(Xi/D几乎变成了均匀分布。置的类条件概率不会对总的后验概率的计算产生影响。(3)相关属性可能会降低朴素贝叶斯分类器的性能,因为对这些属性,条件独立的假设已不成立。例如考虑下面的概率:一P(么-0IYzo)一0.4(3.27)P似一oIy一1)-0.6(3-28)P似-liY-o)一0.6(3·29)P似-1Iy-1)-0.4(3-30)其中,A是二元属性,y是二元类变量。假设存在另一个二值属性B,当Y-0时,B与4完全相关;当】,。1时,吾与A相互独立。简单地说,假设口的类条件概率与A相同。给定一个样本,含有属性A。0,Bt0,其后验概率计算如下:P∥一o[A-O,B=o)一坐坐等装掣。—0.16xP—(Y=0)(3.31)I-‘———————————_-——一.1。尸(it一0,B—o)P(y-1I彳-o,丑to)-!坠!=旦止};2£竽茇暑鬯毛产 北京邮电大学硕上论文正文0.36xP(Y=1)-‘·。‘。。‘。。。。-‘。‘‘‘__·_I_一P(at0,B一0)(3-32)如果P(1,一0)-P∥,-1),则朴素贝叶斯分类器将把该样本指派为类1。然而,事实上,P(彳to,B—olY—o)一P似aolY—o)-0.4(3—33)因为当Y一0时,曰与A完全相关。结果,y-0的后验概率是:P(y-。l彳一。,B一。)一!!兰L:』≥姜三;=三笔害掣.—0.4xP(—Y=0)(3.34)_———————。‘—·———_·—一1.1。.1‘●-P似;0’B—O)、7比Y一1的后验概率大,因此,该样本实际应该分类为类0。5、贝叶斯网络算法的特点贝叶斯网络算法的全称是贝叶斯信念网络(BayesianBeliefNetworks,BBN),它是用图形表示一组随机变量之间的概率关系。由于朴素贝叶斯分类器的条件独立假设太严格了,特别是对那些属性之间有一定相关性的分类问题,然而贝叶斯网络算法不要求给定类的所有属性都独立,而是允许指定哪些属性条件独立。具体特点如下:(1)BBN提供了一种用图形模型来捕获特定领域的先验知识的方法,网络还可以用来对变量间的因果依赖关系进行编码。(2)构造网络可能既费时又费力。然而,一旦网络结构确定下来,添加新变量就十分容易。(3)贝叶斯网络很适合处理不完整的数据。对有属性遗漏的实例可以通过对该属性的所有可能取值的概率求和或求积分来加以处理。(4)因为数据和先验知识以概率的方式结合起来了,所以该方法对模型的过分拟合问题是非常鲁棒的。3.2系统的设计及实现目前网络流量识别技术主要有基于端口和基于应用层的特征字段两种技术,由于越来越多的新型业务都不再使用固定的端口号和特征码字段,而是使用随机端口m1或者重复使用哪些认NNIIltemetAssignedNumbersAuthority)分配的缺省端口号口31,伴随着这些端口的使用,使得基于端口识别流量类型的技术已经不再 北京邮电大学硕:t论文正文是有效的;基于应用层协议标签的识别技术虽然避免了依靠固定的端口号,但是由于这种技术需要进行协议解析,它一方面增加了流量识别设备的处理负荷,同时识别设备还必须保持应用层语义和语法的及时更新,在处理私有协议以及加密流量方面,这种方法也是不可行的。3.2.1网络流量识别分析系统框架在进行几种网络流量识别技术以及算法研究的基础上,本文作者综合基于端口号和基于传输层流量特征识别技术的优点,提出了一种新型流量识别分类方案,并进行了研发与实现,其系统方框图如图3.1所示。根据规则,离线已确定类记录端别的漉操数口作据号数图库匹据形存配耒确定储过类月Ⅱ的漉挖显实时.{采集模块l模滤掘刁≮分模块模析块模块图3.1网络流量识别分析系统框架本章设计的网络流量识别分析系统主要由流数据采集模块、数据库存储模块、端口号匹配过滤模块、数据挖掘分析模块以及操作、图形显示模块组成,如图3-1所示:1、流数据采集模块采用了NetMate,该模块的功能是将所抓获的网络数据包,依据五元组,把相关数据包合成一个流,同时计算出流的特征,比如前后向包的大小、速率、时长、包到达间隔时间等,并且每隔一定时间将这些计算结果形成文本文件输出。2、数据库存储模块的主要功能是用来存储流记录,完成文件格式转换,配合数据挖掘分析模块完成挖掘分析功能。3、端口号匹配过滤模块根据IETF组织的一些RFC协议中的规定,设置一些规则,以过滤那些仍使用固定端口号的业务,确定它们的业务类型,以减少后续的数据挖掘模块的工作任务,提高识别速度,增强实时性。4、数据挖掘分析模块采用了WekaI州,该模块的主要功能是基于机器学习,31 北京邮电大学硕士论文正文采用数据挖掘技术,挖掘网络流量特征间的关联信息,进行网络流量的应用识别与分类。5、操作、图形显示模块是人机对话窗口,它提供了操作员操作界面,并将相应结果进行显示、也可以将结果保存成excel、文本文件等形式输出。该系统首先利用端口号匹配业务应用,以减少后续数据挖掘分析模块的数据输入,提高处理速度。同时,其原理简单,易于工程实现。因此该系统有较好的完整性;在准确性方面,根据前文分析,基于传输层的流量特征的识别技术的准确性非常高,并且象电子邮件、域名服务等传统应用至今仍使用固定端口号,所以,通常情况下其准确性应该能得到保障。最后,由于采用基于传输层的流量特征识别技术,因此这种流量识别分类系统的可扩展性较好,可以识另lJSkype等私有或者已经加密的业务应用流量。3.2.2数据采集和所用工具3.2.2.1数据采集为了评估网络流量识别分析系统,本文作者在不同的时间和地点,利用网络流量识别分析系统对现有的我国运营宽带网络进行了测试,得到了容量为10.8Gb,样本数达100多万条的域名解析业务DNS、网上语音业务VOIP、网页浏览业务web、流媒体业务(streammedia)、在线游戏game、文件下载fqp等业务的有效实测数据,测试方案方框图如下:图3-2数据采集示意图 北京邮电人学硕士论文正文本文作者从所采集的数据源中选择了几个业务流量的数据集,分析如下:表3.1数据源分析表数据采软件业务时代PUDPPacketsBytes集时段名称类型长占比/个/byte2009一12一16—02:22:19PPLive流20’3l’39.5759.64298436113612346—2009-03一16-02:42:50(P2P)媒体2009一12一13—20:23:14PPLive扫莨60’36。71.7924.32206581112011573—2009—03一13—2l:23:50(P2P)媒体2009-12_ol_02:5l:45Leadftpftp鸫’13。98.19O.45292478253468242—200伊-03—Ol一03:39:582009一12—05—2l:34:41Leadftpftp90’46’98.190.45259792219187965-2009-03-05-23:05:272009-12-06-06:13:31httpweb54’32’95.541.2112622719574-2009-03—06-07:08:032009一12一12—2l:14:08httpWeb45’12’84.46lO.7213055265903249—2009—03-12-21:59:203.2.2.2welm机器学习平台weka的全名是怀卡托智能分析环境(WaikatoEnvironmentforKnowledgeAnalysis),它的源代码可通过http://www.Cs.waikato.ac.nz/ml/weka得到。同时weka也是新西兰的一种鸟名,而weka的主要开发者来自新西兰。weka作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。 北京邮电大学硕士论文正文2005年8月,在第1l届ACMSIGKDD国际会议上,怀卡托大学的weka小组荣获了数据挖掘和知识探索领域的最高服务奖,weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。weka的每月下载次数已超过万次。(1)分类与回归weka把分类(Classification)和回归(Re目ession)都放在“Classify”选项卡中,这是有原因的。在这两个任务中,都有一个目标属性(输出变量)。我们希望根据一个样本(weka中称作实例)的一组特征(输入变量),对目标进行预测。为了实现这一目的,我们需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的模型。有了这个模型,我们就可以新的输出未知的实例进行预测了。衡量模型的好坏就在于预测的准确程度。在weka中,待预测的目标(输出)被称作Class属性,这应该是来自分类任务的“类”。一般的,若Class属性是分类型时我们的任务才叫分类,Class属性是数值型时我们的任务叫回归。(2)聚类分析聚类分析中的“类”(Cluster)i和前面分类的“类”(Class)是不同的,对Cluster更加准确的翻译应该是“簇”。聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;而不同簇实例之间的距离比较远。对于由数值型属性刻画的实例来说,这个距离通常指欧氏距离。K均值算法首先随机的指定K个簇中心。然后:1)将每个实例分配到距它最近的簇中心,得到K个簇;2.)分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。重复1)和2),直到K个簇中心的位置都固定,簇的分配也固定。上述K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。weka将自动实施这个分类型到数值型的变换,而且weka会自动对数值型的数据作标准化。3.2.2.3netmate介绍netmate是一个网络流量采集及分析软件,可以设定规则来获取你所需要的流量特征。 正文图3-3netmate模块设计netmate特点如下所示:l、很多东西都可以由配置文件直接配置。2、分析层中每个分析模块编译成独立的,可以在运行时候加载。3、流分组层只有按照TCP流或者UDP流的分组,没有其他分组方式,可能是没有想到这个需求,也没有提供扩充的接口。4、设计Rule的概念,一个Rule实际上包括一组报文的Filter,一组流的分析模块(它叫Proc模块),以及一组Action模块(它叫Export模块)。这样子,在配置文件里面可以配置多个Rule从而来完成不同的应用。5、它的Filter设计很有意思,一般的抓包软件只是说提供一些现成的Filter,比如口的前缀匹配,端121Range匹配等,然后在配置文件里面配黄。但是它的Filter是有一个FilterDef的配置文件先定义Filter,最大的好处是确实有很多东西并不是我们所能想到的,比如对于某个应用来说,也许在应用层的第9-10个字节是有其含义的,比如为1表示请求,为2表示回复,这样我们通过FilterDef定义文件就可以完成对应用的定义。netmate只是设计来统计流的特性的,没有更多的分析,把流的特性统计出来之后通过Export模块到文件或者其他机器上收集,然后分析由第三方软件完成。3.2.3评估方法与过程本文从采集的数据中随机选取了18000个流量记录,把这些流量记录分成数据集Datal、Data2、Data3(简写为DTl、DT2、D1r3)三个组,每组分为Web、StreamMedia(SlV0、DNS、Game、Ftp、VOIP六种业务类型,每种业务类型具有1000条记录。然后基于weka平台利用相关性特征选择和遗传搜索算法进行了属 北京邮电大学硕十论文正文性特征子集选择,得到了三个数据集对应的子集Datasetl、Dataset2、Dataset3(简写为DSl、DS2、DS3)。然后基于这六个数据集。运用这15种算法建立模型,利用十折交叉验证方法评估了分类模型。本文采用的评估方法为优先级.淘汰综合评估方法。根据每个评估指标在流量识别系统中依次考虑的重要程度进行优先级排名。首先在第一优先级选出评估指标最差的2个算法进行淘汰,在剩下的算法中依次根据各个优先级淘汰出评估指标最差的2个算法。最后剩下的算法即为各个指标综合评定最好的五种算法。最后根据每种评估指标的权值进行加权计算f35l,对5种算法进行综合排序。在这里,本文作者运用了内存消耗、CPU利用率、建模时间、测试时间、正确肯定率等五个指标(建模时间与测试时间属于计算复杂度方面的指标)。因此本文用Sm、Sc、Sb、St、Sp表示某项算法在内存消耗、CPU利用率、建模时间、测试时间、正确肯定率五个指标的基础值;而内存消耗、CPU利用率、建模时间、测试时间、正确肯定率五项指标在评估过程中的权值分别为Pm、Pc、Pb、Pt、Pp,所以某个算法的综合值为:S—PmxSm+PcxSc+PbxSb+PtxSt+ep×spf3.35)3.2.4评估结果与分析实验结果分析如下g3.2.4.1特征选择图3-4显示了每个数据集的不同属性特征表现整个数据集的性质的强度不同。尽管每个特征子集的内容不同,但是它们也趋向于某些相同的属性特征,比如minfpktl(标注“5",最小前向包长度)、meanfpktl(标注“6’’,平均前向包长度)、maxfpktl(标注“7’’,最大前向包长度)、stdfpktl(标注“8",前向包长标准差)、minbpktl(标注“9",最小后向包长度)、fpsh(标注“34”,前向PSH)、bpsh(标注“35’’,后向PSH)等,这些属性特征比其它的特征表现突出,本文就把这7个属性特征作为优化后的属性特征子集。 正文图3_4三个数据集的最佳特征子集3.2.4.2模型描述简洁度比较由于不同类型算法的模型描述的方式是不同的,通常决策树是用树的大小来表示I矧,而基于规则推理的算法则用规则条数描述,它们之间不具有可比性,因此没有将该指标纳入综合评估中。从表3.2可以看出,在决策树系列算法中,RandomTree是最复杂的;而在基于规则推理的算法中,DecisionTable是最复杂的。表3-2模型描述简洁度比较Ridor-down9938751012646l3.2.4.3建模时间比较表3-3分别显示了15种算法的利用全集作为训练集时以及运用7个属性特37 北京邮电大学硕!l:论文正文征的子集作为训练集时的平均建模时间。可以看出,在进行特征选择之后,KNN算法在建模时间方面几乎没有变化;RBFNetwork算法在进行特征选择之后,依据子集DS2、DS3建立模型的时间反而加长了;其它算法的建模时间都在缩减,一般平均降低为4"--5倍。效果最明显的是NBTree算法,前后相差33倍。在不同的算法之间,在使用全集时,NBTree算法对每个不同的全集来说,所需要的最长建模时间达到了几百秒数量级;KNN算法的建模时间是最小的,在几毫秒数量级:NaiveBayes、RandomTree等算法所需时间不到1秒。表3.3中的时问单位为秒。表3.3不同算法的建模时间比较在这里,本文作者将建模时间设定为第一优先级,因为在流量识别的建模过程中,需要把训练集调入内存,如果训练集数据很大,则相应的建模时间会很长,因此如果建模时间很长的算法其识别效率会很低,不能快速进行流量识别,这很难应用于实际工作中。因此,NBTree算法和RBFNetwork将被淘汰。 北京邮电大学硕士论文3.2.4.4测试时间比较表34分别显示了13种算法的利用全集和子集作测试时的平均测试时间。可以看出,在进行特征选择之后,算法C4.5、RandomTree、RandomForest、PART、CART、Rip.down、DecisionTable、RIPPER、BFTree等九个算法变化不大。像BayesNetwork、NaiveBayes、KNN等3个算法的测试时间是原来的1/2"'1/3,结果最好的是REPTree算法,测试时间仅是原来的1/5。但是KNN算法需要的测试时间最长,而RandomTree、RIPPER、CART、Rip.down的测试时间是最短的,前后相差了483倍。表3.4中的时间单位为秒。表3-4不同算法的测试时间比较在这里,本文作者将测试时间设为第二优先级,同建模时间一样,如果测试时间很长的算法其识别效率会很低,不能快速进行流量识别,这同样很难应用于实际工作中。KNN算法和REPTree算法将被淘汰。3.2.4.5不同算法的正确肯定率TP表3-5显示了运用6个数据集时11种算法的TP(TruePositive)正确肯定或者1’p正确分类的百分比(即面考焉×100%,通常称作准确率),尽管使用不同特征数 北京邮电大学硕士论文率也有了不同程度的提高。表3-5不同算法的分类正确率比较(%)40 北京邮电大学硕士论文正文表3.6同种算法的子集与全集的分类正确率比较(%)本文作者将分类的正确肯定率设定为第三优先级,能否正确的对流量进行识别,肯定是一个重要的考虑因素。这里Naivebayes算法和BayesNetwork算法将被淘汰。3.2.4.6CPU使用率和内存消耗表3.7显示了9种算法的平均CPU使用率。由于硬件的更新换代是如此之快,本文作者将CPU使用率设为第四优先级,将内存消耗设为第五优先级。表3.77种算法的CPU使用率RandomRalldomRidotDecision算法CA.5B虹盯CARrRipperBFn∞1kcForestdown1lablcCPU56.654.854.655.658.O56.171.457.454.8由表3.7我们可以得出DecisionTable算法和CART算法将被淘汰。表3.8显示了7中算法的平均内存消耗。从表中我们可以看出,BFTree算法和Ripper算法将被淘汰。表3-85种算法的内存消耗算法C4.5RandomTreeRandomForestn懈Ridor-downRipperBFIh圮CPU53132735127590055932635968527616656041 北京邮电大学硕士论文3.2.4.7评估分析在这次实验中,本文采用的评估方法为优先级.淘汰综合评估级淘汰,最后剩余5中算法。从表3-9中可以看出:在CPU利用率指标方面五种算法的CPU利用率相差不大,平均利用率是55.54%,最大的是C4.5算法的CPU利用率为56.6%,最小的是RandomForest算法的CPU利用率为54.6%,因此这项指标的评估权值设为Pc=0.5;在内存消耗方面,RandomForest平均使用了75900KB;C4.5算法仅平均使用了53132KB,各算法平均内存消耗为64414.4KB,五种算法都在50000"一70000KB,因此本文将内存消耗指标的权值设为Pm=0.6;在分类正确率方面,五种算法的准确率都在99%以上,所有算法的综合成功率为99.42%,各算法间的差异很小,因此,本文设定综合成功率指标的权值Pp=l:建模时间和测试时间两个指标已在上面的章节中进行了讨论,每种算法间相差较大,可区分度高,并且在实际的运用中,比其它指标更具有实际意义,因此本文将这两个指标的权值分别设为Pb=Pt=-O.1;最后根据每项算法的基础得分和权值,利用式(3.35)计算出它们的综合评估得分见表3-9。可以看出RandomTree的得分为59.32,其次为C4.5算法为56.31分,而Ridor-down算法的得分最低为40.23分。表3-9不同算法的评估得分比较本文作者理论联系实际测试工作的需要,首先定义并选取了在网络通信中容易理解的流量特征。基于决策树、规则推理、贝叶斯、神经网络等15种机器学习算法,利用所提出的优先级.淘汰综合评估方法,基于正确肯定率、建模时间、测试时间、内存消耗、CPU利用率和模型描述简洁度等指标进行了系统评估。42 北京邮电大学硕士论文正文本文作者发现特征选择技术是能够减少特征空间的,可以降低算法的计算复杂度。而对分类准确率仅具有较小的影响。还发现对于大部分算法在给定的数据集上,它们都能获得相似级别的分类准确率,因此运用标准的评估尺度比如:准确率、反馈率、精确度等区分这些算法是很困难的。本文发现还发现可以通过检查建模时间等计算复杂度指标,能够很好地区别算法。本文发现KNN算法的建模时间最短,但是它的测试时间却是最长的,这在实际的测试工作中,特别是在高速网络运用中,是最应该避免的。从综合评估得分来看RandomTree和C4.5算法是比较适合网络流量识别分类的,但是RandomTree比C4.5算法的模型描述简洁度复杂。因此,基于C4.5算法的网络识别分析系统的性能可以达到最优。 北京邮电大学硕士论文正文第4章基于聚类算法的流量识别系统设计与实现当前网络流量和模式比过去要复杂得多。这些新兴的业务流具有以下特点:大量基于网络的应用被开发和广泛使用,这些应用的数量在将来还会持续的增长。许多新兴业务流都使用私有的应用层协议,这些私有的协议非常复杂,很难在格式和操作上进行理解和交流,比如KaZaA,将在数据加密后才将数据流入网络,这样做是为了隐藏其行为以保护系统免受潜在的攻击。这些新兴的应用所使用的端口号是不规则的,许多业务流使用一个大于1024的临时端口号作为缺省端口。比如2003年1月份,在一个ISP骨干网上,TCP流量中使用临时端口号在总的TCP流量中的比例超过40%。许多业务流的缺省端口号并不在IANA端口列表中注册,许多为某个特定区域的用户所开发的应用也不将它们的端口号在IANA端口列表中注册。许多P2P和流媒体应用程序使用动态端口号在节点间进行通信。比如流媒体,它所使用的端口号和分发流媒体数据的协议是在客户端的服务器端协商时确定;在即时消息通信软件MSN中文件传输的端口号也是动态决定的;另外还有一些应用使用动态端口来避免被检测和控制。这些应用的特点使得基于端口的识别方法和基于特征负载的识别方法很难达到准确识别的要求。由于基于端口和基于特征负载的方法存在着种种缺陷,本文中提出使用一种称为聚类的机器学习方法,并只使用传输层的统计信息来识别流量。聚类分析是一个将数据集划分为若干组(Class)或类(Cluster)的过程,并使得同一个组内的数据对象具有较高的相似度;而不同组中的数据对象是不相似的。McGregor等人提出针对流量传输的某些属性,比如数据包的大小、到达时间间隔、字节数、连接持续时间等,把这些指标混合作为一个指标使用EM(ExpectationMaximization)算法来进行流量识别。Zander等人,提出基于AutoClass的EM算法对前一种算法进行拓展,利用客户端发向服务器端流的数据包长度作为分类的属性,并且识别率较高。但是EM算法在学习过程中需要花费很多的时间。本章首先介绍几种较为常用的聚类算法:K-means、DBSCAN、K-medoids和CURE,分别说明了这些聚类算法的原理和步骤;然后,提出基于聚类算法的流量识别系统,并通过建模时间、正确肯定率等指标对系统进行综合评估;最后从正确识别率、实时性、端口的易变性、以及CPU使用率和内存消耗等方面对两系统进行了比较。分析了基于分类算法与基于聚类算法流量识别系统各自的优缺点及应用场景。 北京邮电大学硕士论文正文4.1网络识别聚类算法的研究迄今为止,聚类还没有一个学术界公认的定义。这里给出Everitt[371在1974年关于聚类所下的定义:一个类簇内的实体是相似的,不同类簇的实体是不相似的;一个类簇是测试空间中点的会聚,同一类簇的任意两个点间的距离小于不同类簇的任意两个点间的距离:类簇可以描述为一个包含密度相对较高的点集的多维空间中的连通区域,它们借助包含密度相对较低的点集的区域与其他区域(类簇)相分离。事实上,聚类是一个无监督的分类,它没有任何先验知识可用。聚类的形式描述如下:令U-{p,.p2.⋯,P。】-表示一个模式(实体)集合,仇表示第i个模式i={1,2,...,n);Cc_u,t-1,2,...,l【,C一饥,P,2,⋯,氏};Uproximity(p。,.,既),其中,第1个下标表示模式所属的类,第2个下标表示某类中某一模式,函数proximity用来刻画模式的相似性距离。若诸类e为聚类之结果,则诸C需满足如下条件:⋯(1)U乞。C-U。套(2)对于Vq,Cc_u,c艉一C,有qnC1f2I(仅限于刚性聚类);彪W‰瓯,饥%,K‘剐童c_‘(p懈咖l毋(P。,n”>脚vP_,,一瓯。vcm.c-∞(proximity(p一,,,p匆”典型的聚类过程主要包括数据(或称之为样本或模式)准备、特征选择和特征提取、接近度计算、聚类(或分组)、对聚类结果进行有效性评估等步骤汹儿蚓。聚类过程:(1)数据准备:包括特征标准化和降维。(2)特征选择:从最初的特征中选择最有效的特征,并将其存储于向量中。(3)特征提取:通过对所选择的特征进行转换形成新的突出特征。(4)聚类(或分组):首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量;而后执行聚类或分组。(5)聚类结果评估:是指对聚类结果进行评估。评估主要有3种:外部有效性评估、内部有效性评估和相关性测试评估。在过去的研究中,很多聚类算法被使用于流量识别领域,比如K.means、DBSCAN、EM等。Cluster3.0软件就是通过K-means聚类来获得结果。而weka软件使用的是DBSCAN来获得结果。 作为新的簇中心点。但是K-means算法只适用于聚类均值有意义的情况。还有一个缺点就是用户必须事先指定聚类的个数K。K-means算法还不适合用于发现非凸形状的聚类,或具有各种不同大小的聚类。此#bK-means算法还对噪声和异常数据也很敏感,因为这类数据可能会影响到各聚类的均值。4.1.2DBSCAN聚类算法基于密度的算法把目标的密度作为考虑聚类的因素。这样的聚类算法比起基于划分的算法的优势在于该算法不局限于发现圆形的簇,可以发现任意形状的簇。在本文中,DBSCAN算法被当作基于密度算法的代表被选择。DBSCAN是一个基于密度的聚类方法。它将具有足够高密度的区域划分成簇,并可以在带有“噪声"的空间数据库中发现任意形状的聚类。它定义簇为密度相连的点的最大集合。DBSCAN算法使用阈值e和MinPts来控制簇的生成。其中,给定对象半径c内的区域称为该对象的c.邻域。如果一个对象的e.邻域至少包含最小数目MinPts个对象,则称该对象为核心对象。给定一个对象集合D,如果P是在q 北京邮电大学硕二E论文正文的e.邻域内,而q是一个核心对象,则说对象P从对象q出发时直接密度可达的。如果存在一个对象链pl,p2,⋯,pn,pl=q,pn=p,对piED,(1墨fsn),pi+l是从pi关于e和MinPts直接密度可达的。如果对象集合D中存在一个对象O,使得对象P和q是从0关于c和MinPts密度可达的,那么对象P和q是关于e和MinPts密度相连的。DBSCAN通过检查数据库中每个点的e.邻域来寻找聚类。如果一个点P的e.邻域包含多于MinPts个点,则创建一个以P作为核心对象的新簇。然后,DBSCAN反复地寻找从这些核心对象直接密度可达的对象并加入该簇,直到没有新的点可以被添加,该过程结束。4.1.3K-medoids聚类算法K-medoids聚类算法的基本策略就是通过首先任意为每个聚类找到一个代表对象而首先确定n个数据对象的k个聚类;其他对象则根据它们与这些聚类代表的距离分别将它们归属到各相应聚类中。而如果替换一个聚类代表能够改善所获聚类质量的话,那么就可以用一个新对象替换老聚类对象。这里将利用一个基于各对象与其聚类代表间距离的成本函数来对聚类质量进行评估。K-medoids聚类算法具体步骤如下:t输入:聚类个数K,以及包含n个数据对象的数据库。输出:满足基于各聚类中心对象的方差最小标准的K个聚类。。,处理流程:(1)从n个数据对象任意选择K个对象作为初始聚类代表;(2)循环(3)到(5)直到每个聚类不再发生变化为止;(3)依据每个聚类的中心代表对象,以及各对象与这些中心对象间距离:并根据最小距离重新对相应对象进行划分;(4)任意选择一个非中心对象Orandom;计算其与中心对象Oi交换的整个成本S;(5)若S为负值则交换Orandom与0,以构成新聚类的K个中心对象。它在初始选择K个聚类中心对象之后,不断循环每两个对象进行分析,以便选择出更好的聚类中心代表对象,并根据每组对象分析计算所获得的聚类质量。47 北京邮电大学硕士论文正文4.1.4CUI地聚类算法CURE(ClusteringUsingRepresentatives)是一种利用代表点进行聚类的算法14l】,每个簇有多于一个的代表点使得CURE可以适应非球形的几何形状。下面CURE算法的核心:(1)从源数据对象中抽取一个随机样本S;(2)将样本S分割为一组划分;(3)对每个划分局部地聚类;H)通过随机取样剔除孤立点。如果一个簇增长的太慢,就去掉它;(5)对局部的簇进行聚类。落在每个新形成的簇中的代表点根据用户定义的一个收缩因子口收缩或向簇中心移动。这些点代表捕捉到了簇的形状;佟)用相应的簇标签来标记数据。CURE算法使用代表点来确定聚类结果中簇的分布情况,这是可取的。然而,代表点是一组随机抽取的样本集,而且它的最初数目也是人为确定的,不太合情理。4.2系统的设计及实现4.2.1系统框架及功能该系统根据业务流的统计信息对应用层流量进行识别。首先需要从网络流量中提取出聚类算法进行聚类的识别指标;其次,系统可以支持多种不同的聚类算法对识别指标进行聚类,并提取出这些指标所潜在的特征;最后,‘系统需要根据聚类得到的业务流的特征来在线识别业务流的类型。 北京邮电大学硕士论文正文膏缱学习4.2.1.1离线学习模块簇的描述(簇中心)簇内包含的协议与提取出来的簇中心实行EuclideanDistance计算丐磊厩指定应用属于这个簇所包含的协议识别结束,成功标识应用或者未标识图如l基于聚类的网络流量识别系统的模块组成离线学习模块包括:(1)提取识别指标模块,网络流量直接从网口输入到系统,进入本模块,按照识别指标提取的办法来选择系统所需要的数据包,丢弃系统不需要的数据包;(2)算法聚类模块,在此模块中使用前述的三种聚类算法对识别指标进行聚类。分别根据三种聚类算法的要求设定好算法进行聚类时所需要的参数,并导入由识别指标所组成的训练数据集,进行聚类。(3)聚类完成后,离线学习模块输出两个结果用于在线识别模块,即聚类的描述(聚类中心)和聚类内包含的协议。4.2.1.2在线识别模块在线识别模块包括:(1)解析模块,本文的系统在线识别阶段把网络中的双方向(从客户端到服务器端和从服务器端到客户端)的流量作为输入,解析模块从中提取五元组(协议、源IP地址、目的IP地址、源端口和目的端口)和数据包的大小;分析模块去除不需要的连接并存储在双方向上每个数据包的大小,从中提取TCP连接的前N 由于本文要对基于分类和基于聚类的流量识别系统进行比较,所以还选择最小前向包长度、平均前向包长度、最大前向包长度、前向包长标准差、最小后向包长度、前向PSH、后向PSH这7个属性特征作为优化后的属性特征子集。4.2.3.2算法性能比较通过对各种常用聚类算法的分析,对各算法的性能从以下七个方面进行比较:算法的效率、能否处理大数据集、对异常数据的敏感性、适合的数据类型、发现的聚类形状、是否受初始聚类中心影响和对输入数据顺序的敏感性。算法性能比较见表4-l。 北京邮电大学硕十论文正文表4-1五种聚类算法性能比较4.2.3.3建模时间比较表4.2显示了6个数据集的5种算法对Web、StrearnMedia(SM)、DNS、Game专Ftp、VOIP六种业务类型数据进行聚类的时间,时间单位为秒。从表中可以看出,进行特征选择以后,五种聚类算法进行聚类的时间全都缩短了。K-means、DBSCAN、K-medoids三种算法全集的聚类时间大约为子集进行聚类时间的3倍,而CURE、EM两种算法全集和子集进行聚类的时间相差不大。表4.2五种不同聚类算法的建模时间比较4.2.3.4不同算法的正确肯定率TP表4.3显示了运用6个数据集的5种算法对Web、StreamMedia(SM)、DNS、Game、Ftp、VOIP六种业务类型数据的TP(TruePositive)iE确肯定或者正确分类的百分比(即而粤茜×100%,通常称作准确率)。由表4-3可以看书K.mea璐、DBSCAN、K-medoids三种算法识别率很高,能够达到90%以上。51 北京邮电大学硕士论文正文表4-3五种不同聚类算法的正确率比较(%)4.2.3.5系统评估分析在这次实验中,本文同样使用和分类算法也使用的加权综合值来评估五种聚类算法的综合性能。从表4.4中可以看出:在CPU利用率指标方面每种算法的CPU利用率相差不大,在90%上下浮动,因此这项指标的评估权值设为Pc=0.9;在内存消耗方面,消耗最大的为K-means,为82336KB,最小的为EM算法为50648KB,各算法平均内存消耗为70634KB,因此本文将内存消耗指标的权值设为Pm=0.7;在分类正确率方面,除了CURE和EM算法,其余三种算法都达到90%以上,所有算法的综合成功率为78.8%。由于在线识别模块要使用欧氏距离公式与离线分析学习到的特征(通过聚类算法分簇得到的簇中心)计算距离,把进行计算的流暂时归属于与其距离最近的簇。因此此指标比其他指标更具有实际意义,本文设定综合成功率指标的权值Pp=2;建模时间,每种算法间相差较大,但是应用于离线学习状态,对在线识别没有影响,意义不是很大,所以将设定Pb=.0.1;最后根据每项算法的基础得分和权值,利用式(3.35)计算出它们的综合评估得分见表4.4。可以看出DBSCAN的得分为27.O,其次为K-means和K-medoids算法,而CURE和EM得分较低。表4—4五种不同聚类算法的评估得分比较 北京邮电大学硕上论文正文本文作者发现特征选择技术是能够减少特征空间的,可以降低算法的计算复杂度。而对聚类准确率仅具有较小的影响。本文发现还发现可以通过检查建模时间等计算复杂度指标,能够很好地区别算法。本文发现EM算法的建模时间最短,但是它的算法识别率却是最低的,这在实际的测试工作中,特别是在高速网络运用中,是最应该避免的。从综合评估得分来看DBSCAN、K-means、和K-medoids三种算法是比较适合网络流量识别分类的,但是DBSCAN算法的进行聚类的时间比其它算法长很多。因此,基于K-means和K-me面ids算法的网络识别分析系统的性能可以达到最优。4.3基于分类算法和聚类算法的流量识别系统的比较以上章节通过分别对基于分类算法和基于聚类算法的流量识别系统在正确肯定率、建模时间、测试时间、内存消耗、CPU占用率五项指标的测试和分析综合评估了两个系统所使用的每种算法。下面将从几个方面对比分析两个系统:(1)正确肯定率..由前面15种分类算法和5种聚类算法对6个数据集的正确肯定率的测试结果,我们可以看出分类算法中RandomForest、KNN、C4.5等算法的正确肯定率能够到达99%以上,而聚类算法中正确肯定率最高的K-means、K-medoids、DBSCA三种算法在92%左右。这主要是因为对于有监督学习的分类算法,训练集的每个流的类别属性在学习前是知道的,分类模型是建立在训练集的基础上,然后利用这个模型预测未知的流量类别。对于非监督聚类是没有预先定义样本的类别属性,而是由算法根据数据集的特性决定聚类数目和统计性质。所以分类算法的正确肯定率相对于聚类算法要高。(2)流量识别的实时性由表3.3和表4.2关于建模时间的测试数据,我们可以看出来聚类算法在建模时间上远远超过分类算法。但是聚类算法的建模时间是在离线学习模块中,在线识别模块使用欧氏距离公式与离线分析学习到的特征(通过聚类算法分簇得到簇中心))计算距离,把进行计算的流暂时归属于与其距离最近的簇,如果流与暂时归属的簇之间的距离在这个簇的半径之内,则判断这个流是属于这个簇的,即认为这个流是属于这个簇所包含的协议的流;如果不在,则认为这个流属于未知流量。这些过程全部是用程序实现的,所用时间很短,可以不用考虑。而基于分类算法的流量识别系统必须把训练集调入内存,因此这限制了它可以运算的训练集的大小,当训练集很大时,系统的运行速度就会很慢。LaurentBernaille等人在文献提出早期应用检测技术。研究指出在TCP连接的前四个包的业务特征能够正确识别已知应用类型的业务的肯定率达到90%,而且对未知类型的新业务53 北京邮电大学硕上论文正文的识别率能够到达60%以上。通过分析TCP连接的前四个包,可以有效的减少离线学习模块进行聚类的时间,从而可以达到真正的在线实时流量识别。(3)端口的易变性传统的分类方法基于在IANA端口列表中注册的端口号,比如WEB应用程序所使用的端口号是80、8080还有443。在传统的方法中,关键端口是指小于1024或出现在IANA端口列表中的端口,根据这些端口,可以很容易的判定其相应的应用程序名字。而现在许多新兴业务流都使用私有的应用层协议,这些私有协议非常复杂,很难在格式和操作上进行理解和交流,比如KaZaA,将在数据加密后才将数据流入网络,这样做是为了隐藏其行为以保护系统免受潜在的攻击。这些新兴的应用所使用的端口号是不规则的,许多业务流使用一个大于1024的临时端口号作为缺省端口。而聚类算法是使用传输层的统计信息来识别流量的,可以不用基于业务的端口号,这样能够的识别新兴的未知其具体协议特征的业务。(4)CPU和内存消耗由表3-9和表4.4两系统评估结果,可以看到聚类算法和分类算法在内存使用率上没有明显差异,’但是在CPU使用率上聚类算法远高于分类算法。由于聚类算法的建模是在离线状态下,因此不影响它在线识别的效率。而且硬件更新换代的速度是如此之快,本文作者认为这不会成为聚类算法识别效率的障碍。综上所述,对于数据量很大的未知新型业务流量,应用前期应用检测技术,根据TCP连接的前四个包的业务特征,使用基于聚类的流量识别系统能够很好的对未知类型的新业务进行识别,同时可以保证流量识别的实时性;而对于已知应用业务类型的流量,同时所含数据量较小,可以使用基于分类的流量识别系统,这样能够保证有很高的业务识别率,同时也能够保证进行实时的流量识别。 正文第5章结束语流量识别分析研究是网络流量领域的一项基础研究,旨在提高对网络流量的检测和识别能力,它是网络性能分析、QoS保证和通信网络规划设计的基础。流量识别分析系统是现代网络管理系统中一个重要的组成部分,它可以使网络管理人员掌握网络的特性,掌握网络流量的组成和变化,以进行合理地调配网络资源,实现网络的高效管理,也可以便于研究人员了解网络中的用户行为、各种业务流的特征、整个宽带网络的运行情况等信息,以提出新的网络协议、网络架构,以及与之相应的改进方案,总之开展网络流量识别技术可以提升网络的可管理性和可控制性,为研究宽带网络优化,网络规划、网络安全,流量控制、未来网络发展以及网络结构体系变革打下基础,因此具有重要的理论意义和应用前景。论文作者理论联系实际,主要的研究工作总结如下:1、由于传统的网络流量识别技术难以适应当今复杂网络形势,提出并实现了一种是综合基于端口号和基于传输层流量特征识别技术优点的分类网络流量识别分析系统,网络流量识别分析系统的实现为掌握网络运行情况,进行异常流量监测,分析和控制各种业务流量,以及为网络优化、网络规划和网络安全提供了一个新型的网络性能评估工具。2、考虑到基于端口和基于特征负载的方法存在着种种缺陷,本文又提出一种基于聚类的流量识别分析系统。此系统由两个模块组成,离线学习模块在离线状态下对采集的流量数据进行聚类,最后输出聚类的描述(聚类中心);在线识别模块对实时流量数据进行特征计算和归属簇匹配,对实时流量进行分类识别。3、通过对两系统的综合评估,从正确肯定率、实时性、端口的易变性、以及cPU使用率和内存消耗等方面对两系统进行了比较。分析了基于分类算法与基于聚类算法流量识别系统各自的优缺点及应用场景。论文关于网络流量识别理论与关键技术的相关研究虽然取得了一些成果,但是还有很多的问题尚待更深入地研究和解决。根据论文研究过程中的思考和体会,作者认为下一步应继续在以下几个方面开展相关研究:1、论文基于机器学习,运用数据挖掘技术提出了网络流量识别分析系统,在后续的研究工作中,可以将其扩展运用到入侵检测、流量预测等相关领域。2、论文得出基于决策树c4.5算法时,系统的识别分类性能比较好,但是并不是每种算法都是完美的,由于决策树C4.5算法在进行运算时,必须把训练集调入内存,因此这限制了它可以运算的训练集的大小,当训练集很大时,系统的运行速度就会很慢,所以,在后续的研究工作中,应开发实现SPRINT等并行算法55 北京邮电大学硕士论文正文在这个系统的运用,提升网络流量识别分析系统的性能。总之,关于网络流量测试技术的研究任重而道远,只有在不断学习研究的基础上,不断地发现新的问题并解决这些问题,才能使网络流量识别分析落到实处,才能逐步提升网络性能,改善用户感知度。 北京邮电大学硕士论文正文参考文献[1lMYungSupKim,HunJeongKnag,andJamesW.Hong.TowardsPeer-to—PeerTrafficAnalysisUsingFlows[C],LectureNotesinComputerScience2867,EditedbyMarcusBrunner,AlexanderKeller,14mIFH'/IEIEEInt’l,Woksh叩OnDistributedSystems:OperationsandManagement(DSOM2003),Heidelberg,Germany,Oct.2003:55-67.【2]KaragiannisT,PapagiannakiD,FaloutsosM.BLINC:MultilevelTrafficClassificationintheDark[C].ACMSIGCOMM,Philadelphia,PA,USA,August2005.【3]PlissonneauLCosteuxJLBrownP.AnalysisofP∞r-t0一PeerTrafficonADSL[J].PassiveandActiveNetworkMeasurement,2005,3431:69"82【4]GerberAHouleJ,NguyenH,eta1.1'2PTheGorillaintheCable【C】.NationalCable&TelecommunicationsAssociation.NationalShow.Chicago,IL,June2003.【5]SaroiuS,GummadiKP,DunnR.J,eta1.AnAnalysisofInternetContentDeliverySystems【C1.In:Proceedingsofthe5如SymposiumonOperatingSystemsDesignandImplementation,2002.【6]SenS,WangJ.Analyzingpeevm-peerUafficacrosslargenetworks【C】.In:ProceedingsofACMSICJCOMMIntemetMeasurementWorkshop,Marseilles,France,November2002.【7]YoungJ.Won,Byung-ChulPark.Hong·TackJu,Myung-SupKim,andJamesW.Hong.’tAHybridApproachforAccurateApplicationTrafficIdentification,”IEEFflFIPE2EMON,Vancouver,Canada,April3:l-8.【8]Moore^PapagiannakiKTowardtheAccurateIdentificationofNetworkApplications【C】.PAM,2005,3:211-219.,【9]AT&TLabs.Available:http://www.att.com/.【10]T.Karagiannis,八Broido,N.Brownlee,kcclaffy,andM.Faloutsos.File-sharingintheIntemet:AcharacterizationofP2Ptrafficinthebackbone.Technicalreport,2004.http://www.cs.ucr.edu/tkarag.f11]IPP2PIntroduction[EB/OL].http://www.ipp2p.org.【12]ApproachestoControllingPeer-to-PeerTraffic:ATechnicalAnalysis【EB/OL].http://www.p-cube.com.2005.10.【13]HunmadaT,Chujol(,ChujoT,eta1.Peer-to—PeerTrafficinMeetroNetworks:Analysis,Modeling,andPolicies[J].IEEE,2004:425.f14】SebastianZander,ThuyNguyen,GrenvilleAnnitage,AutomatedTrafficClassificationandApplicationIdentificationusingMachineLearning[C1.In:ProceedingsoftheIEEEConferenceonLocalComputerNetworks30thAnniversary(LCN’05),2005:34-41.【15]AnssiTauriainen.ASeltleamingSystemforP2PTrafficClassification[C].HUTT-110.551 北京邮电大学硕士论文正文SeminaronIntemetworking,2005-04-26.f16]SubhabrataSen,OliverSpatscheck,andDongmeiWang.Accurate,scalableinnetworkidentificationofp2ptrafficusingapplicationsignatures.Proceedingsofthe13thinternationalconferenceonWorldWideWeb,Pages:512-521.NewYork,NY,USA,2004.1171刘刚,方滨兴,胡铭曾,等.BitTorrent流量的捕获方法及自相似性的评价【J】.计算机应用研究,2006,23(5):205.206f18]eDonkey2000protocolspecification[EB/OL].http:ffhydranode.com/docs/ed2k/ed2kproto.phpf19】BleulH,RathgebEP.ASimple,EfficientandFlexibleApproachtoMeasuremultiprotocolPeertoPeerTrafficfJ】.NetworkingICN2005,2005,3421:606~616.【20]ThomasKaragiannis,AndreBroido,MichalisFaloutsos,andKcdaffy.Transportlayeridentificationofp2ptraffic.InIMC’04:Proceedingsofthe4thACMSIGCOMMconferenceonIntemetmeasurement,NewYork,NY,USA,2004,pages:121—134.【21】ThomasKaragiannis,KonstantinaPapagiannakiandMichafisFaloutsos.Blinc:multileveltrafficclassificationinthedark.SIGCOMMComput.Commun,Rev,35(4),2005.:229-240.【22]ZanderS,NguyenT,ArmitageG.AutomatedTrafficClassificationandApplicationIdentificationusingMachineLearning【C1.In:ProceedingsoftheIEEEConferenceonLocalComputerNetworks30thAnniversary,2005.【23]NetMatefEB/oL】(http://sourceforge.net/projects/netmatemeter/)(August2005).【24]ZanderS,NguyenT,ArmitageG.SelflearningIPTrafficClassificationBasedonStatisticalFlowCharacteristics【J】.PassiveandActiveNetworkingMeasurement,2005,3431:325—32.【25]CheesemanP,StutzJ.BayesianClassification(Autoclass):TheoryandResults【A】.In:FayyadU,etal,eds.AdvancesinKnowledgeDiscoveryandDataMining,MenloPark,CA:AAAIPress,1995.【26]CacheLog/cResearch.TheTruePictureofP2PFmSharing[EB/OL].(http://WW3V.cachelogic.com/home/pages/research/p2p2004.php)(March2006).[27]OuinlanJR.CA.5:ProgramsforMachineLearning【M】.SanMateo,Calif."MorganKaufmann,1993:17-42.【28]BreimanLRandomforests.【M】MachineLearning.2001.45(1):5—32.【29]BreimanL’FriendmanJH,OlshenR八StoneCJ.Classificationandregressiontrees.Wadsworth,Inc.,Belmont,Califomiz,1984.[30]RonKohavi.ScalingUptheAccuracyofNaive—BayesClassifiers:ADec/sion-TreeHybrid[C].In:SecondInternationalConferenceonKnoledgeDiscoveryandDataMining,1996.202.207. 北京邮电大学硕士论文正文【31]JeroraeFriedman,TrevorHastie,RobertTibshirani.Additivelogisticregression:Astatisticalviewofboosting.【M】Annalsofstatistics.2000,28(2):337-407.[32]BleulH,RathgebEP.Asimple,efficientandflexibleapproachtomeasuremulti-protocolpeer-to-peertraffic[C】.4thInternationalConferenceNetworkingICN2005,ReunionIsland,France,Apr2005,3421(2):606-616.【3311ANA[EB/OL].2007-12/200801http:llwww.iana.org/assignments/port—numbers.【34]WaikatoEnvironmentforKnowledgeAnalysis(WEKA)3.5.7【EB/OL]2006-07/2008-01.http://www.CS.waikato.ac.nz/ml/weka/.【35】马永立,钱宗珏,寿国础,胡怡红.新型网络流量识别分析系统及其性能评估【J】.仪器仪表学报,2.008,29(4)S:697-701.【36]MaYongli,QianZongjue,ShouGuochu,etaLStudyonpreliminaryperformanceofalgofithrmfornetworktrafficidentification[C].The2008InternationalConferenceonComputerScienceandSoftwareEngineering.Wuhan:IEEEComputerSociety,2008:629-633.【37】JainAK,DubesRC.AlgorithmsforClusteringData.Prentice-HallAdvancedReferenceSeries,1988.1--334.⋯:【38]JainAKDuinRPW,MaoJC.Statisticalpatternrecognition:Areview.IEEETram.onPatternAnalysisandMachineIntelligence,2000,22(1):4-37.【39】SambasivamS,TheodosopoulosN.AdvanceddataclusteringmethodsofminingWebdocuments.IssuesinInformingScienceandInformationTechnology,2006,(3):563-579.[40]HuangZX,MichaelKAnoteonK-modesclustering.JournalofClassification,2003,20(2):257-26.【41】毛国君,段立娟,王实,等.数据挖掘原理与算法(第二版)【M】.北京:清华大学出版社,200"1. 怀一颗感恩的心,感谢所有曾给予我关心、鼓励、支持和帮助的人们!最后感谢各位评委老师在百忙之中抽出宝贵时间认真审阅本文。崔月婷2010年1月于北京邮电大学 北京邮电大学硕士论文正文攻读学位期间发表的论文【1】崔月婷.基于.NET的飞信机器人文件分析管理系统.中国科技论文在线【J】.2009年11月.61

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭