毕业设计(论文)-网络流量监测技术的比较研究.doc_第1页
毕业设计(论文)-网络流量监测技术的比较研究.doc_第2页
毕业设计(论文)-网络流量监测技术的比较研究.doc_第3页
毕业设计(论文)-网络流量监测技术的比较研究.doc_第4页
毕业设计(论文)-网络流量监测技术的比较研究.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学毕业设计(论文)网络流量监测技术的比较研究学院(系): 专业班级: 学生姓名: 指导教师: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密 囗,在 年解密后适用本授权书2、不保密囗。(请在以上相应方框内打“”)作者签名: 年 月 日导师签名: 年 月 日武汉理工大学本科生毕业设计(论文)任务书学生姓名 专业班级 指导教师 工作单位 设计(论文)题目:网络流量监测技术的比较研究设计(论文)主要内容:1. 网络流量监测技术的发展概述2. 基于mrtg的网络流量监测3. 基于ntop的网络流量监测4. 两种方式的仿真比较。要求完成的主要任务:1. 查阅不少于15篇的相关资料,其中英文文献不少于三篇,了解网络流量监测的研究现状,完成开题报告2. 熟悉和掌握snmp协议的系统模型及mrtg监测方法3. 熟悉和掌握ntop的安装和配置并与mrtg进行深入比较4. 完成20000字符的英文文献翻译5. 完成不少于12000字的毕业设计论文,论文中设计图纸不少于12张必读参考资料:1 刘芳.网络流量监测与控制.北京邮电大学出版社,20092 程光.互联网流测量.东南大学出版社,20083 高彦刚.实用网络流量分析技术.电子工业大学,20094 gregg schudel.路由器安全策略.人民邮电出版社,20085 王群.计算机网络管理技术.清华大学出版社,2008指导教师签名 系主任签名 院长签名(章)武汉理工大学本科学生毕业设计(论文)开题报告1、论文的目的及意义(含国内外的研究现状分析)论文的目的:随着宽带互联网在中国的迅速发展,全国各大电信运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长。电信运营商需要通过可靠、有效的网络业务流量监测系统对其网络以及网络所承载的各类业务进行及时、准确的流量和流向分析,进而挖掘网络资源潜力,控制网络互联成本,并为网络规划、优化调整和业务发展提供基础依据。在分析的基础上,找到一种更好的网络流量监测系统是本次设计的根本目的。论文的意义:通过对业务流量数据的监测,可以获取网络性能特征参数,并由此建立准确的流量模型,能够指导网络管理员及时排除问题,改善网络运行状况。因而研究网络流量测量技术具有以下几个方面意义:(1)网络体系架构的需要从网络体系架构来说,网络流量是一切研究的基础。所有对网络的应用和网络本身的行为特点的研究都可以通过对网络流量的研究来获得。网络的行为特征可以通过其承载的流量的动态特性来反映,所以有针对性地监测网络中流量的各种参数,就能从中分析和研究网络的运行特征。通过分析和研究网络上所运载的流量特性,有可能提供一条有效的探索网络内部运行机制的途径。(2)网络协议部署的需要根据监测的流量分布,可以配置路由器的路由协议、负载均衡策略、实施流量工程、进行业务与协议的科学部署。而流量工程在传输业务时,能够优化资源利用率,提高应用性能。网络传输的流量与网络路由策略密切相关。流量测量还可以显示链路权重的改变对流量的影响。国内外的研究现状分析国外在网络流量测量方面起步较早,自从互联网开始兴起时就己开始,有许多科研机构、大学、学术团体和企业组织了网络测量的研究。近些年来,许多大型研究项目组和研究人员在网络测量领域己经开发出了很多测量系统。美国在1992年开始着手internet特征的研究。其中比较著名的项目包括uc berkeley的科学家们对intemet开展的两次长达三个月的大规模测量,其改进平台nimi已经广泛设置于许多国家,产生了非常深远的影响。iepm (intemet endtoend performance measurement,intemet 端到端性能测量)主要来监视intemet上的端到端性能;ipma(intemet performance measurementand analysis,intemet性能测量和分析)主要研究局域网和广域网环境中的网络性能和网络协议。国内清华大学提出了大规模互联网络性能监控模型lipm(large scale internet performance monitor model),借鉴了iso(the international organization for standardization)的层次结构思想,将整个模型分为数据采集、数据管理、数据分析、数据表示四个层次,融汇了tmn(telecommunication management network)在对象管理方面的方法,易于实现和维护。西安交通大学提出了互联网应用性能测量系napm(networkapplicationperformancemeasurement),提出了应用探针和区域探针的分布式体系结构。2、基本内容和技术方案基本内容:(1)理论基础阐述:结合国内外的情况,阐述研究网络测量的背景及研究现状,并说明研究网络流量测量技术的意义,以及其对社会的作用。(2)基于mrtg的网络流量监测:查询资料,了解mrtg的基本工作原理和组成,学会如何用perl来编写mrtg的相关程序,同时下载相应的软件,完成网络流量监测的设计与仿真。(3)基于ntop的网络流量监测:查询资料,了解ntop的工作原理,运行环境和部署方式。下载相应的软件,完成基于ntop的网络流量监测的设计与仿真。(4)两种方式的仿真比较:根据仿真图,从各个方面对这两种方式进行比较。技术方案:通过查阅与网络流量监测有关的资料,了解mrtg和ntop的基本工作原理和他们的组成,尤其做好相应的资料整理、外文翻译等工作。能够熟练地运用和掌握相关的软件,利用相关的软件,设计出基于mrtg和ntop的网络流量监测系统,并且仿真。同时,根据不同的仿真结果,对这两种不同的监测系统在各个方面进行比较和分析。最后系统梳理论文的写作思路,明确需要解决的关键问题以及可能取得的预期研究成果,拟定论文提纲,完成开题报告;在论文框架确定之后,逐步充实文章内容撰写初稿,并反复修改最终定稿。3、进度安排周次(时间) 工作内容1 (3.1 3.7) 分组、确定选题、校内搜集资料。23(3.83.21) 整理资料,写出文献检索摘要,并撰写开题报告。45(3.224.4)下载相关软件,学习如何利用这些软件设计与仿真。610(4.55.9) 参考资料,弄清两种监测方式的工作原理,并用软件设计和仿真。1112(5.105.23) 撰写论文,提交初稿。13(5.245.30) 论文审查及打印。14(5.316.6)学生提出答辩申请,并作答辩准备;教师审阅论文,并审查答辩资格。15(6.76.13) 答辩。4、指导教师意见 指导教师签名: 年 月 日 目 录摘 要iabstractii1 绪论11.1 网络流量测量背景及研究现状11.2 网络流量测量的意义32.1 网络流量分类42.2 流量采集的体系结构52.3 流量采集技术研究62.3.1 基于sniffer的流量采集62.3.2 基于snmp的流量采集82.4 几种流量采集技术的比较83 基于mrtg的网络流量监测103.1 snmp简介103.1.1 snmp的构造103.1.2 snmp管理模型概述103.1.3 snmp的工作原理113.1.4 mib简介123.2 mrtg简介123.2.1 mrtg的工作原理及组成123.2.2 mrtg的特点133.3 网络流量监测的设计与实现143.3.1 mrtg的安装143.3.2 mrtg的配置143.4 网络流量监测图的分析153.4.1 日流量监测图153.4.2 周流量监测图163.4.3 月流量监测图163.5 本章小结164 基于ntop的网络流量监测174.1 ntop系统的设计目标和原则174.1.1 ntop流量监测系统设计主要有以下几个目标174.1.2 ntop流量监测系统的设计原则174.1.3 ntop的功能184.1.4 ntop的布局184.2 ntop监测网络流量图194.2.1 查看网络整体流量194.2.2 查看所有协议所占流量的详细情况214.2.3 tcp/udp协议所占流量的情况214.2.4 查看主机流量224.3 本章小结225 mrtg与ntop的比较分析245.1 流量分析要点245.2 mrtg的分析245.2 ntop的分析255.3 总结256 结束语27参考文献28致 谢29武汉理工大学毕业设计(论文)摘 要最近几年,互联网有了飞速的发展,网络基础设备不断完善,网络的应用也不断增加,在日常网络管理维护的工作中,如何有效的监测网络 而较小的干涉网络运行,是当前网络流量监测的热点。本文首先对snmp网络管理模型进行了介绍,接着详细说明流量监测体系结构,并利用mrtg和ntop分别建立了一个采用被动监测方式的的流量监测系统。该系统可以实时的通过收集网络上路由器、交换机或者需要被检测设备上的状态数据,并直观的生成流量向量图,同时对网络参数的测量几乎不会影响到网络的正常运行。关键词:流量监测;snmp;ntop;mrtgabstractin recent years,domestic intemet with the rapid development of network infrastructure equipment continued to be refined,networking applicafions will continue to increase,in the day-to-day network management and maintenance work,how to effeefively monitor network trtlf6c and less interference in the operation 0f the network。network traffic monitoring is hotthe paper begins with a snmp network management model,and analysis of network performance management,followed by a detailed account of the flow monitoring structure,and the establishment of a passive monitoring mode using the flow monitoring systemsthe system is capable of realtime network muter through the collection,switchboard,or rite state nds to be monitoring equipment and visual data flow vector generationthe measurements almost the same time the network will not affect the normal operation of the networkkeywords: flow monitoring;snmp;ntop;mrtg311 绪论随着internet重要性的日益提高和网络结构的日益复杂,越来越有必要对网络的整体拓扑结构和网络行为进行深入的了解、分析,以利于发现网络瓶颈,优化网络配置,并进一步发现网络中可能存在的潜在危险。为此,需要对大规模网络结构进行动态描述,并根据网络流量的变化分析网络的性能,为加强网络管理、提高网络利用率、防范大规模网络攻击提供技术平台。人们在实时计算机系统中的资源管理方面己经做了许多工作,这样的系统通常包括通过一个或多个计算机网络和许多实时应用程序连接起来的大量的计算机。这些程序的服务质量对于整个计算机系统的性能而言是至关重要的。为应用程序维持合适的服务质量需要资源管理中间件对计算机资源进行管理,这些计算机资源包括计算资源和网络资源。其中,计算资源是实现诸如计算机,cpu时间,内存等在内的一些计算机性能的应用程序,这些直接关系到某个应用的服务质量;而网络资源则提供了个体计算机和其它计算机之间彼此互联的方式,比如网络连接,接口,带宽等等。1.1 网络流量测量背景及研究现状国外在网络流量测量方面起步较早,自从互联网开始兴起时就己开始,有许多科研机构、大学、学术团体和企业组织了网络测量的研究。自从美国国家科学基金会nsf在二十世纪八十年代中期确立它的网络计划以来,高质量的访问因特网对教学、科研以及日常的生活都起着越来越重要的作用。但这些年来,因特网变得越来越复杂,即使是经验丰富的网络工程师对数据传输服务的路径、可靠性和性能等也只能有一个非常模糊的认识。没有准确的internet性能方面的数据,以及收集和分析这些数据的有效工具,教育、科研机构,以及其他需要这些性能数据的用户或组织,就很难对网络的建立、管理和应用等作出正确决策。为了解决诸如此类的问题,internet工程任务组ietf(internet engineering task force)1专门成立了一个ippm1(ip performance metrics)工作组,专门负责发展一套用于衡量internet数据传输服务的质量、性能、可靠性等方面的度量标准。同时许多组织、团体、机构或公司纷纷建立了它们的测量项目。近些年来,许多大型研究项目组和研究人员在网络测量领域己经开发出了很多测量系统。美国在1992年开始着手internet特征的研究。其中比较著名的项目包括uc berkeley的科学家们对internet开展的两次长达三个月的大规模测量,其改进平台nimi已经广泛设置于许多国家,产生了非常深远的影响2。iepm(internet end-to-end performance measurement,internet端到端性能测量)主要来监视intemet上的端到端性能;ipma(intemet performance measurement and analysis, internet性能测量和分析)主要研究局域网和广域网环境中的网络性能和网络协议。moat of nlanr(measurement&operations analysis team of national laboratory for applied networkresearch):主要研究高性能网络的行为特征,并开发了一个网络测量平台。测量平台研究核心主要由两个项目组成:被动测量分析项目组pma(passive measurement and analysis project)和主动测量测量项目组amp (active measurement project)。pma在测量点被动捕获数据包,分析数据包头得到负载信息;amp项目的目的是为了增强参与站点和用户对高性能网络运行情况的理解,帮助网络用户和服务提供商分析问题。amp项目使用的测量工具有ping,traceroute等,测量包括:端到端的rtt,包丢失、拓扑以及吞吐量等性能指标。surveyor是一个能够在internet路径上测量单向延迟,包丢失和路由信息的测量体系结构;其他项目还包括nlanr,和skitter(caida)。除美国外,其他国家也展开了对internet的大规模测量和研究,如:加拿大的triumf网络监视(主要目的是对国家internet路径上的丢包情况和路由特征进行测量)和新西兰的wand (waikato applied network dynamic)wlts(waikato intemet traffic storage)(主要目的是创建用于统计分析和创建模拟模型的intemet流量模型)等。欧洲于1995年也展开了对internet的测量,其中ppncg(粒子物理网络协作组)是在这方面做得较为成功的一个组织。internet2 measurement working group3:正在开发一个internet2的分布测量平台。该平台将用来分析端到端的网络性能,研究qos性能特征等。并采用netflow,mrtg, snmp等技术提供每天,每周,每月及每年的流量和性能分析报告。国内清华大学提出了大规模互联网络性能监控模型lipm(large scale internet performance monitor model),借鉴了iso(the international organization for standardization)的层次结构思想,将整个模型分为数据采集、数据管理、数据分析、数据表示四个层次,融汇了tmn(telecommunication management network)在对象管理方面的方法,易于实现和维护。西安交通大学 提出了互联网应用性能测量系统napm(network application performance measurement),提出了应用探针和区域探针的分布式体系结构。随着网络性能测试的研究与发展,许多公司、组织或团体等开发出大量的网络性能测试方面的工具,其中应用或电子商务方面的有compuware ecoscope optimal application expert,clevertools webboy等;带宽吞吐量方面的有bing,clink,netperf, neaimer,pathchar,pchar,treno,ttcp and nttcp等;延迟方面的有ping,fping,traceping等;连接的利用率方面的有iptraf,libpcap等。1.2 网络流量测量的意义通过对业务流量数据的监测,可以获取网络性能特征参数,并由此建立准确的流量模型,能够指导网络管理员及时排除问题,改善网络运行状况。因而研究网络流量测量技术具有以下几个方面意义4:1)网络体系架构的需要从网络体系架构来说,网络流量是一切研究的基础。所有对网络的应用和网络本身的行为特点的研究都可以通过对网络流量的研究来获得。网络的行为特征可以通过其承载的流量的动态特性来反映,所以有针对性地监测网络中流量的各种参数(如packet interarrival,packet length,packet loss rate,packet delay,etc),就能从中分析和研究网络的运行特征。通过分析和研究网络上所运载的流量特性,有可能提供一条有效的探索网络内部运行机制的途径。2)网络协议部署的需要根据监测的流量分布,可以配置路由器的路由协议、负载均衡策略、实施流量工程、进行业务与协议的科学部署。而流量工程在传输业务时,能够优化资源利用率,提高应用性能。网络传输的流量与网络路由策略密切相关。流量测量还可以显示链路权重的改变对流量的影响。3)网络性能监控的需要网络流量反映了网络(物理链路)的运行状态,是判别网络(物理链路)运行是否正常的关键数据。在网络中,如果网络所接收的流量超过其实际运载能力,就会引起网络性能下降。吞吐量是表征网络性能的重要标志。然而在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降,网络性能降低。通过流量测量不仅能反映网络设备(如路由器、交换机等)工作是否正常,而且能反映出整个网络运行的资源瓶颈,这样管理人员就可以根据网络的运行状态及时采取故障补救措旌和进行相关的业务部署,提高网络的性能。4)网络安全的需要随着intemet的应用领域和应用规模的快速增长,通过网络传播计算机病毒的种类越来越多,传播速度更快,感染面积更广,全球的信息安全受到了普遍而严重的威胁。例如网络蠕虫病毒,其传播速度快、传播面积广、破坏性强,大量占用路由器和交换机的带宽,导致网络阻塞甚至瘫痪。因而对网络进行流量监测分析,可以建立网络流量基准,通过连接会话数的跟踪,源目的地址对的分析,tcp流的分析,能够及时发现网络中的异常流量,进行实时告警,保障网络安全。根据网络流量在网络运行各个环节中的关键地位,对网络流量进行研究,同时采取一定的方法,科学地测量和分析流量特征成为一项艰巨而有意义的工作。2 网络流量监测技术要真实了解网络的运行情况,发现网络运行中存在的问题,必须对网络中的流量状况有一个全面了解。面对复杂多变的规模庞大的网络环境,这就需要一个能够适应不同场合和快速分析处理数据的流量监测系统;而如何采集异构环境下的网络流量是系统实现的关键所在。下面我们重点讨论网络流量采集技术,并对不同的采集技术各自的优缺点分析比较,为设计基于多模式的流量采集技术提供理论依据。2.1 网络流量分类如今国外很多知名的公司或学校,已经大规模开展了对网络流量的分析研究和应用。运用这些技术,运营商可以科学地估算出各种业务在网络总流量中所占的比重和在各条链路上的分布,能够科学地预测链路流量和业务流量的变化规律,从而客观地评价各类用户的上网特性。同时可预测当上网用户增多的情况下对网络可能造成的影响,用以指导网络建设,合理规划网络资源分布。以下根据网络流量包含的信息内容对网络流量进行分类5,同时对当前技术成熟的流量采集工具进行描述。以期对本文的网络流量监测系统的设计有一个指导性作用。1网络节点端口流量网络节点端口流量指网络节点设备端口流入和流出数据包的信息统计。它包括数据包的个数、字节数、包大小分布、丢包数等非常多的统计信息。在网络上,网络监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。使用最方便的是在一个以太网中的任何一台上网的主机上,它可以在不同的操作平台上进行监听。目前有许多能实现监听功能的优秀软件:1)sniffit:由lawrence berkeley实验室开发,运行于solaris、sgi和linux等平台。可以选择源、目标地址或地址集合,还可选择监听的端口、协议和网络接口等。2)netxray:在windows9x和windowsnt上,netxray是一个功能强大、使用方便的协议分析和网络监控工具。它是一个优秀的软件,能监控多个网段,并且允许多监控实例存在,同时还能捕捉所需要对饿任何类型的报文。使用netxray还可以设置许多过滤条件,而且其操作界面也比较漂亮。3)tcpdump:tcpdump是网络管理员的强大监听工具。它是从应用程序中读入网络上有关的大量分组信息,与指定准则进行匹配来过滤这些分组信息。但是unix平台上的监听软件,界面都不是很友好,操作性不强。4)监视节点端口流量的典型工具是multi router traffic grapher(mrtg)它,是一款监测网络连接上网络流量加载情况的软件,它通过生成包含png图形的html页面来呈现出实时的网络流量状况。mrtg可以工作在大多数的unix和windowsnt平台上,它是用perl语言编写的源代码。mrtg利用一个完全用perl语言编写的极便携的snmp实现机制来进行工作,且不用安装任何额外的snmp数据包,而且他还能够读取最新的snmpv2 64位计数器。另外,mrtg也能以周期(最近7天、最近5周、最近12个月)为单位来建立一种直观的流量表达方式,这是因为mrtg可以保留来则路由器的所有数据情况的日志,这个日志能够自动整理以便其不会因时间的推移而日益臃肿,但它仍可以保存最近两年的所有流量数据的相关情况。因此,我们能够监测200个甚至更多网络链路的使用情况。另外其他厂商的网管工具也提供监视网络节点端口流量的功能。如hp公司的orienview平台,agilent平台的firehunter等。可以考虑用这些工具的强大分析功能与mrtg结合起来使用。2端到端的ip流量端到端的ip流量指的是在网络层从一个源地址到一个目的地址的ip包统计信息;通过对其分析,可以了解到网络中的用户都访问了哪些目的网络,是网络分析、规划、设计和优化的重要依据。采集端到端口流量的典型工具包括sniffe、netflow和流量探针等,根据其不同特点,它们分别适用于不同范围的流量采集。3业务层流量业务层流量除了包含端到端口流量的信息之外,还包含了第四层(tcp层)的端口信息。显而易见,它包含了应用服务的种类信息,利用这些信息可以做更详细的分析。sniffer,netflow和流量探针等工具也实现了这个层次的流量信息采集。4完整的用户业务数据流量完整的用户业务流量对于安全、性能等方面的分析非常有效251。例如,捕获黑客的来访数据包可以制止某些犯罪行为或得到重要证据:由于捕获完整的用户业务数据需要超强的硬盘存储速度和容量,而利用sniffer和流量探针等实现短时间内数据包的捕获和跟踪。niksun(猎信)都只能公司在这个方面却有自己独到之处,其netdetector产品能提供长时间的完整的用户业务流量采集。通过上述对网络流量分类的了解,可以在本文拟设计的网络流量监测系统中充分全面地考虑系统可扩展性,使得设计的系统能够适应不同的网络环境,采集到不同类别的数据流量,使得系统的可用性大大增强。2.2 流量采集的体系结构流量采集系统一般分为三个模块6:监听模块、读取模块、控制模块。流量监听模块是流量测量体系的核心部分,它通常是要设置在测量点上根据系统相关配置来记录网络上的活动。在数据存储之前,它可以对监听到的数据进行聚类,变形等进一步处理。监听模块需要计量流量数据的属性如字节数、包数,并且根据其他属性例如源地址,目的地址确定的计量实体进行分类。计量实体可以是主机、子网,甚至是一组子网,它的粒度由监听模块的配置决定。流量的数据信息存储在监听模块的流量表中,流量表是一个流量数据记录的数组。读取模块可以根据网络的实际状况,采取任何合适的方式采集数据,例如可以通过下载整张流量表等。读取模块允许读取流量属性值的一个子集,而不需要读出所有的流量数据记录。读取模块可以从多个监听模块中采集数据,而且这些采集之间不需要同步。读取模块将数据传送给分析模块。控制模块负责配置监听模块和控制读取模块的流量采集,包括:(1)流的确定,如哪些流量被记录,它们如何聚类以及采集哪些数据;(2)监听模块的控制参数,如流量表的大小(3)抽样率,通常每个包都被监测,但是在一些情况下必须抽样监测。读取模块在从每个监听模块读取采集数据前,需要确定以下几点:(1)监听模块的唯一的id(2)采集的间隔(3)需要采集哪些流量记录(4)需要采集流量记录的属性值(所有属性,或者仅仅是一部分)强调一点:一旦流量数据被监听模块采集后,就可以用于分析模块。但是,分析模块的细节不属于流量测量体系。2.3 流量采集技术研究传统的方法是使用snmp(simple network management protocol,简单网络管理协议)进行流量采集,从开启了snmp服务的网络设备的流量计数器(traffic counters读取流量信息。较为普遍的用于入侵检测和协议分析的包嗅探法(packet sniffer)也被广泛使用。而netflow技术正迅速发展起来,netflow版本9己经作为ietf的标准之一向外发布。越来越多的厂商都使自己的设备支持netflow。而sflow技术(rfc3176)是一种”统计采样技术”,可提供完整的第2层到第7层、全网络范围内的流量信息。snmp为基于tcpip的网络环境提供了一种基本的网络管理工具。协议的细节性描述可见rfc 1157。尽管snmp被广泛应用于网络监测,但是他仍旧滞后于快速进化的计算机网络的发展速度。2.3.1 基于sniffer的流量采集在ntop系统实现的平台linux一9.03上,libpcap是通过packet socket实现的。packet socket是被设计为用来在设备驱动层(osilayer2)即数据链路层收发原始数据包,它能让用户在物理层上在用户空间实现协议模块。在linux内核网络包处理流程中,packet socket的实现是处于网卡驱动程序和tcpip协议栈处理代码之间7。packet socket是通过如下的形式调用socket函数来获得的:socket(pf packet,sock raw,htons(eth-pall)第一个参数表示建立的是packet协议簇,这个协议簇使应用程序能够从网卡接收和通过网卡发送数据,这样就绕过了传统的tc协议栈的处理。第二个参数指出了选择的协议簇中使用的socket的类型。对于packet协议簇,有两种类型可以使用:sock dgram和sock raw。sock dgram是将处理链路层包头的任务留给了内核,而sock raw可以让应用程序直接处理链路层包头。最后一个参数表示接受所有协议的包。libpcap的过滤功能是对packet socket设置过滤选项来获得的。packet socket的包过滤功能在linux内核中的实现被称为lpf(linux packct filter)。它在整个linux网络包处理流程中所处的位置如下图1所示:用户应用程序tcp/ip作用层socket 接口ip作用层协议簇操作网卡驱动lpf图1 libpcap 网络包处理流程可以看到lpf所处的位置是协议簇处理阶段,在这里的原因是希望包过滤能尽可能早进行,因为越早将不需要的包丢弃,无谓的开销也就越少,系统的整体效率也就越高。为了使过滤的实现尽可能的高效灵活,lpf采用的是bpf过滤模型。2.3.2 基于snmp的流量采集简单网络管理协议snmp(simple network management protoc01),是由互联网工程任务组定义的一套网络管理协议,它提供了一种远程管理所有支持snmp协议的网络设备、监视网络状态、从网络设备中收集网络管理信息的方法snmp己成为网络管理信息交换事实上的工业标准,几乎所有厂商的产品都兼容snmp标准例如hpopenview,sljn netmanager,cisco works 2000以及ibmnetview等。在管理信息库方面,现在己经定义了几种通用的标准管理信息库,这些数据库中包括了必须在网络设备中支持的特殊对象,所以这几种mib可以支持snmp。使用最广泛、最通用的mib是mib-ii。虽然通过snmp协议从路由器的mib信息库中获取口流量数据技术相当成熟并且易于实现,但它存在以下几点不足:1)流量数据可靠性差,由于路由器是基于口地址进行流量统计,但主机的ip地址很容易被篡改、盗用,这就使得流量数据的可靠性得不到保证。2)基于snmp协议安全性差,使得非法用户可以得到在网络中传递的网管信息,对网络设备进行非法操作。3)从路由器采集流量数据,会占用路由器的处理时间,流量数据必须定时采集,否则会造成数据丢失,而频繁地传送流量数据又会造成网络的拥塞。2.3.3基于sflow的流量采集sflow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影响非常小。sflow的完整实现一般由两部分构成:sflow agent和sflow receiver,sflow agent一般嵌入网络设备数据报文,(交换机或路由器)asic芯片中,通过一种采样机制采集网络中的经过特定的编码后发给sflow receiver;sflow receiver收到agent发来的数据后,经过处理即可对网络流量和数据进行分析统计。2.4 几种流量采集技术的比较sniffer:嗅探法是一种常用的网络技术8,通过hctb或者在交换机的镜像端口设置数据采集点,来捕获数据报文的,这种方式采集的信息最全面,可以完全复制网络中的数据报文。但是sniffer技术的应用也受到了一定的限制,大多数厂商的设备不支持跨vlan或者跨模块镜像数据,因此可能需要在多个网段安装装探针,在部署上比较复杂,大型的网络vlan数量很多,一般都不可能实现全部vlan的监控。流量很大的网络中采用端口镜像对网络设备的性能也会造成一定的影响,而且对所有数据报文都进行采集在吞吐量很大的网络中也是难以实现的。snmp:是一种主动的采集方式,采集程序需要定时取出路由器内存中的ip accounting记录,同时清空相应的内存记录,才能继续采集后续的数据,这对路由器的性能造成较大的影响,取得的数据只包含口层的数据,没有mac地址信息,对于伪造源口地址的蠕虫病毒无能为力。sflow:采用采样的方式,通过设置一定的采样率,进行数据捕获,对网络设备的性能影响很小。sflow agent一般采集数据报文前128个字节,通过封装后发往sflow receiver,数据报文中包括了完整的源和目标的mac地址、ip地址、协议类型、tcpudp、端口号、应用层协议,甚至url信息。3 基于mrtg的网络流量监测3.1 snmp简介3.1.1 snmp的构造一个网络管理系统一般要包含以下几个元素9:若干个(可能很多个)需要被管理的网络设备节点,如路由器、服务器等设备,每个节点上都运行着一个称为设备代理(agent)的应用进程,其实现对被管理设备的各种被管理对象的信息如流量等的搜集和对这些被管对象的访问的支持;至少一个管理工作站,该管理站运行着管理平台应用系统,实现为管理员提供对被管设备的可视化的图形界面,从而使管理员可以方便的进行管理;一个管理协议,用来定义设备代理和管理工作站之间管理信息传送的规程。其中管理协议的操作是在管理框架下进行的,管理框架定义了和安全相关的认证,授权,访问控制和加密策略等各种安全防护框架。snmp一共发展有3个主版本,分别为snmpv1 ,snmpv2和snmpv3。其中snmpv2又分为若干个子版本,其中snmpv2c应用最为广泛: snmpv1: 是第一个正式协议版本,在rfc1155-rfc1158中定义,该版本采用了基于共同体名的安全机制; snmpv2c: 这个版本被称为基于共同体名的snmpv2,使用基于共同体名的安全机制和snmpv2p做出的协议操作方面的扩充,由rfc1901-rfc1906定义; snmpv3: 该协议版本采用基于用户的安全机制,其安全机制是在snmpv2u和snmpv2*基础上进行大量的评议以后进行了更新,并且对协议机的逻辑功能模块的进行了划分而保证了良好的可扩充性,由rfc2271-rfc2275所定义。使用snmp协议的网络管理系统管理结构工作一般包括:管理进程通过定时向各个设备的设备代理进程发送查询请求消息(以轮询方式),来跟踪各个设备的状态;而当设备出现异常事件如设备冷启动等时,设备代理进程主动向管理进程发送陷阱消息,汇报出现的异常事件。这些轮询消息和陷阱消息的发送和接受规程及其格式定义都是由snmp协议定义的;而被管理设备将其各种管理对象的信息都存放在一个称为管理信息库(management information base)库结构中。3.1.2 snmp管理模型概述snmp管理模型具备典型的客户服务器9(clientserver)体系结构,有以下几部分组成:网络管理站、被管设备、管理信息库(mib)、管理协议。使用snmp协议的网络管理结构工作10一般包括:管理进程通过定时向各个设备的设备代理进程发送查询请求消息(以轮询方式),来跟踪各个设备的状态;而当设备出现异常事件如设备冷启动等时,设备代理进程主动向管理进程发送陷阱消息,汇报出现的异常事件。这些轮询消息和陷阱消息的发送和接受规程及其格式定义都是由snmp协议定义的;而被管理设备将其各种管理对象的信息都存放在一个称为管理信息库(management information base)库结构中。其中snmp协议是运行在udp协议之上,它利用的是udp协议的161162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息查询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告陷阱消息,如trap,如图2所示为基于snmp协议的流量监测系统体系结构关系图。图2 流量监测系统体系结构3.1.3 snmp的工作原理snmp定义了五种manager与agent之间的通讯形式。分别为:get-request、get-next-request、set-request、get-response、trap。前三项都是属于manager向agent发出的讯息,后两项则属于agent向manager发出的讯息。图3 snmp中manager与agent的通讯形式每个agent都是一个执行程序,负责将该网络节点的设定数据以及运作现状以数据结构的方式储存,客户端程序如何表示需要撷取何种信息,以及服务器如何得知应读取内存中的那个变量以符合要求?答案是snmp根据一个称为“管理信息基础”(management information base, mib)的伴随规格(companion specification)。当agent收到网管主机所发出的snmp get-request、get-next-request、set-request时,便以相对应的mib数据透过snmp get-response方式响应。mib定义了可以从网络节点取得的特定信息,mib变量。下一节将描述一部份mib变数。此外,有一种特殊的snmp命令,称为trap,可允许agent在特殊的情况下(如error, shutdown)主动发讯息给网管主机。3.1.4 mib简介mib是management information base的缩写,中文名字叫“管理信息库”,它是网络管理数据的标准,在这个标准里规定了网络代理设备必须保存的数据项目,数据类型,以及允许在每个数据项目中的操作。通过对这些数据项目的存取访问,就可以得到该网关的所有统计内容。再通过对多个网关统计内容的综合分析即可实现基本的网络管理。管理信息库mib指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。mib给出了一个网络中所有可能的被管理对象的集合的数据结构。snmp的管理信息库采用和域名系统dns相似的树型结构,它的根在最上面,根没有名字。对象命名树的顶级对象有三个,即iso、itu-t和这两个组织的联合体。在iso的下面有4个结点,其中的一个(标号3)是被标识的组织。在其下面有一个美国国防部(department of defense)的子树(标号是6),再下面就是internet(标号是1)。在只讨论internet中的对象时,可只画出internet以下的子树(图中带阴影的虚线方框),并在internet结点旁边标注上1.3.6.1即可。 在internet结点下面的第二个结点是mgmt(管理),标号是2。再下面是管理信息库,原先的结点名是mib。1991年定义了新的版本mib-ii,故结点名现改为mib-2,其标识为1.3.6.1.2.1,或internet(1) .2.1。这种标识为对象标识符。 3.2 mrtg简介3.2.1 mrtg的工作原理及组成mrtg11(多路由器流量图示器)是一个基于snmp协议的监控网络流量和主机资源的开放源代码的管理工具。它通过snmp请求得道被监控对象的流量信息,将这些流量信息以png格式的图形表示,并将包含这些图形的html文档通过web方式显示给用户,非常直观地显示流量负载。mrtg是用perl和c编写的,可以工作在unix和windows nt环境下。mrtg的perl脚本用以使用snmp来读取路由器的流量信息,性能高的c程序则用来记录负载数据,创建代表被监控网络连接的图形,这些图嵌入在web页面中。除了获得每天的详细信息之外,mrtg还可以创建前7天、前4个星期甚至前12个月没网络流量的直观表示。mrtg主要由四个模块组成:基础模块:包括定义smi要求的数据结构,并提供相应的方法通过snmp操作获取被管理对象信息的snmp模块和mrtg支持模块。日志文件:mrtg是使用的日志文件已ascii文本形式来记录测得的流量数据,日志文件由rate up模块进行更新。日志更新和绘图工具:在该模块中,mrtg使用c语言程序来完成日志文件的更新和统计图形的生成,与原来用perl实现相比,大大提高了效率。配置和网页组织工具:mrtg提供了相关的配置文件生成工具cfgmaker和网页组织工具indexmaker,通过运行cfgmaker,利用snmp协议读取被管设备中的对象信息,自动生成该设备的框架配置文件。index-maker通过读取配置文件中的target描述获得对象信息,并用这些信息组织成该对象的html页。3.2.2 mrtg的特点mrtg是一个功能强大的基于perl的图形化界面的流量统计分析工具,mrtg的

温馨提示

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

评论

0/150

提交评论