Windows操作系统的SNMP服务的安装.docx
《Windows操作系统的SNMP服务的安装.docx》由会员分享,可在线阅读,更多相关《Windows操作系统的SNMP服务的安装.docx(23页珍藏版)》请在冰豆网上搜索。
Windows操作系统的SNMP服务的安装
1.1网络管理概述
1.网络管理的概念:
•为保证网络系统稳定、高效和可靠运行,对网络的各种软硬件设施和人员进行的综合管理。
网络管理主要是要保障网络设备的正常运行、监控网络的各项功能、优化网络的拓扑结构等。
2.网络管理的要求:
•网络管理离不开:
✓现代网络管理方法和技术;
✓网络管理工具(网管软件);
✓网络管理协议。
3.网络管理的内容:
•网络管理的基本内容包括:
(1)数据通信网中的流量控制
(2)路由选择策略管理
(3)网络安全保护
(4)网络的故障诊断与修复
4.网络管理系统组成:
•网络管理系统是用于实现对网络全面、有效管理和实现网络管理目标的系统。
•一个网管系统从逻辑上包括管理进程、管理代理、管理信息库和管理协议四部分。
•管理对象:
是指网络客户机和网络设备等,如服务器、工作站、集线器、路由器、交换机、网卡等。
这些网络设备对应的具体可以操作的数据等也是网络管理的对象,如网络设备的工作状态和工作参数等数据。
•管理进程manager:
用于对网络设备和设施进行全面管理和控制的软件。
它驻留在网络管理站上。
•管理代理agent:
驻留在网络管理对象上、配合管理进程进行网络管理的软件。
•管理信息库MIB:
用于记录网络中被管理对象的相关信息。
•管理协议:
负责在管理系统和管理对象之间传输操作命令和解释管理操作命令。
•一个管理进程(manager)可以与多个管理代理(agent)进行信息交互,同时一个管理代理也可以接受来自多个管理进程的管理操作。
5.网络管理功能:
•在OSI7498-4文件定义的网络管理标准中,将网络管理功的能分为配置管理、性能管理、故障管理、安全管理和计费管理五个功能域。
•网络管理是为网络管理员进行监视、控制和维护网络而设计的。
(1)配置管理
•为适应和支持网络中用户、设备、系统的变化,调整软硬件运行参数,以保证网络正常运行,要进行网络的配置管理。
网络配置是指网中每个设备的功能、点的连接关系和工作参数等,反映的是网络状态。
•配置管理主要包括网络节点地址分配管理、节点接入和撤消的自动管理、远程加载与转储管理及虚拟网络节点的配置等。
配置管理就是用来定义、记录、控制和检测网络中的被管理对象的集合。
(2)性能管理
•性能管理主要是通过收集、分析和测试网络性能参数,评价网络运行过程中的主要性能指标,为管理机构提供决策依据。
•通常影响网络性能的参数有:
网络吞吐量、响应时间、线路利用率、费用、负载等。
•网络性能管理分为网络监控和网络控制。
•网络监控是对网络工作状态信息的收集和整理;
•网络控制是指为改善网络设备性能而采取的动作和措施。
(3)故障管理
•网络故障管理是指对网络系统故障的预防、检测(诊断)、恢复或排除等操作进行管理。
其目的是保证网络提供连续、可靠的服务。
•网络故障管理的三步曲:
预防、检测(诊断)和排除(恢复、纠正)
•预防:
关键数据的存储、备份,硬件的随时维护和更新等。
•检测:
检测被管理对象的故障现象,进行系统诊断、测试和分析,以便跟踪和识别故障,找出故障原因和故障点。
•排除:
隔离故障源,尽快排除故障,恢复系统运行。
(4)安全管理
•网络安全管理是用来保护网络资源和网络用户的安全。
安全管理主要是针对网络环境的各种人为因素对网络造成的威胁。
如非法用户对网络资源的侵害(盗用、更改和破坏)、合法用户对网络资源的非法访问等。
•安全管理的策略有安全立法、安全行政人事管理、网络软硬件安全保护、系统访问控制、数据加密保护、采用防火墙技术和防病毒技术等。
(5)计费管理
•网络计费管理就是控制和管理用户使用的网络资源,核算用户费用等。
•计费管理中要核算和计费的网络资源主要包括:
硬件资源,软件和数据资源,网络服务和其他网络设施开销。
•计费管理的作用有二:
•对网络资源的使用情况进行统计,以便系统合理地调度和分配资源,为用户提供高效的服务。
•核算资源费用,进行系统收费管理。
•大部分企业网对内部用户使用的资源不收取费用,主要是达到第一个目的。
•在实际网络管理过程中网络管理功能非常广泛,包括很多方面。
除以上五种基本功能外还有网络规划、数据库管理、操作人员管理等。
1.2简单网络管理协议
•ISO提出了网络管理协议标准CMIS(公共管理信息服务)和CMIP(公共管理信息协议)。
CMIS/CMIP与OSI/RM一样,未得到社会的广泛支持,几乎无产品,只有参考价值。
而TCP/IP的SNMP(简单网络管理协议)得到厂商的一致支持。
1.SNMP的发展
•SNMP是一个网络应用层协议。
网络管理人员使用该协议可以较容易地管理网络,发现和解决网络问题。
•1987年11月因特网工程任务组IETF(InternetEngineeringTaskForce)提出了简单网关管理协议SGMP,随后公布的SNMPv1即是在SGMP基础上发展起来的。
•SNMPv1是一个简单的协议,在大规模网络上也易于实现。
•1993年IETF提出的SNMPv2对SNMPv1在数据的分布式管理和安全性方面进行了改进。
•1999年公布的SNMPv3对SNMPv2在安全和可管理体系结构方面又有了较大的改进。
2.SNMP网络管理模型
•SNMP网络管理模型:
管理进程(ManagerStation)、管理代理(Agent)和管理信息库(MIB)。
•模型如图示:
(1)管理进程:
•管理进程(Manager)是网络管理的核心软件,一般是安装在被称为“网络管理站”的主机上。
在该主机上运行网络管理协议、网络管理支持工具和网络管理应用软件。
•每个网络中至少有一个网络管理站,它运行管理进程软件,对其它站进行管理。
•Manager完成各种网络管理功能。
通过各设备中的管理代理对网络中的各种资源实施检测和控制。
网管操作人员通过Manager对全网进行管理。
(2)管理代理:
•管理代理Agent是驻留在被管理站上的一套软件,它负责执行Manager的管理操作。
Agent直接操作本地信息库MIB,如果Manager需要,它可根据要求改变本地MIB或提取数据传回到Manager。
•Agent可从MIB中读取各种变量值;也可以在MIB中修改各种变量值;并与Manager进行通信,以响应其管理请求。
•被管理站包括主机、网关、服务器、路由器、交换机等网络设备。
(3)管理信息库
•管理信息库MIB是一个概念上的数据库。
管理代理所收集的包括网络设备的系统信息、资源使用及各网段信息流量等管理信息都存放在MIB中。
每个Agent拥有自己的本地MIB,各Agent控制的管理对象共同构成全网的管理信息库。
•MIB包括报文分组计数、出错计数、用户访问计数、IP路由选择表等。
•Manager通过查看MIB的内容实现对网络的检测,通过修改MIB的内容完成对网络的控制。
•SNMP提供的是面向无连接的服务,采用轮询法进行管理。
Manager每隔一段时间向每个Agent发出询问,以获取管理信息。
当被管理对象发生紧急情况时,Agent主动向Manager汇报。
•管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。
MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。
SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。
图3画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。
•
图3管理信息库的对象命名举例
•对象命名树的顶级对象有三个,即ISO、ITU-T和这两个组织的联合体。
在ISO的下面有4个结点,其中的饿一个(标号3)是被标识的组织。
在其下面有一个美国国防部(DepartmentofDefense)的子树(标号是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}。
这种标识为对象标识符。
•最初的结点mib将其所管理的信息分为8个类别,见表1。
现在demib-2所包含的信息类别已超过40个。
•表1最初的结点mib管理的信息类别
•类别
•标号
•所包含的信息
•system
•interfaces
•addresstranslation
•ip
•icmp
•tcp
•udp
•egp
•
(1)
•
(2)
•(3)
•(4)
•(5)
•(6)
•(7)
•(8)
•主机或路由器的操作系统
•各种网络接口及它们的测定通信量
•地址转换(例如ARP映射)
•Internet软件(IP分组统计)
•ICMP软件(已收到ICMP消息的统计)
•TCP软件(算法、参数和统计)
•UDP软件(UDP通信量统计)
•EGP软件(外部网关协议通信量统计)
•应当指出,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。
厂商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。
用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。
当然,一个没有新的MIB项目的路由器不能提供这些项目的信息。
•这里要提一下MIB中的对象{1.3.6.1.4.1},即enterprises(企业),其所属结点数已超过3000。
例如IBM为{1.3.6.1.4.1.2},Cisco为{1.3.6.1.4.1.9},Novell为{1.3.6.1.4.1.23}等。
世界上任何一个公司、学校只要用电子邮件发往iana-mib@isi.edu进行申请即可获得一个结点名。
这样各厂家就可以定义自己的产品的被管理对象名,使它能用SNMP进行管理。
3.SNMP的命令:
•SNMP定义了一套用于Manager和Agent之间进行通信的命令,通过这些命令来实现管理功能。
•SNMP的操作主要有四类:
存、取、陷阱和通知。
•取(Get)操作:
有getrequest、getnextrequest、getbulkrequest和getresponse等命令,主要是从Agent那里取得指定的MIB变量值和对这些取请求的响应。
•写(Set)操作:
有setrequest和setresponse命令,用于写入Agent指定的MIB变量值和对写操作的响应。
•陷阱(Trap)操作:
用于当网络发生错误或出现紧急情况时,Agent立即向网络管理站报警,不需等待接收方响应。
•通知(Inform)操作:
有Informrequest和Informresponse命令,用于在不同的管理进程之间发送管理信息和陷阱信息,及收到这些信息的响应。
前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作今后叫做get、get-next和set操作。
图4描述了SNMP的这5种报文操作。
请注意,在代理进程端是用熟知端口161俩接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。
图5是封装成UDP数据报的5种操作的SNMP报文格式。
可见一个SNMP报文共有三个部分组成,即公共SNMP首部、get/set首部trap首部、变量绑定。
图5SNMP报文格式
(1)公共SNMP首部
共三个字段:
●版本
写入版本字段的是版本号减1,对于SNMP(即SNMPV1)则应写入0。
●共同体(community)
共同体就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是6个字符“public”。
●PDU类型
根据PDU的类型,填入0~4中的一个数字,其对应关系如表2所示意图。
表2PDU类型
PDU类型
名称
0
get-request
1
get-next-request
2
get-response
3
set-request
4
trap
(2)get/set首部
●请求标识符(requestID)
这是由管理进程设置的一个整数值。
代理进程在发送get-response报文时也要返回此请求标识符。
管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。
设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文。
●差错状态(errorstatus)
由代理进程回答时填入0~5中的一个数字,见表3的描述。
表3差错状态描述
差错状态
名字
说明
0
noError
一切正常
1
tooBig
代理无法将回答装入到一个SNMP报文之中
2
noSuchName
操作指明了一个不存在的变量
3
badValue
一个set操作指明了一个无效值或无效语法
4
readOnly
管理进程试图修改一个只读变量
5
genErr
某些其他的差错
●差错索引(errorindex)
当出现noSuchName、badValue或readOnly的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。
(3)trap首部
●企业(enterprise)
填入trap报文的网络设备的对象标识符。
此对象标识符肯定是在图3的对象命名树上的enterprise结点{1.3.6.1.4.1}下面的一棵子树上。
●trap类型
此字段正式的名称是generic-trap,共分为表4中的7种。
表4trap类型描述
trap类型
名字
说明
0
coldStart
代理进行了初始化
1
warmStart
代理进行了重新初始化
2
linkDown
一个接口从工作状态变为故障状态
3
linkUp
一个接口从故障状态变为工作状态
4
authenticationFailure
从SNMP管理进程接收到具有一个无效共同体的报文
5
egpNeighborLoss
一个EGP相邻路由器变为故障状态
6
enterpriseSpecific
代理自定义的事件,需要用后面的“特定代码”来指明
当使用上述类型2、3、5时,在报文后面变量部分的第一个变量应标识响应的接口。
●特定代码(specific-code)
指明代理自定义的时间(若trap类型为6),否则为0。
●时间戳(timestamp)
指明自代理进程初始化到trap报告的事件发生所经历的时间,单位为10ms。
例如时间戳为1908表明在代理初始化后1908ms发生了该时间。
(4)变量绑定(variable-bindings)
指明一个或多个变量的名和对应的值。
在get或get-next报文中,变量的值应忽略。
4.SNMPv2
•SNMP的优点是简单、便捷,因此得到了广泛应用。
但它还存在着诸如不能有效地传输大块数据,不能将网络管理功能分散化,安全性能不够理想等缺点。
•1996年推出的SNMPv2能够克服上述缺点,但在安全性方面也过于复杂。
•SNMPv2采用了较好的分散化管理方法。
在一个网络中可以有多个顶级管理站,每个管理站管理网络的一部分代理进程,并指派若干个代理进程使之具有管理其他代理进程的功能。
5.SNMPv3
6.SNMP的配置
图1是使用SNMP的典型配置。
整个系统必须有一个管理站(managementstation),它实际上是网控中心。
在管理站沙锅内运行管理进程。
在每个被管对象中一定要有代理进程。
管理进程和代理继承利用SNMP报文进行通信,而SNMP报文又使用UDP来传送。
图中有两个主机和一个路由器。
这些协议栈中带有阴影的部分是原俩这些主机和路由器所具有的,而没有阴影的部分是为实现网络管理而增加的。
有时网络管理协议无法控制某些网络元素,例如该网络元素使用的是另一种网络管理协议。
这是可使用委托代理(proxyagent)。
委托代理能提供如协议转换和过滤操作的汇集功能。
然后委托代理来对管理对象进行管理。
图2表示委托管理的配置情况。
图2委托管理的配置
1.3常用网络管理系统
常见的作为网络管理者运行的网络管理系统软件有:
HP公司的OpenView,IBM公司的NetView,SUN公司的SunNetManager,Cabletron公司的SPECTRUM和Novell公司的NetWareManageWise。
HPOpenView是第一个综合的实用的网络管理系统,SunNetManager是第一个基于UNIX的网络管理系统,但它们都不能提供对NetWare、SNA、DECnet、X.25和无线通信交换机及其他非SNMP设备的管理功能。
•NetWareManageWise提供对NetWare操作系统的管理功能。
•CabletronSPECTRUM是一个可扩展的、智能的网络管理系统。
它支持NetWare操作系统和AppleTalK、IPX等协议。
Snmputil知识
Snmputil是一个命令行下的软件,使用语法如下:
usage:
snmputilget|getnext|walk]agentcommunityoid[oid...]snmputiltrap
其中agent表示代理进程的IP地址,community表示团体名,oid表示MIB对象ID。
举例说明:
1)查看本地计算机(IP地址为192.168.0.3)的系统信息
通过对系统组的MIB对象的查阅,我们知道系统信息所对应的MIB对象为.1.3.6.1.2.1.1.1(参看系统组对象),我们使用get参数来查询:
C:
>snmputilget192.168.0.3public.1.3.6.1.2.1.1.1.0
Variable=system.sysDescr.0
Value=StringHardware:
x86Family15Model2Stepping7AT/ATCOMPATIBLE-
Software:
Windows2000Version5.1(Build2600UniprocessorFree)
其中public是192.168.0.3计算机上的团体名,.1.3.6.1.2.1.1.1.0是对象实例,注意对象ID前面要加一个点".",后面还要加一个"0"。
如果不在对象ID末尾加上一个0,那么用get参数查询就会出错。
从查询结果中我们能够看出操作系统版本和CPU类型。
2)查询计算机连续开机多长时间
C:
>snmputilget192.168.0.3public.1.3.6.1.2.1.1.3.0
Variable=system.sysUpTime.0
Value=TimeTicks447614
如果我们在对象ID后面不加0,使用getnext参数能得到同样的效果:
C:
>snmputilgetnext192.168.0.3public.1.3.6.1.2.1.1.3
Variable=system.sysUpTime.0
Value=TimeTicks476123
3)查询计算机的联系人
C:
>snmputilget192.168.0.3public.1.3.6.1.2.1.1.4.0
Variable=system.sysContact.0
Value=Stringadministrator
以上简单介绍了用snmputil查询代理进程的方法,由于在命令行下使用,可能大家感到颇为不方便,但命令行的一个好处就是可以促进大家主动查阅MIB对象,加深对SNMP网络管理的认识。
4)使用walk查询设备上所有正在运行的进程:
C:
>snmputilwalk192.168.0.3public.1.3.6.1.2.1.25.4.2.1.2
Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.1
Value=StringSystemIdleProcess
Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.4
Value=StringSystem
Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.292
Value=Stringsnmputil.exe
Variable=host.hr
SWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.308
Value=StringRavTimer.exe
Variable=host.hrSWRun.hrSWRunTable.hrSWRunEntry.hrSWRunName.336
Value=StringRavMon.exe
限于篇幅笔者就不把所有进程列出来,大家可以在自己的计算机上面实验,以加强感性认识。
5)查询计算机上面的用户列表
C:
>snmputilwalk192.168.0.3public.1.3.6.1.4.1.77.1.2.25.1.1
Variable=.iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2.server.
svUserTable.svUserEntry.svUserName.4.117.115.101.114
Value=Stringuser
Variable=.iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2.server.
svUserTable.svUserEntry.svUserName.5.71.117.101.115.116
Value=StringGuest
Variable=.iso.org.dod.internet.private.enterprises.lanmanager.lanmgr-2.server.svUserTable.svUserEntry.svUserName.13.65.100.109.105.110.105.115.116.114.97.116.111.114
V