基于SNMP协议的网络管理系统数据采集及分析.docx

上传人:b****3 文档编号:26657914 上传时间:2023-06-21 格式:DOCX 页数:31 大小:80.03KB
下载 相关 举报
基于SNMP协议的网络管理系统数据采集及分析.docx_第1页
第1页 / 共31页
基于SNMP协议的网络管理系统数据采集及分析.docx_第2页
第2页 / 共31页
基于SNMP协议的网络管理系统数据采集及分析.docx_第3页
第3页 / 共31页
基于SNMP协议的网络管理系统数据采集及分析.docx_第4页
第4页 / 共31页
基于SNMP协议的网络管理系统数据采集及分析.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于SNMP协议的网络管理系统数据采集及分析.docx

《基于SNMP协议的网络管理系统数据采集及分析.docx》由会员分享,可在线阅读,更多相关《基于SNMP协议的网络管理系统数据采集及分析.docx(31页珍藏版)》请在冰豆网上搜索。

基于SNMP协议的网络管理系统数据采集及分析.docx

基于SNMP协议的网络管理系统数据采集及分析

摘要

近年来,随着网络技术的发展,计算机网络在我们的日常生活中的作用越来越普遍。

我们已经到了如此依赖计算机网络的地步,以至于网络的崩溃可能意味着生意或日常生活的崩溃。

因此保持良好的良好运行状态是至关重要的,这就是网络管理的由来。

SNMP是专门设计用在IP网络管理网络节点的一种标准协议,它是一种应用层协议。

SNMP使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。

通过SNMP接收随机消息(及事件报告),网络管理系统就可获知网络出现了问题。

本系统即是一个基于SNMP协议的网络管理系统。

它通过获取各网络设备的参数并存入数据库,从而帮助网络管理员实现对网络性能的管理。

 

关键词:

网络管理SNMP协议网络设备

Alongwiththedevelopmentofcross-domaincommunicationtechnology,theeffectinourday-to-daylifeofcomputernetworkwasmoreandmoreuniversalinrecentyears.Wehadarrivedsorelyingontheconditionofcomputernetwork,tosuchanextentastocross-domaincommunicationcollapsesprobablytosignifycollapsingofbusinessorday-to-daylife.Thereforethegoodrunningstatusthatkeepsgoodisessentional,thisistheoriginofnetworkmanagement.SNMPisonekindofstandardagreementspeciallyusingatIP'snetworkmanagementnetworknode,anditisonekindofagreementtowithapplicationlayer.SNMPmakesnetworkmanagemerscanmanagecross-domaincommunicationefficacy,anddiscoveryandsettlementcross-domaincommunicationquestionaswellastheplanningcross-domaincommunicationincreases.Receivingrandomnews(andincidentreport)bywayofSNMP,thenetworkmanagementsystemcanbelearnedthatthecross-domaincommunicationhadappearedthequestion.

NamelythissystemisbasedingonthenetworkmanagementsystemofagreementtowithSNMP's.Itexistssidebysideintothedatabasebywayoftheparametertoprocureeachcross-domaincommunicationequipment,thushelpsnetworkmanagersrealizethemanagementtothenetworkperformance.

 

Keywords:

netmanagementSNMPprotocolnetworkdevices

第一章网络管理概论

1.1网络管理的意义

为了保证网络的正常运转,通常需要一个或多个被称为网络管理者的计算机系统专家负责网络的安装、维护和故障检修等工作。

对于网络管理者来说,有些网络问题是很容易解决的,而有些是相当复杂的,例如修理发生故障的设备或是对由于灾难性的事件导致的严重后果进行修复。

随着网络的进一步扩大,潜在问题的数目和严重程度会随之增加,网络管理者工作的范围和复杂程度也在不断增长。

为了完成任务,网络管理者需要有关计算机网络的大量信息以进行有效的管理。

为了帮助网络管理者完成这些工作,逐渐出现了网络管理的概念。

1.2网络管理系统的概念

网络管理系统是指规划、监督、控制网络资源的使用和网络的各种活动,以使网络的性能达到最优的系统。

其目的在于提供对计算机网络进行规划、设计、操作运行、管理、监视、分析、控制、评估和扩展的手段,从而合理地组织和利用系统资源,提供安全、可靠、有效和友好的服务。

网络管理是控制一个复杂的计算机网络使得它具有最高的效率和生产力的过程。

根据进行网络管理的系统的能力,这一过程通常包括数据采集——自动地或通过管理者的手工劳动,数据处理,然后提交给管理者,并用在网络操作中。

它还可能包括数据分析并提供解决方案,甚至不需要打扰管理者而自动处理一些情况。

进一步它还可以产生对管理者管理网络有用的报告。

网络管理对象一般包括路由器,交换机,HUB等。

近年来,网络管理对象有扩大化的趋势,即把网络中几乎所有的实体:

网络设备,应用程序,服务器系统,辅助设备如UPS电源等都作为被管对象。

给网络系统管理员提供一个全面系统的网络视图。

目前国际上较流行的网络管理系统有惠普(HP)公司的open-view,IBM公司的Netview,SUN公司的SunNet以及近年来代表智能网络管理方向的Cabletron公司的SPECTRUM。

1.3网络管理的五个功能域

国际标准化组织(ISO)定义了网络管理的五个功能域:

1.性能管理

性能管理可以检测网络中的软件、硬件和媒体的性能,主要包括三个方面:

   MIB库管理:

实时浏览、查询、设置网络代理的管理信息库;

   网络连接状况图形显示,直接操作图标进行性能管理;

   网络性能参数(包括IP数据报、传输差错率、流量特性等)动态图形显示和分析。

2.故障管理

故障管理是对计算机网络中的问题和故障进行定位的过程,它包括五个步骤:

   在对网络性能进行统计分析的基础上,设置正常网络性能的门限值;

   实时监视、检测定位并报告错误和警告两种类别的网络故障情况;

   网络故障网络拓扑图的显示;

   记录和管理故障日志;

   提供辅助故障解决方案,给出专家建议,具有一定的智能性。

3.配置管理

某些网络设备的配置决定着计算机网络的效率和性能,配置管理是发现和设置(配置)这些关键网络设备的过程,主要包括:

   配置网络设备参数,包括对网络设备命名、分配IP地址、设置MIB变量;

   配置网络的缺省网关和整个网络的区域名功能。

4.安全管理

一些连接在网络上的计算机的信息可能不想让所有的用户知道,这些信息称为敏感信息。

安全管理是控制对计算机网络中的信息的访问过程。

安全管理内容主要包括:

   用户帐号管理:

非合法用户不能访问系统;

   用户权限管理:

不同的用户设置不同的访问权限。

5.计费管理

计费管理可以跟踪每个个人和团体用户对网络资源的使用情况,对其收取合理的费用。

这一方面可以维持网络的运行和发展,另一方面,管理者也可以根据情况更好地为用户提供所需资源量,并促使用户合理地使用网络资源。

   计费流量控制:

统计各端口IP输入输出报文数、输入输出字节数;

   计费情况日志浏览和管理。

1.4网络管理系统的结构

关于如何建立有效的网络管理系统,目前有三种主要的方法:

第一种是建立一个管理整个网络的集中系统;第二种是建立一个分布在网络中的系统;第三种方法是把前两种方法结合在一个层次型系统中。

集中式结构由一个大系统去运行大部分所需应用程序,运行在管理系统中的每个应用程序都将把信息存储在位于网络中心的同一个数据库中。

在分布式系统中,几个对等网络管理系统同时运行在计算机网络中。

而且可以由不同的系统管理不同的网络设备,并不一定要求结构在地理上是分布的。

但是尽管在这种方法中系统的处理是分布的,但通常需要一个中心数据库进行信息存储。

第三种可能的结构是将集中式和分布式的方法结合在一个层次型的系统中。

集中方案中的中心主系统仍然存在于层次的根部,它用来收集所有的必要信息,并且允许来自网络各处的访问,然后,通过从分布式结构中建立对等系统,中心系统授权网络管理子系统作为代表,这些子系统完成层次中子节点的功能。

这种方法为构造一个网络管理系统结构提供了许多灵活选择。

 

第二章关键技术论述

2.1SNMP协议

2.1.1SNMP协议概述

SNMP是专门设计用在IP网络管理网络节点(服务器、工作站、路由器、交换机及HUB等)上的一种标准协议,它是一种应用层协议。

SNMP使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。

通过SNMP接收随机消息(及事件报告),网络管理系统即可获知网络出现了问题。

使用SNMP进行网络管理需要下面几个重要部分:

管理基站,管理代理,管理信息库和网络管理协议。

管理基站通常是一个独立的设备,它用作网络管理者进行网络管理的用户接口。

基站上必须装备有管理软件、管理员可以使用的用户接口和从MIB取得信息的数据库,同时为了进行网络管理,它应该具备将管理命令发出基站的能力。

管理代理是另一种网络设备,如主机,网桥,路由器和集线器等,这些设备都必须能够接收管理基站发来的信息,它们的状态也必须可以由管理基站监视。

管理代理响应基站的请求进行相应的操作,也可以在没有请求的情况下向基站发送信息。

MIB是对象的集合,它代表网络中可以管理的资源和设备。

每个对象基本上是一个数据变量,它代表被管理对象的一方面的信息。

最后一个方面是管理协议,也就是SNMP,SNMP的基本功能是:

Set、Get和Trap。

Set:

它是一个特权命令,因为可以通过它来改动设备的配置或控制设备的运行状态。

Get:

它是SNMP协议中使用率最高的一个命令,因为该命令是从网络设备中获得管理信息的基本方式。

Trap:

它的功能就是在网络管理系统没有明确要求的前提下,由管理代理通知网络管理系统有一些特别的情况或问题发生了。

SNMP框架的核心是简单网络管理协议本身,协议提供了在管理者和代理之间交换管理信息的一个直接的基本的方法。

交换的基本单元是消息,它是由一个外部的消息封装和一个内部的协议数据单元(PDU)组成。

SNMP的标准MIB(RFC1213)包含了丰富的对于管理数据网络非常有用的信息,当前可以从许多网络设备中获取其中的任何一个。

SNMP被设计为在无连接的用户数据报协议上运行。

UDP使用无连接的服务,因此,SNMP不需要依靠在代理和管理站之间保持连接来传输消息。

但是,SNMP能够实现在不同的传输层协议上运行。

目前,SNMP有3种:

SNMPV1、SNMPV2、SNMPV3。

第1版和第2版没有太大差距,但SNMPV2是增强版本,包含了其它协议操作。

与前两种相比,SNMPV3则包含更多安全和远程配置。

为了解决不同SNMP版本间的不兼容问题,RFC3584种定义了三者共存策略。

2.1.2SNMP信息分类

表2-1SNMP信息分类表

编码

类(组)别

内容描述

1

系统类

网络元素的名称、厂商、硬件类型、软件版本、启停时间等

2

接口类

网络元素的接口数目、带宽、流量等

3

地址迁移类

物理地址和网络地址(如IP地址)对应关系等

4

IP信息类

进、出、丢弃IP数据报的统计,IP地址及掩码、路由信息等

5

ICMP统计类

ICMP报文的统计信息,含出错分类统计

6

TCP信息类

TCP连接数、收发TCP报文统计,超时重发算法及次数统计等

7

UDP信息类

收发的UDP报文统计

8

EGP信息类

支持外部网关协议(EGP)的路由器的流量统计信息

9

待扩充

10

待扩充

11

SNMP信息类

SNMP报文统计信息

2.1.3SNMP协议的协议数据单元

SNMPv1有5个基本协议数据单元:

get-request

set-request

get-next-request

get-reponse

trap

SNMPv2增加了两个:

get-bulk-request

inform-request

SNMPv3主要是在安全上进行了加强。

get-request操作:

从代理进程处提取一个或多个参数值。

get-next-request操作:

从代理进程处提取紧跟当前参数值的下一个参数值。

get-request和get-next-request结合起来使用可以获得一个表中的对象。

set-request作置代理进程的一个或多个参数值。

get-response操作:

返回的一个或多个参数值。

这个操作是由代理进程发出的,它是前面三种操作的响应操作。

trap操作:

代理进程主动发出的报文,通知管理进程有某些事情发生。

前面的3种操作是由管理进程向代理进程发出的,后面的两个操作是代理进程发给管理进程的。

图2-1描述了SNMP的这5种报文操作。

请注意,在代理进程端是用熟知端口161接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。

图2-1SNMP的5种报文操作

图2-2是封装成UDP数据报的5种操作的SNMP报文格式。

可见一个SNMP报文共有三个部分组成,即公共SNMP首部、get/set首部trap首部、变量绑定。

图2-2SNMP报文格式

(1)公共SNMP首部共三个字段:

a.版本

写入版本字段的是版本号减1,对于SNMP(即SNMPV1)则应写入0。

b.共同体(community)

共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是6个字符“public”。

c.PDU类型

根据PDU的类型,填入0~4中的一个数字,其对应关系如表2-2所示意图。

表2-2PDU类型

PDU类型

名称

0

get-request

1

get-next-request

2

get-response

3

set-request

4

trap

(2)get/set首部

a.请求标识符(requestID)

这是由管理进程设置的一个整数值。

代理进程在发送get-response报文时也要返回此请求标识符。

管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。

设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文

b.差错状态(errorstatus)

由代理进程回答时填入0~5中的一个数字,见表2-3的描述

c.差错索引(errorindex)

当出现noSuchName、badValue或readOnly的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。

表2-3差错状态描述

差错状态

名字

说明

0

noError

一切正常

1

tooBig

代理无法将回答装入到一个SNMP报文之中

2

noSuchName

操作指明了一个不存在的变量

3

badValue

一个set操作指明了一个无效值或无效语法

4

readOnly

管理进程试图修改一个只读变量

5

genErr

某些其他的差错

(3)trap首部

企业(enterprise)填入trap报文的网络设备的对象标识符。

此对象标识符肯定是在表2-4的对象命名树上的enterprise结点{1.3.6.1.4.1}下面的一棵子树上。

trap类型:

此字段正式的名称是generic-trap,共分为表4中的7种。

表2-4trap首部类型

trap类型

名字

说明

0

coldStart

代理进行了初始化

1

warmStart

代理进行了重新初始化

2

linkDown

一个接口从工作状态变为故障状态

3

linkUp

一个接口从故障状态变为工作状态

4

authenticationFailure

从SNMP管理进程接收到具有一个无效共同体的报文

5

egpNeighborLoss

一个EGP相邻路由器变为故障状态

6

enterpriseSpecific

代理自定义的事件,需要用后面的“特定代码”来指明

(4)变量绑定(variable-bindings):

指明一个或多个变量的名和对应的值。

在get-request或get-next-request报文中,变量的值应忽略。

2.2MIB和对象

管理信息库MIB(ManagementInformationBase)是对通过网络管理协议可以访问信息的精确定义。

在RFC1052中,IAB建议优先定义一个用于SNMP和CMS/CMIP的扩展MIB。

MIB使用一个层次型、结构化的形式,定义了一个设备可获得的网络管理信息。

每个设备为了和标准的网络管理协议一致,必需使用MIB中定义的格式显示信息。

MIB包括了所有对象列表,这些对象均与指示对象类型的OBJECTIDENTIFIER相关。

MIB的结构是树形结构,有两种方式可以访问MIB中对象的值,一种是快速访问,另一种慢速访问,快速访问时只用输入一些数据,慢速访问时要加上其它信息。

 

 

图2-3MIB树结构

表2-5MIB-II中的对象

值名

对象名

对象标识符OID

对象描述

System组

SysDeser

.1.3.6.1.2.1.1.1

系统的描述

SysUptime

.1.3.6.1.2.1.1.3

系统自上次启动运行了多长时间

SysName

.1.3.6.1.2.1.1.5

系统的名字

 

Interfaces组

Ifnumber

.1.3.6.1.2.1.2.1

端口数量

IfIndex

.1.3.6.1.2.1.2.1.1

端口的序号

IfDescr

.1.3.6.1.2.1.2.1.2

端口的名字

IfSpeed

.1.3.6.1.2.1.2.1.5

端口的带宽

IfInOctets

.1.3.6.1.2.1.2.1.10

端口接收到的字节数

IfInDiscards

.1.3.6.1.2.1.2.1.13

端口丢弃的输入包数

IfInErrors

.1.3.6.1.2.1.2.1.14

包含错误的输入包数

IfOutOctets

.1.3.6.1.2.1.2.1.16

端口发送的字节数

IfOutDiscards

.1.3.6.1.2.1.2.1.19

端口丢弃的输出包数

IfOutErrors

.1.3.6.1.2.1.2.1.20

包含错误的输出包数

IfperStatus

.1.3.6.1.2.1.2.1.8

端口的运行状态

IfAdminStatus

.1.3.6.1.2.1.2.1.7

端口的管理状态

IfInUcastPkts

.1.3.6.1.2.1.2.1.11

端口输入的单播包数

IfInNUcastPkts

.1.3.6.1.2.1.2.1.12

端口输入的非单播包数

IfOutUcastPkts

.1.3.6.1.2.1.2.1.17

端口输出的单播包数

IfOutNUcastPkts

.1.3.6.1.2.1.2.1.18

端口输出的非单播包数

IP组

IpAdEntAddr

.1.3.6.1.2.1.4.20.1.1

IpAddrEntry的IP地址

IpAdEntIfIndex

.1.3.6.1.2.1.4.20.1.2

IpAddrEntry的对应端口号

SNMPMIB对象的定义是十分严格的,定义指定了对象的数据类型、允许的形式、取值范围和与其它MIB对象的关系。

ASN.1(AbstractSyntaxNotationOne:

抽象语法定义)定义方法用来定义每个对象,同时也定义整个MIB结构。

MIB有两种不同对象数据结构:

通用类型的专用类型,通用类型指的是整数,字符串,空值,对象标识,序列和序列号;专用类型是指网络地址,IP地址,记数器,标准等

若要定义对象自身,必须使用ASN.1。

下面是一个基本的定义结构:

<模块名>DEFINITIONS:

:

=

BEGIN

EXPORTS

IMPORTS

AssignmentList

End

2.3网络管理编程平台

目前市场上有很多网络管理编程平台,其中有代表性的是AdventNet公司的AdventNetAdventNetSNMPAPI,SUN公司的JMAPI。

2.3.1AdventNetSNMPAPI

AdventNetSNMPAPI是一个综合性的开发环境,包含了JavaSNMP链接库以及用来建立SNMP管理应用程序的协议堆栈;它的API支持三个版本的SNMP,包括SNMPv1、SNMPv2c以及SNMPv3。

用最好的软件设计模式和最佳化的表现来完成建制,透过强力的程序组保护API,建立跨平台、及时监控以及追踪网络的环境。

AdventNetSNMPAPI的多个Java包:

1.High-Level-APIHigh-Level-API既可以用在用户代码中,也可用在可视化JavaBuilders中的JavaBeans组件。

High-Level-API由Beans和GUIJava包组成。

建立SNMP应用程序和Applets,使用AdventNetSNMPBeans包建立网络管理应用是最简单的方法。

2.Low-Level-APILow-Level-API由实现SNMP通讯和符合RFC规范SNMP变量的Java类组成。

Snmp2Java包组成了Low-Level-API。

Low-Level-API是其他API建立的基础。

在应用程序需要涉及SNMP详细情况和对代码长度有限制的应用时,推荐使用这个底层的API。

3.MIBSupportAPI在这个包里可用到的类提供了所有MIB操作支持,像MIB装载,卸载等等。

MibJava包组成的MIB支持API。

4.SASAPISNMPAppletServer(SAS)包提供了实现网络管理Applet与那些因为Applet安全策略而被禁止直接通讯的被管设备的通信。

SAS包由SASAPI组成。

Applets通过SAS(用TCP/IP协议)或者HTTP协议和设备通信。

当我们在防火墙限制下访问被管理设备时,HTTP访问是相当有用的。

2.3.2JMAPI

这是SUN公司为网络管理开发提供的一组编程接口。

它提供了用户使用支持JAVA的WEB浏览器执行管理任务的编程接口,JMAPI提供了用户界面指导、JAVA类和开发集成系统、网络及网络管理应用的规范。

使用JMAPI,开发者可以创建一致的应用系统,而同时可以减少学习时间,降低开发周期。

JMAPI的组成包括:

1.AdminViewmodule(AVM)

它提供了一组UI模块,用来构造复杂的用户界面;

2.RemoteMethodInvocation(RMI)

它是一个用于跨越机器界限通信的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1