




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络流量监测与管理目次一、简介1二、网络基础1(一)OSI参考模型1(二)SNMP介绍21. SNMP概述22. SNMP工作原理33. MIB介绍44. 网管系统之简介45. MIB相关工具5三、NetFlow5(一)NetFlow简介5NetFlow versions Supported Platforms5(二)执行NetFlow61. 路由器的设定62. 统计分析流程63. 记录及储存flow信息64. 统计分析程序8四、MRTG(Multi Router Traffic Grapher)8(一)MRTG简介8(二)MRTG使用方式91.取得程序92.编译MRTG程序(以Unix版本为例)93.产生MRTG设定档104.修改MRTG设定档105.测试MRTG输出126. 自动执行MRTG程序12(三)利用MRTG监看其它系统资源131. mrtg-ping-probe132.系统CPU Load133.DNS Load14参考数据14网络流量监测与管理一、 简介过去几年来,因特网已经成为越来越重要的需求,在台大校园网络的环境里,已经普及到所有系所及实验室都有接点可以连上因特网。不过面对日益复杂的网络联机及逐渐增加的网络流量,系统管理者必须花费更多时间精力来了解这些网络设备的运作状况,以维持一个系统的正常运作。一般来说,网络管理者所需要了解的是各个网段的使用情形,频宽的使用率,网络问题的瓶颈发生于何处。当网络问题发生时,必须能够很快地区隔出问题的发生原因,可能是线路问题、网络设备问题、或者是路由器的设定问题。一个有经验的管理者要回答这些问题并不难,但是如果所管理的网络范围过于庞大,那么就可能需要一个有效率的网管系统了。透过网管系统可以协助网络架构管理,并显示网络上目前发生的各种流量与运作情形。若发生问题时,也能够减少许多处理时间。以牵涉的节点数量以及能够在节点上执行的协议组合而言,网络都是一个复杂的系统。即使将范围局限在单一行政范围内,例如校园,还是可能包含数十个路由器及数百、甚至数千台主机。如果考虑在任一节点上保存及处理的所有状态,例如地址转译表、路由表、TCP连接状态等,那么很容易就陷入充满各种数据的茫茫大海中。我们很容易了解为何需要知道哪些放置在不同节点上各协议的状态。举例来说,我们可能想要监控被中断的IP数据段重组数量,以便判断资源回收部分重组数据段的逾时机制是否需要调整。再举另一个例子,我们可能想要观测各节点上的负载(亦即,传送或接收的封包数),以便判断是否需要为网络增加新的路由器或连结。除此之外,我们也必须注意硬件发生故障及软件失误的征兆。二、网络基础(一)OSI参考模型 实体层(Physical Layer):实体层定义的是位传输接口所具备的电子特性、机械特性、功能、以及运作程序。本层包括传输媒介(如同轴缆线、光纤、铜缆线、无线电波等等)、实体连接方式、模块化与框架技术(IEEE802.3、FDDI等)。所以只要提及串行埠、10BASET缆线、网络适配卡等,指的就是实体层。 数据链路层(Data Link Layer):确保底层的数据传送。服务包含错误侦测与更正、数据加框(如LLC、HDLC、SDLC、IEEE802.2)、MAC同步化。 网络层(Network Layer):网络层提供寻址、选择路径、传送封包至目的网络,如IP、PPP、IPX等。 传输层:提供错误侦测与更正,也能以软件进行网络流量控制。例如TCP/UDP。SNMP使用UDP协议。 会谈层(Session Layer):应用程序与网络之间会谈的建立与管理。 表达层(Presentation Layer):表达层实作数据与通讯协议的转换及协商,如ASN.1与BER数据编码。 应用层(Application Layer):由软件应用程序实作,应用程序与网络本身的唯一接触接口。如FTP、Telnet、SNMP等。应用层Management, Agent APIsSNMP表达层ASN.1, BER会谈层RCP, NetBIOS传输层TCP, UDP网络层IP, IPX数据链路层Ethernet, ARCNetToken Ring实体层(二)SNMP介绍1. SNMP概述简单网络管理协议(SimpleNetwork Management Protocol, SNMP)顾名思义就是专为网络管理者所设计的网络管理协议,主要目的是用来管理网络上各式各样的设备。由于SNMP是在TCP/IP网络环境中发展出来的管理通讯协议,因此SNMP在应用上必须使用TCP/IP,被管理的机器必须设定IP地址,同时必须确保线路的连接与正确的路由。网络上的节点分散各地,因此比较实际的作法便是利用网络来管理网络。这表示我们需要一种能够让管理者对不同网络节点进行读取并可能写入各种状态信息的协议。SNMP实际上是一个特殊的要求/响应协议,可支持两种要求讯息:get及put。前者是用来从某些节点取出状态信息,而后者则是用来在某些节点上储存一份新的状态信息。(SNMP也支持第三种动作,get-next,稍后再做解释。)下列讨论着重在get作业,因为这是最常使用的。SNMP的使用是很明确的:系统管理者与一个显示网络信息的客户端程序进行互动。该客户端程序通常具有一个图形接口。每当管理者选择某种想要取得的信息,客户端程序便利用SNMP向负责的节点要求信息。(SNMP在UDP上执行。)在接收到要求讯息之节点上执行的SNMP服务器将找到适当的讯息,并将其传回给客户端程序,然后显示给使用者参考。2. SNMP工作原理SNMP定义了五种Manager与Agent之间的通讯形式。 Get-request Get-next-request Set-request Get-response Trap前三项都是属于Manager向Agent发出的讯息,后两项则属于Agent向Manager发出的讯息。每个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. MIB介绍SNMP定义一个可供管理数据的标准,它定义了网络设备各种信息的储存结构,这种结构是以树状结构为基础,每种变量分支都是唯一的,亦即MIB。目前所使用的版本是MIB-II,定义于RFC-1213。网络设备的TCP/IP数据分为八份,分别为system,interface,addr-translation,ip,icmp,tcp,udp与egp。MIB定义了各分支下的数据项,所包含的数据包括整数,字符串,与窗体内容。见下图举例说明:4. 网管系统之简介网络管理是一个相当大规模且重要的领域,一般来说,网管系统的任务就是要能达成掌握网络主机状况,加速故障排除,同时减少网管人员的负担。一些网络或计算机相关厂商也都有网管软件的产品,目前应用最广的就是HP的OpenView,IBM的NetView等,这类型的网管系统强调的是一个整合型的网络管理解决方案,由一个网管的作业平台与许多网管功能的模块所组合而成。上述两种作业平台都有提供基本的网络拓朴功能,MIB Browser,SNMPtool,Data Collection,绘图与网络事件管理功能。从管理者的角度来看,这些功能十分好用,但是这些软件都非常昂贵。除非网络环境具有特殊性或者复杂度,否则便需要考虑一下软件的价格与效能比值不值得。在一般学校最常用的网管工具就是MRTG,严格来说只具有网管软件中的一小部分功能。MRTG把SNMP所request的数据经过计算后绘成图表,其中最常用的是网络流量统计图,其它如CPU Load,Error Count等亦可支持。由于属于免费软件,因此使用群相当广泛。最后要提出来说明的是RMON这项产品,当网段上有需要监测的问题时,除了使用Protocol Analyzer到现场去量测之外,最常用的就是把RMON挂到网段上当Agent,然后在Manager端(如HP的OpenView NNM使用netmertix)来接收RMON所收集到的封包,藉由RMON可以使得管理者在远程进行现场的量测动作,对于需要长时间量测以及不规则发生之网络问题状况特别有此必要。5. MIB相关工具 Snmpget:fetch an SNMP object Snmpwalk:fetch all the SNMP objects from an agent Snmpwalkoid:query for a tree of information about a network entity Snmp_get_quick_print:fetch the current value of the UCD librarys quick_print setting Snmp_set_quick_print:set the value of quick_print within the UCD SNMP library Getif:window-based MIB browser三、NetFlow(一)NetFlow简介NetFlow为Cisco之专属协议,提供路由器中第三层之信息,可用来了解该路由器所传输之封包表头内容,依据此内容,我们可以撰写程序将所获得之资料加以统计。一旦收集到路由器上的详细流量数据后,便可为网络流量统计、网络使用量计价、网络规划、网络监测等应用提供计数根据。同时,NetFlow也提供针对QoS(Quality of Service)的测量基准,能够捕捉到每笔数据流的流量分类或优先性特性,而能够进一步根据QoS进行分级收费。目前Cisco网站上所提供可执行netflow之硬件数据:NetFlow versions Supported PlatformsCisco IOS Software Release Version Supported NetFlow Export Version(s) Supported Cisco Hardware Platforms 11.1CA, 11.1CCv1, v5Cisco 7200, 7500, RSP700011.2, 11.2Pv1Cisco 7200, 7500, RSP700011.2Pv1Route Switch Module (RSM), 11.2(10)P and later11.3, 11.3Tv1Cisco 7200, 7500, RSP700012.0v1, v5Cisco 2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM12.0TV1, v5Cisco 1000*,1600*,1720*, 2500*,2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM, MGX8800 RPM12.0(3)T and laterv8Cisco 1000*,1600*,1720*, 2500*,2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM, MGX8800 RPMN/Av7Catalyst 5000 NetFlow Feature Card (NFFC)(参考/warp/public/cc/pd/iosw/ioft/neflct/tech/napps_wp.htm)(二)执行NetFlow1. 路由器的设定在收集netflow数据之前,必须先在路由器上设定flow数据的传送方式。首先,login到router并在global执行以下指令:ip flow-export destination 例如:ip flow-export destination 9991。除此之外,还要在欲捕捉数据的接口上设定:ip route-cache flow。如此一来,router便会开始将flow信息向IP 端口号为9991送出封包(协议为UDP),而即开始接收netflow的数据,此时只需要在该台机器上执行程序即可进行统计。2. 统计分析流程进行统计分析的流程可分为两个阶段:(1) 在机器上固定执行一个常驻程序(daemon),负责收集路由器送出的UDP封包,并且写入硬盘。(2) 分析log file,并且产生所需之报表。3. 记录及储存flow信息首先,从网络下载flow-tool程序包(/pub/flow-tools-0.58.tar.gz),其中包含数种用来收集及统计数据的程序,分列如下: flow-capture - collect flows from an exporter and store them to disk. Disk space is managed by expiring (removing) old flow files based on a configurable archive size or number of files. flow-cat - concatenate flow files. flow-dscan - detect network scanning and other suspicious activity flow-expire - expire (remove) old flow files. flow-fanout - fanout flows from a exporter to multiple collectors. Also supports multicast. flow-gen - Generate flows for testing. flow-header - Display flow file meta information. flow-merge - Merge flows files so that records are preserved in relative chronological order. flow-print - Formatted ASCII output. flow-receive - Receive flows in NetFlow format from a network. flow-send - Send flows over a network in NetFlow format. flow-split - Split flow files into smaller files. flow-stat - Generate usage reports based on IP address, IP address pairs, ports, packets, bytes, interfaces, next hops, autonomous systems, ToS bits, exporters, and tags. flow-xlate - Translate various fields of flow recrods.flow-tool程序包安装步骤如下(以Linux系统为例):(1) 先确定机器上已安装下列程序: zlib:/pub/infozlib/zlib/ gnu make:/pub/gnu/make/make-3.79.1.tar.gz(2) 将档案解压缩到一个目录下,例如zcat flow-tools-0.58.tar.gz | tar xvf -解开后执行下列指令:./configuregmakegmake install(3) 若已将路由器设定为打开netflow,可利用flow-receive确认主机是否已开始接收flow数据,例如:flow-receive 0/0/9991 | flow-print(4) 执行flow-capture将flow数据储存下来,其指令格式为flow-capture z Z n N e E p P w W,其中参数意义如下:Z 压缩比例N 每日留存份数E 共留存几份在硬盘中P 埠号W 存放路径例如:flow-capture z 6 n 143 e 1500 p 9991 w /netflow,其中,压缩率约6就差不多了,设定更高的参数不见得可以多压多少,一天留144份,也就是10分钟rotate一次log file,方便我们做细部统计,一共留存1500份,也就是10天左右,最后一项参数表示把所有log file都放在/netflow目录下。之后,便可将此指令加入 /usr/local/etc/rc.d 目录下,让机器一开机便执行此常驻程序。(5) 收集一段时间的数据之后,可透过flow-print指令列出log file的内容,例如:flow-print f0 new.cfgcfgmaker publicrouter | cfgmaker_phys new.cfg在Target设定中的格式如下:Targetezwf: !0a-0b-0c-0d:publicwellfleet-fddi.ethz.chTargetezci: -!0-f-bb-05-71-22:publicezci-ether.ethz.chTargetezwf: ..1.14!0a-00-10-23-44-51&!0a-00-10-23-44-51:publicmyrouterTargetezwf: ifInErrors!0a-00-10-23-44-51&ifOutErrors!0a-00-10-23-44-51:publicmyroutern 在communityrouter后面,可以加上其它SNMP沟通用的参数,其语法如下:communityrouter:port:timeout:retries:backoff:versionn 如果要监测非透过SNMP提供的数值,可利用外部程序收集数据。外部程序必须传回四行输出数据。第一行:第一个参数值,例如”incoming bytes count”第二行:第二个参数值,例如”outgoing bytes count”第三行:表示系统uptime的字符串第四行:表示Target名称的字符串例如:Targetezwf: /usr/local/bin/df2mrtg /dev/dsk/c0t2d0s0n 我们也可以将多个叙述式组合成一个数学式,表示将多笔资料加总起来,如下所示:Targetezwf: 2:publicwellfleetA + 1:publicwellfleetA * 4:publicciscoFMRTG组态文件中的设定选项相当多,可参考MRTG设定说明(http:/people.ee.ethz.ch/oetiker/webtools/mrtg/config.html),其中提供各选项的说明及范例。5. 测试MRTG输出当mrtg组态档修改完成后,可执行mrtg mrtg.cfg,如果一切正确的话,应该会在WorkDir目录下产生HTML文件及一些png图档,便可开启这些HTML档检查产生的输出是否如预期结果。6. 自动执行MRTG程序一般透过MRTG要观察的是长期趋势,因此必须将MRTG设定为连续定期执行,方能将收集到网络信息描绘成连续图形。以Unix系统为例,通常以编写crontab达到此效果,例如执行:crontab e并在crontab中加入类似下面这行设定:0,5,10,15,20,25,30,35,40,45,50,55 * * * * /mrtg/bin/mrtg /mrtg/conf/mrtg.cfg如此便会每5分钟执行一次mrtg程序而得到网络流量图。(三)利用MRTG监看其它系统资源其实MRTG的原理就是将收集到的数据绘成图形以便于观察实时状况及长期趋势,因此不论是让MRTG透过SNMP向远程网络设备取得接口数据,或者透过外部程序产生数据,都可以达到相同的效果。接下来要介绍几种从网络上取得可以与MRTG结合的外部程序,系统管理者也可以自行撰写程序,只要程序输出结果符合MRTG程序读取数据的格式即可。1. mrtg-ping-probe可利用此程序测量与其它网络设备之间的来回时间及封包遗失率。mrtg-ping-probe程序可从网络上直接下载,其网址为ftp:/ftp.pwo.de/pub/pwo/mrtg/mrtg-ping-probe/,目前最新的版本是mrtg-ping-probe-2.0.2。mrtg-ping-probe的执行方式是:mrtg-ping-probe mrtg-ping-probe o -p / 执行后会输出两行数据,分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省考试题及答案解析
- 2025年医院信息化建设中电子病历系统创新优化策略报告
- 三基判断考试题库及答案
- 三基考试题库及答案百度
- 2025建设工程施工合同
- 2025年家居装修合同修订范本
- 2025年电子产品贸易合作合同
- 2025年预定开工项目股权转让合同范本
- 农村建设工程拆迁房屋协议书
- 2025年个体经营贷款担保合同书
- 小学生元宵中秋猜谜语竞赛题目
- 环保与物业公司合作协议
- 燃气轮机离心式压缩机组运行操作手册教学教材
- FZ/T 01057.2-2007纺织纤维鉴别试验方法 第2部分:燃烧法
- 面条制品-课件
- 2023年重庆市社区工作者考试试题
- 四上科学第一单元《多样的动物》知识梳理
- 微观经济学-范里安varian中级
- 《印章移交登记表》
- 电缆护套感应电压计算
- 第5章金属在自然环境中的腐蚀ppt课件
评论
0/150
提交评论