基于SNMP/MIB的网络数据获取系统设计与实现.doc
《基于SNMP/MIB的网络数据获取系统设计与实现.doc》由会员分享,可在线阅读,更多相关《基于SNMP/MIB的网络数据获取系统设计与实现.doc(56页珍藏版)》请在三一办公上搜索。
1、基于SNMP/MIB的网络数据获取系统设计与实现摘 要: 简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering Task Force )定义的一套网络协议。简单网络管理协议(SNMP)是一种应用层协议, 便于在网络设备间交换管理信息。它是TCP/IP协议簇的一部分,也是一个标准的用于管理IP网络上结点的协议。网络管理员使用SNMP监视网络性能、检测分析差错、配置网络设备,发现和解决网络故障, 并计划网络增长。本文主要介绍了SNMP/MIB有关理论基础知识和数据的采集原理,并针对
2、MIB信息库的单个对象和表进行分析,用java编程实现了数据采集功能。关键词: SNMP MIB AdventNet 数据采集Abstract:Simple Network Management Protocol(SNMP)is a set of network protocol defined by Internet Engineering Task Force(IETF). The Simple Network Management Protocol (SNMP) is an application layer protocol that facilitates the exchange
3、of management information between network devices. It is part of the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol suite. SNMP enables network administrators to manage network performance, find and solve network problems, and plan for network growth. This passage mainly introduce
4、 the theory about the SNMP/MIB and basic principle of the information collection .Moreover ,we realize the function of information collection using java programming for single object and table of MIB.Key words : SNMP MIB AdventNet Information Collection 一,简单网络管理协议SNMP及相关理论介绍1,简单网络管理协议SNMP(1), 什么是网络管
5、理 网络管理分为两类。第一类是网络应用程序、用户帐号(例如文件的使用)和存取权限(许可)的管理。它们都是与软件有关的网络管理问题。这里不作讨论。网络管理的第二类是由构成网络的硬件所组成。这一类包括工作站、服务器、网卡、路由器、网桥和集线器等等。通常情况下这些设备都离你所在的地方很远。正是由于这个原因,如果当设备有问题发生时网络管理员可以自动地被通知的话,那么一切事情都好办。但是你的路由器不会象你的用户那样,当有一个应用程序问题发生时就可以打电话通知你,而当路由器拥挤时它并不能够通知你。为了解决这个问题,厂商们已经在一些设备中设立了网络管理的功能,这样你就可以远程地询问它们的状态,同样能够让它们
6、在有一种特定类型的事件发生时能够向你发出警告。这些设备通常被称为智能设备。网络管理通常被分为四类:被管理节点(或设备):即你想要监视的设备代理:用来跟踪被管理设备状态的特殊软件或固件(firware)网络管理工作站:与在不同的被管理节点中的代理通信,并且显示这些代理状态的中心设备网络管理协议:被网络管理工作站和大理用来交换信息的协议当设计和构造网络管理的基础结构时,你需要记住下列两条网络管理的原则:1.由于管理信息而带来的通信量不应明显的增加网络的通信量。 2.被管理设备上的协议代理不应明显得增加系统处理的额外开销,以致于该设备的主要功能都被削弱了。(2),SNMP的背景美国国防部设计了世界上
7、头几个包交换网之一的ARPANET,在70年代,TCP/IP协议族正式被定为军方通信标准,随着此协议的广泛使用,网络管理成了一件大事。在80年代未和90年代初,网络迅速发展,许多子网数目的增多使监视网络活动成为一种必须。在网络管理的初期,对网络的管理停留在使用ICMP和PING的基础上,但是随着网络内主机数据的不断增多,这种简单的工具已经不可能完成网络管理的工作了。随着网络数目与网络内主机数目的日益增多,单纯依靠一些网络专业进行网络管理已经不可能了,必须有一种通行的网络管理标准以及相应的管理工具使普通人也能够管理网络。第一个相关的协议是SGMP,它提供了一种直接监视网关的方法,也因此成了一种通
8、用的网络管理工具。下来,有三可供选择的管理工具:HEMS,SNMP和建立在TCP/IP基础上的CMIP(CMOT),因为需要使用ISO/OSI模型进行网络管理,SNMP首选CMOT作为管理工具。基本的SNMP已经被广泛使用了,所有的网络产品都提供对SNMP的支持,新开发的具有远程管理能力的SNMP是RMON,它使管理人员可以将整个子网进行管理,而不是对整个子网内的设备进行管理。简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议。1990年5月,RFC 1157定义了SNMP(simple network management protocol)的第一个版本SNMPv
9、1。RFC 1157和另一个关于管理信息的文件RFC 1155一起,提供了一种监控和管理计算机网络的系统方法。因此,SNMP得到了广泛应用,并成为网络管理的事实上的标准。SNMP在90年代初得到了迅猛发展,同时也暴露出了明显的不足,如,难以实现大量的数据传输,缺少身份验证(Authentication)和加密(Privacy)机制。因此,1993年发布了SNMPv2,具有以下特点:l 支持分布式网络管理l 扩展了数据类型l 可以实现大量数据的同时传输,提高了效率和性能l 丰富了故障处理能力l 增加了集合处理功能l 加强了数据定义语言但是,SNMPv2并没有完全实现预期的目标,尤其是安全性能没有
10、得到提高,如:身份验证(如用户初始接入时的身份验证、信息完整性的分析、重复操作的预防)、加密、授权和访问控制、适当的远程安全配置和管理能力等都没有实现。1996年发布的SNMPv2c是 SNMPv2的修改版本,功能增强了,但是安全性能仍没有得到改善,继续使用SNMPv1的基于明文密钥的身份验证方式。IETF SNMPv3工作组于1998年元月提出了互联网建议RFC 2271-2275,正式形成SNMPv3。这一系列文件定义了包含SNMPv1、SNMPv2所有功能在内的体系框架和包含验证服务和加密服务在内的全新的安全机制,同时还规定了一套专门的网络安全和访问控制规则。可以说,SNMPv3是在SN
11、MPv2基础之上增加了安全和管理机制。Internet还有一个远期的网络管理标准CMOT(Common Management information service and protocol Over TCP/IP),意思是 “在TCP/IP上的公共管理信息服务与协议”。虽然CMOT使用了OSI的网络管理标准CMIS/CMIP,但现在还未达到实用阶段。SNMP最重要的基本思想就是要尽可能简单,以便缩短研制周期。SNMP的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。在网络正常工作时,SNMP可实现统计、配置和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。虽然SNMP是
12、在TCP/IP基础上的网络管理协议,但也可扩展到其他类型的网络设备上。(3),SNMP的详细介绍简单网络管理协议最初是为处理网络上路由器而设计的。虽然 SNMP是TCP/IP协议族中的一员,但它并不依赖于IP。目前大部分SNMP都使用IP协议,但SNMP是独立的协议(因此,它也用于Novell公司SPX/IPX的IPX协议之上)。使用SNMP进行网络管理需要下面几个重要部分:管理基站,管理代理,管理信息库和网络管理工具。管理基站通常是一个独立的设备,它用作网络管理者进行网络管理的用户接口。基站上必须装备有管理软件,管理员可以使用的用户接口和从MIB取得信息的数据库,同时为了进行网络管理它应该具
13、备将管理命令发出基站的能力。管理代理是一种网络设备,如主机,网桥,路由器和集线器等,这些设备都必须能够接收管理基站发来的信息,它们的状态也必须可以由管理基站监视。管理代理响应基站的请求进行相应的操作,也可以在没有请求的情况下向基站发送信息。MIB是对象的集合,它代表网络中可以管理的资源和设备。每个对象基本上是一个数据变量,它代表被管理的对象的一方面的信息。最后一个方面是管理协议,也就是SNMP,SNMP的基本功能是:取得,设置和接收代理发送的意外信息。取得指的是基站发送请求,代理根据这个请求回送相应的数据,设置是基站设置管理对象(也就是代理)的值,接收收代理发送的意外信息是指代理可以在基站未请
14、求的状态下向基站报告发生的意外情况。SNMP并不是单个协议,它由三个协议组成,这三个协议用于网络管理。组成 SNMP协议的三个协议及功能如下所示:* 管理信息基(MIB) 包含状态信息的数据库。* 管理信息的结构与标识(SMI) 定义MIB的入口。* 简单网络管理协议(SNMP) 受管理的对象与服务器间的通信方法。拥有SNMP能力的管理代理软件包要么在系统启动时加载,要么嵌入到设备的硬件中。拥有SNMP代理的设备由于不同的厂商而有各种不同的名称,但总的可分为SNMP管理设备和受SNMP管理的设备两种。SNMP相容设备也拥有将SNMP集成到其软件或硬件上的代码。当设备中包含SNMP时,我们称之为
15、可管理的设备。受SNMP管理的设备可与位于网络某处的SNMP服务器通信。设备与服务器有两种通信方式:投票及中断。接受投票的设备由服务器询问当前的状态或统计信息。投票通常在一定时间间隔执行,由网络服务器与受管理的设备进行通信。投票的问题是:信息不总是实时的,同时由于受管理的设备数量增多及投票频率过高的影响容易造成网络拥塞。在基于中断的SNMP系统中,当受管理的设备出现异常时,向服务器发送消息,在这种方式下,服务器可以及时知道问题除非设备崩溃,此时,只有其他设备与已崩溃的设备进行连接时,系统才可能发现问题。基于中断的设备也存在自己的问题,最主要的是设备需要组织发送给服务器的消息,这将消耗掉系统时钟
16、周期,从而降低系统的工作效率。同时也可能导致性能“瓶颈”从而引发其他问题。如果消息数据量较大,包含很多统计数据,组织和传输消息将导致网络性能下降。如果网络上出现较严重的问题,如电源掉电或电压过高,每个受管理的SNMP设备都设法向服务器发送中断消息以报告问题。这将导致网络拥塞从而使服务器接收到错误的消息。通常,将投票与中断结合使用以弥补各自的缺陷,我们称这种组合方式为直接自陷投票(trap-directed polling),服务器定时统计或在管理员指导下统计设备信息。同时,每个受管理的设备在某种条件发生时产生中断消息,中断发生的条件比纯粹的中断驱动系统要严格。例如,如果用户使用中断SNMP,路
17、由器负载每增长10%都向服务器报告。如果使用直接自陷投票SNMP,用户可从投票中获得路由器的负载,并且当路由器负载增加很快时,将向服务器发送中断消息。当服务器接收到此中断消息后,如果需要的话,可进一步查询设备的详细信息。SNMP服务器软件包可与SNMP代理通信、传输或请求一系列不同类型的信息。通常由服务器向代理请求统计信息,包括处理的包数量、设备的状态与设备类型相关的特殊信息等 (如modem失效连接的次数)及处理器的负载。服务器也可向代理发送指令以修改数据库 (MIB)中的项。服务器也可设置代理方的阈值或条件,当代理超过阈值或满足条件时向服务器发送中断消息,如 CPU负载达到90%。虽然服务
18、器与代理间的通信内容趋向于抽象,但通信本身以非常直接简单的方式完成。如:服务器发送“当前负载”,代理返回75%。代理从不向服务器发送数据,除非产生中断消息或收到服务器请求,这意味着在没有进行投票或产生中断消息时,系统可能存在潜伏的问题。SNMPv1SNMPv1是SNMP协议的最初实现。它在请求注释(RFC)1157中有描述,管理信息结构(SMI)规范中有功能描述。SNMPv1运行在协议之上,如UDP,IP,开放式系统互联参考模型无连接网络服务(CLNS),AppleTalk数据报投递协议(DDP),和Novell网络数据报交换(IPX)。SNMPv1被广泛地使用,成为因特网内事实上的网络管理协
19、议。SNMPv1和管理信息结构管理信息结构(SMI)定义描述管理信息的规则,使用抽象语法符号1(ASN.1)。SNMPv1 管理信息结构被定义在RFC1155中。管理信息结构制定三种主要的规范:ASN.1数据类型,SMI-specific数据类型和SNMP MIB表。SNMPv1和ASN.1数据类型SNMPv1管理信息结构指定所有被管理对象有一个抽象语法符号1(ASN.1)数据类型的子集与它们关联。三种ASN.1数据类型是必需的:姓名、语法和编码。服务的名称被看作对象标识符(对象ID)。语法定义对象的数据类型(例如,整型或字符串)。管理信息结构使用ASN.1语法定义的子集。编码数据描述信息怎么
20、被关联到被管理对象,被格式化为一系列数据项,用于网络传输。SNMPv1和管理信息结构-specific数据类型SNMPv1管理信息结构指定一系列管理信息结构-specific数据类型的使用,被划分为两种:简单数据类型和广泛应用数据类型。三种简单数据类型被定义在SNMPv1管理信息结构中,所有取唯一的值:整型、八位位组字符串和对象ID。整型数据类型是一个范围在-2,147,483,648 to 2,147,483,647之间的单独的整型。八位位组字符串是0到65535八位位组的规则序列。对象ID来自所有对象标识符依照ASN.1中的指定规则分配的。七种广泛应用数据类型存在在SNMPv1管理信息结构
21、:网络地址、计数器、规格、时间记号、不透明物和无符号整型。网络地址表示一个来自一个特殊协议族的一个地址。SNMPv1只支持32位IP地址。计数器是非负整型,增加直至达到最大值,然后返回到零。在SNMPv1中,一个32位计数器大小被指定。规格是非负整型,能增加或减少,但它们保留达到的最大值。时间记号表示自一些事件的一秒的每一百。不透明物表示一个任意的编码,被使用在任意的信息字符串中,在管理信息系统中,不需要与严格的数据类型一致。整型表示有符号的整型值信息。这个数据类型重新定义了整型数据类型,在ASN.1中有任意的精确度,但是在管理信息结构中,是有限制的。无符号整型表示无符号整型值信息,整型数据类
22、型在ASN.1中有任意的精确度,但是在管理信息结构中是有限制的。SNMPv2SNMPv2是初始版本SNMPv1的发展,最初,SNMPv2在1993年以被提议为因特网标准发布;当前,它是一个标准草案。在管理信息结构规范中有SNMPv1,SNMPv2功能功能详述。在理论上,SNMP2提供了SNMPv1的实现,包括附加的协议操作。SNMPv2和管理信息结构:管理信息结构(SMI)定义了使用ASN.1描述管理信息的规则。SNMPv2管理信息结构在RFC1902中有描述。它制定了一些对SNMPv1管理信息结构-specific数据类型额外的增强,例如包含位字符串,网络地址和计数器。位字符串中只在SNMP
23、v2中有定义,由零或更多的指定值的位组成。网络地址表示一个来自特殊协议族的地址。SNMPv1只支持32位IP地址,但SNMPv2能支持其他类型的地址。计数器是非负整型,增加直到它们达到最大值,然后返回到零。在SNMPv1中,32位计数器大小是指定的。在SNMPv2中,32位和64位计数器被定义。 管理信息结构信息模块:SNMPv2管理信息结构也指定信息模块,指定一组关联的定义。有三种类型的管理信息结构信息模块:MIB模块,顺从声明和性能声明。MIB模块包含相关的被管理对象的定义。顺从声明提供描述一组被管理对象的一种系统方法,必须实现与标准一致。性能声明显示支持的精确层次,代理要求考虑MIB组。
24、为了代理依照性能声明关联到每个代理,网络管理系统可以调整它的行为。SNMPv2协议操作:Get,GetNext和Set操作用于SNMPv1中,在SNMPv2中可以正确地同样使用。SNMPv2增加和增强一些协议操作。SNMPv2 Trap操作,例如,提供同样的功能在SNMPv2中,但是它使用一种不同的消息格式,被设计用于替代SNMPv1 陷阱。SNMPv2也定义两种新的协议操作:GetBulk和Inform。GetBulk操作被网络管理系统有效地重新取得大块的数据,例如表中的多行。GetBulk填充一个合适的并足够多的被请求的应答消息。Inform操作允许一个网络管理系统发送陷阱信息到另一个网络
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SNMP MIB 网络 数据 获取 系统 设计 实现
链接地址:https://www.31ppt.com/p-2396161.html