毕业设计(论文)TOPOLOGY网管软件的系统设计.doc

上传人:文库蛋蛋多 文档编号:3977009 上传时间:2023-03-30 格式:DOC 页数:44 大小:1.11MB
返回 下载 相关 举报
毕业设计(论文)TOPOLOGY网管软件的系统设计.doc_第1页
第1页 / 共44页
毕业设计(论文)TOPOLOGY网管软件的系统设计.doc_第2页
第2页 / 共44页
毕业设计(论文)TOPOLOGY网管软件的系统设计.doc_第3页
第3页 / 共44页
毕业设计(论文)TOPOLOGY网管软件的系统设计.doc_第4页
第4页 / 共44页
毕业设计(论文)TOPOLOGY网管软件的系统设计.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《毕业设计(论文)TOPOLOGY网管软件的系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)TOPOLOGY网管软件的系统设计.doc(44页珍藏版)》请在三一办公上搜索。

1、目 录摘 要1ABSTRACT2前 言3第一章 概述41.1 开发背景41.2 关于国内外同类系统的分析41.3 TOPOLOGY网管软件的任务与目标61.5 本论文所作的工作7第二章 SNMP、MIB与TOPOLOGY开发环境82.1 SNMP82.2 SNMP操作和SNMP报文传输92.3 SNMP V2和SNMP V3102.3.1 SNMP V2协议112.3.2 SNMP V3协议122.4 管理信息库MIB122.5 TOPOLOGY开发环境142.5.1 Visual C+6.0 MFC应用程序框架142.5.2 WinSNMP15第三章 TOPOLOGY系统总体设计163.1

2、TOPOLOGY系统总体结构163.2 TOPOLOGY系统各功能模块设计163.3 模块之间的协调18第四章 TOPOLOGY网络拓扑发现模块的设计与实现204.1 基于SNMP的主干网拓扑发现204.1.1 传统的基于SNMP的网络主干拓扑发现方法204.1.2 改进的基于SNMP的网络主干拓扑发现方法254.1.3 模块运行结果294.2 子网内拓扑发现294.2.1 ARP表(IpNetToMediaTable表)294.2.2 子网拓扑的中所要的数据结构304.2.3 如何判断主机的状态304.2.5 模块运行结果31第五章TOPOLOGY网络拓扑图生成/布局模块的设计与实现325.

3、1 TOPOLOGY网络拓扑图布局模块的设计325.2 TOPOLOGY网络拓扑图生成/布局模块的实现345.2.1 数据结构345.2.2 TOPOLOGY主干网拓扑图生成/布局模块的实现35第六章 总结与展望376.1 课题总结376.2 进一步开发的展望38参考文献40致 谢41摘 要随着网络的高速发展,网络管理变得越来越复杂,网络管理软件的研究与开发伴随网络的不断发展也越来越受到人们的重视。本文基于SNMP协议、MIB库,详尽阐述了作者设计的TOPOLOGY网管软件的系统设计,以及它的四大模块网络拓扑发现、网络拓扑生成与布局、查询MIB、功能模块协调与切换的主要设计思想和实现方法,论文

4、中着重研究和讨论了对网络拓扑的发现、生成、布局的设计实现算法。在传统主网拓扑发现算法的基础上,作者提出两种新的补充算法,使得拓扑更加完整,具有一定的创新性。论文所提出的拓扑布局算法采用环型算法与启发式算法相结合,使得布局更加合理,也是该网管软件的特色和创新做法。论文在最后还探讨了对系统进行进一步开发的展望。关键词:拓扑发现,布局,SNMP,MIB,WinSNMP 作 者: 指导老师: AbstractWith rapid development of network, network management becomes more and more complex. Meanwhile, th

5、e research and development of network management software are also paid more and more attention to by people. Based on SNMP and MIB, this thesis has accounted in detail for the system design of Network Management Software TOPOLOGY developed by this author. The main designing thoughts and implementat

6、ion schemes of four modules include network topology discovery, topology generation/layout, MIB polling and modules coordination /switching. The thesis has examined and discussed with focus on the designing and implementing algorithms of network topology discovery, generation and layout.On the basis

7、 of traditional backbone network discovery algorithm, the author gives out two new algorithms for supplement to make the topology more complete, and the new algorithms are creative on a certain extent. Topology layout algorithm presented by this thesis combines the elicitation algorithm to the ring

8、algorithm to make the layout more rational and this is also the characteristic and creative way in this network management software. In the end, the prospect of further development to this system is also explored.Keywords: Topology Discovery, Layout, SNMP, MIB, WinSNMPWritten by Huang XunSupervised

9、by Lu Jiande前 言课题概述,本研究主题范围内国内外相关的研究发展趋势,本论文所要解决的问题,论文主要研究内容,研究或开发设计的方法,实用价值与意义等。全文共分为X章。第1章,第2章,第3章。(前言篇幅:1页左右)第一章 概 述1.1 开发背景随着网络的高速发展,网络管理变得越来越复杂,网络管理软件的研究与开发伴随网络的不断发展也越来越受到人们的重视。同时,随着计算机网络的使用越来越广泛,用户对网络的依赖也越来越大,网络的可靠性成为越来越重要的问题。网络管理是一个解决方案,它寻求最大限度地利用现有的网络资源,增加网络的可用时间,提高网络设备的网络性能、服务质量和安全性。因此,研究网络

10、管理具有重要的意义。目前国内的企业网、园区网系统所使用的网络管理软件大多都是从国外引进的;如IBM公司的Netview,HP公司的OpenView,Cisco公司的Ciscoworks,3Com公司的 Transen等。 这些网络平台一般价格昂贵,不具备良好的中文界面,信息资源方面的管理能力相对较弱,其中一些只能管理本公司的产品(如Cisco Works、Transen等),有些还需要第三方产品的辅助。虽然它们提供了丰富的API,但许多对于开发园区网络管理系统是不必要的,并且大多数网络管理员不具备二次开发的能力,这就造成资金和资源的浪费。所以根据我国互联网的实际应用,结合园区网的自身需求,自主

11、设计与开发一个成本低、效率高的通用型网络管理系统是十分必要的。1.2 关于国内外同类系统的分析针对网络管理的需求,许多厂商开发了自己的网络管理产品,其中一些形成了一定的规模,占有大部分的市场。主要有:(1) SunNetManagerSunNetManager是不依赖于协议的分布式管理体系结构网络管理系统。它是第一个重要的开发平台,如果SunNet Manager要被最终用户直接使用,需要第三方厂商开发出来的应用系统来实现,主要功能有:拓扑结构图、自动管理、链接管理、浏览工具和API。SunNetManager在拓扑管理方面,仅能发现IP网络设备,能判断SNMP(TCPSocket161)是否

12、处于 Active 状态以及网络设备是否有多个端口(router),不能发现非IP 设备 。(2) HP OpenView Network Node Manager(NNM)HP OpenView是第一个出现的网络管理系统,是一个广泛使用、获得大多数认可的网络管理系统。它主要给第三方网络管理应用程序开发人员提供开发平台,同时也可向用户提供最终的可安装产品,主要功能:自动发现网络拓扑结构、性能与吞吐量的分析、故障报警和历史数据分析。OpenView 的网络拓扑自动发现功能很好,启动后能立即自动发现本网段的结点,网段中的路由器(或网关)、子网以图标的形式显示在图形上。为了进一步搜索子网,只需点亮响

13、应的子网图标,并置其为被管。不能在运行时手工加入与本网段非直连的管理对象 。(3) IBM Tivoli NetViewIBM Tivoli NetView检测TCP/IP 网络、显示网络拓扑结构、相关信息和管理事件以及SNMP 陷阱、监控网络运行状况并收集性能数据。Tivoli NetView 通过可扩展性和灵活性满足大型网络管理人员的使用需要,以管理关键任务。它还提供了强大的信息过滤能力,可通过设置阀值来减少部分冗余报警。IBM的网络拓扑功能在同类产品中并不突出。(4) Cisco Works:由Cisco公司开发。它使用Cisco的专门技术CDP(Cisco Discovery Prot

14、ocol)对本公司的网络产品进行精确的搜索。但CDP只能搜索本公司的网络产品,对其它厂家的网络产品不具备兼容性, 主要功能: 自动安装管理器、与NetView的接口、通用命令管理器、设备监控、路径工具和实时图形。CDP支持对VLAN的拓扑发现,前提是网络设备必须是Cisco的产品。(5) 国外其它网管软件产品TRANSCEND由3Com公司开发。该产品的自动拓扑搜索功能简单,只能检测出当前局域网中的主机,不能确定各个主机的互连情况,不能确定主机的接口类型。TRANSCEND只能对本公司的网络硬件设备产品进行较为精确的搜索,显示出其网络设备各个端口的状态,但不能发现其它厂商的网络设备,运行速度很

15、慢,对机器的硬件配置及内存容量要求较高。 Net Walker由Fujitsu公司开发,是一种较好的网络管理产品。能较好的搜索到当前网络中运行的网络设备,较精确地确定网络互连情况和网络接口。能够实时地反映网络当前状态,对有故障的网络设备能较快的检测到并进行报警。但只能运行在UNIX环境中,不能在Windows环境中运行,运行速度较慢,对网络的搜索需要大量的时间。PloyCenter On NetView(PNV)由DEC公司开发。它是在HP OpenView和IBM Tivoli NetView的基础上开发而成的,具有一些前两者所没有的特点。PNV提供了一个通用的网络管理平台,它支持多种网络管

16、理协议,具有分布安全性,提供登录确认。它能动态发现设备,按其在协议栈中所处的位置进行摆放,建立连接关系。它还实现了收集并图形化显示当前数据和历史数据和支持关系数据库等功能。 (6) 国内网管软件 国内自主开发的网络管理软件较少。上海金桥网络工程中心开发了在Windows PC平台上使用的网络管理软件GoldView,该软件基于简单网络管理协议SNMP(Simple Network Management Protocol)实现了对TCP/IP网络的拓扑发现。然而,由于各种原因,该软件在国内未能推广使用。南京飞博的IP View是一款在Linux平台下使用Java自主开发的专业网管软件,采用B/S

17、结构。北京游龙科技的SiteView对服务器进行监测的功能十分强大。IP View和SiteView都具有较强的通用性,在国内市场上占有率较高。 网络管理也是国内高校网络研究的热点,目前取得了一些阶段性的成果。如清华大学的 CIMS 网络监控管理系统,北京航空航天大学开发的网络管理系统,东南大学的网络管理系统 Watcher,以及上海交通大学与日本合作开发的 Walker 中文版网络管理系统。1.3 TOPOLOGY网管软件的任务与目标本课题基于SNMP网管协议与通用MIB库,致力于网络拓扑自动发现与生成、为TOPOLOGY通用管理平台开发出主要的网络管理功能模块,并进行网络主机与设备的状态检

18、测,实现网络管理系统。要求完成如下主要工作:(1) 网络拓扑发现模块的设计与实现,自动发现目标网络的拓扑结构与其包含的设备,为 TOPOLOGY 提供准确完整的网络拓扑信息。自动发现网络主干拓扑,确定路由器与路由器,路由器与子网的连接情况;自动发现子网拓扑,确定子网内网络设备的状态;确定子网内网络设备的类型;确定子网内网络设备的网络接口;确定子网络接口的状态。(2)网络拓扑图生成/布局模块的设计与实现,用于将网络拓扑信息布局到计算机屏幕上,形成网络拓扑图,将路由器与路由器,路由器与子网以及主机与主机的连接情况用图形的方式清晰地显示,要求美观、调整方便灵活。(3) MIB 信息查询模块的设计与实

19、现,完成读取指定网络设备 MIB 库中信息,为TOPOLOGY 用户提供网络管理信息,实现网络主机与设备的状态检测。由于TOPOLOGY是一款投入实际使用的网管软件,所以本课题特别强调开发成果的通用性、鲁棒性和实时性。通用性:主要针对网络拓扑自动发现,具体表现为两方面的通用性:a、要求能够发现各种类型的设备(如:路由器、三层交换机、主机等);b、要求能够发现多个厂商制造的网络设备。鲁棒性:按照TOPOLOGY系统规划,本课题所承担的研究开发内容在投入使用后要求能够持续运行不中断,系统要求稳定、可靠性好。实时性:网络管理系统一般要求系统尽快反映网络的现时工作情况,本课题也对实时性有相当要求。TO

20、POLOGY要求本课题所开发的模块在投入使用后,将拓扑结构及发现到的网络故障信息尽快如实反映在屏幕上。1.5 本论文所作的工作本文以笔者在研发TOPOLIGY网管软件中所做的工作为基础,围绕MFC框架结构、SNMP协议和MIB库,讨论TOPOLOGY网管软件的研究、设计与实现,详尽阐述了TOPOLOGY网管软件的系统设计,以及它的四大模块网络拓扑发现、网络拓扑生成与布局、查询MIB、功能模块协调与切换的主要设计思想和实现方法.TOPOLIGY网管软件由课题组黄逊、徐家燕和吴可旸三人共同完成。其中,笔者的主要工作为:1.系统分析、系统设计、界面设计;2.对网管软件使用和涉及的重要相关MIB库中的

21、项目进行分析、对网管软件与SNMP Agent交互的过程和进行网管软件开发的具体方法进行了详尽的分析;3.设计了主干网拓扑生成/布局、子网拓扑生成/布局的算法4.编写了主干网拓扑生成/布局模块、子网拓扑生成/布局模块协调模块、MIB查询、功能模块协调与切换、界面设计等方面的代码,进行了系统测试;网管软件TOPOLOGY遵循公用MIB规范,做到兼顾普遍性、通用性和实用性,对异构型的多个厂家生产的网络互联设备组成的网络做到了普遍适用。在传统主网拓扑发现算法的基础上,论文提出两种新的补充算法,使得拓扑更加完整,论文提出的算法具有一定的创新性。拓扑布局算法采用环型算法与启发式算法相结合,使得布局更加合

22、理,也是该网管软件的一大特色和创新做法。TOPOLOGY网管软件由项目组三人共同开发,本论文对笔者所作的工作进行了详细的阐述,同时对课题组共同开发的TOPOLOGY网管软件的相关的其它重要部分也进行了必要的讨论。第二章 SNMP、MIB与TOPOLOGY开发环境TOPOLOGY网管系统基于SNMP、MIB,软件开发平台采用了MS Visual C+6.0,并使用了MFC程序开发框架,在本章中对这些技术背景先作简单介绍。2.1 SNMP1988年,Internet体系结构委员会(IAB)提出了简单网络管理协议SNMP的第一个版本SNMP V18,后来又发表了SNMP V2、SNMP V3。SNM

23、P是基于TCP/IP协议的各种互联网络的管理标准,由于它满足了人们对通用网络管理标准的需求,而且本身简单明了,实现起来比较容易,占用的系统资源少,所以已成为事实上的工业标准。OSI网络管理一般采用管理器(Manager)/代理(Agent)的管理模型。OSI的网络管理组织模型包括以下几个重要的组成部分: (1)被管对象MO(Managed Object):可以用一定的数据表示方法表示,通过网管协议进行管理的被管理对象。 (2)管理进程(Manager Process):通常位于控制台(Console)上,它和代理进程通信,发出管理操作指令,接收来自代理的信息。 (3)代理进程 (Agent P

24、rocess):通常位于网关、路由器等被管对象中,监视被管对象的状态,响应管理进程的管理请求、报告被管对象的属性、执行被管对象的操作等。(4)管理信息库MIB(Management Information Base):MIB一部分位于Manager上,一部分位于Agent中。MIB实际上是一个提供被管元素信息的数据库,它由一系列被管对象及其属性、操作、通知、行为等构成,是OSI标准所提出的被管对象的数据表达格式。在管理过程中,管理员通过控制台(Console)向Manager发出管理请求,通信模块将请求发送给指定的Agent;Agent对被管对象执行相应的管理命令,或获取被管对象的属性值,或操

25、作被管对象;Agent也可以在被管对象出现异常时,主动产生事件报告,通过通信模块发送给Manager,Manager经过处理后在控制台显示。 SNMP 的组织模型和OSI 标准表述的组织模型基本一致,只是采用的术语有细微的差别。在组织模型中所涉及的管理构件基本相同,包括Manager、Agent 、管理信息库MIB和被管对象。每一个被管设备需要具备: 1. 管理信息库MIB2. 监视、操作MIB的SNMP Agent2.2 SNMP操作和SNMP报文传输SNMP协议是建立在 TCP/IP协议之上的应用层协议,它基于管理器/代理模型,管理器与被管对象之间通过发送SNMP报文来彼此通信。SNMP的

26、传输报文基于UDP,由三部分组成,如图2-1所示。图2-1 SNMP的传输报文在版本号部分,描述SNMP协议的版本(SNMP V1,SNMP V2还是SNMP V3);共同体名为Community信息,Community字段的作用类似于 SNMP Manager和Agent之间的口令 , 默认的读Community是“public”,默认的读写Community是“private”。从系统安全性角度,代理可以设置Community参数及相应的访问权限,只读或读写,并要求管理者在发送报文时填写Community。只有在Community相同且相应访问权限相符的情况下,代理才按报文所规定的操作回送

27、相应的响应报文。SNMP Manager和SNMP Agent 之间通过协议数据单元PDU (Protocol Data Unit) 传输管理信息,Data Area部分就是由协议数据单元(PDU)组成 ,SNMP规定了五种网络管理操作, 这五种原语操作分别有对应的PDU,它们是:(1) GetRequest SNMP管理者从SNMP代理处获取变量值。 (2) GetNextRequest SNMP管理者从SNMP代理处获取下一个变量值。 (3) SetRequest SNMP管理者设置SNMP代理上的某个变量值。 (4) GetResponse SNMP管理者接收来自SNMP代理的应答。(5

28、) Trap Trap机制使SNMP Agent向SNMPManager报告某个已经设定好的事件的发生。这5种类型的PDU除Trap之外的4种PDU格式是相同的,共有5个字段,如图 2-2和图 2-3所示。图 2-2 GetRequest PDU, GetNextRequest PDU, SetRequest PDU图2-3 GetResponse PDUTrap PDU不同于其它4种PDU格式,它有7个字段,如图 2-4所示。图2-4 Trap PDUPDU建立于UDP,每个SNMP报文被封装成一个UDP数据报,并通过IP层发送出去。管理器从UDP的第161号端口接收除“Trap”以外的所有

29、报文,Trap报文从UDP的第162号端口接收;代理从UDP的第161号端口接收所有报文。 由于SNMP是利用UDP来完成低层数据传输的,所以SNMP不保证数据传输的可靠性。这种无连接的通信不需维护系统的状态,因而提供了某种程度的健壮性,无论是管理器还是代理的操作都不依赖于对方。当远程代理失败时,管理器依然能继续工作,当代理恢复后,它能发送一个Trap将状态的改变通知管理器。此外,SNMP 的原语操作具有原子(Atomic)特性,即执行多变量操作时, 要么全部执行,要么全不执行,对任何一个变量操作的失败都会导致执行过程的恢复(或称回卷 Rollback) 。SNMP在TCP/IP体系中的结构如

30、图 2-5所示。图2-5 SNMP在TCP/IP体系中的结构2.3 SNMP V2和SNMP V3在TCP/IP协议中,网管协议是变化和发展得非常迅速的应用层协议。在DMI和WBEM 等新的网络管理协议、规范出现的同时,SNMP协议本身就经历了V1、V2 和V3这三个版本的发展过程。这一方面说明了网络管理在网络发展、应用过程中的重要性,另一方面说明了网管协议的发展还不够成熟。对网管协议的发展过程的深入研究有利于我们认识和解决网管协议中存在的某些问题。2.3.1 SNMP V2协议简单性是SNMP Vl标准取得成功的原因之一:但简单性也正是SNMP缺陷所在,因为这种简单性是有代价的,主要休现在以

31、下几个方面:(1) 在Manager 和Agent 之间的通信应该有安全性保障,SNMP Vl在这方面是通过传输报文中的Community字段加以实现的。SNMP V1假定在Manager和Agent之间的网络传输是安全的,如果破坏者在Manager和Agent之间对数据包进行截获 (Intercept),SNMP V1报文的的一切内容都将是不安全的。(2) 目前的网络中,一般会集成不同厂商的网络产品,网络管理系统也各种各样,而SNMP协议是一种集中式管理模式,它并不支持多个管理程序之间的通信,管理员一般将网络分成几部分,每一个部分使用专用管理站和管理平台。SNMP Vl的这种集中式管理模式不

32、能很好地适应网络的现状。(3) 没有提供成批存取机制,对大块数掘进行存取效率很低。在SNMP V2被推出之前,在1991年推出了RMON MIB(Remote Network Monitoring MIB),RMON MIB的一个比较明显的优点是它提供了收集、统计网络流量的管理功能,使得 SNMP不仅可以管理网络设备,也可以管理网络本身。针对SNMP Vl的不足之处,IAB (Internet Action Board)于1993年初,推出了SNMP V2(RFC1441RFC1452)。SNMP V2除了保持V1原有的简单易于扩展等优点之外,主要在安全机制、完善功能方面进行了改进:l 完善了

33、安全机制;提供了验证机制(Authentication)、加密机制(Privacy)、时间同步机制(Synchronized Time Stamp)等,以确保通信的安全。l 继承原有的集中式管理,同时支持分布式管理策略(Distributed Management Strategy)。网络中存在着一个主管理者,网络可以被逻辑上分割成几部分,每个部分由一个管理者管理,各部分的管理者可以直接处理管理代理的网络事件,也可以向主管理者报告。l 提供了一次获取成组数据的能力,效率大大提高:这是通过提供一条操作原语GetBulkRequest 实现的,GetBulkRequest实际上类似于GetNext

34、Request,只不过它获取的是“下面多个”变量的值。另外在前面提到的MIBII也较MIBI增加了两个组,对象数量也从114个增加到185个,使MIBII对被管对象的表示能力大大增加。2.3.2 SNMP V3协议导致产生SNMP V2的一个主要原因是对安全性的要求,但是SNMP V2并没能很好地完成安全性方面的工作。在SNMP V2 原形系统的实现过程中发现它比人们原先预想的要复杂得多,失去了“简单性”的特点。当开发计划的结束时间到来时,IETF (Internet EnUnerring Task Force) 只好把几乎所有与安全相关的内容从SNMP V2中去掉,从而形成现在看到的最终的S

35、NMP V2草案标准,即RFC 19XX 系列。SNMP V2 中最初没有报文的定义,后来又出现了SNMP V2C(Community-based SNMP V2)作为SNMP V2 的补充,它增加了V2的报文定义,但与 V1 的报文非常类似。SNMP V2的开发最终还是失败了,IETF解散SNMP V2工作组,决定把工作留给SNMP NG (Next Generation)即现在的 SNMP V3去做。SNMP V3在1993年成为提案标准 (Proposed Standard,RFC14XX 系列)。由于以上的原因,SNMPV3相对于V2主要增加了安全特性。在SNMP V3中,通常实在以下

36、两个过程中实现安全处理的:(1) 传送/接收报文的过程(2) 处理报文内容的过程这两个阶段分别对应于报文处理和PDU处理模块,因此在SNMP V3中的安全是指在报文级别实现的安全,而访问控制则对应于在协议操作级别实现的安全。由两者共同实现安全的管理框架。2.4 管理信息库MIB管理信息库 MIB 是实现 SNMP 网络管理的关键因素。MIB的结构被称为管理信息结构 SMI(Structure of Management Information),RFC 1155中定义了SMI 。MIB 库中每个被管对象类型都有名字(Name)、语法(Syntax) 和编码(Encoding) 三方面的定义。名

37、字由一个Object Identifier唯一表示;语法表示、对象的抽象数据结构(如integer、Octet、ipAddress等)是指被管对象的抽象文法结构及其数据表达方法;编码表示对应抽象数据结构的ASN.1编码,SNMP采用ASN.1定义的BER编码规则。ASN.1 (Abstract Syntax Notation One)是一种用于描述结构化客体内容和结构的语言,MIB库中每个变量都符合ASN.1语法规则。MIB 库中使用了ASN.1中的Integer、 Octet String、Null等作为基本类型,同时定义了IpAddress、Counter、Gauge、TimeTicks、

38、Opaque 等类型。IpAddress 表示32位的 Internet 地址 ,由 4 个Octet String 表示。Counter 表示一非负整数,只能递增;Gauge 表示一非负整数,可以递增或递减。基本编码规则(BER,Basic Encoding Rules) 是ASN.l 标准定义的一种传送文法。ASN.1 提供的是抽象文法结构和内容的表示方法,而BER 描述的是在传送过程中内容是如何表示的。每一个BER编码有三个字段:标签(Tag)字段是关于标签和编码格式的信息;长度 (Length)字段定义数值的长度;内容(Value)字段表示实际的数值。因此,一个编码值又称TLV(Tag

39、,Length,Value)三元组。编码可以是基本型或结构型,如果它表示一个简单类型的、完整的显式值,那么编码就是基本型 (primitive);如果它表示的值具有嵌套结构,那么编码就是结构型 (constructed)。SNMP V1使用MIB-管理信息库,它把规定的114个对象分为8个组;而在MIB-中新增了两个组Transmission和SMNP 组,对象数量增加到185个,参见表 2-1。表 2-1 MIB-的对象组对象在MIB中的存放形式被称作管理信息结构(SMI Structure of Management Information)。它详细定义了MIB 库的组成结构,规定了描述和

40、标识MIB变量的一组规则。目前的两个标准数据模型是Internet SMI 和OSI SMI。Object Identifier是一个全局树的整数序列表达,即命名树(如图 2-6所示)。命名树的每个节点分别由一个整型数和一个类型说明加以表示,对象标识符的命名由专门的机构负责,各对象标识符之间共同构成一个属性分层结构。一个对象标识符是由从根出发到对象所在节点的途中所经过的数字标号序列所形成的;例如,所有的MIB变量都在mib节点之下,而这个mib节点则表示成:iso.org.dod.Internet.mgmt.mib相应的数字表示为 : 1.3.6.1.2.l图 2-6 oid命名树2.5 TO

41、POLOGY开发环境 TOPOLOGY系统在Windows 2000操作系统环境下进行开发,软件开发平台采用MS Visual C+6.0,使用 WinSNMP API 进行SNMP会话,软件适用于Windows 2000/XP/NT操作系统使用。2.5.1 Visual C+6.0 MFC应用程序框架早期,开发Windows应用程序必须使用微软的SDK(Software Development Kit),直接调用Windows API函数,向Windows操作系统提出各种请求,例如配置内存、开启窗口、输出图形等等。数以千计的Windows APIs好像比重相若,各API之间的关系更是错综复杂

42、,使开发者在使用时难于把握和查找。MFC利用面向对象的原理,把这些APIs逻辑地组织起来,使它们具备抽象化、封装化、继承性、多态性、模块化的性质。MFC应用程序框架的基本类有以下几种:(1) CWinApp应用程序的“应用程序类”,负责初始化和运行应用程序。应用程序类对象是程序开始运行后创建的第一个对象,并且是在结束前最后一个执行的对象。应用程序类对象创建后,应用程序类负责创建程序的其他对象,包括视图兑现个、文档对象和主窗口类对象。(2) CFrameWnd应用程序的“框架窗口类”,负责显示和搜寻用户命令。对于单文档界面程序(SDI),由于同时只能有一个文档是活动的,所以SDI应用程序的框架窗

43、口类为CFrameWnd;对于多文档界面程序(MDI),由于同时有多个文档是活动的,程序的框架除了一个主框架窗口外,对于每一个文档和视图,都需要一个子框架窗口。(3) CDocument应用程序的“文档类”,负责装载和维护文档,文档包括应用程序的工作成果或者环境设置数据等,或者是程序需要保存的任何内容。(4) CView应用程序的“视图类”,负责为文档提供一个或者几个视图。视图的作用是为修改、查询文档等任务提供人机交互的界面。2.5.2 WinSNMPWinSNMP9是微软公司为在Windows下开发基于SNMP网管应用程序而提供的技术文档,这份文档的详细内容可以查看MSDN(当然,也可以通过

44、直接查阅)或到网站http:/www.ibiblio.org/pub/micro/pc-stuff/ms-windows/ winsnmp/ 下载。更进一步, WinSNMP是为SNMP网管开发者提供了必须遵循的开放式单一接口规范,它定义了过程调用、数据类型、数据结构和相关的语法。其参考图如图2-7所示。 图中给出了一种可能的从管理者实体(图中最左边) 到代理实体(图中最右边)间的端到端的SNMP联结, 它嵌入到当前的WinSNMP版本中。图2-7 WINSNMP参考图第三章 TOPOLOGY系统总体设计3.1 TOPOLOGY系统总体结构 从总体功能上看,TOPOLOGY网管系统主要由网络拓

45、扑、拓扑图生成/布局、MIB查询和功能模块协调与切换四部分组成。 其中,网络拓扑又可分为主干网拓扑和子网拓扑;拓扑图生成/布局又可分为主干网拓扑图生成/布局和子网拓扑图生成/布局;MIB查询又可分为系统信息查询和一般信息查询与状态检测;功能模块协调与切换又可分为功能模块协调和页面切换,如图3-1所示。图3-1 系统总体结构3.2 TOPOLOGY系统各功能模块设计1.主干网拓扑发现获取主干网中路由器、子网等之间的连接信息,将所有的路由器地址放入路由队列,将子网地址放入子网队列,将连接信息放入连接队列。设计的思路:从网络管理工作站的默认网关开始,通过读取路由设备的路由表下一跳信息,由内向外发现网

46、络中的所有具有路由功能的网络节点及其连接关系。而从ipRouteType的值我们就可以知道该网关连接哪些子网。同时通过路由表的ipRouteIfIndex就可以发现端口,通过由接口表得到端口的类型就可以了解子网类型。由上所述就可以得到网络的主干拓扑关系。2.子网拓扑发现获取所有的子网内的所有主机地址、掩码和子网地址。设计的思路:ARP表记录了当前活动机器IP与MAC的映射。通过检查设备的ipNetToMediaTable表,可以发现与该路由设备相连接的其他设备和相连子网内机器的IP地址、MAC地址以及IP与MAC间的映射方式。将通过ipNetToMediaNetAddress得到的IP地址与已

47、发现的子网地址进行模式匹配,如果匹配成功,则该IP地址对应的主机是该子网相应的成员。同时ipNetToMediaPhysAddress(MAC地址)的获得还可以用于监视MAC-IP捆绑的情况。3.主干网拓扑图生成与布局在主干网拓扑并获得了已装有了所有路由器地址的路由队列、装有所有子网地址的子网队列和装有连接信息的连接队列后,将信息进一步进行处理,使这些网络设备及其连接关系以图象的形式展示在屏幕上。设计的思路:将所有同层的同类型设备(如第一层的所有路由器)放在一个大的圆环上。对于与这些设备直接相连接的设备或子网,可以把它们放在以之为圆心的外围圆环上,如果外围圆环上的设备还有次级设备,则放置到更外围的圆环上,依此类推。4.子网拓扑图生成与布局在主干网和子网拓扑完成

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号