基于SNMP的网络应用软件监控系统设计_第1页
基于SNMP的网络应用软件监控系统设计_第2页
基于SNMP的网络应用软件监控系统设计_第3页
基于SNMP的网络应用软件监控系统设计_第4页
基于SNMP的网络应用软件监控系统设计_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业论文基于snmp的网络应用软件监控系统设计目录摘要abstract第1章前言二,.第2章简单网络管理协议(snmp) . 22. 1 snmp模型.2 2.1.1被管理设备.2 2.1.2代理.,.3 2. 1. 3管理站点.32. 2 snmp特点分析.,.3 2. 2. 1 snmp v 1 .3 2.2.2 snmp v2 . .42. 3管理信息库( a9工b) .5 2. 3. 1 mib管理树.g 2.3.21tib对象类.,.62. 4抽象句法表示法asn. 1 .7 2. 4. 1数据类型.。.7 2.4.2对象结构和内容。,. 82. ssnmp协议数据单元.9 2.5.

2、1 get request协议数据单元.9 2.5.2 get next协议数据单元.9 2.5.3 get bulk协议数据单元.10 2.5.4 set request协议数据单元,10 2.5.5 response协议数据单元,.10 2. 5. 6 trap协议数据单元.11 2.5.7 inform request协议数据单元.12第3章系统总体设计. 133. 1设计目标.3. 2系统组成.3. 2. 13. 2. 2监控模块管理代理.-3. 2. 3管理站点.3.3m工b信息的扩展.3. 4协议数据单元的定义.3.5通讯协议. 3. 5. 1注册请求协议(rrp) 3. 5. 2

3、数据请求协议(gdp) 3. 5. 3数据设置协议(sdp) 3.5.4配置设置协议(ssp) 3. 5. 5响应请求协议(rep) 3. 5. 6陷阱u17应177议(trp) 3. 5. 7通知响应协议(工np)3. 6数据采集.,.3. 6. 2具体协议第4章技术问题解决二洲36灼阳钓.13钊行打明5() 51544. 1监控模块.4. 2内存文件映射(fi le114apping )4. 3网络应用接口(winsoch ) 4. 3. 1套接字的一些概念. 4.3.2 windows sockets二4.4广播机制.一4. slidp数据报文的分解和重组.4. 6容错机制的实现. 4.

4、 6. 1重传机制. 4. 6. 2不一致的恢复.4. 7同步机制.4. smib信息的传输.第5章完成情况和有待解决的问题二致谢参考书目摘要 相对于目前网络硬件设备管理的日臻完善,对于网络中应用软件的管理还停留在一种原始、混乱的状态。本文从简单网络管理协议(snmp)入手,着重对管理信息库(mib)的结构、抽象句法表示法以及snmp协议中的具体协议数据单元进行了分析。在此基础上,借鉴snmp的思想,提出了一个基于snmp的网络应用软件监控系统的构想。有别于传统的snmp,该监控系统的监控对象是网络上运行的应用软件而不是snmp中的硬件设备。在本文中介绍了该监控系统的结构模型,对其中的m1b信

5、息进行了扩展。针对网络应用软件监控系统的特点,定义了自己的协议数据单元和各模块之间的通讯协议,并对其中所使用到的关键技术进行了细致的讲述。abstract compared with the matured management of hardware devices in networks, the management of software applications running in networks is still in confusion. this article analyzes the mib (management information base) structure

6、, asn.1 (abstract syntax notation one) and pdu (protocol data unit) in snmp. on the base of analysis, the author introduces the designation of the net monitor system for software applications (netmonitor) whose targets are not hardware devices in traditional snmp but software applications running in

7、 networks.,this article shows the structure model of netmonitor and expands the mib information. according to characteristics of netmonitor, the author gives the specific pdu and the communication protocols used among modules. there are detailed solutions to some prime technical problems.keywords: m

8、ansocketsen t si te, managemen tmoni for modal e, fi 1 e mapping第1章前言我国计算机网络技术的发展,已经走过初级阶段。随着网络规模不断扩大,功能不断增强,对系统安全、可靠、性能、经济方面的要求日益迫切。在任何一个结构适当的计算机系统中,都要有网络管理作为它最基本和必须的组成部分。它使得网络管理员能够清楚及时地了解到目前网络中的瓶颈所在,准确地对网络中的故障进行诊断,从而能合理地修改和扩展网络,保证它具有更强地可用性和适用性。 简单网络管理协议(snmp)己经成为事实上的工业标准,它代表了标准化的网管协议,并在很大范围内得到应用。但

9、目前snmp的管理范围仅限于对网络硬件设备的管理,如路由器,集线器等,对于网络上运行的应用程序的管理涉及很少,只有oracle等几个大公司对其数据库产品有snmp管理。可以这么说,与网络硬件设 备管理相比,网络应用软件的管理还处于一种混乱的状态。随着网络技术的发展,作为网络的一个重要组成部分的软件,越来越需要有统一有效的管理。 本文首先回顾一下简单网络管理协议,探讨它的优点和不尽人意的地方。再在学习简单网络管理协议的基础上,设计一种面向应用软件的网络监控协议,并给出该协议在windows 95, windows 98以及rindows it中的实现方法。在该网络监控协议的基础上,开发一个网络监

10、控系统,在管理站点上对网络中的应用程序进行监控,以便及时地发现运行中的应用程序的状态以及所发生的问题,从而快速、准确地解决问题,提高系统的运行效率,使系统发挥更大的作用。第2章简单网络管理协议(snmp) 简单网络管理协议(snmp)是一个应用层协议,是tcp/ip协议套件的一部分圈0snmp协议的作用是在网络构件间提供并传输管理信息。通常,snmp协议可以管理网络上所有的snmp设备,管理应用需要的所有数据(状态、性能、故障、报警、报告等等)都是依靠snmp协议在被管理设备间传输的。2.1 snmp模型snmp的简单模型如下图所示z代理a代理1代理人管理数据库管理数据库管理数据库被管理设备

11、2.1.1被管理设备 被管理设备是这样的网络节点,它包括一个snmp代理并且驻留在一个被管理网络中。被管理设备收集并存储管理信息,并使这些信息对于使用smp的管理站点是可用的。被管理设备有时也叫网络元素,它可以是路由器和访问服务器、交换机和网桥、总线、计算机主机或打印机。 2.1.2代理 代理是一个网络管理软件模块,它驻留在一个被管理设备中。代理具有管理信息的本地知识,并把这些信息翻译成与snmp兼容的形式。 2.1.3管理站点 管理站点监测并控制被管理设备,它提供网络管理所需的大部分进程和内存资源。管理站点只存在于被管理网络上。2.2 snmp特点分析 简单网络管理协议snmp作为网管协议,

12、它提供了监控网络和管理网络的一整套 系统的方法。它有以下特点闭: .简单性:顾名思义,snmp相对以前的管理协议简单,容易实现且成本低(尽 管实际上sn.mp并不是太简单)。 .可伸缩性:snmp可管理绝大部分符合工nternet标准的设备。 .扩展性:通过定义新的“被管理对象”即m工b,可以非常方便地扩展管理能 力。 .健壮性:即使在被管理设备发生严重错误时,也不会影响管理者的正常工 作。 2.2.1 snmp v1 snmpv l出台后,在短短几年内得到了广大用户和厂商的支持。在实践中,它确 实显示出能管理绝大部分与工nternet相连的设备的强大能力。现今的数据通信设备 生产厂家都把他们

13、的产品缺省地兼容snmpvi。大量的商业产品软件都实现这个协 议,使得该协议的应用越来越广。从而,snmp也成为网络管理的一个较成功的标准。 但随着snmpv 1的广泛使用,暴露出snmpvl的如下缺点组u、1夕i 7-1 采用snmp里确立的功能,只让一个管理站点执行取请求、取下一个请求和置请 求命令。利用取请求命令,snmp管理员能够请求代理所支持的变量的值。这些变量 必须始终予以正确的指示。取下一个请求命令允许读取代理中的任何对象的直接后 继。此命令大大简化了读表的手续,但是它也的确意味着代理中的变量必须加以分 类。结构的简单性导致了实现的复杂性。 2男童功l碧女担 取请求、取下一个请求

14、和置请求命令一般导致网络负担沉重,因为对于每一个 所要求的变量,请求和回答报文都要经过网络发送。网管应用带来了沉重的网络负 担,占据了大量的网络带宽。 3 3功腊劣嵋众彭仇纪 因为在snmpvl里,缺少管理员之间的通信,所以只有扁平的网关结构能够实现。 4友子tcp/ip何 在理论上snip可用于任何可用的协议栈上。然而在实践中,snmp的内部结构 (地址、保留端口等)己表现太不灵活,以至难于并入多协议环境中。 5亥窘劣安全趁 就安全性而言,snmpvi存在下列问题:snmp数据包的转换、时序的正确性、共 同体的假冒、信息的无验证读。 在由snmp监督与控制的网络里,一个未验证的用户总是可能捕

15、捉到数据包并且 为了其目的而修改其信息。在如此转换之后,改变了的数据包又被发送至它们本来 的目标站。接收设备不可能知道此类数据的变化。于是它响应包里的信息,犹如是 从管理站点直接接收到一样。 一般而言,管理站点与相连代理之间的全部数据,都是采用未加密的用户数据 报协议(udp)服务发送的。由于udp不保证数据顺序的正确性,snmp数据要么作 为局域网动态的结果而被动地、要么经过破坏分子的改造而主动地推迟,或以修改 了的次序到达接受站点。这样一来未经验证的用户总是能随意地修改数据内容,而 接收站却无从发觉这类形式的变化。 仅仅通过共同体串的重新定义,网管站的拥有者即可随时访问与该网络相关联 的每

16、一个代理。这种伪装使一个未予验证的用户可以冒充验证用户去读取所有的信 息并实施所有的管理操作。代理无从区分正确的实体和假冒者。 由未予验证的用户采用数据分析仪顺带读取数据,这是跟数据网络相关联的固 有问题。一般供网络故障检修使用的全部功能和设备,亦可随时滥用于肮脏的目的。 任何数据(包括口令)在lan上均可顺带读到,随后加以滥用。2.2.2 snmp v2 snmpv2是原始版本snmpvl的发展。1993年,snmpv2作为一系列建议的互联网标准发表,现在它己是一个标准草案。snmpv2规范为创造更先进的管理协议奠定了基础。与snmpvl相比,snmpv2做了大量功能扩充70刀岁j龙欲通店:

17、摸型 安全和验证机制可由网络管理员通过伙伴来配置。各种访问权限、管理信j息库的透视图可分别借助伙伴来配置,而且几个网络管理站可以访问一个代理。2营理朦绪有劣岁充snmpv2的管理框架在验证和授权方面进行了扩展。 3营之17lz朦 在snmpv2中代理和管理站点之间的严格区分已不复存在,网络管理者可同时扮 演代理和管理站点进程的角色。这一功能使管理者之间的通信成为可能。 4安全 snmpv2中采纳了一些安全措施。如md5算法己用于验证中。通过组合一种检查 和一时间戳,md5算法为每个snmpv2报文形成一个16字节的指纹。另外还有一加 密选项,从而可阻止网络的外部监视者了解传输的信息。进一步的安

18、全措施是在snmp 消息的整个生命期内运用时间戳,这用于防止有效信息的重复。还可对所有数据进 行加密,所提供的加密机制是国家标准化研究所的des(数据加密标准)。 5 pdu i勿i疑藉幸元夕俄豢谱冷输 作为对老的snmp命令的补充,在snmpv2中引入了bulk操作,通过一次请求就 可以读取整个mib树。由于成批数据传输显著地减少了要处理的数据量,所以为其 他数据保留了网络传输容量。 6扩充劣丛绪号 在 sn9pv2中对错误列表进行了扩充。 刀咨种传输珊夯劣企:毋 snmpv2真正与多协议因特网相匹配,可适用于多种不同的传输协议。除了基于 用户数据报的传输映射外,也定义了基于其他协议使用的s

19、nmpv2: osi上的smpv2, dpp上的snmpv2和novell-ipx上的sn14pv2 0 8 /a7五襄答趁 在所有产品完全迁移到snmpv2之前,所有代码都用两种语言予以实现。这样, snmpv2代理可以直接与其管理站进行通信,而snmpvl必须经过smi语台翻译器刁 能进行通信。2.3管理信息库(mib) 管理信息库(mib)是网络管理中的重要组成部分。每个m工b包含:系统与设备的状态信息,运行的数据统计,配置参数等。通过snmp的五种命令就可以读取或设置mib库中变量的值。所以,通过mib,网络管理器对管理对象的管理就简化为网络管理器对被管对象的mib库的内容的查看和设置

20、。对不同的设备,只要它们有相应的代理软件和统一的mib,网络管理器就可以对它进行统一管理。同时,网络管理器对被管对象的控制也通过 mib改变为对mib内变量值的设置,这样就避免了管理协议定义过多的控制信息,因为新的控制功能可以通过在mib中增加对应的新的变量来实现,而不必增加新的控制信息。 大体来说,m工b变量可划分为两部分:简单变量和表格。简单变量包括诸如赋值的或未赋值的整型变量及字符串之类,也包括一些数据结构,它们对应于c语言中的“结构”或pascal语言中的“记录”。表格对应于一维数组,一张表格可以包含变量的多个实例川。 2.3.! m i b管理树 所有的mib对象类型被收集到一个或多

21、个管理信息库中并且对象类型按照管理信息结构和标识(smi)定义。一个对象类型的名字明确地代表一个对象,称为对象标识符。对象标识符是按照在osi mib树中建立的严格分层空间构造的,对象标识符总是一个唯一的从树根开始描述mib树的整数序列。 sm工明确要求所有被管理的信息和数据都要由管理树来标识。这棵管理树来源于osi的定义,它具有从根开始的严格分层化结构。管理树的分支和叶子是用数字和字母两种方式显示的。数字化编码是机器可读的,字母显示则更适合于人的眼睛并帮助用户寻找穿过错综复杂分支的路径,;。与mib相关的管理树的结构如下:巧0(1) ccitt(2) iso/ccitt(3)org (3)d

22、od(6)internet (1)directory (1) mgmt(2) experimental (3) private (4) security(5) sip1pv2(6) system (1)interfaces (z) ip(4)tcp(6) egp(8) transmission (9) cmot(10) 2.3.2 m i b对象类 在snmp中管理的对象定义在mib中。为了方便,这些对象目前分为11类,每一类对应m工b-2下的h个节点中的一个,新的类型和对象可以继续加入。具体如下表:,:组 描述 system 实际被管计算机的信息 interfaces 网络接口 at ip地

23、址转换表及信息 ip 因特网协议数据 icmp 因特网控制报文协议数据tcp 传输控制协议信息 udp 用户数据报协议数据 egp 外部网关协议 transmission包含特定介质协议 cmot ca40t对象 siip si14p协议信息 所以对于所有mib对象,前面的路径都为1. 3. 6. 1. 2. 1 o snmp就是通过这棵命名树来识别mib中的不同对象的。例如:变量1.3.6.1.2.1.3.1表示ip地址和mac地址转换表的入口。2.4抽象句法表示法asn.1 snmp模型的核心是管理站点和管理代理的对象。对象的定义语言采用:is. 1(abstract syntax not

24、ation one )o as.1使得数据的描述与系统和厂家无关。这种一致的数据标识意味着联入网的所有snmp终端都可以清楚地理解所传输的信息、。 2.4.1数据类型 sm工(管理信息结构)定义了3种数据类型:原语类型、结构类型和自定义的类型仁。 1夕厦诬型 原语asn. 1类型有integer(整数)、octet string(字节串)、object工dentifier(对象标识符)和null(空)几种类型。整数类型主要用于数值显示。字节串类型在snmp里总是用于显示一个设备的软硬件信息(displaystring)或显示网络构件的物理地址(physaddress)o mib树中的每一个标号

25、是用对象标识符描述的,实际上,对象标识符是一个整数数值的序列。空类型用作信息标识,该信息能够具有某种意义,尽管它不包含任何值。 2w赦型 结构类型是一种用于汇集列表和表格的复合类型。结构类型sequence允许使用简单类型的列表: sequence, 表格sequence of是对一些元素组成的抽象数据结构的显示,用entry表示列表名: sequence of 3 定尸c型 借助于列表和结构类型,其他类型可以从基本类型派生。为此,smi定义了6种复合类型:networkaddress(网络地址),ipaddress(因特网地址),counter(计数器),gauge(量规),timetick

26、s(时间标记),opaque(模糊)。 counter是32位非负整数计数器。从0记到2的32次幂减1(十进制的4294967295),如超出,从0重新计数。gauge与counter类似,但既可递增计数也可递减计数。timeticks表示一个非负的计数器,按1/100s计数时间。opaque的引入是为了绕过由snmp定义带来的任何可能的限制。 2.4.2对象结构和内容 管理信息、的结构和标识没有定义各自的被管对象,而定义了它们的形式化结构和内容,每个对象类型由5个字段构成:对象名、句法、定义、访问方式和状态。对象名与对象标识符总是成对出现,句法用于描述对象数据类型,定义用于存储描述被管对象的

27、正文,访问方式定义对象的访问字段为只读、只写、读写或不可访问,状态字段可以是必备、可选或作废闭。 例如: 对象:svslocationsystem 6 句法: octet string (s工ze (0.255 ) ) 定义:“计算机的物理位置。” 访问方式:只读 状态:必备 又如: 对象:attableat 1 句法:sequence of atentry 定义:“地址转换表包含己经映射物理地址的所有网络地址。” 访问方式:不可访问 状态:作废对象:atentryattable句法:sequenceatifindexinteger,atphysaddressphysaddress,atnet

28、addressnetworkaddress定义:“每一个sequence包含与各网络地址相关的物理地址。”访问方式:不可访问状态:作废2.5 snmp协议数据单元 smpv2中提供了7种协议数据单元,列举如下:get request,get next,get bulk,set request、response、trap和inform request2。 2.5.1 get request协议数据单元 管理站点利用get request协议数据单元明确请求snmp代理的m工b中的己知变量。对象标识符在这类报文中作为参量进行发送。get request的协议数据单元代码规定为0。除协议数据单元代码

29、外,get request报文还包含另外4个字段:requestid(请求标一记),error status(错误状态),error index(错误索引),variablebindings(变量绑定)。请求标识错误状态0错误索引0变量序列:值 请求标记仅用于监视未完成的报文。有了这一标记,snmp就可以将应答与发出的请求对应起来。错误状态和错误索引在get request协议数据单元中总是为oo变量绑定字段中定义所需的对象标识符。 2.5.2 get next协议数据单元 管理站点能够利用get net request命令查询mib树型结构中下一个对象的值,在这种pdu中,以上次己知对象标识

30、符而不是所需对象标识符的值作为参量。get next操作特别适合于遍历各个表或快速查询连续数据对象。对那些不了解的对象,可以针对其前一对象发出get next requestspdu】11掣请求标识错误状态。错误刻0i变量绑定值 变量绑定字段包含的是紧接所需对象之前的对象。 2.5.3 get bulk协议数据单元 get bulk是对get next的推广。有了get bulk协议数据单元,就可以对大量数据尤其是表格进行更为有效的读取。与get next协议数据单元相比,get bulk操作中通过网络发送的包更少。利用get bulk,基本重复操作仅局限于代理中。如果在代理中可以用指定的值处

31、理相关命令,则返回一个response包从而确认操作有效。除了协议数据单元代码外,get bulk报文还包含另外4个字段:request id,non-repeaters(非重复者),max-repeatitions(最大重复),variablebindingsopdu类型请求标识4非重复者最大重复变量绑定值 非重复者参数指示变量表中有多少变量不必重复。get bulk协议数据单元中的重复计数器定义在代理中get next操作应该进行的频度。然后代理将所请求的变量值封装在一个response协议数据单元中。如果response协议数据单元到达了其最大值,则余下的变量值将被丢弃而必须由管理站再一

32、次请求。 2.5.4 set request协议数据单元 set request命令使管理系统能够改变代理上指定变量的值。对象标识符作为参量同这种报文一起发送。如果代理能够处理带有规定值的set request命令,则发回一个response包从而确认操作有效,如果出错,则创建一个response包并将相关出错消息、发回给请求者。pdu类型请求标识错误状态0错误索引0变量绑定值 变量绑定字段中规定所需的对象标识符。 2.5.5 response协议数据单元 response命令是代理能够对来自管理系统的所有get next, set request, getbulk或get request查询

33、进行响应。如果代理能够用指定的值正确操作,则错误状态和错误索引的值为0。否则错误状态和错误索引的值被设为原先预定的值。pdu类型请求标识错误状态错误索引变量绑定值为错误状态字段规定的值在下表中列出:名称 值名称 值toobig(太大) 1 wrongvalue(错误值) 10nosuchname(无此名) 2 nocreation(不可创建) 11badvalue(坏值) 3 inconsistentvalup(不一致值) 12readonly(只读) 4 resourceunavailable(资源不可用) 13generr(一般错) 5 commitfailed(提交失败) 14noacc

34、ess(不可访问) 6 undofailed(撤销失败) 15wrongtype(错误类型) 7 authorizationerror(授权失败) 16wronglength(错误长度) 8 notwritable(不可写) 17wrongl:ncoding(错误编码)9 inconsistentname(不一致名) 18如果response协议数据单元中的错误状态字段为非0值,则说明在刚进行的请求中检测到有错误发生。错误索引字段中含有的附加信j自、有助于标示错误的原因。错误索引字段值的定义如下:名字 值 nosuchobject(无此对象) 0 nosuchinstance(无此实例) 1

35、endofmibview tmib view尾) 2 2.5.6 trap协议数据单元 snmpv2中,如果代理探测到特殊情况,它就向管理站发出陷阱类型(trap-type的报文。pd川卜一一叫类型请求标识i错误状态0错误索引osysuptime 了 变量绑定值snmptrapoid对象标识符变量绑定字段结构如下: .sysuptime定义了自上次设备重新引导以来所经过的时间。 .snmptrapoid表示相应陷阱的固定名。 .对象标识符表示一个或多个对象。在rfc1450中,snmpv2预先定义了若干陷阱: 1. traps group陷阱组,那种可以进行配置以便发送snmpv2 trap

36、pdl的代 理预先规定的所有对象均包含在这个陷阱组中。 2. well known traps(周知陷阱),包括: 11 a) coldstart一冷启动陷阱指示某snmpv2代理已经因配置变化而重新初 始化。 b) warmstart一热启动陷阱指示某snmpv2代理己重新初始化,但没有改 变配置。 c) linkdown一链路断陷阱指示snmpv2代理已检测到某条链路出了差错。 d) linkup-linkup陷阱指示配置的某snmpv2代理的链路己被激活。 e) authenticationfailure一该陷阱指示snmpv2代理已检测到在其收到 的数据包中有验证错。 f) egpne

37、ighborloss一该陷阱指示snmpv2代理已将通信进程让于某egp 邻居。 2.5.7 inform request协议数据单元 与snmpvl不同,sn1vtpv2掘弃了代理和网络管理者的严格划分,引入了管理者一管理者通信,从而使网络管理者既可以作为客户进程也可以作为服务器进程运行。利用管理者一管理者通信,通过为对象变量的值规定上限和下限可以在管理者/代理上设置告警(alarm)。如果闭值被突破,则高层管理站会通过inform request得知这一事件。inform request总是被接收者以response request加以确认。工。formrequest协议数据单元与trap

38、协议数据单元相对应。请求标识错误状态of错误索引0 sysuptime变量绑定值stmptrapoid对象标识符第3章系统总体设计3.1设计目标 在对snmpv2进行细致分析的基础上,我设计了面向应用软件的网络监控系统。管理信息库的组织方式采取类似于snmp的管理信息组织方式一mib树的方式来组织被管对象。协议数据单元方面,我决定在保持snmp基本操作的基础上,对sv1p协议数据单元进行一些修改。力求在管理站点上提供给网络管理员一个整个管理区域内的mib树的直观映射,以方便网络管理员对被管对象的监控。整个系统设计分为3个层次: 1.对于应用软件中的简单变量的监控。 2.系统的安全性的实现。 3

39、.对于应用软件中复杂变量的处理和统计功能的实现。 本文仅对第一个层次所涉及的问题进行讨论。3.2系统组成系统共有三个组成部分:监控模块、管理代理、管理站点。管理站点 3.2.1监控模块 监控模块是提供给软件开发人员使用的一个通用模块。在其内部封装了与管理代理进行通信和对本地mib子树进行管理的的内部实现,这些内部实现对于软件开发人员是完全透明的。同时该模块向软件开发人员提供了一系列接口来操作该模块。如create)用于对模块的初始化,addmibnode()用于添加mib节点,de1mibnode ()用于删除mib节点等等。该模块实际上就是提供给软件开发人员的一个外部类,使开发人员能够在正常

40、开发应用软件的同时,花费比较少的时间和精力就可以开发出可以被监控的软件。 3.2.2管理代理 管理代理位于每一个受控站点中,负责与本机的各应用程序实例通信,收集各应用程序实例的监控信息,同时与管理站点联络,发送本地的节点信息,并接受管理站点传来的控制信息。管理代理在计算机中并不是显式运行的。它是在第一个被监控的应用程序实例开始运行时,由该应用程序实例调用的一个子进程,并且在主进程结束后继续运行,直到关机。3.2.3管理站点 管理站点在其内部主要负责与服务范围内的所有管理代理进行通信,搜集监控信息,并下发各种控制指令。在外部,它具有监控系统的主要用户界面,提供了整个服务范围内的mib树的映射,网

41、络管理员可以在该映射上得到他所感兴趣的信息。3.3 mib信息的扩展 在simp中,其mib树定义在管理树的因特网分支(1.3.6. 1)下的管理分支(标号“mgmt (2)下。该分支下的节点都是一些标准节点,存储了一些己经形成公认标准的信息。我们的应用软件监控系统的mib子树可以在管理树的因特网分支(1.3.6.1)下私有分支(标号“private (4)的企业分支(标号“enterprisesc1);)下申请一个节点mcs。在mcs节点下构造我们自己的mib树。internet (1)directory (1) mgmt(2) experimental (3) private (4) se

42、curity (5) sn.npv2(6)enterprises (1)mcs(500)ip1(1) ip2 (2),二ipn (n)applicationl(1) application2(2) application (3) /入、classl class2/伙、variablel variable2 ip1.ipn是受控站点的ip地址,applicationl.applicationn是在受控站点中运行的应用程序实例名,classn是应用程序实例内部的类名,variablel是应用程序实例内的类中的成员变量名。 m工b树中,同一层的mib节点不允许同名。受控站点的工p唯一,应用程序实例内

43、部的类名唯一,类中的成员变量名唯一,而一个受控站点中的应用程)宇一可以同时存在多个实例,它们具有相同的实例名。如何使相同的实例具有不同的实例名,是我们需要解决的一个问题。其解决方法在技术问题解决章节内有所讲解。 mib树是一个多叉树,在内存中将其表示成一棵二叉树,树中每一个节点都是一个mib节点。其中多叉树到二叉树的转换关系是:二叉树中的每一个节点的左孩子是多叉树中相应节点的第一个孩子节点,该节点的右孩子是多叉树中相应节点的相邻兄弟节点。当需要传输该mib树时,则将该二叉树进行中序遍历,加入空节点信息,将遍历后得到的数据串传输出去。当数据串到达另一端后,再将该串恢复成二叉树。在管理站点上,由于

44、存在一个mib树的映射,因此需要将二叉树转换成多叉树的形式显示出来。m工b节点的数据组织形式:struct mibnode cstring name; cstring describe; variabletype type; cstring value: void* address; restricttrain *train: int itemnum; b001, writable; mibpjode*lchi 1d; mibnode*rchild:/mib节点的名字刀m工b节点的描述刀m工b节点的类型刀mib节点的值/m工b节点的地址刀m工b节点的阂值链表/mib节点的数据项项数刀m工b节点

45、是否可写/mib节点的左孩子/m工b节点的右孩子对于该结构有以下几点说明:.mib节点的类型有ihteger(整型),dfloat(浮点型),string(字符串型), n0e(空类型)等。.存储mib节点的值是为了对mib节点进行新旧值的对比,从而确定哪些m工e 节点属于更新数据的mib节点。.m工b节点的闭值链表是为了纪录在该mib节点上设置的闺值。因为一个管 理代理可能对多个管理站点负责,多个管理站点都可能对同一个mib节点 设置闭值,所以要用链表形式纪录这些闺值的设置。.mib节点的数据项项数如果大于1,则该m工b节点为一个数组变量,其基本 类型在type中指定。.m工b节点的左右孩子节点是与m工b子树在内存中的二叉树储存形式相适应 的。3.4协议数据单元的定义 由于系统要提供给监控站点一个整个管理范围内的mib树的直观映射,因此需要对snmp中的协议数据单元加以扩充。同时,由于管理站点有了这一m工b树的映射,管理站点对于每一个被管对象都有其详细的信息,不再存在snmp中管理站点对于代理上的被管对象不了解的现象,而snmp中get vext request操作带来的遍历各个表或快速查询连续数据对象比较方便的优点可以由扩充了的get dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论