(计算机科学与技术专业论文)面向应用的流量识别算法研究和实现.pdf_第1页
(计算机科学与技术专业论文)面向应用的流量识别算法研究和实现.pdf_第2页
(计算机科学与技术专业论文)面向应用的流量识别算法研究和实现.pdf_第3页
(计算机科学与技术专业论文)面向应用的流量识别算法研究和实现.pdf_第4页
(计算机科学与技术专业论文)面向应用的流量识别算法研究和实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科技大学研究生院学位论文 摘要 随着互联网的应用越来越广泛和深入,带宽越来越高,出现了许多新型的基 于网络的应用程序,这些应用程序具有比传统应用程序更加复杂的交互结构和流 量模式,具有许多新型的特点;上面这些特性使得很难在应用层上对因特网上的 流量进行分析。本文将在应用层上对网络流量进行分析,着重研究应用层的流量 识别和刻画,焦点集中在下面这个关键的问题上:如何从因特网流量上识别单个 应用程序所产生的流量? 许多传统技术已经不适应形势的发展,传统的网络流量分析技术尤其是应用 层的流量分析技术面临巨大的挑战,本文就是在这种背景下,对应用层的流量识 别算法进行研究,具有比较重要的意义。它对于网络规划、网络问题检测、网络 使用记账收费甚至异常流量诊断、网络流量预测等都具有比较重要的价值,可以 使我们对网络上纷繁复杂的流量有个更加清晰的认识;同时它更加完善了流量分 析理论,可使用户识别因特网中的绝大部分流量,并且能够分析这些流量;流量 监测和分析是网络管理的基础,它对于推动网络管理理论的研究也具有比较重要 的作用,网络管理者可以利用流量监测和分析的结果来进行性能管理、故障管理、 安全管理的研究。 本文首先对s f l o w 技术进行了深入研究,提出了基于s f l o w 技术的流量分析架 构,并在银河0 4 1 2 网管系统中实现基于s f l o w 技术的流量分析及性能管理模块。 该模块能够对s f l o w 数据包进行捕获、解码、整合,实现了流层的流量识别;并 且基于s f l o w 数据信息,实现了网络性能管理。 接着在对当前的流量识别算法进行深入分析研究的基础上,给出了一种基于 流亲戚关系分组的面向应用的流量识别算法,它的主要思想就是仔细探究同一个 应用程序所产生各流的相关依赖性,根据各流间的相关依赖性将流分组,同一组 中的流可以认为是同一个应用程序产生的,该方法并不对包的有效载荷进行检测, 因此效率和可适应性明显增强。 基本实现了所提出的流量识别算法的核心模块,对所提出的算法进行了验证, 分析了该算法的性能;结果表明,该算法运行良好,在一定的条件下,时间开销 较小,并且具有较强的可扩展性。 主题词:流亲戚关系分组,流亲戚关系计量,应用程序特征表,s f i o w ,流量 分析架构 第i 页 国防科技大学研究生院学位论文 a b s t r a c t w i t ht h ee x p a n d i n gu s a g eo fi n t e r n e ta n di n c r e a s i n gb a n d w i d t ho fn o y o r k , t h e r e a r eal a r g en u m b e ro fn e w l ye m e r g i n gn e t w o r ka p p l i c a t i o n s ,w h i c hh a v em o r e c o m p l i c a t e dc o m m u n i c a t i o nm o d e sa n dt r a f f i cp a t t e r n st h a nt r a d i t i o n a la p p l i c a t i o n sa n d m a k ei td i f f i c u l tt oa n a l y z et h ei n t e m at r a f f i c t 挝st h e s i sa n a l y z e st h en e t w o r kt r a f f i c a tt h ea p p l i c a t i o nl e v e la n dc o n c e n t r a t e so nt h ea p p l i c a t i o n - l e v e lt r a f f i ci d e n t i f i c a t i o n a n dc h a r a c t e r i s t i c w ef o c u so nt h ef o l l o w i n gk e yq u e s t i o n , i e h o wt oi d e n t i 母t h e t r a f f i cf r o mi n d i v i d u a la p p l i c a t i o n ? m a n yt r a d i t i o n a lt e c h n o l o g i e sc a n ta d a p tt ot h ed e v e l o p m e n to ft h es i t u a t i o na n d t h et r a d i t i o n a lt e c h n o l o g yo fn e t w o r kt r a f f i ca n a l y s e , e s p e c i a l l yt h et r a d i t i o n a l t e c h n o l o g yo fa p p l i c a t i o n - l e v e ln e t w o r kt r a f f i ca n a l y s i s f a c eg r e a tc h a l l e n g e u n d e rt 1 1 i s s i t u a t i o n , t h i st h e s i sg i v e sr e s e a r c ho nt h ea p p l i c a t i o n - l e v e lt r a f f i ci d e n t i f i c a t i o n , w h i c h h a sg r e a ts i g n i f i c a n c e t l l i sr e s e a r c hi sm u c hv a l u a b l et om a n yr e s e a r c hf i e l d s s u c ha s n e t w o r kp l a n n i n g , n e t w o r kp r o b l e md e t e c t i n g , n e t w o r ku s a g ea c c o u n t i n g , & c o i la n o m a l y t r a f f i cd e t e c t i o n ,a n dn e t w o r kt r a f f i cp r e d i c t i o ne t c ,a n dg i v e sab e t t e ru n d e r s t a n d i n gt o t h ec o m p l e xn e t w o r kt r a f f i c i nt h em e a nt i m e t h i sr e a s e a r c h 锄a l s oe n r i c ht h et h e o r y o fn e t w o r kt r a f f i ca n a l y s i s ,a n dc a l li d e n t i f ya n da n a l y z em a j o rp a r to fn e t w o r kt r a f f i c 1 h et r a f f i cm o n i t o r i n ga n da n a l y s i si sf u n d a m e n t a lt on e t w o r km a n a g e m e n t s ot h i s r e s e a r c hp l a y sa ni m p o r t a n tr o l ei np r o p e l l i n gt h et h e o r yo fn e t w o r km a n a g e m e n t 1 1 l e n e t w o r km a n a g e rc a nu s et h er e s u l to ft r a f f i cm o n i t o r i n ga n da n a l y z i n gt od om a n y r e s e s r e h s ,s u c ha sp a f o r m a n c em a n a g e m e n t , f a u l tm a n a g m e n t ,s e c u r i t ym a n a g e m e n t , e t c f i r s t , t h i st h e s i sg i v e s 如ua n a l y s i st o t h es f l o wt e c h n o l o g y , a n dp r o p o s e sa f r a m e w o r ko fn e t w o r kt r a f f i ca n a l y s i ss y s t e mb a s e d0 1 1s f l o wt e c h n o l o g y , a n dt h e n i m p l e m e n t st h em o d u l eo ft r a f f i ca n a l y s i sa n dp e r f o r m a n c em a n a g e m e n tb a s e do nt h e s f l o wt e c h n o l o g yi ny h 0 4 1 2n e t w o r km a n a g e m e n ts y s t e mw h i c hc a l lc a p t u r e , d e c o d e , a n a l y z et h es f l o wd a t a g r a ma n df h l f i nt h ef l o w - l e v e lt r a f f i ci d e n t i f i c a t i o na n dt h e n e t w o r kp e r f o r m a n c em a n a g e m e n tb a s c do nt h es f l o wd a t a g r a mi n f o r m a t i o n s e c o n d ,a f t e rt h et h o r o u g ha n a l y s i so f n o w a d a y sa l g o r i t h m so f t r a f f i ci d e n t i f i c a t i o n , t h i st h e s i sp r o p o s e sa na p p l i c a t i o n - l e v e lt r a f f i ci d e n t i f i c a t i o na l g o r i t h mb a s e do nt h e f l o wr e l a t i v er e l a t i o n s t h ek e yi d e ai st h a tt h r o u g hc a r e f u le x p l o r a t i o no fr e l a t i o n s b e t w e e nf l o w sg e n e r a t e df r o mt h es a m ea p p l i c a t i o n , t h ef l o w si sg r o u p e db a s e do nt h e r e l a t i o n sa n dt h ef l o w sw h i c hh a v e b e e ng r o u p e di n t ot h es a l n eg r o u pc a nb es e e m e da s f l o w sf r o mt h es a l n ea p p l i c a t i o n ,r l l i sa l g o r i t h md o e s n tg i v ee x a m i n a t i o no np a y l o a do f p a c k e t , a n ds oi t se f f i c i e n c ya n da p p l i c a b i l i t yi sb e t t e r w eh a v ei m p l e m e n t e dt h ek e r n e lm o d u l eo f t h i sa l g o r i t h m w eh a v ea l s oe v a l u a t e d t h i sa l g o r i t h ma n da n a l y z e dt h ep e r f o r m a n c e , a n dt h er e s u l t ss h o wt h a tt h i sa l g o r i t h m 第i i 页 国防科技大学研究生院学位论文 p e r f o r m sw e l l ,a n dh a sb e t t e rs c a l a b i l i t y ,a n do ns o m ec o n d i t i o nt h et i m es p e n d i n gi s a l s ob e t t e r k e yw o r d s ;f l o wr e l a t i v er e l a t i o ng r o u p ,f l o wr e l a t i v er e l a t i o nc o m p u t i n g , a p p l i c a t i o nc h a r a c t e r i s t i c st a b l e ,s f i o w ,t r a f f i ca n a l y s i sf r a m e w o r k 第i n 页 国防科技大学研究生院学位论文 表目录 表3 1 表3 2 表3 3 表3 4 表3 5 表3 6 表3 7 表5 1 表6 1 表6 2 表6 3 p 2 p 流量中的t c p u d p 特征 具有t c p u d p 特征的其他非p 2 p 应用及其关联的端口号1 6 p 2 p 流量中的i p p o r t 特征 流媒体协议 网络游戏h a l f - l i f e 所产生的u d p 流量模式1 8 当前网络流行应用程序及应用层协议1 8 网络应用交互行为分类1 9 有效载荷的特定位串表( 部分) 3 5 时间复杂性分析 流量踪迹统计4 9 从包数、字节数、流数三个角度进行统计的前1 0 名应用程序5 0 第页 国防科技大学研究生院学位论文 图目录 图2 1 图3 1 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图5 1 图5 2 图5 3 图5 4 图6 1 图6 2 图6 3 图6 4 图6 5 图6 6 图6 7 图6 8 网络流量监测系统模型。l o 流媒体应用控制和数据会话1 8 流量分析架构图2 l 数据包解码流程图 2 2 接口流入流量所占带宽实时展现图2 9 接口流出流量所占带宽实时展现图3 0 节点流出流量速率实时展现图3 0 节点流入流量速率实时展现图3 1 节点至节点流量速率实时展现图3 2 应用层流量速率实时展现图3 3 流量识别方法示意图3 8 t c p 交互顺序图3 9 准则集2 示意图4 0 利用f r g 和g r g 对流进行分组4 1 f r r g 准确率曲线图( t h r e s h h o l d = 3 ) 4 5 f r r g 准确率曲线m ( t h r e s h h o l d = 2 1 4 5 f r r g 准确率曲线图( t h r e s h _ h o l d = 9 ) 4 6 f r r g 识别准确率与阈值关系图 b i t t o r r e n t 流量的两种识别算法对比。 4 7 b i t t o r r e n t 和p p l i v e 流量的两种识别算法对比4 8 流量踪迹三种分析指标( f l o w ,p a c k e t ,b y t e ) 的时间序列图。4 9 从流数,包数、字节数进行统计的前3 0 名应用流量比例5 0 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:耍血廛题鲍速量堡型篁洼盟窥狸塞丑 学位论文作者签名:丕丛垒三望日期:沙年i 月j 细 学位论文版权使用授权书 本入完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索 可以采用影印缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目: 亘囱厘周鲍逾量迟型差洼叠窒塑塞丑 学位论文作者签名:主丛i ! 尘j : 作者指导教师签名:兰多云二。 日期:沙憎石年l | 月缸曰 日期:互和6 年,月,厂日 国防科技大学研究生院学位论文 第一章绪论 1 1 课题背景 现在因特网上出现了许多新型的网络应用程序,这些应用程序具有比传统应 用程序更加复杂的交互结构和流量模式。现在的一个的问题是如何监测和分析这 些新型的应用程序流量,传统的方式还好不好使,如果不好使,应该怎么办? 这 个问题极其重要,因为现在流量分析不仅具有传统的功能,比如网络规划、网络 问题检测、网络使用报告等,它还在许多领域被用来提高网络服务质量,比如异 常流量检测、使用帐单生成等。 为了适应互联网在底层技术和用户服务方面的演化,网络流量监测技术也应 该在系统结构和分析方法学上有所改进。在如今的因特网流量监测和分析领域有 两个很关键的问题:第一个问题是如何实时的处理从高速网络链路上( 比如2 5 g b s 甚至更高) 所产生的大量的流量数据。第二个问题是如何监测分析这些功能各异、 特征各异的新兴的网络应用程序( 比如流媒体、p 2 p 、网络游戏等) 所产生的复杂 的流量。本课题着重研究第二个问题。 当前的网络流量和模式比过去要复杂的多。在以前的网络环境中,网络流量 主要是由 i t l l p 、f r p 、t e l n e t 、s m t p 、n n t p 等所产生的流量组成。而如今, 上面这些传统的流量类型所占的比例在大幅的下降,而p 2 p 、流媒体、网络游戏的 流量在大幅的上升。当前流量分析领域的一个困难是传统的方法无法分析这些新 兴的应用流量,需要一个新的方法来分析这些新兴的应用流量。这些新兴的网络 应用程序具有以下特点: 一大量基于网络的应用程序被开发和广泛使用,这些应用程序的数量在将来 还会持续的增长。 许多新兴网络应用程序都使用私有的应用层协议,这些私有的协议非常复 杂,很难在格式和操作上进行理解和交流。比如k a z a a 12 1 【1 3 】,在将数据加密后才 将数据流入网络,这样做是为了隐藏其行为以保护系统免受潜在的攻击。 一这些新兴应用程序所用的端口号是不规则的,许多网络应用程序使用一个 大于1 0 2 4 的临时端口号作为缺省端口。比如2 0 0 3 年1 月份。在一个i s p 骨干网 上,t c p 流量中使用临时端口号在总t c p 流量中的比例超过4 0 0 4 。 一许多网络应用程序的缺省端口号并不在i a n a 端口列表中注册,许多为某 个特定区域的用户所开发的应用程序也不将他们的端口号在i a n a 端口列表中注 册。 - 网络应用程序的拓扑结构已经从传统的c s 模型转变为p 2 p 模型,许多 第1 页 国防科技大学研究生院学位论文 p 2 p 应用程序可以直接将数据传给另外一个对等的节点,这些应用程序所构建的覆 盖网络也是很复杂的。 一许多新型网络应用程序使用多个会话与其他应用程序通信,比如流媒体类 应用程序建立两个或多个会话来传递控制数据和多媒体类数据,有时它们同时使 用t c p 和u d p 。 许多p 2 p 和流媒体应用程序使用动态的端口号在节点间进行通信。比如流 媒体,它所使用的端口号和分发流媒体数据的协议是在客户端和服务器端进行协 商时确定的;在即时消息通信软件m s n 中文件传输的端口号也是动态决定的;另 外还有一些应用程序使用动态端口号来避免被检测和控制【5 】【6 】。 上面这些当前应用程序的特性使得我们很难在应用层上对因特网上的流量进 行分析。为做到这一点,首先需要在应用层上对英特网上的流量进行识别,这对 于正确的应用层流量分析是非常重要的一步;其次要在应用层上找出其流量特征, 这在流量分析中也是一个很有挑战性的研究领域。本文将着重研究应用层的流量 识别和特征刻画,把焦点集中在下面这个关键的问题上:如何从英特网流量上识 别单个应用程序所产生的流量? 1 2 1 主要研究工作 1 2 主要研究工作和贡献 本课题对应用层的流量识别方法和流量特征进行研究,需要研究的内容简单 来说,就是想知道英特网上的流量都是由哪些应用所产生的,这些应用所产生的 流所占比例如何,能否对流量特征进行再分析从而得出更高层的信息。但是最关 键和核心的问题,也是本课题研究的主要内容是面向应用的流量识别算法研究。 流量识别在传统的网络应用程序里本是个很简单的问题,但是由于现在网络上新 兴应用程序具有许多特点( 这些特点前面已述) ,使这个问题变得十分复杂。 1 2 2 主要贡献 - 对当前网络应用程序的交互行为进行研究,并根据这种交互行为的类型将 其分成不同的类别。 对s f l o w 技术进行了深入研究,提出了基于s f l o w 的流量分析架构,并在 银河0 4 t 2 网管系统中实现基于s f l o w 技术的流量分析及性能管理模块。该模块能 够对s f l o w 数据包进行捕获、解码、整合,实现了流层的流量识别;并且基于s f l o w 数据信息,实现了网络性能管理。 对当前的流量识别算法进行了深入分析研究,提出了一种基于流亲戚关系 第2 页 国防科技大学研究生院学位论文 分组的面向应用的流量识别算法。 _ 基本实现了所提出的流量识别算法的核心模块,并实现为两个版本。 l i n u x 版本,即f r r g 工具,能离线对c a p 、* p c a p 、拓h 等格式数据包捕获 文件、以及n e t f l o w 输出的流信息进行处理,识别结果可被存储为文本文件供人阅 读或存储为二进制文件供其它程序调用。 w i n d o w s 版本,该版本里集成了p 2 p 仿真流量产生器,该仿真流量仅仅是对 p 2 p 流量外表特征的仿真,在产生这些流量时已经标注了其所属的应用,然后利用 f r r g 算法对这些仿真流量进行识别,将识别后的结果与其标注进行对比,得出识 别准确率,这也是测量该算法识别准确率的方法,该版本并不能处理实际所捕获 的数据包,该版本纯为做实验所用,并不具备实用价值。 _ 对所提出的算法进行了验证,并且分析了该算法的性能。结果表明,该算 法运行良好,在一定的条件下,时间开销较小,并且具有较强的可扩展性。 1 3 论文的组织 本文以如下方式进行组织:第二章介绍了与课题相关的研究,包括流量识别 研究现状、p 2 p 协议及其签名、流量监测技术、s f i o w 技术、以及流量识别在流量 监测分析领域中的地位;第三章对网络应用交互行为进行研究,给出了三种典型 网络应用的交互特征,并对网络应用进行分类;第四章给出了基于s f l o w 技术的 流量分析架构,并利用s f i o w 技术进行流量测量和流层的流量识别,最后给出了 实验结果;第五章首先对两个当前的流量识别算法,有效载荷和非有效载荷流量 识别方法,进行了深入的探究,在此基础上并结合网络应用交互特征,提出了基 于流亲戚关系分组( f r r g ) 的流量识别算法;第六章对f r r g 算法进行性能分析 和验证,并对笔者所编制的f r r g 工具的实现进行了介绍;最后,第七章总结了 本文,并指出下一步工作的方向。 第3 页 国防科技大学研究生院学位论文 第二章相关研究 人们需要对网络上的流量进行分析,得出一些有意义的结果,以便于进行网 络规划、网络问题检测、网络使用记账收费、异常流量诊断、网络流量预测等活 动。而流量识别是流量分析的前提和基础,也是最关键的一步。本章介绍了与课 题研究相关的一些内容,包括流量识别研究现状、5 个最流行的p 2 p 协议及其签名 算法、流量监测技术及s f l o w 技术,并说明了面向应用的流量识别的重要意义。 2 1 流量识别研究现状 在识别一个数据包属于哪个应用程序时一般分两步走:第一步,在源端口和 目的端口之间决定关键端口号;大多数网络应用程序比如w w w 、f t p 、t e l n e t 等都使用一个1 0 2 4 以下已定义的端口号,这样当端口号低于1 0 2 4 时决定关键端 口号就方便多了。然而许多新兴网络应用程序在通信时使用大于1 0 2 4 的端口号作 为缺省端口号,这样决定一个数据包的关键端口号就比较困难。第二步是根据选 择的关键端口号来决定应用程序的名字,许多新兴应用程序使用动态协商的端口 号是这一步中面临的主要困难。下面是一些相关的研究和工作。 传统应用层流量识别方法 传统的方法基于在i a n a 端口列表中注册的端口号,比如w e b 应用程序所使 用的端口号是8 0 、8 0 8 0 还有4 4 3 。在传统的方法中,关键端口是指小于1 0 2 4 或出 现在i a n a 端口列表中的端口,根据这些端口,可以很容易的判定其相应的应用 程序名字。前些年,这种方法可以用来识别因特网上的绝大多数流量;然而现在 因特网流量出现了许多新的特性,就不能完全依赖这种方法了,比如这种方法无 法识别由流媒体应用程序( 如w i n d o w sm e d i as e r v e r p l a y e r ) 等所产生的端口号【刀, 这种方法也无法区分同时由两个不同应用程序使用同一个端口号所产生的流量, 如果关键端口号不在i a n a 端口列表中,这种方法明显也不适用。 _ 基于有效载荷检查方法 许多流媒体应用和p 2 p 应用都使用动态决定的端口号,为了识别这些应用所 产生的流量,有效载荷检查方法是一种选择。m m d u m p s 和s m _ m o n s t 6 ,这两种 工具使用这种方法将流媒体流量从其他因特网流量上区分开来。在一个流媒体服 务中,客户端和服务器端之间建立两种类型的会话:控制会话和数据会话。利用 预先建立的控制会话,数据会话的端口号通过客户端和服务端之间的协商来动态 决定。 这种方法能够高精度的识别流媒体和p 2 p 所产生的流量。但是,因为要对有 第4 页 国防科技大学研究生院学位论文 效载荷进行检查,系统的有效载荷也正比于被捕获的数据包数量和大小,这也造 成了一定量的系统额外开销。另外,当控制会话的端口号变化时,这种方法也就 不再有效。当控制会话的数据被加密后,比如p 2 p 的k a z a a 应用程序,有效载荷 检查的方法也没用了。用这种方法来识别因特网流量,需要知道所有应用层协议 的所有细节,很明显这是不可能的。 签名映射方法 为了提高识别准确率,又提出了一种签名映射方法【8 删。在这种方法中,有效 载荷的一部分数据是静态的、唯一的、可以用来与其他应用类型数据包区分,该 方法就检查这部分有效载荷数据,而不管其使用的是什么应用层协议,有效载荷 的这部分数据可作为这些应用程序的签名。通过将每个数据包的这部分数据与预 先定义的签名进行比较,该方法就可比其他传统方法有更高的识别精确度。然而, 这却需要大量的离线工作来发现不同应用程序的签名。获得标准和公开协议( 比如 h r r p 、f r p ) 的签名比较容易,但是现在网络应用程序数量非常的大而且增长也非 常迅速,还使用各自私有的协议,因此要检查具有如此性质的应用程序的签名就 困难多了。在数据包获取和有效载荷的比较过程中,也会造成很大的系统开销。 然而,一些研究【9 】期望能够克服这些限制,正在积极地探求更高级的签名映射技巧。 一p 2 p 流量识别的方法 最近几年,网络流量的主要部分已经从w e b 流量向p 2 p 流量转移。许多研究 都在关注p 2 p 流量的特征【1 0 】 ”l 。这些研究的第一步就需从整个网络流量中识别出 p 2 p 流量,其技巧就是使用传统的方法:使用p 2 p 应用程序中相应的缺省端口号, 比如t c p端口号 6 3 4 6 6 3 4 7 ( g n u t e l l a ) ,1 2 1 4 ( f a s t t r a c k ) , 和 4 1 1 4 1 2 ( d i r e c t c o n n e c t ) 7 。但是新版本的k a z a a 系统不再使用缺省的1 2 1 4 端1 2 号 了,它们使用动态指定的端口号在节点间传输数据;另外,即时通信软件m s n 在 节点闻用来传输文件的端口号也从固定的6 9 8 1 号变为动态端口号。最近的研究【4 1 也放弃了这种传统的方法,取而代之的是一种称为t c p b i g 的新流量类型,它是 指在小于3 0 分钟之内传输超过1 0 0 k b 的所有未知流的集合,该研究指出这种 t c p b i g 几乎与p 2 p 流量有完全相同的属性。 2 2p 2 p 协议及其签名 p 2 p 流量的识别在整个网络流量的识别中具有极其重要的地位,准确地识别出 与不同的p 2 p 应用相关联的网络流量对于网络运营具有十分重要的意义。本节对5 个典型的p 2 p 协议( k a z a a ,g n u t e l l a ,e d o n k e y ,d i r e c t c o n n c c t ,b i t t o r r e n t ) ) 及其签 名进行简单的介绍,签名映射方法( 因为该方法也对有效载荷进行检测,故而后 文就统称为有效载荷检测方法) 利用这些p 2 p 协议的签名来识别这些p 2 p 流量。 第5 页 国防科技大学研究生院学位论文 在传统的c s 模型中,内容是存储在服务器上,所有的客户端都从服务器上 下载。这种模型的一个缺点是服务器容易过载,服务器成为整个性能的瓶颈。p 2 p 的文件共享模型通过节点之间直接进行内容交换来解决这个问题。为了实现文件 共享的任务,所有的p 2 p 协议都须允许任一个主机即充当客户端,又充当服务器, 尽管在有些p 2 p 协议中各主机的地位并不完全平等。 一般情况下,若一个请求者需要下载内容,将包括以下两个阶段: s i g n a l i n g , 在s i g n a l i n g 阶段,个客户端寻找内容并且决定哪个节点能够且 愿意提供所需的内容。在许多协议中,这并不包括与最终提供内容的节点之间的 直接通信。 d o w n l o a d :在d o w n l o a d 阶段,请求者从一个或多个节点直接下载所需的内容。 除下上述两个阶段,许多p 2 p 协议还在服务器间交换k e e p a l i v e 消息和同步服 务列表。 2 2 - 1g n u t e l l a 协议 g n u t e l l a 是个完全的分布式协议,在g n u t e l l a 网络中,每个节点都既是客户端 又是服务器,故而客户端和服务器被实现在一个单独的系统中,称为s c r v e n t 。每 个s e r v e n t 在g n u t e l l a 网络中通过与其他s e r v e n t 建立t c p 连接来连接到g n u t e l l a 网络中。一旦一个s e r v e n t 成功的连接到网络中,它便使用用来搜索网络的g n u t e l l a 协议描述符与其他s e r v e n t 通信,这就是该协议的s i g n a l i n g 阶段。在请求文件的 s e t v e n t 和拥有所请求文件的s e t v e n t 之间使用类h t t p 协议来下载实际的文件。 通过检查几个c m u t e l l a 连接,发现g n u t e l l at c p 连接建立的请求消息具有以 下的格式: g n u t e l l ac o n n e c t x n 、n 而g n u t e u a t c p 连接建立的响应消息具有以下格式: ( 孙盯h e l l a o k n k n 在每个内容下载之间还有一个请求响应握手机制,在下载请求中,s c r v e n t 使 用下面h t t p 请求头: g e t g e t h t n 1 0 、r h c o n n e c t i o n :k e e p - a l i v e k r k n r a n g e :b y t e = 0 - 试n u s e r - a g e n t : h a r t 驴 口 响应消息包括下面响应头: h 1 1 p2 0 0o k _ 、r k u 第6 页 国防科技大学研究生院学位论文 s e r v e r :司临e 口i n c o n t e n t - t y p e :驴皿 c o n t e n t - l e n g t h :m n 驴白 。 根据这些特性,同时兼顾到性能因素,可使用以下签名来识别g n u t e l l a 数据 下载: 紧跟在t c p i p 包头后的第一个字符串是“g n u t e l l a ”,“g e t ”或 “h r 】田”。 _ 若第一个字符串是“g e t ”或“h t r p ”,必有一个域是下述字符串之一: u s e r - a g e n t : u s c r a g e n t : s e r v e r : 其中 是下面几个字串之一:l i m e w i r e , b e a r - s h a r e , g n u c l o u s m o r p h e u s o s ,x o l o x , m o r p h c u s p e ,g t k g n u t e l l a , a c q u i s i t i o n , m u t e l l a - o 4 1 ,m y n a p s t c r , m u t e l l a - 0 4 1 ,m y n a p s t e r , m u t e l l a - 0 4 ,q t e l l a , a q u a l i m e , n a p s h a r e , c o m e b a c k , g o , p h e x , s w a p n u t , m u t d l a - o 4 o ,s h a r e a z a , m u t e l l a - 0 3 9 b , m o 印h e 瑚,f r e e w i r e , o p e n e x t , m u t e l l a - 0 3 3 ,p h c x 若个数据包既不是以“g n u t e l l a ”开头,也非h t t p 包,就可断定该包 绝非g n u t e l l a 包,在识别的早期便可丢弃该包。为了具有更强的健壮性,可包 括既有请求包头又有响应包头的签名,这样,即使仅能看到单向的流量,也能识 别g n u t e l l a 流量。 2 2 2e d o n k e y 协议 e d o n k e y 网络由客户端和服务器组成,每个客户端通过t c p 连接至一个主服 务器。在s i g n a l i n g 阶段,它首先向其主服务器发送搜寻请求。( 客户端也可通过 u d p 直接发送搜寻请求至其他服务器,这在e d o n k e y 中称为扩展搜索。) 为了从其 他客户端下载文件,客户端通过t c p 与其他客户端建立连接,然后向其他客户端 请求该文件的不同部分。 仔细检查e d o n k e y 包,发现在t c p 包头后s i g n a l i n g 和d o w n l o a d i n g 的t c p 包 有下面公共的e d o n k e y 头: 123456 78 12345 6 78 123 456 78 123 4 56 7 8 + 斗斗斗- + 一+ - + + 斗 i m a r k 钉i + 斗+ + 斗+ 斗- 4 - - + 斗- + - + - + 一十斗卜- + + - + - + - + - q - - t - - + - - i - 一- + ip a c k e tl e n g t h ( 4b y t e s ) i + 卜f h 斗v 卜七+ - - + 斗+ + + + 斗- + - 4 - - + 斗斗斗- + - - 4 - - + - + - + - + - + + 卜+ 斗 第7 页 国防科技大学研究生院学位论文 lm e s s a g e t y p e + + 卜斗,- 斗 其中m a r k e r 值经常是十六进制数o x c 3 ,利用这些特性,可使用以下签名来识 别e d o n k e y 包: i p + t c p 头后的第一个字节是e d o n k e y 的标记( m a r k e r ) 。 _ 剩下四个字节所指的数字等于整个报文的长度减去i p + t c p 的字节数和额 外5 个字节。 因为识别p 2 p 连接的准确性正比于签名的长度,所以在不明显增加计算复杂 性的前提下,可尽可能包括更多的域。 2 2 3d i r e c t c o n n e c t 协议 d i r e e t c o n n e e t 网络由h u b s 、d i c n t s 、及一个具有多个服务器的s u p e r h u b 组成, 它们都监听t c p 端口4 11 来连接和交换命令。c l i e n t s 存储有自己的文件,并且响 应对这些文件的搜索请求。s u p e r h u b 为所有的h u b 提供名字服务,所有的h u b 都在 s u p e r h u b 中注册,c l i e n t 通过询问s u p e r h u b 来发现h u b 。每个c l i e n t 都有一个用户 名。正常情况下,c l i e n t 在端口4 1 2 监听其他c l i e n t 的连接。若端口4 1 2 已在使用, c l i e n t 将使用端口4 1 3 、4 1 4 等等。d i r e c t c o n n e e t 使用t c p 来进行c l i e n t 到s e t v e r 或c l i e n t 到c l i e n t 的连接,而使用u d p 在s e r v e r 阃通信。t c p u d p 的数据是一系 列命令或交谈信息。t c p 的命令具有以下格式: $ c o m m a n d t y p ef i e l d lf i e l d 2 i 其以字符$ 开始,以字符i f 结尾。t c p 通信有效的命令类型列表是:l d c kk e y , d i r e c t i o n , g e t l i s t l e n , l i s t l e n , m a 】【e d o 眦,e r r o r , s e n a , g e t ,f i l e l e n g t h , c a n c e l e d , h u b n a m e ,v a l i d a t e n i e k , v a l i d a t e d e n i d e ,g e t p a s s , m y p a s s ,b a d p a s s , v e r s i o n , h e l l o , l o g e d i a , m y i n f o , g e t i n f o ,g e t n i c k l i s t , n i c k “s t , o p l i s t , t o ,c o n n e c t - t o m e , m u l t i c o n n e c t t o m e ,r e v c o n n e c t t o m e ,s e a r c h , m u l t i s e a r e h , s r ,k i c k , o p f o r c e m o v e , f o r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论