(计算机科学与技术专业论文)基于包特征检测的ip业务流分析模型.pdf_第1页
(计算机科学与技术专业论文)基于包特征检测的ip业务流分析模型.pdf_第2页
(计算机科学与技术专业论文)基于包特征检测的ip业务流分析模型.pdf_第3页
(计算机科学与技术专业论文)基于包特征检测的ip业务流分析模型.pdf_第4页
(计算机科学与技术专业论文)基于包特征检测的ip业务流分析模型.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机科学与技术专业论文)基于包特征检测的ip业务流分析模型.pdf.pdf 免费下载

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

文档简介

摘要 随着互联网和宽带技术的发展,i p 网络上的业务日益丰富,网上 用户和业务流量不断增长。新型业务的剧增在给人们带来了极大便利 的同时,占用了有限的带宽资源,给网络运营者的当前业务带来了一 定程度的冲击和影响。为保证各种业务的可用性和服务质量,基于业 务的管理逐渐成为网络管理的核心。如何深度感知网络应用,对网络 流量进行有效的分析和业务识别区分,从而对之进行监管,满足用户 对不同业务的不同q o s 需求,构建可运营可管理的网络己成为i t 管 理中的重要课题。 本文针对基于业务的流量分析问题进行研究,主要包括如下研究 内容: 1 )在分析i p 网中主流业务流量检测技术的基础上,提出了基 于包特征检测的业务流分析模型,模型将传统的网络层传输层 业务感知同应用层业务感知结合起来,实现对网络流量的更精细 有效并可配置的管理。 2 )基于模型,设计了相应的分析算法,解决了传统的基于网 络层传输层的业务流量检测技术无法对变化端口号的新型业务 进行有效检测,而基于应用层的业务流量检测技术识别速率过慢 且无法对加密报文的业务进行有效检测的问题。 3 )对i p 网络上一些典型业务进行包特征分析,其分析结果将 成为模型中业务识别特征库的重要数据来源。 4 )设计和实现了局域网中基于该模型的系统,己进行了实用, 效果良好。 关键词网络管理,包特征检测,业务流分析,业务感知 i pt r a f f i ca n a l y s i sm o d e l b a s e do n p a c k a g ec h a ra c t e i u s t i cd e t e c t i o n a bs t r a c t w i t l lt h ed e v e l o p m e n to fi n t e r n e ta n db r o a d b a n dt e c h n o l o g y , t h ei p n e t w o r kb u s i n e s s e sa r eb e c o m i n gr i c h e r , t h eo n 1 i n eu s e r sa n dt h et r a 伍c c o n t i n u et og r o w t h en e wb u s i n e s s e sb r i n gg r e a tc o n v e n i e n c et op e o p l e , b u ta tt h es a m et i m e ,t h e yt a k eu pt h el i m i t e db a n d w i d t hr e s o u r c e s ,w h i c h b r i n gad e g r e eo fi m p a c ta n di n f l u e n c et ot h en e t w o r ko p e r a t o r sc u r r e n t b u s i n e s s e s i no r d e rt oe n s u r et h ea v a i l a b i l i t ya n dt h eq u a l i t yo fa l lt h e b u s i n e s s e sp r o v i d e d ,t h em a n a g e m e n tb a s e do nb u s i n e s sh a sg r a d u a l l y b e c o m et h ec o r eo fn e t w o r km a n a g e m e n t h o wt od e t e c tn e t w o r k a p p l i c a t i o n si nd e p t h h o wt od oe f f e c t i v ea n a l y s i so nt r a 珩ca n d d i s t i n g u i s ht h e mb yb u s i n e s s ,s oa st os u p e r v i s et h e mt om e e tt h ed i f f e r e n t o o sn e e d so fu s e r sf o rd i f f e r e n tn e t w o r kb u s i n e s s e sh a sb e c o m ea n i m p o r t a n tt o p i ci ni tm a n a g e m e n t t h e w o r ko ft h i st h e s i si sm a i n l yt od or e s e a r c ho nt h et r a f f i c a n a l y s i sb a s e do nb u s i n e s s t ob es p e c i f i c ,i tf o c u s e so nt h ef o l l o w i n g s : 11b a s e do nt h ea n a l y s i so ft h em a i nt r a 伍cd e t e c t i o nt e c h n o l o g y si n i pn e t w o r k at r a f ! f i ca n a l y s i sm o d e lb a s e do np a c k a g e c h a r a c t e r i s t i cd e t e c t i o ni sp r o p o s e d t h em o d e l i sac o m b i n a t i o n o ft h et r a d i t i o n a ln e t w o r k 1 a y e r t r a n s p o r t 1 a y e r b u s i n e s s a w a r e n e s sa n dt h ea p p l i c a t i o n 1 a y e rb u s i n e s s a w a r e n e s s , t oa c h i e v eam o r ep r e c i s e ,e f f e c t i v ea n dc o n f i g u r a b l ew a yf o r n e t w o r kt r a f f i cm a n a g e m e n t 2 ) b a s e do nt h em o d e l ,t h ec o r r e s p o n d i n ga l g o r i t h m sa r ed e s i g n e d w h i c hs o l v et h ep r o b l e m st h a tt h et r a d i t i o n a lt r a f f i cd e t e c t i o n t e c h n o l o g yb a s e do nn e t w o r k 1 a y e r t r a n s p o r t 1 a y e rc a n td o e f f e c t i v ed e t e c t i o no nn e wb u s i n e s s e sw i t hv a r i e dp o r tn u m b e r s a n dt h ed e t e c t i o nt e c h n o l o g yb a s e do na p p l i c a t i o n 1 a y e rc a n t d e t e c tb u s i n e s s e sw i t he n c r y p t e dm e s s a g ea n dt h er a t eo f d e t e c t i o ni ss l o w 3 ) a n a l y z et h ep a c k a g ec h a r a c t e r i s t i ci n f o r m a t i o no fs o m et y p i c a l b u s i n e s s e si ni pn e t w o r k t h er e s u l to fw h i c hw i l lb e c o m e i m p o r t a n td a t as o u r c e sf o rt h eb u s i n e s sd e t e c t i o nl i b r a r yi nt h e m o d e l ; 4 ) d e s i g na n di m p l e m e n t ab u s i n e s sa n a l y s i ss y s t e mi nl 悄b a s e d o nt h em o d e lw h i c hh a sb e e np u ti n t op r a c t i c ea n dr e c e i v e dg o o d f e e d b a c k s k e yw o r d sn e t w o r km a n a g e m e n t ,p a c k a g ec h a r a c t e r i s t i cd e t e c t i o n , t r a f f i ca n a l y s i s ,b u s i n e s s - a w a r e n e s s 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 日期:b 。、川7 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名赵许彳 导师躲印如 日期l 。7 ) 、i 日期:协1 门 北京邮电大学硕士研究生毕业论文基于包特征检测的i p 业务流分析模型 1 1 研究背景 第一章前言 随着计算机网络技术的快速发展和互联网的逐步普及,口网络上的业务日 益丰富,网上用户和业务流量在不断增长。除传统数据业务外,网络电话、网 络视频、p 2 p 下载等新型网络应用使得骨干网络中话音、视频、点到点下载流 量呈几何基数级的膨胀趋势。新型业务的剧增给网络运营者的当前业务带来了 一定程度的冲击和影响,出现丢包率高,延迟抖动大等现象,满足不了q o s 的 要求f l 】。为此,网络运营者的基础网络建设陷入了“拥塞扩容再拥塞”的非正常 局面,业务收入也随之下降2 1 。 分析造成这种局面的主要原因是网络运营和管理人员对用户缺少一个有效 的区分和控制手段,不知道用户在网上干什么,也无法给不同用户提供不同等 级的q o s 保证。于是,基于业务的管理逐渐成为网络管理的核心,如何深度感 知网络应用,对网络流量进行有效的分析和业务识别区分,从而对之进行监管, 满足用户对不同业务的不同q o s 需求,构建可运营可管理的网络摆在了网络运 营者和管理者的面前【3 4 j 。 当前,基于业务的流量管理措施分为两类,一类基于网络层( l 3 ) 和传输 层( m ) 进行业务分析;一类基于应用层( l 7 ) 进行业务分析。前者运用传统 的五元组检测技术,通过分析d 包头,依据网络层的地址信息、协议信息和传 输层的标准端口号进行业务检测1 5 】;后者运用深度包检测技术即d p i ( d e e p p a c k e ti n s p e c t i o n ) 技术,通过分析m 包载荷,依据应用层的协议特征码进行业 务识别【6 】。两类措施各具优缺点,前者检测速度快,漏判性小,但管理效果十 分有限,无法支持对无固定服务端口号业务的检测,随着网上应用类型的不断 丰富,基于开放端口、随机端口进行传输的应用类型在目前的网络中比比皆是, 一些非法应用还会采用隐藏或假冒端口号的方式躲避检测和监管,此类措施无 法满足需要;后者不依赖服务端口,业务识别准确度高,能对变化端口的业务 类型,如大多数p 2 p 应用进行有效的分析识别,但速度较慢,不适用实时性要 求高的网络环境,并且无法支持报文加密的业务类型的识别和监管。因此,提 出更加有效和更为精细的口业务流分析模型对于网络流量管理具有重要的理 论意义和应用价值。 北京邮电大学硕士研究生毕业论文基于包特征检测的i p 业务流分析模型 1 2 论文工作 论文的任务主要是在对m 网络上现有的业务流量检测技术进行研究的基 础上,提出基于包特征检测的p 业务流分析模型,将对口数据包的业务分析 从网络层( l 3 ) 上升到应用层( l 7 ) ,将传统的网络层、传输层业务感知同应 用层业务感知综合起来,实现对网络流量更精细更有效的业务分析和管理。 本论文主要做了以下工作: 一 分析了网络上流量检测技术; 一 建立了m 网络中基于包特征检测的业务流分析模型; 一 根据模型设计了基于包特征检测的口业务流分析算法; 一 在对模式匹配技术和匹配算法进行研究和分析的基础上,完成核心分 析算法中的关键算法一应用层特征字匹配算法。 一 分析了网络上一些典型业务的包特征信息。 一 在上述基础上设计和实现了局域网中基于包特征检测的口业务流分析 系统; 1 3 研究生期间工作 研究生期间,笔者参与多个大型1 1 r 运维管理系统的研究与开发工作,对 i t 运维管理系统结构有较深的认识和了解,掌握了r r 运维管理系统所需的关 键技术,包括基于模型驱动架构( m d a ) 技术,异常流量检测技术和流量流向 分析技术等,并对基于业务的网络流量管理进行了较为深入的研究。概括来说, 笔者在攻读研究生期间的主要研究工作如下: 自定义网络综合监视子系统的研究与开发。该子系统可对被管网络中网 元的状态,告警,性能等各方面进行综合监控,以拓扑图、列表等各种 直观的形式展现给用户,用户可对监管的对象范围、监管的内容、结果 展现的方式进行自定义。主要负责系统的u i ( 用户界面) 设计和u i 集成。 某集团公司综合网络监视管理系统的研究与开发。负责完成基于 n e t f l o w 的网络流量流向分析模块,此模块对企业内部网络的利用率和 网络带宽和负载调整有重要的作用。 全国无线电管理信息系统的研究与开发。在研究和开发的工作中提出了 基于包特征检测的业务流分析模型和算法,并且根据i t 运维管理系 统结构,将p 业务流分析作为其中一个关键子系统实现,此子系统能 6 北京邮电大学硕士研究生毕业论文 基于包特征检测的i p 业务流分析模型 够对企业内部网络中的多种m 业务流量进行有效地检测和分析。 1 4 论文结构 本文后续部分的内容安排如下: 第二章主要介绍了i p 网络上现有的业务流量检测技术,并对它们进行分 析。 第三章主要在第二章对现有的业务流量检测技术分析的基础上提出了口 网中基于包特征检测的口业务流分析模型,并根据该分析模型设计了相应分析 算法,其中包括核心分析算法和其中的关键算法,即特征字匹配算法。 第四章主要对口网络中一些典型业务的包特征信息进行分析。 第五章主要根据第三章提出的i p 网中基于包特征检测的分析模型及相关 算法和第四章对网中典型业务的包特征分析设计了局域网中基于包特征检 测的p 业务流分析系统。介绍了系统设计的基本目标、基本原则以及基本功能, 并给出了系统体系结构设计方案,然后介绍了一些关键模块的实现,最后是对 系统的测试。 第六章是结论和展望,主要总结了本论文的成果,并提出了下一步研究的 方向和需要解决的问题。 最后为参考文献和致谢部分。 7 北京邮电大学硕士研究生毕业论文基于包特征检测的口业务流分析模型 第二章i p 网络业务流量检测技术 本章主要讨论了i p 网络中现有的业务流量检测技术,并对它们进行分析 比较。 2 1i p 网络业务流量检测技术概述 p 网络中现有的业务流量检测技术可以总结为三类:基于五元组的业务流 量检测技术、深度包检测技术( d p i ) 和深度动态流检测技术( d f i ) 。 2 1 1 基于五元组的业务流量检测技术 基于五元组的业务流量检测技术是在o s i 模型的网络层和传输层上对数据 包进行业务识别。具体来讲,是通过p 包头中的源地址、目的地址、协议类型、 源端口号和目的端口号这五个域的值来确定当前数据包的业务类型。 根据数据包头中的源地址,可以识别出由为单一应用配置的服务器发出的 数据包的业务类型。比如说,电子邮件服务器。 根据数据包头中的协议号+ 端口号,可以对知名网络服务和使用固定端口 号通信的网络服务的数据包进行业务识别。如f t p 业务的协议号+ 端口号是 t c p 2 1 ,s k y p e1 0 版本的协议号+ 端口号是t c p 1 0 2 4 。 2 1 2 深度包检测技术 深度包检测技术即d p i ( d e e pp a c k e ti n s p e c t i o n ) 技术【7 ,8 1 ,是一种基于应 用层的流量检测和控制技术,当p 数据包、t c p 或u d p 数据流通过基于d p i 技术的流量检测系统时,该系统通过深入读取i p 包载荷的内容来对o s i 七层协 议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定 义的管理策略对流量进行整形操作。 d p i 的识别技术可以分为以下几大类: ( 1 ) 基于“特征字”的识别技术 北京邮电大学硕士研究生毕业论文基于包特征检测的m 业务流分析模型 不同的应用通常依赖于不同的协议,而不同的协议在其数据包报文里都具 有特定的固有的特征字,我们也可以把它称为“程序签名”。基于“特征字”的识 别技术通过对业务流中特定数据报文中的“程序签名”信息的检测以确定业务流 承载的应用。例如b i t t o r r e n t 的包具有“0 x 1 3 b i t t o r r e n t ”的程序签名,w i n d o w s m e s s e n g e r 的包具有“m s m s g s ”的程序签名。 根据具体检测方式的不同,基于“特征字”的识别技术又可以被分为固定位 置特征字匹配、变动位置的特征匹配以及状态特征匹配三种技术。 通过对“程序签名”信息的升级,基于特征的识别技术可以很方便的进行功 能扩展,实现对新协议的检测。 ( 2 ) 应用层网关识别技术 某些业务的控制流和业务流是分离的,业务流没有任何特征。这种情况下, 我们就需要采用应用层网关识别技术。 应用层网关需要先识别出控制流,并根据控制流的协议通过特定的应用层 网关对其进行解析,从协议内容中识别出相应的业务流。 对于每一个协议,需要有不同的应用层网关对其进行分析。 如s i p 、h 3 2 3 协议都属于这种类型。s i p h 3 2 3 通过信令交互过程,协商得、 到其数据通道,一般是r t p 格式封装的语音流。也就是说,纯粹检测r t p 流 并不能得出这条r t p 流是那通过那种协议建立的。只有通过检测s i p h 3 2 3 的。 协议交互,才能得到其完整的分析。 ( 3 ) 行为模式识别技术 行为模式识别技术基于对终端已经实施的行为的分析,判断出用户正在进。 行的动作或者即将实施的动作。行为模式识别技术通常用于无法根据协议判断 的业务的识别。例如:s p a m ( 垃圾邮件) 业务流和普通的e m a i l 业务流从e m a i l 的内容上看是完全一致的,只有通过对用户行为的分析,才能够准确的识别出 s p 舢业务。 2 1 3 深度动态流检测技术 深度动态流检测技术即d f i ( d e e p d y n a m i cf l o wi n s p e c t i o n ) 技术【9 】,是 一种基于传输层的较新的应用流量监控技术,与d p i 进行应用层的载荷匹配不 同,d f i 采用的是一种基于流量行为的应用识别技术,即不同的应用类型体现 在会话连接或数据流上的状态各有不同。 例如,网上口话音流量体现在流状态上的特征就非常明显:r t p 流的包长 相对固定,一般在1 3 0 到2 2 0 字节之间,连接速率较低,在2 0 k b p s 至8 4 k b p s 之间,同时会话持续时间也相对较长;而基于p 2 p 下载应用的流量模型特点为 9 北京邮电大学硕士研究生毕业论文基于包特征检测的i p 业务流分析模型 平均包长都在4 5 0 字节以上、下载时间长、连接速率高、首选传输层协议为t c p 等;d f i 技术正是基于这一系列流量的行为特征,通过分析会话连接流的包长、 连接速率、传输字节量、包与包之间的间隔等信息来鉴别应用类型。 2 2i p 网络业务流量检测技术分析 本节从应用识别、系统处理能力、控制效果和维护成本这四个方面对上一 节中介绍的三种主流的网络业务流量检测技术进行分析比较,最后进行总 彘 ;日o 2 2 1 应用识别 基于五元组的业务流量检测技术由于仅仅在网络层和传输层上通过源地址 信息或者协议号+ 端口号信息判断数据包的业务类型,因此它的应用识别能力 很有限,只能识别源地址固定或者使用固定协议号+ 端口号通信的业务类型。 对端口号变化应用、使用伪造端口号通信的应用和使用标准端口号通信的非知 名网络应用( 如部分p 2 p 应用使用标准端口号8 0 进行通信) 无法进行准确识 别。 深度包检测技术( d p i 技术) 由于对数据包的载荷信息进行深入分析,而 不去依赖源地址、端口等包头信息,因此对于运用五元组检测方法失效的端口 号变化的应用能进行有效识别,并且能对流量中的具体应用类型做比较准确的 识别。如对于p 2 p 流量,它不仅能识别出流量的p 2 p 类型,还能获知应用是 b t ,d o n k e y 还是t h u n d e r 等那一种具体类型。但是,采用d p i 技术对加密后 传输的应用流量无法进行业务识别。 深度动态流检测技术( d f i 技术) 由于是基于流量行为的业务识别技术, 通过会话连接、流状态等因素进行业务识别,而不依赖于应用层净荷的特征匹 配,因此可以对经过加密后传输的应用流量进行有效识别。但是,采用这种技 术只能对应用进行大致分类,如对满足p 2 p 流量模型的应用统一识别为p 2 p 流 量,对满足口话音流量模型的应用统一归类为v o i p 流量,而无法判断该话音 流量是基于s i p 还是h 3 2 3 等不同协议应用。 2 2 2 系统处理能力 在同等的硬件条件下,检测任务多的系统肯定要比检测任务少的系统耗费 1 0 北京邮电大学硕士研究生毕业论文基于包特征检测的i p 业务流分析模型 更多的资源和时间,采用d p i 技术由于要逐包进行拆包操作,并与后台数据库 进行匹配,因此对系统的处理能力要求相对较高;采用基于五元组的检测技术 由于它的简单性,因此可以进行快速的业务识别,对系统处理能力要求不高; 采用d f i 技术进行流量分析不用逐包拆包分析因此可以达到比较高的处理能 力。总的来说,相对于基于应用层的业务检测技术( d p i 技术) ,基于传输层 的业务检测技术( 五元组识别技术和d f i 技术) 有处理速度快,要求系统处理 能力低的优点。目前多数基于d p i 的带宽管理系统所能达到的处理能力一般在 线速1 g 左右,而基于d f i 的系统则可以达到线速1 0 g 的流量监控能力。 2 2 3 控制效果 采用五元组技术、d p i 技术和d f i 技术的流量管理系统在对具体应用进行 流量控制的时候采用的基本上都是t c p 的滑窗机制或队列控制技术,都可以实 现对应用流量的最大、最小带宽保障或阻断等控制效果。 2 2 4 维护成本 基于五元组技术和基于d p i 技术的流量识别系统均需通过升级后台应用数 据库来支持对新型应用的识别,因此需要定期升级后台应用特征数据库;基于 d f i 技术的系统在管理维护上的工作量较少,原因是同一类型的应用其流量模 型相对固定,如p 2 p 下载流量,即使有新的应用出现,其流量特征不会出现大 的变化。 2 2 5 小结 通过以上四个小节的分析比较,可以总结得出表2 1 。 表2 - 1i p 网络业务流量检测技术比较 应用识别 固定源地变化端伪造端报文加 系统处理维护成 控制效果 址或端口口号类口号类密类应能力 本 号类应用应用应用用 五元组检无法识无法识可以识应用带宽控 可以识别要求低较高 测技术别别别制 深度包检 可以精确 可以精可以精 无法识 应用带宽控 要求高较高 测技术 识别 确识别确识别别制 北京邮电大学硕士研究生毕业论文 基于包特征检测的m 业务流分析模型 深度动 可以粗略 可以粗可以粗可以粗应用带宽控 态流检测要求低较低 识别略识别略识别略识别制 技术 1 2 北京邮电大学硕士研究生毕业论文 基于包特征检测的m 业务流分析模型 第三章基于包特征检测的i p 业务流分析模型与算法 3 1 模型提出的背景 通过上一章中对p 网络中现有的主流业务流量检测技术的分析可以看出, 基于传输层以下层的检测技术具有识别速度快,漏判性小,并支持对加密报文 进行识别的优点,但由于识别技术本身的粗粒度性,无法对业务类型做精确判 断,有时还会产生误判的现象;基于应用层的检测技术具有识别准确度高,能 对业务类型进行精确判断的优点,但由于识别技术本身要求逐包进行深入分析 和特征匹配,识别速度慢,对于实时性要求较高的系统来说不能支持,并且它 无法对加密报文进行有效的业务识别。 综合上述两类检测技术的优缺点,本文提出了基于包特征检测的p 业务流 分析模型,将传统的网络层、传输层业务感知同应用层业务感知综合起来,实 现对网络流量更精细更有效的业务分析和管理。 3 2 基于包特征检测的i p 业务流分析模型 3 2 1 模型的主要思想 本文所提出的基于包特征检测的i p 业务流分析模型的主要思想是通过对 网络数据包从网络层到应用层数据的全面分析,找出各层中对业务识别有意义 的特征字符串,匹配到相应协议类型,从而识别各种p 业务。这种模型的基础 是不同的应用通常依赖于不同的协议,而不同的协议在数据包中都具有其特殊 的特征字,这些特征字可以是特定的网络地址,特定的端口号或者特定的字符 串。通过网络层的地址信息、协议信息和传输层的标准端口号可以对数据包进 行初步的特征分析和业务识别,实现数据包的初步分流。继而有选择的对部分 分流的网络数据包的数据报文进行特征字符串检测,实现应用层上对数据包的 再分流,得到更精细的数据包业务流。 北京邮电大学硕士研究生毕业论文基于包特征检测的口业务流分析模型 3 2 2 模型图与模型分析 图3 1 为基于包特征检测的业务流分析模型,下面对该模型进行详细介绍。 图3 1 基于包特征检测的i p 业务流分析模型 数据包采集器:采集原始的网络数据包,根据预先设定的规则过滤出有效 的口包,进行初步解码后,存于原始数据包缓冲区中,等待识别处理模块进行 分析处理。 流向分析器:分析数据包包头的源地址,对数据包进行流向分流。根据包 头的源地址信息,可以识别出一部分应用。因为服务器有时是针对单一应用而 配置的,如电子邮件服务器,所以分析由该类服务器产生数据包的源口地址就 能识别该数据包的业务类型。对识别出业务类型的包按照业务类型进行分流后 输出,将识别结果存于结果存储模块,其余业务类型未知的包流入端口分析器。 端口分析器:分析数据包的协议号和端口号,对知名网络服务和使用固定 端口号的网络服务的数据包进行业务识别,分流后部分输出,识别结果存储于 结果存储模块,未识别的包和需二次检测的包流入特征码分析器。协议号位于 口数据报包头中,用于指出此数据包所携带的数据是使用何种协议,以便目的 1 4 北京邮电大学硕士研究生毕业论文基于包特征检测的i p 业务流分析模型 主机的m 层将数据部分上交给传输层的相应处理过程。比如t c p 协议对应协 议号6 ,u d p 协议对应协议号1 7 。端口号又称为传输层服务访问点( t s a p ) , 用于在传输层上标识应用层的应用进程。0 1 0 2 3 之间的端口号被称为标准端口 号,被分配给一些知名的t c p i p 服务,如f t p 服务的协议类型端口号是 t c p 2 1 ,h r r p 服务的协议类型端口号是t c p 8 0 。因此,运用协议号+ 标准端 口号的组合可以唯一确定一些知名服务的包的业务类型。同时,端口号识别的 方法也适用于一些使用固定端口号通信的网络服务,如s k y p e 的1 0 版本,使 用t c p 1 0 2 4 进行通信。但是,随着应用的发展,一些应用开始使用0 - - 1 0 2 3 间的标准端口号进行通信,如部分p 2 p 应用使用端口2 5 和端口8 0 进行数据传 输,典型的例子如k a z a a 使用8 0 端口。因此,进行粗粒度的端口检测已无法 满足需要。为了更精确的识别数据包的业务类型,可以通过配置业务识别特征 库,使部分协议+ 端口组合的包流入特征码分析器进行二次检验。 特征码分析器:分析数据包的数据报文,通过特征字符串匹配的方式识别 数据包的业务类型,将数据包分流后输出,结果存于结果存储模块中。此分析 器主要针对运用传统的源地址检测,协议号和端口号检测无效的数据包业务类 型的检测。例如p 2 p 的各种应用,大多采用动态随机端口号,使用端口号分析 的方法是无法确定其业务类型的。然而,任何网络业务都依赖其特定的网络协 议,这些协议在数据包的报文里都具有其特定的固有的特征字,可以把它们称 为程序签名。例如b i t t o r r e n t 的包具有“0 x 1 3 b i t t o r r e n t ”的程序签名,w i n d o w s m e s s e n g e r 的包具有“m s m s g s ”的程序签名,e m u l e 的包具有“o x d 4 o x c 5 ”的程序 签名。通过在数据包报文里查找程序签名的方法,可以将数据包匹配到相应的 业务类型。 结果存储模块:存储识别处理模块对数据包进行业务识别的结果,为统计 分析模块提供依据。 统计分析模块:从结果存储模块读取相关信息,以文本、表格或者各种图 型( 饼状图,柱状图,曲线图) 的方式展示分析结果。 业务识别特征库:存储各类i p 业务同其业务包特征信息的对应关系,供识 别处理模块在对包特征匹配时进行比对。流向分析器、端口分析器和特征码分 析器的识别依据都来源于业务识别特征库。通过对业务识别特征库的升级,可 以支持更多新业务的识别。通过对业务识别特征库的配置,能控制包的检测流 程,让不同特征的数据包有选择的流入各类分析器。业务识别特征库可以是数 据库,也可以是x m l 格式的文件,它能被方便的进行扩展,在无需任何程序 改动的情况下,支持对新业务的识别。 北京邮电大学硕士研究生毕业论文基于包特征检测的m 业务流分析模型 业务控制器:控制台与业务识别特征库的接口,实现对业务识别特征库的 升级与配置。 控制台:提供一个用户界面,显示统计分析结果,配置和升级业务识别特 征库。 3 3 基于包特征检测的i p 业务流分析算法 根据基于包特征检测的m 业务流分析模型,本文提出了相应的分析算法, 包括基于包特征检测的i p 业务流分析核心算法和核心分析算法中所需的关键 算法特征字符串匹配算法。 3 3 1 核,b 分析算法 基于包特征检测的业务流分析核心算法如图3 2 一图3 - 4 所示。算法中 包含一个数据包缓冲区和三个数据流缓冲区。数据包缓冲区可采用队列数据结 构,用来存储从网络中抓取的数据包,供分析模块进行分析。流缓冲区可采用 哈希表数据结构,用来将分析后的数据包按照它的特征( 源地址,业务类型等) 准确的定位到相应的数据流,实现数据包的分流。每个数据流可设置一个定时 器,定期将数据流送入下一个分析模块。算法中,流缓冲区1 用于存储按照源 地址分流但通过源地址分析无法确定其业务类型的数据流;流缓冲区2 用于存 储经过源地址和协议号+ 端口号分析后仍无法确定其业务类型的数据流;流缓 冲区3 用于存储业务类型分析完成后的数据流,将被发送到结果存储模块进行 统计分析。算法中设置多个缓冲区便于采用多线程的方式使各个模块并行工作, 提高解析效率。同时,使用多个流缓冲区作为各个分析模块的连接点,符合模 型中模块化逐步分析,将数据流不断细化的思想。 1 6 北京邮电大学硕士研究生毕业论文基于包特征检测的口业务流分析模型 图3 2 基于包特征检测的业务流分析算法( 1 ) 1 7 北京邮电大学硕士研究生毕业论文 基于包特征检测的i p 业务流分析模型 否 图3 - 3 基于包特征检测的业务流分析算法( 2 ) 1 8 北京邮电大学硕士研究生毕业论文基于包特征检测的口业务流分析模型 流缓冲区2 上 依次取数据包流 从兰黧黧麓叠黼黧葛。黧源端m 磊黜p 地址朋 慧、h 髓h s s ,判断数据包的s o c k 啦对是f 一 嘞到表r , 名晰i _ ;蕊;奔滁 ; 憋:! ! :竺耄竺竺竺堡肜 9 是 流缓两良3 车离 特征库申征而啪业务类f :二毒该源地址+ 未 耄滋暾麓妻鞣坠- 否l 狱警缈 、业奄相同| i 流中记墨的户咱。了t 蛾螗将包的协议号+ | |是 端u 号加入需二告 0 是 次检测的协议+ - 生垂 上 端 - i 列表中 将数据包加 一_ 挫务癍茹藉征舨 入该数据流 、顺垄三塑至垫虫一 1 r 流缓冲区3 中新建数据 是流,将数据包加入该 , 流,流中记录源地 l 将包的s o c k e t 对l 址,业务类型等信 l 和匹配的业务类l 息 l 型加入h a s h s s 中1 1 1】 一 流缓冲区3 中新建数据 流,将数据包加入该将数据包加 流,流中记录源地址, 入该数据流 业务类型等信息。 图3 _ 4 基于包特征检测的业务流分析算法( 3 ) 3 3 2 应用层特征字匹配算法 应用层特征字匹配算法是基于包特征检测的i p 业务流分析核心算法中进 行应用层特征字识别时所需的关键算法。实现这一过程的基础技术就是模式匹 配( p a t t e r n m a t c h i n g ) 。通俗地讲,就是字符串匹配,即从数据中搜索是否存在 1 9 北京邮电大学硕士研究生毕业论文基于包特征检测的i p 业务流分析模型 目标字符串。本节首先对目前主流的模式匹配技术进行简要的介绍和分析,之 后对单模式匹配算法进行重点研究,最后进行特征字匹配算法的设计。 3 3 2 1 模式匹配技术 模式匹配技术大体上分为三类【l o 】。 第一类是软件模式匹配:在字符串匹配算法中,匹配一个字符串的算法称 为单模,而同时匹配多个字符串的算法则称为多模,b m 算法是典型的单模式 匹配算法,a c 算法则是典型的多模匹配算法。c p u 多核化的趋势大大地提高 了软件模式匹配的性能。如多核处理器达到8 个核,每个核有4 个硬线程,则 基本m 处理性能可达到5 g b p s 。 第二类是t c a m 模式匹配:t c a m 是一种进行用于查表操作的专用芯片, 其特点是一次命中,查找速度与表的大小无关。这种方式特别适合路由表a c l 表的高速查找,由于这种方式要求匹配字符串的位置必须相对固定,因此不适 合d p i 可变位置的查找。目前已经有厂家尝试在t c a m 外面增加逻辑电路,以 此来扩展t c a m 模式的灵活性。 第三类是a s c i 模块匹配:通过把正则表达式解释器a s c i 化,把需要检 测的字符串通过正则表达式编译后,加载到芯片中,进行特征字库升级。 比较三种模式匹配技术,t c a m 方式的灵活性低,实现难度大,功耗高, 不是发展方向;软件方式的灵活性高,而且随着多核c p u 的普及,性能快速提 高;内容检测a s c i 性能较高,灵活性也高。总体来讲,软件模式匹配和a s c i 模式匹配是未来的主流发展方向。本文根据课题需要,将重点研究软件模式匹 配算法中的单模式匹配算法,在此基础上完成对应用层特征字匹配算法的设计。 3 3 2 2特征字匹配算法 应用层特征字匹配的工作原理是通过搜索数据包载荷,查询业务识别特征 库中特征字和业务类型的对应规则,对载荷中的程序特征字符串进行业务匹配。 即在包载荷这个字符串中进行各种业务特征模式串的匹配工作。根据第四章中 对口网中典型业务的包特征分析得知,大多数业务对应的应用层特征字只有一 个,即对大多数应用的识别只需要对载荷进行一次业务特征模式串的匹配工作, 因此,本文将重点研究单模式匹配算法,在此基础上完成对应用层特征字匹配 算法的设计。 北京邮电大学硕士研究生毕业论文 基于包特征检测的口业务流分析模型 3 3 2 2 1单模式匹配算法 单模式匹配算法中最典型的有k m p 算法和b m 算法,下面分别对这两种算 法进行分析和比较。 k m p 算法 k l v i p 算法是d k n u t h 、j m o r r i s 和v p r a t t 提出的一种快速模式匹配算法【l l 】。 其主要思想是:假设在模式匹配过程中,当前正执行到比较字符t i 和p j ( 1 i n , 1 n m + l 为止。 k m p 算法的核心是构造n e x t 函数。当1 j m 时,n e x t u 定义如下: rm a x k :l k j ,使得p t l k t l = p j - ( k q ) 州】) ; m x t 【j 】= l - l ,对于所有的k :l k j ,l 加- ( k q ) j 1 1 p 【1 k 1 】; k m p 算法的渐进时间复杂性最好可达0 ( 1 1 1 + n ) ,有较高的工作效率。因其 匹配过程中不需回溯,因此有些文献也称之为不回溯的字符串匹配算法 b m 算法 b m 算法是r b o y e r 和j m o o m 在对k m p 算法研究的基础上提出的一种新 的快速字符串匹配算法【1 2 】。 假设给定长度为n 的文本串t = t 【1 】t 2 】t n 】中查找长度为m 的模式串 p = p 【l 】p 2 】p m 的第一次出现的过程。这里t i ( 1 g ) ,p j 】( 1 匀 s ) ,p s + 1 m 】= p 1 。m s 】( j ) ) 根据两条规则,在匹配过程中,当在模式串p 的j 位置出现不匹配时,字 符串向右的偏移距离s 取b a d c h a r ( c ) + j m 和g o o d s u f f x ( j ) q 丁的大者,其中c 为 母串t 中在不匹配处的字符。 b m 算法的预处理阶段的时间空间复杂性是o ( m + o ) ,o 是与p 、t 相关的 有限字符集的长度。查找阶段最好情况下的性能是o ( n m ) ,最坏情况下是 o ( m 木n ) ,但实际比较次数只有文本串长度的2 0 - - 一3 0 。 两种算法的比较 根据以上对两种单模式算法的分析可知,b m 算法是k m p 算法的改进算法, 其好后缀规则是由k m p 中的n e x t 函数改造而来的,它将k m p 算法中确定n e x t 值时所采取的自左至右扫描模式的方式改成从右到左扫描模式的方式,且同时 考虑模式中第m 个字符到第j + 1 个字符和正文中已经匹配及第j 个字符与正文 不匹配这两个事实。因此,当发现字符不匹配时,如p j 】t 【k 】时,从 i - - m a x i + b a d c h a r t i ,i + g o o d s u f f x j 位置开始重新执行自右至左的匹配比较, 其效果当于模式串向右滑过k m p 算法和b m 算法所允许的距离中的一段最大 距离。因此,b m 算法具有更高的匹配效率。 3 3 222 特征字符串匹配算法 通过上小节中对单模式匹配算法的分析和比较,本文将基于b m 单模式匹 配算法进行特征字符串匹配算法的设计。 根据b m 算法的工作原理,基于b m 的特征字符串匹配算法的工作过程大 致分为两个阶段:预处理阶段和查找阶段。匹配流程图如图3 7 。下面详细介 绍预处理阶段和查找阶段。 北京邮电大学硕士研究生毕业论文基于包特征检测的m 业务流分析模型 图3 7 特征字匹配流程 预处理阶段 预处理阶段的主要工作是计算b a d c h a r 和g o o d s u f f x 两个偏移量函数。此 时数据包载荷作为母串t ,应用特征字符串作为模式串p 。 b a d c h a r 函数计算字符集中每个字符对应的偏移量,计算公式见上节中 b a d c h a r 函数的定义。可以使用t b b a d c h a r 表对中每个字符对应的偏移量进行 记录。 北京邮电大学硕士研究生毕业论文基于包特征检测的口业务流分析模型 g o o d s u f f x 函数计算模式中的某个子串被匹配成功时文本指针可以右移的 偏移量,计算公式见上节中g o o

温馨提示

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

评论

0/150

提交评论