计算机信息管理毕业设计论文模板.docx
《计算机信息管理毕业设计论文模板.docx》由会员分享,可在线阅读,更多相关《计算机信息管理毕业设计论文模板.docx(33页珍藏版)》请在冰豆网上搜索。
![计算机信息管理毕业设计论文模板.docx](https://file1.bdocx.com/fileroot1/2023-2/1/b5cddbfa-d895-4bc5-8da4-2cf73afa4402/b5cddbfa-d895-4bc5-8da4-2cf73afa44021.gif)
计算机信息管理毕业设计论文模板
摘要
随着网络的高速发展,网络管理变得越来越复杂,网络管理软件的研究与开发伴随网络的不断发展也越来越受到人们的重视。
本文基于SNMP协议、MIB库,详尽阐述了作者设计的TOPOLOGY网管软件的系统设计,以及它的四大模块——网络拓扑发现、网络拓扑生成与布局、查询MIB、功能模块协调与切换的主要设计思想和实现方法,论文中着重研究和讨论了对网络拓扑的发现、生成、布局的设计实现算法。
在传统主网拓扑发现算法的基础上,作者提出两种新的补充算法,使得拓扑更加完整,具有一定的创新性。
论文所提出的拓扑布局算法采用环型算法与启发式算法相结合,使得布局更加合理,也是该网管软件的特色和创新做法。
论文在最后还探讨了对系统进行进一步开发的展望。
关键词:
拓扑发现,布局,SNMP,MIB,WinSNMP
作者:
黄逊
指导老师:
陆建德
Abstract
Withrapiddevelopmentofnetwork,networkmanagementbecomesmoreandmorecomplex.Meanwhile,theresearchanddevelopmentofnetworkmanagementsoftwarearealsopaidmoreandmoreattentiontobypeople.BasedonSNMPandMIB,thisthesishasaccountedindetailforthesystemdesignofNetworkManagementSoftwareTOPOLOGYdevelopedbythisauthor.Themaindesigningthoughtsandimplementationschemesoffourmodulesincludenetworktopologydiscovery,topologygeneration/layout,MIBpollingandmodulescoordination/switching.Thethesishasexaminedanddiscussedwithfocusonthedesigningandimplementingalgorithmsofnetworktopologydiscovery,generationandlayout.Onthebasisoftraditionalbackbonenetworkdiscoveryalgorithm,theauthorgivesouttwonewalgorithmsforsupplementtomakethetopologymorecomplete,andthenewalgorithmsarecreativeonacertainextent.Topologylayoutalgorithmpresentedbythisthesiscombinestheelicitationalgorithmtotheringalgorithmtomakethelayoutmorerationalandthisisalsothecharacteristicandcreativewayinthisnetworkmanagementsoftware.Intheend,theprospectoffurtherdevelopmenttothissystemisalsoexplored.
Keywords:
TopologyDiscovery,Layout,SNMP,MIB,WinSNMP
WrittenbyHuangXun
SupervisedbyLuJiande
前言
课题概述,本研究主题范围内国内外相关的研究发展趋势,本论文所要解决的问题,论文主要研究内容,研究或开发设计的方法,实用价值与意义等。
全文共分为X章。
第1章……,第2章……,第3章……。
(前言篇幅:
1页左右)
第一章概述
1.1开发背景
随着网络的高速发展,网络管理变得越来越复杂,网络管理软件的研究与开发伴随网络的不断发展也越来越受到人们的重视。
同时,随着计算机网络的使用越来越广泛,用户对网络的依赖也越来越大,网络的可靠性成为越来越重要的问题。
网络管理是一个解决方案,它寻求最大限度地利用现有的网络资源,增加网络的可用时间,提高网络设备的网络性能、服务质量和安全性。
因此,研究网络管理具有重要的意义。
目前国内的企业网、园区网系统所使用的网络管理软件大多都是从国外引进的;如IBM公司的Netview,HP公司的OpenView,Cisco公司的Ciscoworks,3Com公司的Transen等。
这些网络平台一般价格昂贵,不具备良好的中文界面,信息资源方面的管理能力相对较弱,其中一些只能管理本公司的产品(如CiscoWorks、Transen等),有些还需要第三方产品的辅助。
虽然它们提供了丰富的API,但许多对于开发园区网络管理系统是不必要的,并且大多数网络管理员不具备二次开发的能力,这就造成资金和资源的浪费。
所以根据我国互联网的实际应用,结合园区网的自身需求,自主设计与开发一个成本低、效率高的通用型网络管理系统是十分必要的。
1.2关于国内外同类系统的分析
针对网络管理的需求,许多厂商开发了自己的网络管理产品,其中一些形成了一定的规模,占有大部分的市场。
主要有:
(1)Sun NetManager
Sun NetManager是不依赖于协议的分布式管理体系结构网络管理系统。
它是第一个重要的开发平台,如果SunNetManager要被最终用户直接使用,需要第三方厂商开发出来的应用系统来实现,主要功能有:
拓扑结构图、自动管理、链接管理、浏览工具和API。
Sun NetManager在拓扑管理方面,仅能发现IP网络设备,能判断SNMP(TCP Socket 161)是否处于Active状态以及网络设备是否有多个端口(router),不能发现非IP设备。
(2)HPOpenViewNetworkNodeManager(NNM)
HPOpenView是第一个出现的网络管理系统,是一个广泛使用、获得大多数认可的网络管理系统。
它主要给第三方网络管理应用程序开发人员提供开发平台,同时也可向用户提供最终的可安装产品,主要功能:
自动发现网络拓扑结构、性能与吞吐量的分析、故障报警和历史数据分析。
OpenView的网络拓扑自动发现功能很好,启动后能立即自动发现本网段的结点,网段中的路由器(或网关)、子网以图标的形式显示在图形上。
为了进一步搜索子网,只需点亮响应的子网图标,并置其为被管。
不能在运行时手工加入与本网段非直连的管理对象。
(3)IBMTivoliNetView
IBMTivoliNetView检测TCP/IP网络、显示网络拓扑结构、相关信息和管理事件以及SNMP陷阱、监控网络运行状况并收集性能数据。
TivoliNetView通过可扩展性和灵活性满足大型网络管理人员的使用需要,以管理关键任务。
它还提供了强大的信息过滤能力,可通过设置阀值来减少部分冗余报警。
IBM的网络拓扑功能在同类产品中并不突出。
(4)CiscoWorks:
由Cisco公司开发。
它使用Cisco的专门技术——CDP(CiscoDiscoveryProtocol)对本公司的网络产品进行精确的搜索。
但CDP只能搜索本公司的网络产品,对其它厂家的网络产品不具备兼容性,主要功能:
自动安装管理器、与NetView的接口、通用命令管理器、设备监控、路径工具和实时图形。
CDP支持对VLAN的拓扑发现,前提是网络设备必须是Cisco的产品。
(5)国外其它网管软件产品
TRANSCEND由3Com公司开发。
该产品的自动拓扑搜索功能简单,只能检测出当前局域网中的主机,不能确定各个主机的互连情况,不能确定主机的接口类型。
TRANSCEND只能对本公司的网络硬件设备产品进行较为精确的搜索,显示出其网络设备各个端口的状态,但不能发现其它厂商的网络设备,运行速度很慢,对机器的硬件配置及内存容量要求较高。
NetWalker由Fujitsu公司开发,是一种较好的网络管理产品。
能较好的搜索到当前网络中运行的网络设备,较精确地确定网络互连情况和网络接口。
能够实时地反映网络当前状态,对有故障的网络设备能较快的检测到并进行报警。
但只能运行在UNIX环境中,不能在Windows环境中运行,运行速度较慢,对网络的搜索需要大量的时间。
PloyCenterOnNetView(PNV)由DEC公司开发。
它是在HPOpenView和IBMTivoliNetView的基础上开发而成的,具有一些前两者所没有的特点。
PNV提供了一个通用的网络管理平台,它支持多种网络管理协议,具有分布安全性,提供登录确认。
它能动态发现设备,按其在协议栈中所处的位置进行摆放,建立连接关系。
它还实现了收集并图形化显示当前数据和历史数据和支持关系数据库等功能。
(6)国内网管软件
国内自主开发的网络管理软件较少。
上海金桥网络工程中心开发了在WindowsPC平台上使用的网络管理软件GoldView,该软件基于简单网络管理协议SNMP(SimpleNetworkManagementProtocol)实现了对TCP/IP网络的拓扑发现。
然而,由于各种原因,该软件在国内未能推广使用。
南京飞博的IPView是一款在Linux平台下使用Java自主开发的专业网管软件,采用B/S结构。
北京游龙科技的SiteView对服务器进行监测的功能十分强大。
IPView和SiteView都具有较强的通用性,在国内市场上占有率较高。
网络管理也是国内高校网络研究的热点,目前取得了一些阶段性的成果。
如清华大学的CIMS网络监控管理系统,北京航空航天大学开发的网络管理系统,东南大学的网络管理系统Watcher,以及上海交通大学与日本合作开发的Walker中文版网络管理系统。
1.3TOPOLOGY网管软件的任务与目标
本课题基于SNMP网管协议与通用MIB库,致力于网络拓扑自动发现与生成、为TOPOLOGY通用管理平台开发出主要的网络管理功能模块,并进行网络主机与设备的状态检测,实现网络管理系统。
要求完成如下主要工作:
(1)网络拓扑发现模块的设计与实现,自动发现目标网络的拓扑结构与其包含的设备,为TOPOLOGY提供准确完整的网络拓扑信息。
自动发现网络主干拓扑,确定路由器与路由器,路由器与子网的连接情况;自动发现子网拓扑,确定子网内网络设备的状态;确定子网内网络设备的类型;确定子网内网络设备的网络接口;确定子网络接口的状态。
(2)网络拓扑图生成/布局模块的设计与实现,用于将网络拓扑信息布局到计算机屏幕上,形成网络拓扑图,将路由器与路由器,路由器与子网以及主机与主机的连接情况用图形的方式清晰地显示,要求美观、调整方便灵活。
(3)MIB信息查询模块的设计与实现,完成读取指定网络设备MIB库中信息,为TOPOLOGY用户提供网络管理信息,实现网络主机与设备的状态检测。
由于TOPOLOGY是一款投入实际使用的网管软件,所以本课题特别强调开发成果的通用性、鲁棒性和实时性。
通用性:
主要针对网络拓扑自动发现,具体表现为两方面的通用性:
a、要求能够发现各种类型的设备(如:
路由器、三层交换机、主机等);
b、要求能够发现多个厂商制造的网络设备。
鲁棒性:
按照TOPOLOGY系统规划,本课题所承担的研究开发内容在投入使用后要求能够持续运行不中断,系统要求稳定、可靠性好。
实时性:
网络管理系统一般要求系统尽快反映网络的现时工作情况,本课题也对实时性有相当要求。
TOPOLOGY要求本课题所开发的模块在投入使用后,将拓扑结构及发现到的网络故障信息尽快如实反映在屏幕上。
1.5本论文所作的工作
本文以笔者在研发TOPOLIGY网管软件中所做的工作为基础,围绕MFC框架结构、SNMP协议和MIB库,讨论TOPOLOGY网管软件的研究、设计与实现,详尽阐述了TOPOLOGY网管软件的系统设计,以及它的四大模块——网络拓扑发现、网络拓扑生成与布局、查询MIB、功能模块协调与切换的主要设计思想和实现方法.
TOPOLIGY网管软件由课题组黄逊、徐家燕和吴可旸三人共同完成。
其中,笔者的主要工作为:
1.系统分析、系统设计、界面设计;
2.对网管软件使用和涉及的重要相关MIB库中的项目进行分析、对网管软件与SNMPAgent交互的过程和进行网管软件开发的具体方法进行了详尽的分析;
3.设计了主干网拓扑生成/布局、子网拓扑生成/布局的算法
4.编写了主干网拓扑生成/布局模块、子网拓扑生成/布局模块协调模块、MIB查询、功能模块协调与切换、界面设计等方面的代码,进行了系统测试;
网管软件TOPOLOGY遵循公用MIB规范,做到兼顾普遍性、通用性和实用性,对异构型的多个厂家生产的网络互联设备组成的网络做到了普遍适用。
在传统主网拓扑发现算法的基础上,论文提出两种新的补充算法,使得拓扑更加完整,论文提出的算法具有一定的创新性。
拓扑布局算法采用环型算法与启发式算法相结合,使得布局更加合理,也是该网管软件的一大特色和创新做法。
TOPOLOGY网管软件由项目组三人共同开发,本论文对笔者所作的工作进行了详细的阐述,同时对课题组共同开发的TOPOLOGY网管软件的相关的其它重要部分也进行了必要的讨论。
第二章SNMP、MIB与TOPOLOGY开发环境
TOPOLOGY网管系统基于SNMP、MIB,软件开发平台采用了MSVisualC++6.0,并使用了MFC程序开发框架,在本章中对这些技术背景先作简单介绍。
2.1SNMP
1988年,Internet体系结构委员会(IAB)提出了简单网络管理协议SNMP的第一个版本SNMPV1[8],后来又发表了SNMPV2、SNMPV3。
SNMP是基于TCP/IP协议的各种互联网络的管理标准,由于它满足了人们对通用网络管理标准的需求,而且本身简单明了,实现起来比较容易,占用的系统资源少,所以已成为事实上的工业标准。
OSI网络管理一般采用管理器(Manager)/代理(Agent)的管理模型。
OSI的网络管理组织模型包括以下几个重要的组成部分:
(1)被管对象MO(ManagedObject):
可以用一定的数据表示方法表示,通过网管协议进行管理的被管理对象。
(2)管理进程(ManagerProcess):
通常位于控制台(Console)上,它和代理进程通信,发出管理操作指令,接收来自代理的信息。
(3)代理进程(AgentProcess):
通常位于网关、路由器等被管对象中,监视被管对象的状态,响应管理进程的管理请求、报告被管对象的属性、执行被管对象的操作等。
(4)管理信息库MIB(ManagementInformationBase):
MIB一部分位于Manager上,一部分位于Agent中。
MIB实际上是一个提供被管元素信息的数据库,它由一系列被管对象及其属性、操作、通知、行为等构成,是OSI标准所提出的被管对象的数据表达格式。
在管理过程中,管理员通过控制台(Console)向Manager发出管理请求,通信模块将请求发送给指定的Agent;Agent对被管对象执行相应的管理命令,或获取被管对象的属性值,或操作被管对象;Agent也可以在被管对象出现异常时,主动产生事件报告,通过通信模块发送给Manager,Manager经过处理后在控制台显示。
SNMP的组织模型和OSI标准表述的组织模型基本一致,只是采用的术语有细微的差别。
在组织模型中所涉及的管理构件基本相同,包括Manager、Agent、管理信息库MIB和被管对象。
每一个被管设备需要具备:
1.管理信息库MIB
2.监视、操作MIB的SNMPAgent
2.2SNMP操作和SNMP报文传输
SNMP协议是建立在TCP/IP协议之上的应用层协议,它基于管理器/代理模型,管理器与被管对象之间通过发送SNMP报文来彼此通信。
SNMP的传输报文基于UDP,由三部分组成,如图2-1所示。
图2-1SNMP的传输报文
在版本号部分,描述SNMP协议的版本(SNMPV1,SNMPV2还是SNMPV3);共同体名为Community信息,Community字段的作用类似于SNMPManager和Agent之间的口令,默认的读Community是“public”,默认的读写Community是“private”。
从系统安全性角度,代理可以设置Community参数及相应的访问权限,只读或读写,并要求管理者在发送报文时填写Community。
只有在Community相同且相应访问权限相符的情况下,代理才按报文所规定的操作回送相应的响应报文。
SNMPManager和SNMPAgent之间通过协议数据单元PDU(ProtocolDataUnit)传输管理信息,DataArea部分就是由协议数据单元(PDU)组成,SNMP规定了五种网络管理操作,这五种原语操作分别有对应的PDU,它们是:
(1)GetRequestSNMP管理者从SNMP代理处获取变量值。
(2)GetNextRequestSNMP管理者从SNMP代理处获取下一个变量值。
(3)SetRequestSNMP管理者设置SNMP代理上的某个变量值。
(4)GetResponseSNMP管理者接收来自SNMP代理的应答。
(5)TrapTrap机制使SNMPAgent向SNMPManager报告某个已经设定好的事件的发生。
这5种类型的PDU除Trap之外的4种PDU格式是相同的,共有5个字段,如图2-2和图2-3所示。
图2-2GetRequestPDU,GetNextRequestPDU,SetRequestPDU
图2-3GetResponsePDU
TrapPDU不同于其它4种PDU格式,它有7个字段,如图2-4所示。
图2-4TrapPDU
PDU建立于UDP,每个SNMP报文被封装成一个UDP数据报,并通过IP层发送出去。
管理器从UDP的第161号端口接收除“Trap”以外的所有报文,Trap报文从UDP的第162号端口接收;代理从UDP的第161号端口接收所有报文。
由于SNMP是利用UDP来完成低层数据传输的,所以SNMP不保证数据传输的可靠性。
这种无连接的通信不需维护系统的状态,因而提供了某种程度的健壮性,无论是管理器还是代理的操作都不依赖于对方。
当远程代理失败时,管理器依然能继续工作,当代理恢复后,它能发送一个Trap将状态的改变通知管理器。
此外,SNMP的原语操作具有原子(Atomic)特性,即执行多变量操作时,要么全部执行,要么全不执行,对任何一个变量操作的失败都会导致执行过程的恢复(或称回卷Rollback)。
SNMP在TCP/IP体系中的结构如图2-5所示。
图2-5SNMP在TCP/IP体系中的结构
2.3SNMPV2和SNMPV3
在TCP/IP协议中,网管协议是变化和发展得非常迅速的应用层协议。
在DMI和WBEM等新的网络管理协议、规范出现的同时,SNMP协议本身就经历了V1、V2和V3这三个版本的发展过程。
这一方面说明了网络管理在网络发展、应用过程中的重要性,另一方面说明了网管协议的发展还不够成熟。
对网管协议的发展过程的深入研究有利于我们认识和解决网管协议中存在的某些问题。
2.3.1SNMPV2协议
简单性是SNMPVl标准取得成功的原因之一:
但简单性也正是SNMP缺陷所在,因为这种简单性是有代价的,主要休现在以下几个方面:
(1)在Manager和Agent之间的通信应该有安全性保障,SNMPVl在这方面是通过传输报文中的Community字段加以实现的。
SNMPV1假定在Manager和Agent之间的网络传输是安全的,如果破坏者在Manager和Agent之间对数据包进行截获(Intercept),SNMPV1报文的的一切内容都将是不安全的。
(2)目前的网络中,一般会集成不同厂商的网络产品,网络管理系统也各种各样,而SNMP协议是一种集中式管理模式,它并不支持多个管理程序之间的通信,管理员一般将网络分成几部分,每一个部分使用专用管理站和管理平台。
SNMPVl的这种集中式管理模式不能很好地适应网络的现状。
(3)没有提供成批存取机制,对大块数掘进行存取效率很低。
在SNMPV2被推出之前,在1991年推出了RMONMIB(RemoteNetworkMonitoringMIB),RMONMIB的一个比较明显的优点是它提供了收集、统计网络流量的管理功能,使得SNMP不仅可以管理网络设备,也可以管理网络本身。
针对SNMPVl的不足之处,IAB(InternetActionBoard)于1993年初,推出了SNMPV2(RFC1441-RFC1452)。
SNMPV2除了保持V1原有的简单易于扩展等优点之外,主要在安全机制、完善功能方面进行了改进:
●完善了安全机制;提供了验证机制(Authentication)、加密机制(Privacy)、时间同步机制(SynchronizedTimeStamp)等,以确保通信的安全。
●继承原有的集中式管理,同时支持分布式管理策略(DistributedManagementStrategy)。
网络中存在着一个主管理者,网络可以被逻辑上分割成几部分,每个部分由一个管理者管理,各部分的管理者可以直接处理管理代理的网络事件,也可以向主管理者报告。
●提供了一次获取成组数据的能力,效率大大提高:
这是通过提供一条操作原语GetBulkRequest实现的,GetBulkRequest实际上类似于GetNextRequest,只不过它获取的是“下面多个”变量的值。
另外在前面提到的MIB—II也较MIB—I增加了两个组,对象数量也从114个增加到185个,使MIB—II对被管对象的表示能力大大增加。
2.3.2SNMPV3协议
导致产生SNMPV2的一个主要原因是对安全性的要求,但是SNMPV2并没能很好地完成安全性方面的工作。
在SNMPV2原形系统的实现过程中发现它比人们原先预想的要复杂得多,失去了“简单性”的特点。
当开发计划的结束时间到来时,IETF(InternetEnUnerringTaskForce)只好把几乎所有与安全相关的内容从SNMPV2中去掉,从而形成现在看到的最终的SNMPV2草案标准,即RFC19XX系列。
SNMPV2中最初没有报文的定义,后来又出现了SNMPV2C(Community-basedSNMPV2)作为SNMPV2的补充,它增加了V2的报文定义,但与V1的报文非常类似。
SNMPV2的开发最终还是失败了,IETF解散SNMPV2工作组,决定把工作留给SNMPNG(NextGeneration)即现在的SNMPV3去做。
SNMPV3在1993年成为提案标准(ProposedStandard,RFC14XX系列)。