(计算机应用技术专业论文)园区网络流量监测系统研究与设计.pdf_第1页
(计算机应用技术专业论文)园区网络流量监测系统研究与设计.pdf_第2页
(计算机应用技术专业论文)园区网络流量监测系统研究与设计.pdf_第3页
(计算机应用技术专业论文)园区网络流量监测系统研究与设计.pdf_第4页
(计算机应用技术专业论文)园区网络流量监测系统研究与设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)园区网络流量监测系统研究与设计.pdf.pdf 免费下载

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

文档简介

园区网络流量监测系统研究与设计 摘要 随着网络速度的不断提高,规模的扩大,以及应用需求的多样化,网 络上的数据流变得复杂而多变。这都给网络管理和维护以及网络安全提出 了更新、更高的要求。网络管理软件、防火墙软件、网络监控系统等都要 求能够对网络数据包进行高速采集和分类,再根据不同的包进行不同的处 理。实现网络数据采集和分类的方法,从实现形态上大致可以分为硬件实 现和软件实现。对于中小型中低速网络上的应用来说,硬件的实现代价一 般较高,设计周期长,而软件实现则可以避免这些不足。本课题深入研究 了如何用软件来实现一个功能完善的流量监测系统。 本文首先分析了从事网络流量监测研究的现实意义,并仔细研究了 r t f m 实时网络流量监测模型,在此基础上,归结出了实现一个高性能的测 量器将遇到的两个关键问题,即高速报文捕获技术与快速多维报文分类算 法。然后,本文重点就集中于在研究己有实现技术的基础上,形成我们对 这两个问题的解决方案。该方案包括以w i n p c a p 技术进行报文捕获,以改 进的t u p l es p a c es e a r c h 算法n c h t s s ( n o n c o l l i s i o nh a s ht u p l es p a c e s e a r c h ) 为报文分类算法。在研究和实现了这些关键功能之后,本文给出 了流量监测系统的总体设计与实现。 关键字:流量监测,报文分类,报文捕获,t u p l es p a c es e a r c h t h er e s e a r c ha n dd e s i g no nn e t w o r kt r a f f i ci n s p e c t i o n s y e t e m a b s t r a c t w i t ht h eo n g o i n gi n c r e a s eo fn e t w o r ks p e e d ,e x t e n s i o no fs c a l ea n d d i v e r s i t yo fa p p l i c a t i o nd e m a n d s ,t h ed a t af l o wb e c o m e sc o m p l e xa n d c h a n g e a b l e a l l t h o s e p o s e dh i g h e r a n dn e w e rr e q u i r e m e n t so nt h e m a n a g e m e n t ,s e c u r i t y a n dm a i n t e n a n c eo fn e t w o r k n e t w o r km a n a g e m e n t s o f t w a r e ,f i r e w a l la n dm o n i t o r i n gs y s t e m s ,e t c a l l r e q u i r e t h e p a c k e t c o l l e c t i o na n dp a c k e tc l a s s i f i c a t i o ni nh i g hs p e e d t h ei m p l e m e n tm e t h o d so f d a t ac o l l e c t i o na n dc l a s s i f i c a t i o nc a nb ec a t e g o r i z e di n t oh a r d w a r e a n d s o f t w a r eo n e sb ya n dl a r g e a sf o rt h ea p p l i c a t i o no ft h es m a l l - s c a l e da n dl o w s p e e dn e t w o r k ,t h eh a r d w a r eo n ei su s u a l l ye x p e n s i v ea n di nl o n gt e r m ,w h e r e a st h es o f t w a r eo n ea v o i d sa l lt h o s es h o r t c o m i n g s t h i sd i s s e r t a t i o nb a s i n go n t h ed e v e l o p m e n to ff l o wm o n i t o r i n gs y s t e m ,l u c u b r a t et h ef l o wm o n i t o r i n g s y s t e mw i t hi n t e g r a t i v ef u n c t i o n sb yp u r e l yu s i n go fs o f t w a r e t h i sd i s s e r t a t i o nf i r s t l ya n a l y z e dt h es i g n i f i c a n c eo ft h er e s e a r c ho ft h e n e t w o r kf l o wm o n i t o r i n g ,a n dc a r e f u l l yr e s e a r c h e st h em o d eo fr e a l - t i m e n e t w o r kf l o wm e a s u r e m e n t b a s i n go nt h o s es t u d i e s ,t h i st h e s i ss u m m a r i z e s t w o k e yp r o b l e m s :h i g h s p e e d n e t w o r k p a c k e tc a p t u r et e c h n o l o g y m u l t i d i m e n s i o n a lp a c k e tc l a s s i f i c a t i o na l g o r i t h mr e s p e c t i v e l y a f t e rt h a t ,t h e d i s s e r t a t i o nf o c u s e so nt h es o l u t i o n st ot h et w op r o b l e m s t h i ss o l u t i o n s i n c l u d e su s i n gw i n p c a pt e c h n o l o g ya sp a c k e tc a p t u r em o t h o d ,n c h t s s ( n o n c o l l i s i o nh a s ht u p l es p a c es e a r c h ) a sp a c k e tc l a s s i f i c a t i o na l g o r i t h m a f t e r h a v i n g r e s e a r c h e da n d i m p l e m e n t e d t h o s e k e yf u n c t i o n s ,t h i s d i s s e r t a t i o np r o p o s e st h eg e n e r a ld e s i g n ,i m p l e m e n t a t i o no ff l o wm o n i t o r i n g s y s t e m k e y w o r d :f l o wm o n i t o r i n g ,p a c k e tc l a s s i f i c a t i o n ,p a c k e tc a p t u r e , t u p l es p a c es e a r c h i i 插图清单 图2 1r t f m 的架构图5 图2 2m e t e r 的报文处理流程6 图2 3m e t e r ,m a n a g e r 与r e a d e r 的交互7 图3 1以太网报文捕获拓扑图1 1 图3 2计算机系统结构1 2 图3 3w i n p c a p 体系结构1 3 图3 4内核级数据包转储1 5 图3 5表3 1 的几何表示1 6 图3 62 - d 分层查找数实例1 7 图3 72 - d 集合归并查找树实例1 8 图3 8格栅查找树实例1 9 图3 9表3 1 的交叉乘积表2 0 图3 1 02 - d 数据包分类方案2 0 图3 1 la q t 算法实例2 1 图3 1 2 表3 1 的a q t 算法实现2 2 图3 1 3f i s 树结构实例2 3 图3 1 4r f c 的基本构思2 4 图3 1 5r f c 中的数据包流。2 5 图3 1 6 表3 - 1 数据包分类器的决策树2 6 图3 1 7n c h t s s 的系统结构3 0 图3 1 8 目的源端口和协议域分类示意图,j 3 3 图4 1系统功能图3 8 图4 2正常数据包捕获过滤流程,4 0 图4 3基于w i n p c a p 应用的基本流程4 1 图4 4 数据帧的一般格式4 2 图4 5以太网帧捕获后的分析流程图4 2 图4 6 数据包解码过程4 3 图4 7协议解析函数结构关系图4 3 v 图4 8 逐层流量分析原理图 图4 ,9 实时监测数据流程图 图4 1 0 实时监测操作界面 图4 1 1 历史数据查询操作界面 v 4 5 4 8 4 9 4 9 表格清单 表3 1 规则实例表1 6 表3 2 表3 - 1 分类器的元组表及其相关联的哈希表2 7 表3 3 常见分类算法及其性能分析2 9 表3 4 无冲突规则库的建立3 1 表3 5 简单规则表3 2 表4 1f l o w 表结构4 7 v i l l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得金壁王、业态堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究 所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名: 夺勇 签字日期:如带”月) 。日 学位论文版权使用授权书 本学位论文作者完全了解金目巴王些太堂有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅 和借阅。本人授权金胆王些态堂可阻将学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 考旁 签字日期:弘书年f 1 月王口日 学位论文作者毕业后去向:企业 工作单位:中兴南京研究所 通讯地址: 导师签名 签字同期: 电话: 邮编: 日 致谢 在此论文完成之际,向我的导师、计算机学院的老师、我的同学以及 其他在学习上和生活中给与我帮助的人们表达我真挚的谢意! 我的导师周健老师知识渊博,治学严谨认真。他对科研问题有敏锐的 洞察力,并鼓励我们自由思考和选择。在他的指点下,我们各自选择了自 己喜爱的研究方向。我从研究生一年级开始,通过对复杂理论和园区网络 的大量阅读,取得了一些成绩,这些成绩都离不开周老师的悉心指导和鼓 励。我的硕士论文也是在周老师的精心修改和反复提炼下完成的。另外, 周老师还建议我们广泛阅读,在这种思想指引下,我阅读了( u n i x 网络编 程、( t c p i p 详解等计算机领域经典书籍。我对周老师充满敬意并万 分感谢,是他给了我研究方向,是他让我学会主动发现问题并想方设法去 解决,也是他使得我在网络中心有许多实践的机会,从而促进了我对计算 机网络的理解和热爱。 合肥工业大学网络中心研究生实验室是一个优秀的集体,在这里有的 同学对下一代互联网i p v 6 感兴趣、有的同学热爱网络安全方面的知识等 等,这对我的论文也有很大的启发,并提出了许多宝贵的意见。我要感谢 我的这些同学和师兄弟给与我的帮助,他们为我提供了一个团结、和谐的 工作和学习环境。 网络中心的谢飚老师给我的论文提了不少宝贵的意见,在这里深表感 谢! 感谢各位评审专家在百忙之中抽时间对论文进行了仔细的评阅! 最后,再次向所有帮助和关心过我的人们表示由衷的感谢! i i i 作者:李勇 2 0 0 7 年1 1 月 1 1 本课题研究的内容及目标 第一章绪论 本课题是应用层协议分析与控制系统的一个子系统。主要研究目标是构建 一个网络流量监测系统,以满足网络应用层协议分析与控制系统对网络流量信 息监测的需求。 本课题的研究内容正是围绕以上的研究目标,主要包括以下几个方面: 1 ) 实时网络流量监测模型的研究 对现有各种网络流量监测技术和模型进行研究,分析各种方案的设计思想、 特点及适用的环境。并在此基础上,根据网络应用层协议分析与控制系统的功 能需求,归结出了要实现一个功能相对完整的流量监测系统所要解决的两个方 面的问题。 2 ) 报文捕获技术的研究与实现 研究实现网络报文捕获的各种技术,对已有的网络报文捕获软件进行分析 和评测,最终选定w i n p c a p 技术完成报文捕获。 3 ) 高速报文分类算法的设计与实现 研究各种成熟的流量分类算法,并对它们进行评析,选出适合网络流量监 测系统特点和运行环境的t u p l es p a c es e a r c h 分类算法作为系统的分类算法, 并在对其深入研究的基础上,提出了一个改进算法n c h t s s ( n o n c o l l i s i o n h a s h t u p l es p a c es e a r c h ) 。 4 ) 利用上述的研究成国,设计实现了一个满足应用层协议分析与控制系统需要 的流量监测子系统。 1 2 作者的主要工作 本课题是应用层协议分析与控制系统的一个子系统,作者在课题进行的同 时,以“园区网络流量监测系统的研究与设计”为题,开始进行硕士毕业论文 准备工作。在导师的悉心指导下,确定了论文研究的主要内容,在半年多的时 间里,作者完成了以下工作: 夺参与了课题前期的需求分析; 夺阅读并分析了大量有关网络体系结构、网络协议、网络流量监测,网络分 类算法等项目相关的资料及相关的学术论文;对网络流量监测系统的原 型、各种网络流量信息获取技术进行了深入的讨论和分析; 夺总结归纳了现有网络流量监测系统产品的实现方案,根据需求分析的结 果,参与了系统的设计; 夺对实现网络流量监测系统的关键技术,如网络报文捕获、多维报文分类算 法进行了分析、研究和代码的实现; 夺完成了将各个功能模块的集成,以形成一个可用的流量监测系统。 1 3 本文的章节安排 本论文内容安排如下: 第一章绪论。主要介绍课题的项目背景、来源以及作者的主要工作。 第二章网络流量监测的研究。首先从流量工程、和实际应用角度讨论从事 流量测量研究的现实意义:再对流量测量系统的原型进行研究;最后分析了网 络流量监测系统的发展现状。 第三章关键问题研究。实现一个网络流量监测系统将遇到两个关键问题: 高速报文捕获、快速报文分类。本章将针对这两个问题分别进行研究。其中在 报文分类部分重点对t u p l es p a c es e a r c h 算法进行了仔细研究,并给出了对它 的改进方案n c h t s s ( n o n c o l l i s i o nh a s ht u p l es p a c es e a r c h ) 。 第四章流量监测系统的设计和实现。本章首先对该系统进行了总体设计, 随后给出了主要功能模块的实现。 第五章本课题研究工作总结,并阐述了课题进一步研究的方向。 第二章网络流量监测的研究 2 1 网络流量监测研究的现实意义 网络流量监测一直是很多研究机构和应用开发人员研究的重点,不论从应 用角度还是理论研究角度都具有重要的意义。以下从三个方面分析流量测量工 作的重要理论和现实意义。 1 ) 网络流量监测研究对了解网络性能、网络的服务质量、网络的故障检测 与发现以及对网络运行的监控和管理具有重要的基础意义。近几年来,由于网 络带宽和网络设备性能的不断提高,基于互联网络的应用日益广泛和深入,对 网络的服务质量的各项要求也越来越高。为了确保网络的服务质量,对网络进 行宏观调控、流量控制、性能调优等成为网络管理的必要内容。然而,管理员 在没有科学数据作为依据的情况下,仅凭借经验进行调整得来的改善非常有限。 而同时,网络运营商在面对网络规模越来越大,越来越复杂的情况下,对用户 使用网络的行为进行有效的监控和管理,变得愈加困难。要提供给网络管理员 详实的网络运行时的各项参数,必须对网络上传输的数据进行快速、灵活、有 效的分析,而网络流量监测工作正是为达到这样的目的而进行的基础研究。 2 ) 网络流量监测研究为网络设备的优化部署、网络设备的改造升级以及为 下一代网络的技术开发和网络建设提供重要的数据参考和理论指导。 因特网在历史上一直没有被有效的监测和测量。自从因特网诞生以来,它 的规模迅速扩大的同时,因特网自身也出现了重大的变化。在因特网的众多变 化之中,最突出的就是网络从单纯的数据传送发展到多媒体信息的传送。这就 使得网络流量的形式发生了极大的变化,比如流量的时间分布、协议分布、网 络数据的实时性传输特征等。这些变化动摇了因特网设计的理论根基,使得网 络流量模型从泊松分布变为自相似。所有这些这些变化都极大地影响到了网络 运营商部署、改造和升级他们的网络的方式;同时,也深刻影响到了网络设备 供应商的研发行为,促使他们提供的新的网络设备要适应或满足这些变化。人 们要对这些新的网络流量特征、网络行为等做出深刻的理解和精确的描述,首 先需要做的就是要定量的测量它,并用数字表示出来。 3 ) 网络流量监测研究对网络的安全、网络的用户计费等应用提供重要的技 术基础。 从互联网产生开始,网络的安全问题也随之产生,而且随着网络和人们的 生产、生活联系的愈加紧密和深入,一系列的网络安全事件促使人们开始从新 审视和认真对待这样一个严肃的问题,随之也成为网络研究人员的研究热点。 纵观各种网络安全技术,应用较成熟的还是入侵检测系统i d s 。入侵检测系统一 般分为基于主机的i d $ 和基于网络的i d s ,而它们的主要方法还是对网络上流动 的信息进行实时的分析,包括关键字模式匹配、各种协议的跟踪等,这些分析 所需要的主要技术还是以网络流量监测的研究成果为基础进行。 网络规模的扩大和流量的激增,网络计费成为网络运营商面临的待解决的 重要问题。从根本上讲网络计费管理的依据是用户对网络资源的使用情况,例 如:对信息传输量的计费,对占用线路的时间的计费等等。计费管理的关键是在 于计费信息的收集。按流量计费是数据网络的特点,尤其是对于t c p i p 协议体 系而言,计费信息的采集主要是获取网络上所有的i p 协议包,对包头进行分析, 将源i p 地址、目的i p 地址、数据包长度、数据协议类型等有关信息收集到计费 数据库中。而要进行高效、灵活、准确地收集这些信息,就不得不进行流量测 量分类工作。 2 2 网络流量监测系统的原型研究 网络流量监测系统有一套完整的系统概念、定义和结构表述。下面我们主 要依据i e t f 提出的实时网络流量监测模型r t f m ( r e a l t i m et r a f f i cf l o w m e a s u r e m e n t ) ”,对网络流量监测系统所涉及的各种概念、概念之间的联系做出 详细的解释和研究。 2 2 1 流量监测的认识 网络流量监测属于网络测量中的被动测量范畴。网络测量包括主动测量和 被动测量。主动测量是基于端到端的测量。测量设备向被测网络中注入一些以 探测网络特征为目的的探测流,并根据这些探测流在网络中传输时反映出来的 属性来理解被测网络的某些特征参数。主动测量会给被测网络增加潜在的流量 负担。被动测量是一种分布式的网络测量技术,它在被测网络中一些离散观测 点上布置一些可以观测网络流为目的的设备或网络组件,并对通过该点的数据 流进行收集、分类和提取,然后对记录数据进行归并和处理。观测点一般位于 网络中流量聚合的地方。被动测量几乎不会对原有网络流量造成影响,测量到 的网络数据能真实反映当前网络的流量分布特点。对被动流量测量研究较多的 有i e t f 的r t f m ,i p f i k 和p s a m p 工作组。其中r t f m i 作组通过发布的5 个r f c ,建 立了实时流量测量体系结构,并提供了第一个开放的、基于r t f m 规范的网络流 量监测软件集一n e t r a m e t ,为其它流量测量系统的实现提供了参考。 下面将从r t f m 的角度,介绍它对网络流量监测的理解,它的总体架构,它 对m a n a g e r ,m e t e r 和r e a d e r 等实现的规范,以及与之相关的m e t e rm i b 等。最后 结合n e t r a m e t - v 具【,对r t f m 的实现技术和部署进行了简单介绍。 4 2 2 2r t f m 流量测量模型的研究 实现对网络流量监测的前提是要对“网络流”进行定义,r t f m 对“网络流” 的理解为:通过网络中某一观测点的具有相同属性的数据包,这些属性包括端 点、方向、时间粒度和协议层次等。端点指的是流的起点和终点,方向可以是 单向或双向,时间粒度指数据包的发送起始时间和终止时间,协议层次包括o s i 模型的七层协议。明确了研究对象之后,r t f m 给出了一套完整、统一的实时网 络流量监测体系结构。 2 2 2 1r t f m 总体架构 r t f m 架构【4 】由计量器、读取器、管理器和分析应用程序四部分组成,如图 2 1 所示。 图2 1r t f m 的架构图 计量器m e t e r 是根据特定的测量需要,放置在某个测量点的网络组件。它们 能够监听到通过被测网络上的所有数据包,并同时依据自身的规则设置有选择 地对网络活动进行记录。在活动信息被记录之前,它能够对其压缩、转换和预 处理,经过这些操作之后存储下来的数据被称作“u s a g ed a t a ”( 可用数据) 。 管理器m a n a g e r 在r t f m 中处于管理者的位置,负责配置各个m e t e r 和m e t e r r e a d e r 实体,向它们发送控制命令,并时刻监视它们运行是否正常。为了方便 起见,通常在r t f m 实现时,把_ m a n a g e r 与m e t e rr e a d e r 集成到一起,作为一个网 络实体。 读取器m e t e rr e a d e r 也是一个网络组件,它负责把“u s a g ed a t a ”从个 或多个m e t e r 上下载过来,供分析应用程序使用。 分析应用程序a n a l y s i sa p p l i c a t i o n 用于进一步处理“u s a g ed a t a ”,以 得到对特定网络管理需求有帮助的可读的信息或报表。 2 2 2 2 测量器m e t e r m e t e r 是整个r t f m 结构的核心组件,作为统计、收集网络数据的直接参与者, 它可以有多种方法实现。它可以是连接在具有广播特性的局域网( 比如以太网, 为的是能够观测到通过这个网段上所有的数据包) 上的一台主机,并且在它上面 运行测量程序;可以实现在一个具有一个或多个网络接口卡的多任务系统中, 以测量每一个接口卡所连接的子网上的所有数据包;也可以把它实现在具有包 转发功能的网络设备( 如路由器和交换机) 上。 每收到一个网络数据包,m e t e r 将进行一系列的动作,如图2 2 所示。 图2 + 2m e t e r 的报文处理流程 夺到达的数据包首先被传递给包处理器p a c k e tp r o c e s s o r ,由它提取包的属 性值形成匹配关键字m a t c h k e y 。 夺包处理器把m a t c h k e y 提供给包匹配引擎p a c k e tm a t c h i n ge n g i n e ( 简称 p m e ) ,由p m e 依据当前规则集c u r r e n tr u l e s 进行具体的流分类,并返回分 类的结果。 夺p a c k e tp r o c e s s o r 依据p m e 返回的匹配结果,进行不同的操作。如果返回”t o b ei g n o r e d ”,它就简单的结束统计,这说明此数据包不在感兴趣之列:如 果返回一个流关键字“f l o wk e y ”,就说明此数据包属于某个流,可以通 过f l o wk e y 查找到所属的流索引值,依据流索引值在流表f l o wt a b l e 中找 到对应的流记录,并对其更新;若f l o wt a b l e 中不存在流记录,就新创建 一个新的流记录。 p m e 相当于一个执行规则指令的虚拟机,多条规则指令组成一个规则程序即 规则集r u l es e t 。包匹配的过程就是以包属性为参数执行一次规则程序输出结 果的过程。 2 2 2 。3 读取器m e t e rr e a d e r s 读取器m e t e rr e a d e r 按照一定的时间间隔,按各种粒度从一个或多个m e t e r 上收集流量信息。m e t e rr e a d e r 可以一次获取单个属性值,可以获取一个流的 完整信息,也可以获取m e t e r 中整个流量表的所有流记录。要获得这样的灵活性, m e t e r 与m e t e rr e a d e r 之间可以用s n m p 作为传输协议( r e c 2 7 2 0 已经定义了m e t e r m i b ) ,它们之间数据传输的准确性、可靠性和安全性都可以交由s n m p 来保证。 6 m e t e rr e a d e r 将各个m e t e r 上收集的数据分别以一个流数据文件来存储。 m e t e rr e a d e r 每次从某个m e t e r 上收集一次数据,它都将其按一定的格式组成一 条记录添加到相应流数据文件的末尾。这些流数据文件可以供应用分析软件做 进一步的处理,以形成更加直观的图表或报表。 2 2 2 4 管理器m a n a g e r s 管理器m a n a g e r 对m e t e r 的管理主要体现在向m e t e r 下载规则集、设置流超时 值( 当超过这个时间没有收到属于这个流的数据包时,m e t e r 将置流记录状态为 i n a c t i v e ) 等影响m e t e r 运行的各项参数。 管理器m a n a g e r 对m e t e rr e a d e r 的管理主要体现在对m e t e rr e a d e r 的认证授 权( 确保m e t e r 不被未经授权的外界访问) 、设置m e t e rr e a d e r 的从m e t e r 上收集 信息的时间间隔、设置某个m e t e rr e a d e r 为另一个m e t e r 的后备读取器( 当主读 取器出故障时,后备读取器将被启用) 等。 m a n a g e r 和m e t e r 。m e t e rr e a d e r 之间是一对多的关系( 如图2 3 所示) ,m e t e r 和m e t e rr e a d e r 之间是多对多的关系。可以在同一个网段上部署两个m e t e r ( 如 图2 3 的m e t e r2 ,3 ) ,当其中一个出现故障时,m e t e rr e a d e r 可以从另一个m e t e r 上继续收集信息;也可以同时设置两个m e t e rr e a d e r ( 图中2 3 的m e t e r r e a d e r a ,b ) 从同一个m e t e r 上收集信息,以防止其中一个出故障时m e t e r 上的流 信息得不到及时收集而丢失。 图2 3m e t e r m a n a g e r 与r e a d e r 的交互 2 2 2 5r t f m 的管理信息库m e t e rm i b 管理信息库m e t e rm i b l 3 l 的定义是为了方便用s n m p 对各个m e t e r 进行管理操 作,最初是由i n t e r n e ta c c o u n t i n gw o r k i n gg r o u p 发起,后来由r t f m t 作组作 了进一步扩充和完善,最新的定义符合s m i v 2 。m e t e rm i b 中定义的所有变量都 已注册在以m i b 一2 ( r f c 2 5 7 8 ) 为名字空间的f 1 0 w m i b 子树中。 它们都被分到四个组中,即控制组、数据组、规则组和一致性声明组,这 些变量涵盖了m e t e r 的方方面面,它们的意义也反映了以上介绍的m e t e r 的运行 机理。 7 2 2 2 6r t f m 实现案例评测与部署 在r t f m 的实现方面,有代表性的是开源软件n e t r a m e t 软件集1 2 j 。n e t r a m e t 是一个r t f m 实现的蓝本,也是一个免费的应用软件,己经在实践中大量部署。 该软件集主要包含一个作为m e t e r 的n e t r a m e t 软件,一个集成了m a n a g e r 和m e t e r r e a d e r 功能的n e m a c 软件,一个用于编译s r l 程序的s r l 软件,以及f d f i t t e r 和 f d 数据分析应用软件等。 最初在环境下实现,后来移植到_ e x t r a c tn e t r a m e t d o s 了u n i x 和w i n d o w s 环境下。在u n i x 和w i n d o w s 环境下,n e t r a m e t 抓包功能利用了 开源软件l i b p c a p 来完成,使得它在以太网上的s o l a r i s ,s u n o s ,d e cu n i x 和 l i n u x 等多种u n i x 系统以及多种版本的w i n d o w s 系统上运行良好。当前的 n e t r a m e t 的实现的主要不足是它的性能不高,推荐部署在网络峰值流量只有 l o o m b p s 的观测点上,一方面由于它要保证的可移植性使得它所有的工作都在操 作系统用户态下执行,较多时间花费在缓冲区拷贝和状态切换上,另一方面由 于它要获得的灵活的规则设置牺牲掉了部分包分类的查找效率。 r t f m 的各个部分功能明确的模块化设计,使得它可以根据具体的网络环境 和需求灵活部署。在一个大型网络中可以以层次化结构部署m e t e r ,以达到全方 位的流量统计分类。 2 2 2 7r t f m 模型研究总结 综上所述,r t f m 为网络流量的测量架构和具体实现,提供了一套完整的解 决方案,从一些己实现的系统的运行情况和用户的反应看,r t f m 架构的确有实 现的可行性与应用前景。由于当前n e t r a m e t 实现的缺陷,导致它在高速网络中 应用并不理想;然而,n e t r a m e t 和l i b p c a p 源代码的公开性,以及已经出现的大 量成熟的分类算法,为在这方面对它的进一步改进提供了可能。 2 2 3 网络流量监测中的关键问题 网络流量监测系统原理模型在上一节中己经给出,其中主要的功能模块包 括测量器m e t e r 、读取器m e t e rr e a d e r s 、管理器m a n a g e r s 、管理信息库m i b 以及 规则设置程序设计语言等。这些功能性模块是一个流量测量系统实现时所推荐 实现的,其中有些是必需的,有些是可选的。在具体实现这样一个系统,尤其 是测量器m e t e r 时,将遇到诸多经典问题,下面分别对它们先做以简单介绍,在 本文的以后章节将进行详细研究。 1 ) 高速网络上的报文捕获获取准确的流量信息的前提是尽可能完整的 得到网络上的数据包,它由报文捕获功能模块实现的。高速报文捕获的部署和 实现方法有多种,最简单有效的方法就是直接在路由器或交换机上获取特定端 口上流过的报文。这种方法实施起来比较方便,但是实际中并不提倡使用,原 因在于:路由器的主要功能在于i p 数据包选择路由,所以其计算功能不强,一般 来讲,其c p u 的主频还不及现在的中高档p c ,一旦运行流量监测和分析软件,其 路由选择功能将大打折扣。另一种较为相似的方法就是网关方式。用一台高性 8 能的服务器作为子网的网关,子网内所有主机流向外网的流量都要发给网关, 再由网关将流量输出到相邻的网络或路由器。这种方法的实现较为复杂,可能 影响到网络的性能。还有一种方法就是被动侦听。该方式中,流量监控系统处 于侦听状态,实际的网络数据包并不直接经过该监控工作站,而是直接经过路 由器网关,流量监测系统的运行对网络上的其它主机都是透明的。侦听方式不 会影响到网络的拓扑结构和运行性能,尤其适合用于当前最为流行的广播通信 方式的以太网上。在百兆以太网上,具有侦听功能的监控工作站的配置也较为 简单,普通的p c 、以太网卡和操作系统( l i n u x 或w i n d o w s 均可) 。通常情况下以 太网卡只接受到达本地的数据包,而过滤掉其它数据包,但以太网卡还有一个 “混杂模式”选项,可以关掉过滤功能,从而检查途经网卡的所有数据报。本 课题在实现时就是基于侦听方式的包捕获。 2 ) 多维报文分类算法报文分类算法是流量监测系统的核心,它的优劣对系 统的性能影响最大,所以往往成为系统的性能瓶颈。所有经过过滤器而没有被 丢弃的报文都将交给报文分类模块去处理。报文分类模块应用一定的分类算法 确定该报文所属的类或流,进而更新相应的统计数据。从实现上看,报文分类 算法就是依据报文中提取出的多个字段的值或关键字,来确定该报文属于哪个 报文类或流,这是多维分类问题。分类算法的选取要依据具体的统计策略和需 求而定,如果统计是基于预先定义的规则类的,并且仅仅需要记录每一类的总 体流量大小,分类算法就要着眼于对规则进行尽可能多的预处理,形成合适的 数据结构,以加快实际分类时的查找匹配操作的速度。如果统计策略要求不仅 进行类的总体流量统计,而且要求统计属于一个类的所有出现的网络流( 比如, 属于f t p 协议类中的出现的所有端到端流量,这些端到端流的出现并不是可以预 先预测的到的,只有在其出现后才能统计的到) ,分类算法就要更多的关注其数 据结构随一条网络流出现、结束等动态变化的灵活性和高效性。 2 3 网络流量般测系统的现状 在此之前,己经有很多研究机构、公司提出自己的网络流量监测系统的系 统架构,有的己经做了实现,并且在实际应用中大规模部署。下面介绍几种网 络流量采集分类系统的特点和实现方式。 1 ) m r t gm r t g 是一个典型的监视网络设备端口流量的工具,它使用s n m p 协议访 问网络节点获取m i b 信息( 包括网络节点端口流量) ,然后通过w e b 方式输出结果, 使得维护人员可以迅速地发现网络的故障和可能发生故障的节点。m r t g 通常被 网络管理人员用来收集网络节点端口流量统计信息,是典型的监视网络链路流 量负荷的工具。m r t g 的定制非常方便,一般可以在网络的重要节点端口和故障 发生频繁的网络设备处利用m r t g 进行监视。m r t g 的缺点是功能较单一,分析功 能不强,其收集到的流量信息是端口的统计信息,不能用于复杂的分析。 9 2 ) s n i f f e rp o r t a b l es n i f f e rp o r t a b l e 属于n e t w o r ka s s o c i a t e s 公司的s n i f f e r 产品系列。一般来说,用s n i f f e rp o r t a b l e 采集流量的过程是将安装了s n i f f e r 的主机接入到交换机的某个端口,然后将其它需要采集流量的交换机端口流量 影射到此端口,从而通过对一个端口的扫描就可以采集到多个端口的流量。 s n i f f e rp o r t a b l e 分析能力特别强大,可以解析的协议达4 0 0 多种,但当它采用 通用硬件设备时,只能用于l o o m b i t s 以及一下速率的链路,即小型网络上的性 能维护和分析,如果要在更高速的链路上采集流量,或者是大面积收集网络流 量信息时,就要采用s n i f f e r 的特制硬件配置,价格比较昂贵。 3 ) r o mi i 流量探针( r o mi ip r o b e ) r o mi i 是标准r m o n 的扩展。r o mi i 流量探 针指的是该探针提供对r o mi i 的支持。流量探针价格昂贵,不适合大面积安装, 比较适合在汇聚层或接入层的某些重要节点内部实施。流量探针安装非常方便, 可以实时将r m o ni i 的流量信息完全记录下来,这对分析网络的性能和故障很有 价值。如果将流量探针串接到交换机端口,开启端口映像( s p a np o r t ) 功能,将 各个端口的流量映射到安装了流量探针的端口,则仅通过对一个端口的监测就 可以收集到多个端口的流量信息。典型的流量探针设备有n e t s c o u t 公司的 n e t s c o u t 和h g i l e n t 公司的n e t m e t r i x 系列产品,都是基于r m o ni i 。 4 ) 开启n e t f l o w 来获取r g o ni i 流量n e t f l o w d 4 】是c i s c o 公司提出的网络数据包 交换技术,它同时可用来记录网络流信息。n e t p l o w 记录的流包含了丰富的信息, 非常适合于网络性能分析。n e t f l o w 不需要其它硬件流量设备的支持,开启和关 闭都非常方便,因此在国外已有很多运营商用它来收集流量。除了c i s c o 公司的 产品外,现还有f o u n d r y 公司的b i g i r o n 系列三层交换机和n e t l r o n 系列路由器提 供对n e t f l o w 的支持。n e t f l o w 流信息量特别丰富,可以为流量分布、业务分布 等性能分析提供最充足的数据,但需要消耗一定的路由器资源( c p u 和内存) 且不 能实时捕捉数据包。 以上列出的四种流量采集和分析工具都可以实现对网络流量数据的采集, 可以为网络规划、设计、优化、性能分析等提供科学数据,但是由于自身的特 点不一样,使它们适用于不同的范围,这在上面已有详细说明。 2 4 本章小结 本章首先从网络流量监测研究的现实意义谈起,指出了进行这项研究的必 要性;再通过对i e t f 推荐的r t f m 实时网络流量监测系统原型进行研究, 导出了 流量测量系统的整体概念框架;以此为基础总结出了实现一个网络流量监测系 统将遇到的两个关键问题:高速报文捕获与快速报文分类。通过对这些流量测 量的相关理论的分析研究,为下面进行实际的项目实践打下了基础,本文的后 面章节将针对这两个关键问题和系统的整体设计与实现进行深入研究。 1 0 第三章关键问题研究 通过第二章的分析,我们知道实现一个网络流量监测系统将遇到两个关键 问题:高速报文捕获、快速报文分类。本章将针对这两个问题分别进行研究。 3 1 报文捕获研究 3 1 1 报文捕获的硬件配置 进行网络报文采样需要一定的硬件设备,并进行特定的配置。对现在最流 行的局域网以太网来说,要捕获网络报文所需的硬件最简单。以太网在链路层 进行的是类似广播形式的通信,只要把某一台主机的网卡设置为混杂模式,它 就可以观测到同一网络上的其它所有主机向网络上发出的数据包,网络拓扑如 图3 1 所示。 图3 1 以太网报文捕获拓扑图 如果多个子网由路由器和外网相连,这时要捕获多个子网和外网之间交换 的网络报文,可以利用路由器的端口镜像功能将被监控网络相连的端口镜像到 特定的镜像端口,在镜像端口上就可以观测到所有的进出数据包。端口镜像是 指将交换枫路由器的被监控端口镜像到指定的端口( 镜像端口) 。被监控口的发 送接收的数据,将拷贝一份转发给镜像端口,以便网管人员可以对被监控端口 的数据帧进行分析、评估。端口镜像功能被广泛应用于网络数据监控。为了网 络管理方便,现在的中高端路由器都有镜像端口的,包括c i s c o ,华为的。利用 路由器端口镜像进行报文捕获的网络拓扑图如图3 2 所示。 这两种方式所需要的硬件配置,除了既定的网络

温馨提示

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

评论

0/150

提交评论