网络管理协议的应用与研究.docx
- 文档编号:9600259
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:27
- 大小:286.15KB
网络管理协议的应用与研究.docx
《网络管理协议的应用与研究.docx》由会员分享,可在线阅读,更多相关《网络管理协议的应用与研究.docx(27页珍藏版)》请在冰豆网上搜索。
网络管理协议的应用与研究
目录
目录…………………………………………………………………………………….
摘要………………………………………………………………………………
关键词……………………………………………………………………………….
前言………………………………………………………………………………….
第一章网络管理概述…………………………………………………………….
1.1网络管理的参考模型………………………………………………………
1.2网络管理的功能需求………………………………………………………….
1.2.1配置管理……………………………………………………………….
1.2.2故障管理……………………………………………………………….
1.2.3性能管理……………………………………………………………….
1.2.4安全管理……………………………………………………………….
1.2.5计费管理……………………………………………………………….
第二章公共管理信息协议(CMIP)……………………………………………...
第三章简单网络管理协议(SNMP)…………………………………………….
3.1SNMP管理站………………………………………………………………….
3.2SNMP管理代理……………………………………………………………….
3.3SNMPv1的管理信息库(MIB)……………………………………………..
3.4SNMPv1的管理信息结构(SMI)…………………………………………..
3.5SNMPv1的协议操作………………………………………………………….
3.6SNMP的报文形式…………………………………………………………….
3.7SNMP的发展(SNMPv2,SNMPv3)…………………………………………..
第四章利用WinSNMP编写一个简单SNMP客户端………………………………
4.1什么是WinSNMP……………………………………………………………….
4.2WinSNMP基本编程模式……………………………………………………..
4.2.1WinSNMP发送请求消息……………………………………………..
4.2.2WinSNMP接受响应消息……………………………………………..
结束语…………………………………………………………………………….
致谢……………………………………………………………………………….
参考文献………………………………………………………………………….
网络管理协议的应用与研究
摘要:
本文先介绍了网络管理的一些基本概念、参考模型、功能需求。
然后简单介绍了公共管理信息协议(CMIP)。
详细介绍了简单网络管理协议(SNMP)的协议标准,相关的管理站(Manager)、管理代理(Agent)、管理信息库(MIB)、管理信息结构(SMI)、SNMP协议操作和SNMP的报文形式,并且对SNMP的发展(SNMPv2,SNMPv3)作了介绍。
最后介绍了采用WinSNMPAPI在Windows下实现一个简单的SNMP客户端。
介绍了WinSNMP基本编程模式。
关键词:
网络管理简单网络管理协议(SNMP)管理站(Manager)管理代理(Agent)管理信息库(MIB)管理信息结构(SMI)协议数据单元(PDU)WinSNMP
AgreementapplicationandresearchofSNMP
Abstract:
ThisarticlefirstlyintroducessomebasicconceptsaboutNetworkManagement,Referencemodelanditsfunctionrequirement.SimplyintroducesCommonManagementInformationProtocol(CMIP).DetailedlyintroducetheprotocolstandardofSimpleNetworkManagementProtocol(SNMP)andrelatedManager,Agent,ManagementInformationBase(MIB),StructureofManagementInformation(SMI),ProtocoloperationofSNMP,MessageformatofSNMP,thentheevolutionofSNMP(SNMPv2,SNMPv3).AtlastintroducestheimplementationofasimpleSNMPmanagerunderWindowsoperatingsystemadoptWinSNMP.AndintroducessomebasicconceptsaboutWinSNMPprogramming.
Keywords:
NetworkManagementSimpleNetworkManagementProtocol(SNMP)MaganerAgentManagementInformationBase(MIB)ProtocolDataUnit(PDU)StructureofManagementInformation(SMI)WinSNMP
前言
随着大规模互连网络建设和应用的迅猛发展,新技术、新设备的广泛应用使网络变成一个多厂商混合网络,网络的类型、服务的种类和设备的来源更加复杂化。
在这种环境下,资源分布程度和共享程度大大提高,任何微小的故障都可能导致用户应用的失败。
如何及早发现并排除潜在的故障隐患,有效地管理好网络,是网络设备和网络服务提供者共同关心的问题。
事实证明,管理好一个网络与网络的建设同等重要。
网络管理系统就可以给网络管理员提供良好的信息来源,减少网络故障,缩短网络失效时间。
人们迫切需要功能完善、安全可靠、使用方便灵活的网络管理工具来加强网络管理的能力,提高网络的使用效率。
第一章网络管理概述
网络管理主要是关于规划、监督、设计和控制网络资源的使用与网络的各种活动。
网络管理的基本目标是将所有的管理子系统集成在一起,向网络管理员提供单一的控制方式。
1.1网络管理的参考模型
网络管理系统原则上是由四部分组成的:
多个被管代理(Agent)、至少一个网络管理者(NetworkManager)、一种通用的网络管理协议和一个或多个管理信息库(MIB)。
网络管理者和被管代理通过交换管理信息来获取网络信息,其中网络管理器定期轮询各被管理代理,被管代理监听和响应来自网络管理者的网络管理查询和命令。
这种信息交换通过一种网络管理协议来实现,信息分别驻留在管理工作站和被管理对象的管理信息库(MIB)中。
我们称这种模式为管理站---代理(Manager---Agent)模式。
如图1.1所示:
图1.1网络管理参考模型
1.2网络管理的功能需求
一般来说,网络管理系统必须具备OSI(开放系统互连参考模型)网络管理标准中定义的网络管理的五大功能:
配置管理、性能管理、故障管理、安全管理和计费管理,这五大功能是网络管理最基本的功能。
1.2.1配置管理
配置管理的功能是掌握和控制互联网络的状态,包括互联网络内各设备的状态及其连接关系。
包括:
自动发现网络拓扑结构,构造和维护网络系统的配置,监测网络被管对象的状态,完成网络关键设备配置的语法检查、配置自动生成和自动配置备份系统,对于配置的一致性进行严格检查。
讨论配置管理时,我们把互联网络中的设备用网络对象来抽象描述。
配置管理又分为3个子域:
●互联网络状态的初始化和维护
●每个网络对象的状况维护
●监视网络对象之间的关系
1.2.2故障管理
故障管理监测、定位和排除网络硬件和软件中的故障。
包括:
过滤、归并网络事件,有效地发现、定位网络故障,给出排错建议与排错工具,形成整套的故障发现、告警与处理机制。
故障管理要能分别监视互联网络上的各个设备,以便能确定它们是否在正常运行。
与这个感知能力紧密相关的是对所检测到故障的隔离、纠正和修复。
故障还常常进行分类存档以做进一步分析。
1.2.3性能管理
性能管理考虑的是网络的利用情况。
包括:
采集、分析网络对象的性能参数,监测网络对象的性能,对网络线路质量进行分析。
同时,统计网络运行状态信息,对网络的使用发展做出评测、估计,为网络进一步规划与调整提供依据。
性能管理必须考虑每个网络对象的利用率和性能,以及综合在一起的整个网络利用率和性能。
对各种性能管理公式进行计算和分析以后得出的互联网确切性能必须接近期望的水平。
1.2.4安全管理
安全管理是对网络资源及其重要信息访问的约束和控制,包括:
结合使用用户认证、访问控制、数据传输、存储的保密与完整性机制,以保障网络管理系统本身的安全,维护系统日志,使系统的使用和网络对象的修改有据可查,控制对网络资源的访问。
近来,Internet在商业上应用和用内部网传输企业核心文件达到了一个高潮,因此安全管理的重要性也成了网络管理中考虑最多的方面。
1.2.5计费管理
计费管理的功能是度量各个端用户和应用程序对网络资源的使用情况。
根据连接时间、连接跨越网络的长度、IP地址的双向流量统计、用户名和其他参数,采用与具体实现相关的各种算法来计算对网络资源的使用,使用情况一般以日志方式记录到计费数据库中。
计费管理功能提供了计算一个特定网络或网络运行成本的手段,当然也还包括制定预算、验证预算和开列账单功能。
在SNMP的第一版规约中包括了故障管理和配置管理,加上非常基本的安全管理,该安全管理方式称为琐细鉴别(trivialauthentication)。
由于SNMP的目标是简单性和可扩展性,后来标准中加上了计费、性能和稍强一些的安全管理功能,或者通过其扩展机制实现。
第二章公共管理信息协议(CMIP)
现在网络管理系统中运用较为广泛的主要有两种协议:
基于TCP/IP的简单网络管理协议(SNMP)和基于OSI参考模型的公共管理信息协议(CMIP)。
与CMIP相比,SNMP最大的特点是简单性与可扩展性,支持SNMP的人说“Simpleisthebest”。
确实如此,简单化的好处是网管容易实施,系统资源占用较少,用户可以很容易地根据网管需要对网管变量进行编程。
此外,由于它的设计简单,协议容易更新,使得它可以扩展功能以满足用户将来新的管理需求。
现在,几乎所有的网络设备都支持SNMP。
CMIP是ISO制定的一个标准,是电信管理网(TMN)的一个重要组成部分。
CMIP运用了最新的面向对象的技术,是一个完全面向对象的设计。
该体系由4个主要部分组成,包括一个信息模型、一个组织模型、一个通信模型和一个功能模型。
CMIP的最大特点是管理功能强大,它的参数不仅可以在管理站和管理节点之间传递网管信息,而且可以要求管理节点执行一些动作,这在SNMP中是不可能的。
CMIP的另一个优势是克服了SNMP中的许多缺点。
例如,OSI的管理体系中已经规定了安全管理机制来支持鉴别权限、访问控制和安全日志。
这样,在CMIP安装之日起就是一个比较安全的系统,不需要安全方面的升级。
CMIP已经开发了十几年,造成CMIP仍不能被广泛采用的原因主要有以下几点:
(1)CMIP需要占用比SNMP多很多的资源。
如果一个网络要用CMIP替代SNMP,就需要对网络作大的改造,如扩大设备的内存。
(2)CMIP的程序非常难编写,因为CMIP定义的参数比较复杂,只有少数编程人员能够完全掌握和利用这些参数。
第三章简单网络管理协议(SNMP)
简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议。
在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案。
由于SNMP的简单性,在Internet时代得到了蓬勃的发展,1992年发布了SNMPv2版本,以增强SNMPv1的安全性和功能。
现在,已经有了SNMPv3版本。
简单网络管理协议(SNMP)已经成为事实上的标准网络管理协议。
由于SNMP首先是IETF的研究小组为了解决在Internet上的路由器管理问题提出的,因此许多人认为SNMP在IP上运行的原因是Internet运行的是TCP/IP协议,但事实上,SNMP是被设计成与协议无关的,所以它可以在IP、IPX、AppleTalk、OSI以及其他用到的传输协议上使用。
SNMP是由一系列协议组和规范组成的,它们提供了一种从网络上的设备中收集网络管理信息的方法。
从被管理设备中收集数据有两种方法:
一种是轮询(polling-only)方法,另一种是基于中断(www.biyezuopin.ccinterrupt-based)的方法。
SNMP使用嵌入到网络设施中的代理软件来收集网络的通信信息和有关网络设备的统计数据。
代理软件不断地收集统计数据,并把这些数据记录到一个管理信息库(MIB)中。
网管员通过向代理的MIB发出查询信号可以得到这些信息,这个过程就叫轮询(polling)。
为了能全面地查看一天的通信流量和变化率,管理人员必须不断地轮询SNMP代理,每分钟就轮询一次。
这样,网管员可以使用SNMP来评价网络的运行状况,并揭示出通信的趋势,如哪一个网段接近通信负载的最大能力或正使通信出错等。
先进的SNMP网管站甚至可以通过编程来自动关闭端口或采取其它矫正措施来处理历史的网络数据。
如果只是用轮询的方法,那么网络管理工作站总是在控制之下。
但这种方法的缺陷在于信息的实时性,尤其是错误的实时性。
多久轮询一次、轮询时选择什么样的设备顺序都会对轮询的结果产生影响。
轮询的间隔太小,会产生太多不必要的通信量;间隔太大,而且轮询时顺序不对,那么关于一些大的灾难性事件的通知又会太慢,就违背了积极主动的网络管理目的。
与之相比,当有异常事件发生时,基于中断的方法可以立即通知网络管理工作站,实时性很强。
但这种方法也有缺陷。
产生错误或自陷需要系统资源。
如果自陷必须转发大量的信息,那么被管理设备可能不得不消耗更多的事件和系统资源来产生自陷,这将会影响到网络管理的主要功能。
结果,以上两种方法的结合:
面向自陷的轮询方法(trap-directedpolling)可能是执行网络管理最有效的方法了。
一般来说,网络管理工作站轮询在被管理设备中的代理来收集数据,并且在控制台上用数字或图形的表示方法来显示这些数据。
被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,而并不需要等到管理工作站为获得这些错误情况而轮询它的时候才会报告。
SNMP的体系结构分为SNMP管理者(SNMPManager)和SNMP代理者(SNMPAgent),每一个支持SNMP的网络设备中都包含一个代理,此代理随时纪录网络设备的各种情况,网络管理程序再通过SNMP通信协议查询或修改代理所纪录的信息。
简单网络管理协议(SNMP)将管理问题分为两个部分,并为每个部分定义了标准。
第一部分是有关信息通信。
协议定义管理系统主机上的客户软件如何与代理通信,客户机与服务器交换消息的格式和含义,以及名字与地址的形式。
第二部分有关被管理的数据。
协议定义网络设备必须保存的数据项和每个数据项的名字以及用于表示名字的语法。
SNMP的网络管理模型包括四个关键元素:
●SNMP管理站
●SNMP管理代理
●管理信息库MIB
●网络管理协议
下图显示了上述四个元素的关系。
图SNMP管理模型
3.1SNMP管理站
管理站是网络管理员与网络管理系统的接口,它实际上是一台运行特殊管理软件的计算机。
管理站运行一个或多个管理进程,它通过SNMP协议在网络上与代理通信,发送命令并接收代理的应答。
管理站通过获取MIB对象的值来实现网络资源监视,也可以通过修改特殊变量的值来使代理执行一个动作或修改资源的配置。
许多管理站的应用进程都具有图形用户界面,提供数据分析、故障发现的功能,网络管理者能方便地检查网络状态并在需要时采取行动。
3.2SNMP管理代理
网络中的主机、路由器、网桥和交换机等都可配置SNMP,成为管理代理,以便管理站对它进行管理。
每个代理负责维护本地MIB来存放被管资源的状态、运行情况等,对来自管理站的信息查询和动作执行的请求做出响应,同时还可以异步地向管理站提供一些重要的非请求信息。
3.3SNMPv1的管理信息库(MIB)
MIB是一个存放被管网络设备控制和状态信息的数据库,它定义了主机或网络设备必须保存的数据项和允许对每个数据项进行的操作。
具体的讲,MIB是网络管理数据的标准。
此标准详细的规定了网络元素必须保存的数据项目、数据类型,以及每个数据项目中允许的操作。
通过对这些网络元素的MIB库数据项目的存取访问,即可得到对这些网络元素的所有统计内容,对这些统计内容的综合分析,即可实现基本的网络管理。
用于TCP/IP的MIB将管理信息划分为八类,如图1所示。
MIB类别包含的相关信息
------------------------------------------------------
system主机或路由器的操作系统
interfaces各个网络接口
addr.trans.地址转换(例如,ARP映射)
ipInternet协议软件
icmpInternet控制报文协议软件
tcp传输控制协议软件
udp用户数据报软件
egp外部网关协议软件
图1MIB中信息的分类
与MIB中对象的每一种类型相联系的是ASN.1(抽象语法记法1)中类型OBJECTIDENTIFIER的一个标识符。
对象标识符是为一个特定对象类型指定的唯一标识符。
它的值有一个整数序列组成。
所定义的对象集合呈一个树状结构,树的根是参照ASN.1标准的对象。
如图2,第一级有3个节点:
ccitt、iso、joint-iso-cc。
低级的对象ID分别由相关组织分配。
一个特定对象的标识符可通过由根到该对象的路径获得。
图2MIB树
如ip结点下一个名字为ipInReceives的MIB变量被指派数字值3,因而该变量的名字为:
org.dod.internet.mgmt.mib.ip.ipInReceives
相应的数字表示(对象标识符)为:
1.3.6.1.2.1.4.3
当网络管理协议在报文中使用MIB变量时,每个变量名后还要加一个后缀,以作为该变量的一个实例。
MIB中存在着两种管理对象:
标量对象和表格对象。
标量对象只定义了一个对象实例。
上面提到的ipInReceives就是一个标量对象。
当这个实例出现在一个发给网络管理代理的报文中时,如ipInReceives的数字表示为:
1.3.6.1.2.1.4.3.0
对于表格对象,它定义了多个相关的对象实例集。
如MIB变量
ipRouteTable,它含有这个设备的路由表。
变量的表示为:
iso.org.dod.internet.mgmt.mib.ip.ipRouteTable
相应的数字表示(对象标识符)为:
1.3.6.1.2.1.4.21
对于表格对象,我们可以把它看为一维数组,数组的每个元素都由一个结构(记录)组成。
在本例中,ipRouteTable就是结构IpRouteEntry的一维数组,并以IpRouteEntry语法中所指定的Index作为数组访问的索引。
在IpRouteEntry中,Index所指的是IpRouteDest。
因此,为了指明地址10.6.13.26的下一站路由(nexthop),我们可以引用这样的实例:
iso.org.dod.internet.mgmt.mib.ip.
ipRouteTable.ipRouteEntry.ipRouteNextHop.10.6.13.26
相应的数字表示为:
1.3.6.1.2.1.4.21.1.7.10.6.13.26
当然,对于表格对象的访问,我们有更为强大的手段,那就是SNMP中的get-next-request命令。
3.4SNMPv1的管理信息结构(SMI)
SMI定义了SNMP框架所用信息的组织、组成和标识,它还为描述MIB对象和描述协议怎样交换信息奠定了基础。
按照SMI定义的SNMP管理对象都具有3个属性:
名字、语法和编码。
名字即对象标识符,唯一标识一个MIB对象;语法定义了对象的数据结构,用ASN.1来定义;编码描述了一个管理对象的相关信息如何被格式化为适合网络传送的数据段。
下面我们主要介绍一下SMI的数据类型。
SMI的数据类型主要有三种:
●简单类型(simple)
●简单结构类型(simple-constructed)
●应用类型(application-wide)
1.简单数据类型
简单数据类型通常被称为非聚合类型,在SNMP子集中有4种简单数据类型:
◇INTEGER:
整型是-2,147,483,648~2,147,483,647的有符号整数。
◇OCTETSTRING:
字符串是0~65535个字节的有序序列。
◇OBJECTIDENTIFIER:
来自按照ASN.1规则分配的对象标识符集。
◇NULL:
占位符。
目前还未在SNMP中使用。
2.简单结构类型
简单结构类型指列表和表格,常被称作聚合类型。
在SNMP子集中主要使用两种结构类型:
◇SEQUENCE用于列表。
这一数据类型与大多数程序设计语言中的“structure”类似。
一个SEQUENCE包括0个或更多元素,每一个元素又是另一个ASN.1数据类型。
◇SEQUENCEOFTYPE用于表格。
这一数据类型与大多数程序设计语言中的“array”类似。
一个表格包括0个或更多元素,每一个元素又是另一个ASN.1数据类型。
3.应用数据类型
应用数据类型采用隐式定义,是引用SNMP的简单数据类型来定义的。
主要有6种:
◇IpAddress:
以网络序表示的IP地址。
因为它是一个32位的值,所以定义为4个字节。
◇Networkaddress:
网络地址,表示从一个特定协议族中选定的网络地址,SNMPv1仅支持32位IP地址;所以与IpAddress等效。
◇Counter:
计数器是一个非负的整数,它递增至最大值,而后归零。
SNMPv1中定义的计数器是32位的,即最大值为4,294,967,295。
◇Gauge:
也是一个非负整数,它可以递增或递减,但达到最大值时保持在最大值,最大值为232-1。
◇Timeticks:
是一个时间单位,表示以0.01秒为单位计算的时间。
◇Opaque:
表示用于传递任意信息串的任意编码格式,它与SMI使用的严格数据输入格式不同。
3.5SNMPv1的协议操作
网络管理协议指明了管理站调用的网络管理客户端程序与主机或路由器上执行的网络管理代理程序之间的通信。
除了定义交换报文的格式和含义以及这些报文中名字和值的表示以外,还提供了一定的授权管理。
SNMP主要采用“取-存”方式,这样具有稳定性、简单性和灵活性的特点。
从概念上讲,SNMP只有两个命令,允许管理站读取一个数据项,或把值存到一个数据项。
而其它更为具体的操作,则可以通过读写一个具体的MIB变量来实现。
SNMP是一种简单的请求-响应协议。
SNMPv1定义了五种操作,其含义如下:
1.get-request从一个指明的变量读取值
2.set-request
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 管理 协议 应用 研究