首页 基于SNMP的网络拓扑结构发现

基于SNMP的网络拓扑结构发现

举报
开通vip

基于SNMP的网络拓扑结构发现基于SNMP的网络拓扑结构发现 题 目 基于SNMP的网络拓扑结构发现 学院名称 计算机科学与技术学院 指导教师 谭 敏 生 职 称 教 授 班 级 2004级3班 学 号 20044440335 学生姓名 刘 祺 2008年5月29日 南华大学计算机学院毕业论文 目 录 摘 要 ........................................ iii Abstract ...................................... iv 第一章 绪 论 ..........

基于SNMP的网络拓扑结构发现
基于SNMP的网络拓扑结构发现 题 目 基于SNMP的网络拓扑结构发现 学院名称 计算机科学与技术学院 指导教师 谭 敏 生 职 称 教 授 班 级 2004级3班 学 号 20044440335 学生姓名 刘 祺 2008年5月29日 南华大学计算机学院毕业 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 目 录 摘 要 ........................................ iii Abstract ...................................... iv 第一章 绪 论 ................................... 1 1.1 课题背景及意义 .......................................... 1 1.2 本文的研究目标及文章组织 ................................ 2 1.2.1 研究目标 ........................................ 2 1.2.2 文章组织 ........................................... 3 第二章 网络拓扑发现概述 ........................ 4 2.1网络拓扑发现概述 ......................................... 4 2.1.1网络拓扑发现概念 ................................... 4 2.1.2网络拓扑发现对象 ................................... 4 2.1.3网络拓扑发现前的准备工作 ........................... 4 2.1.4常用的网络拓扑发现技术 ............................. 5 2.2 SNMP 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 介绍 ............................................ 8 2.2.1 SNMP的发展 ........................................ 8 2.2.2 SNMP的协议层次 .................................... 9 2.2.3 SNMP管理模型 ...................................... 9 2.2.4 SNMP协议报文和通信原语 ........................... 11 2.2.5 使用SNMP协议时所涉及的内容 ...................... 13 第三章 网络拓扑发现算法的研究 .................. 18 3.1 基本算法 ............................................... 18 3.2 基于ARP和SNMP的拓扑发现算法 .......................... 19 3.3 使用DNS区域传输和广播Ping的拓扑发现算法 .............. 20 3.4 使用DNS区域传输和Traceroute的拓扑发现算法 ............ 21 3.5 使用Traceroute进行探测的拓扑发现算法 .................. 22 3.6 基于OSPF和SNMP的拓扑发现算法 ......................... 24 第 i 页 南华大学计算机学院毕业论文 3.7 骨干网拓扑发现算法 ..................................... 25 第四章 基于SNMP的网络拓扑发现算法的实现 ....... 27 4.1算法的原理 .............................................. 27 4.2 算法描述 ............................................... 31 4.2.1 算法中用到的MIB组 ................................ 31 4.2.2 网络拓扑发现的流程 ................................ 33 4.2.3 网络拓扑发现算法的实现 ............................ 35 第五章 基于Java技术的网络拓扑结构生成 ......... 38 5.1 基于Web和Java可视化的研究 ............................ 38 5.1.1 层次型的可视化结构 ................................ 39 5.1.2 Java Applet在系统中的应用 ........................ 39 5.2 数据库的设计 ........................................... 40 5.3 拓扑结构可视化的实现 ................................... 43 5.3.1 Java Applet的实现 ................................ 43 5.3.2 可视化模块的实现 .................................. 44 5.3.3 对数据库的访问 .................................... 47 5.3.4 结果展示 .......................................... 48 第六章 总结与展望 ............................. 50 6.1 总结 ................................................... 50 6.2 展望 ................................................... 50 参考文献 ...................................... 51 致 谢 ......................................... 53 第 ii 页 南华大学计算机学院毕业论文 基于SNMP的网络拓扑结构生成 刘 祺 南华大学计算机学院2004级3班 摘要:随着计算机网络技术的发展和INTERNET在全世界范围内的普及~计算机网络的规模变得日益庞大~网络结构也十分复杂~这使得人们对网络管理的需求越来越迫切。网络拓扑发现技术是网络管理中的一项基本功能。正确的网络拓扑信息和直观的网络拓扑图能够直接有效地为网络管理人员提供整体性的网络结构和状态。如何快速、准确地获取网络拓扑信息是当今各网络机构共同关注的问题。本文就是研究网络拓扑发现技术和构造网络拓扑图的技术。 本文首先阐述网络拓扑发现的相关概念和原理~介绍了常用的可被用来进行网络拓扑发现的技术~并从负载、速度、准确性和使用范围等几个方面对各种技术进行了分析和比较~得出以基于SNMP协议的网络拓扑发现技术速度最快~使用范围也最广泛。利用SNMP协议分析MIB库中的路由表、接口表等有关变量,从而得到网络拓扑图的有关信息。最后~以JAVA为工具.构造网络拓扑图。 关键词:SNMP,MIB,Java,网络拓扑发现,网络拓扑发现算法 第 iii 页 南华大学计算机学院毕业论文 Abstract: With the development of the technology of computer networks and the worldwide popularity of internet,the scale of computer networks is getting bulky and the structure of network is becoming more complex. Therefore client’s demand of Network Management becomes more urgent. Topology discovery is a kind of important function of the network management. Correct topology information can provide the whole network structure and states to network administrator directly and effectively. It is a common issue for those net work institutes to discover and obtain network topology information quickly and accurately. The purpose of this thesis is to study the technique of topology discovery, then improve on the question of algorithms and implement an accurate and effective topology information discovery module. This paper introduces the related knowledge, concept and commonly-used technology about network topology discovery and makes an analysis and synthetic comparison among them from the subject of load, speed, accuracy and applied scope, the algorithm of network topology discovery based on SNMP is the most fast and widely applied. The method uses some M IB variables such as ipRouting table and interface table to analyze the network topology. At last, using java as tool construct network topology map. Key Words:SNMP; MIB; Java; Network Topology Discovery; Algorithm of Topology Discovery 第 iv 页 南华大学计算机学院毕业论文 第一章 绪 论 1.1 课题背景及意义 随着计算机及通讯技术的飞速发展,计算机网络已经渗透到社会经济生活的各个方面,对社会进步与经济发展起着越来越重要的作用,也使人们的工作甚至生活方式发生了巨大的变革。网络规模的激增,网络复杂性和异构性的焦点化,使得网络管理问题上升到了网络建设的战略性位置。网络管理,就是监视、组织和控制网络通信服务和信息处理所必需的各种活动的总称,确保网络长时间、正常的运行,并当其出现故障的时候尽快的发现、修复故障,使其最大限度的发挥其应有的效益[1]。 在当今的信息化社会里,计算机网络的稳定和可靠运行可以说己经成为我们生活的一个基本保障。一个完善的网络管理系统是计算机网络能够可靠和稳定运行的保证,也是进行网络性能分析、网络配置和安全管理等的依据。 网络故障是影响网络性能的重要因素,网管软件应能对发生问题的网络进行故障检测、定位和诊断分析,然后向系统网络管理员提交网络故障分析 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 ,以便解决问题,提高网络可用性及服务质量。早期的网管系统大多采用命令行方式,这严重影响网管软件的可操作性,而现代网管软件通常都采用图形用户界面进行操作。网络拓扑的自动发现是实现网络拓扑图形显示的技术关键,而路径搜索是故障定位的重要内容。 所谓拓扑发现(Topology Discovery)是指发现网络元素并确定网络元素之间的互连关系,包括互连设备(如路由器、网桥、交换机等)、主机和子网。拓扑发现作为配置管理和失效管理中的一项重要功能,是网络管理的一个重要组成部分。拓扑发现同时也是衡量一个商业网络管理系统成败的重要尺度,在整个网络管理系统的开发中占有相当重要的地位。本论文的重点之一就是研究适合于中小型网络(如:校园网)的拓扑自动发现算法。 第 1 页 共 58 页 南华大学计算机学院毕业论文 网络拓扑图(Network Topology Map)是拓扑结构的可视化表现形式,拓扑发现生成的网络拓扑图可以帮助网络管理员掌握网络拓扑结构,迅速定位失效地点,确定失效影响的范围,还可以成为拾取网络元素并调用其它管理功能模块的共同出发点。随着WWW的出现,基于Web技术的网络管理成为网络管理的一种新的趋势,它使网络管理不再需要地理位置、具体平台和专业技能等要求,从而给网络管理带来许多方便。 目前,在网络管理标准中,主要有两大网络管理体系:ISO的CMIS/CMIP(公共管理信息服务及协议)和IETF的SNMP(简单网络管理协议),它们从不同的技术观点来看待网络管理问题。其中CMIP庞大、复杂,是一个大而全的协议,难以理解、不易实现,且使用时CMIP的资源占用量是SNMP的数十倍,所以并没有得到工业界的广泛支持[l];而IETF的SNMP设计简单、易于实现,所以一经提出就得到了工业界的广泛响应,许多公司相继推出了基于SNMP协议标准的网络管理系统和产品,如SUN公司的SunNetManager,HP的OpenView,IBM的NetView/6000等等。本文所研究实现的网络拓扑发现算法也是建立在SNMP协议基础上的。 1.2 本文的研究目标及文章组织 1.2.1 研究目标 上面一节中已经说到在网络管理软件中,构造网络拓扑是一个重要功能,能否提供一个直观、全面的网络拓扑结构是网络管理的关键,在网络拓扑的构成过程中,会涉及这样几个问题: (1) 在实际网络系统中会涉及到不同的设备平台,彼此之间有不同的信息表示格式,如何通过一个较为通用的接口获取设备的拓扑信息; (2)需要哪些信息能够反映设备的连接状态; (3) 如何对获取到的拓扑信息进行进一步的处理,以直观的形式展现给用户。 在目前网络运行中, SNMP (简单网络管理协议) 得到了极为广泛的应用,主要的设备都能够支持该协议,同时该协议提供了极为丰富的MIB (管理信息库) 变量供网络管理使用。因此SNMP 成为获取网络信息的重要方式。 第 2 页 南华大学计算机学院毕业论文 图1.1 设计框架 如图1.1所示,本文的研究目标是开发一个通过基于SNMP协议的网络拓扑发现算法来获取路由信息,对采集后信息进行分析后,利用java技术在web的环境中进行网络拓扑结构(网络拓扑图)生成的系统。 1.2.2 文章组织 本文首先在第二章中对网络拓扑发现的一些常用技术进行了简介,并着重介绍了SNMP协议的相关内容,第三章研究了基于不同协议的网络拓扑发现算法,第四章中介绍本系统的拓扑发现算法和实现技术,第5章介绍了网络拓扑结构生成的实现。 第 3 页 南华大学计算机学院毕业论文 第二章 网络拓扑发现概述 确定个规模较大且经常变化的网络拓扑结构是很困难的,但准确的拓扑信息在网络管理方面起着很重要的作用,通过网络拓扑信息我们可以判断当前设备的配置是否合理,同时它也为网络故障的排除提供了重要的依据。 2.1网络拓扑发现概述 2.1.1网络拓扑发现概念 网络拓扑发现就是探测网络拓扑机构信息,形象地描述网络设备间的互连关系。网络拓扑可表示为一张无向图G=(N,E),其中N是节点集,表示网络中的互连设备,有时候也可能是由这些设备组成的子网甚至是一个自治系统(Autonomous System);E是边集,表示这些设备或者网络之间的连接关系[7]。 2.1.2网络拓扑发现对象 拓扑发现的对象分为两种,一种是设备的发现,包括:子网、路由器、交换机、主机、接口等,甚至网络本身也是发现对象;另一种是发现网络元素之间的物理布局与互连关系,其中包括路由器和路由器的连接、路由器和子网的连接、路由器和交换机的连接等。设备本身的互连关系构成了拓扑发现的所有内容。 2.1.3网络拓扑发现前的准备工作 网络拓扑发现需要明确的问题有几个方面: 第一,需要确定拓扑发现要针对网络层次的哪一层。只有明确了网络的层次,才能明确到底什么样的信息需要采集,才能使算法有较好的适应性。 第 4 页 南华大学计算机学院毕业论文 第二,确定采用的是被动监测技术还是主动监测技术来采集网络拓扑信息。被动监测技术即在所有观测的网络中都加入一个探测器,其优点是仅向网络管理主机递交各个网络的拓扑信息,无额外流量,负担小,但花费时间长。对大型网络来说,将探测器安装到所涉及的各个网络中并不实际。主动监测技术即网络管理主机向所有管理网络发探测包,采集返回信息,优点是速度快,缺点是产生流量大,对低速网络不太合适。 第三,确定用何种方式收集信息。对于收集信息的方式,一种是采用网络管理信息协议来收集网络的信息,另一种是采用一种通用的协议来实现对于网络信息进行采集,利用ICMP、DNS等协议向网络上的设备发送消息包/接收消息包来获取网络拓扑信息,并且在对已有信息进行分析以及处理的基础上进一步获取更多的信息,从而可以收集到整个网络的拓扑信息。 2.1.4常用的网络拓扑发现技术 1)Ping Ping是用于IP网络的最早的工具之一,用它来检查一个节点是否启动并运行以及测量它的往返时间,通常关联到源主机和目的主机[3]。这意味着我们能够使它来发现忽略下层网络的信息,在某些情况下这是理想的结果。例如当我们想要测量在几对节点之间通信的性能而不关心网络的其他部分时。Ping工具主要用于检测目的主机是否在网络中存活,Ping一个存活的主机回应的时间一般为微妙级或毫秒级,对一个关机的主机或不存在的主机,回应时间为205,这样就影响了ping的效率。 另一个使用ping的途径是定向的广播ping。这意味着所发送的目的地址为一个子网的广播地址,这个子网的所有节点必须对这个广播ping进行相应。这样有助于快速发现子网内所有的主机(通过保存对Ping做出回应的所有节点的IP地址)。但当前的网络中我们不能使用Ping的广播特性,因为这个特性是网络的一个安全漏洞,它可能被拒绝服务攻击所利用。 2)Traceroute 第 5 页 南华大学计算机学院毕业论文 由Van Jacobson编写的TraceRoute程序是一个能更深入探索TCP/IP协议的方便可用的工具。尽管不能保证从源端发往目的端的两份连续的IP数据报具有相同的路由,但是大多数情况下是这样的。TraceRoute程序可以让我们看到IP数据报从一台主机到另一台主机所经过的路由。TraceRoute程序还可以让我们使用IP源路由选项。 TraceRoute程序使用ICMP报文和IP首部中的ITL字段(生存周期)。其原理如下:开始时,源主机将IP报文的TTL值设置为1,发送至目的主机,第一个路由器收到此报文后,将TTL值减1,丢弃此报文,并发送一个超时的ICMP报文给源主机,信源接收到此报文后,解析出第一个路由器的地址。然后,源主机将TTL为2的报文发送给目的主机,第一个路由器把它的TTL值减1后转发给第二个路由器,第二个路由器收到后再减1,报文TTL值变为0,该路由器丢弃此报文,并发送一个类型为超时的ICMP报文给源主机。这样就得到了第二个路由器的地址。如此循环下去,直至报文正确到达,源主机得到了通往目的主机的路由。通过Traceroute还能得到从源主机到这条路径上任何一个节点的往返延时。Traccroute和Ping都有当目的节点不存在时时间延迟较大的缺点。并且当路径上的路由器对源节点发送的包不相应时,traceroute可能产生错误的结果。 3)SNMP 随着Internet的迅速发展,作为Internet标准的TCP/IP协议也在发展。TCP/IP技术是连接异构网络的有效工具,目前己经成为事实上的标准,这样基于TCP/IP的SNMP由于易于实现,也成了网络管理事实上的标准。每个设备的MIB中存储了设备所运行的进程、表现方式和可以读取的一切信息。利用SNMP协议,可以获得所需的设备信息,根据这些信息来构造网络拓扑关系。笔者将在后面对该协议进行详细的介绍。 4)DNS 一个域的域名服务器(DNS)维持该域内的每个名字到其IP地址的绑定。大多数域名服务器通过“区域传输”命令返回该域内名字的列表。由此理论上DNS的域转换可以发现域内的所有主机和服务器。这种技术快速、准确、开销小。但是发现不准确,因为用DHCP获取IP地址的主机并没有DNS服务,而且,有的网络因为安全原因关闭了DNS域转换服务[1]。 第 6 页 南华大学计算机学院毕业论文 5)ARP 地址解析协议(ARP)在IP地址和物理地址之间做映射。ARP协议是一个基础协议,它的运行对于应用程序或系统管理员来说一般是透明的[9]。有以下优点:第,ARP是动态的。之所以称为动态的是因为这个过程是自动完成的,一般应用程序用户或系统管理员不必关心。第二,ARP是一个标准并且对每个支持TCP/IP的设备都可用,与链路协议无关。第三,ARP可用于IP子网,提供在一个路由Intemet中设备间通信非常简单的方法。 6)其它技术 , 路由信息协议(RIP) RIP协议是一种距离向量路由协议,它要求路由器每个节点存放到各个目标节点的距离。距离指到达目标节点所经过的跳数。RIP要求所有或部分路由器侮隔30秒向相邻路由器发送自己完整的路由表,同时接收其他相邻路由器发送来的路由表项更新报文,将其距离值与其本身的路由表进行比较更新。每个路由表项设定相应的定时器,若在六个路由器广播周期内没有收到该路由表项的更新报文,则认为该路由表项失败,并在240秒后将其从路由表中删除。 利用RIP协议,可以从路由器设备中提取通过该设备的所有IP地址或IP子网的路由信息表,构造出拓扑信息连接表,但RIP没有子网地址的概念,没有端口级的拓扑连接信息[3]。并且要求所有的路由器支持RIP协议。 , 开放最短路径优先(OSPF)协议 OSPF是除RIP外的另一个内部网关协议,运行在一个自治系统中,与采用距离向量的RIP协议不同的是,OSPF是一个链路状态协议。距离向量的意思是 RIP发送的报文包含一个距离向量(跳数)。每个路由器根据它所接收到邻站的这些距离向量来更新自己的路由表。在一个链路状态协议中,路由器并不与其临站交换距离信息。它采用的是每个路由器主动地测试与其邻站相连链路的状态,将这些信息发送给它的其他邻站,而邻站将这些信息在自治系统中传播出去,每个路由器接收这些链路状态信息,并建立起完整的路由表[6]。 通过访问自治系统每个区域中某个路由器相关的OSPF路由表信息,可以构造整个自治系统的网络拓扑图。 第 7 页 南华大学计算机学院毕业论文 对以上网络拓扑发现的各种技术的分析比较如下表2.1,从这张表中可以看出,网络拓扑发现的各种技术各有利弊。 表2.1各种拓扑发现技术的比较 Ping Traceroute SNMP DNS ARP OSRF RIP 所有网络多数网络少数网络所有网络少数网络适用性 所有网络域 域 域 域 域 域 网络负 低 高 低 低 低 低 载 速度 慢 慢 快 快 快 快 准确性 较准确 较准确 较准确 较准确 较准确 准确 2.2 SNMP协议介绍 由于本论文是基于SNMP协议下的,所以笔者在这里着重的介绍一下SNMP。 SNMP(简单网络管理协议)是目前最流行的一个网络管理协议。作为应用层上的协议,它主要通过一组Internet协议及其所依附的资源提供网络管理服务。利用SNMP管理工作站可以远程管理所有支持这种SNMP的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。 2.2.1 SNMP的发展 SNMP在1989年作为基于TCP/IP互联网的一个标准而被广为接收和采用。1991年发布了SNMp的一个补充RMON(Remote Network Monitoring:远程网络监控)。RMON扩充了SNMP的功能,包括对LAN的管理以及对依附于这些网络的设备的管理。1993年,SNMP的改进版SNMPv2开始发布,自此,原来的SNMP便被称为SNMPvl。最初的SNMPv2最大的特色是增加了安全特性,因此被称为安全版的SNMPvl。但不幸的是,经过儿年试用,SNMPv2并没有得到厂商和用户的积极响应,并且也发现自身还存在一些严重缺陷,因此,在1996年正式发布的SNMPv2中,安全特性被删除了。这样,SNMPv2对SNMPvl的改进程度便受到了很大的削 第 8 页 南华大学计算机学院毕业论文 弱。总的来讲,SNMPv2对SNMPvl的改进主要包括以下三个方面:支持分布式管理、改进的管理信息结构(SMI)和增强了管理信息通信协议的能力。最后,在1998年发布了SNMPv3,它定义了SNMP的安全性以及将来改进的总体结构,在SNMPv3介绍文档中对SNMPv3的表述为:SNMPv3等于SNMPv2加上安全和管理。SNMPv3预定于SNMPv2一起使用,但也可以和SNMPv1一起使用[1]。 2.2.2 SNMP的协议层次 简单网络管理协议(SNMP)是一个应用层的协议,它用于实现网络设备之间管理信息的交换。使用SNMP来访问网络设备的MIB数据库,网络管理员可以迅速 发现影响网络性能的问题并解决问题[1]。 SNMP工作于UDP协议之上,因此使用它在主机间通讯时无需先建立连接。这种方法降低了系统开销,但对报文到达的正确性不做保证。 SNMP将管理问题分为两个部分,并为每个部分定义了标准。第一部分是有关信息通信规则的,协议定义了管理机上的客户软件如何与代理通信,同时定义了管理机与代理交换消息的格式和含义以及名字与地址的形式。第二部分有关被管理的数据,协议定义网络设备必须保存的数据项和每个数据项的名字以及用于表示名字的语法。 2.2.3 SNMP管理模型 SNMP的网络管理模型如图2.1所示,包括四个关键元素[1]: 第 9 页 南华大学计算机学院毕业论文 图2.1 SNMP管理模型 l)管理工作站:一般是一个单机设备或者是一个共享网络中的一员。无论是哪种情况,管理站都是管理者作为网络管理员与网络管理系统的接口。 2)管理代理:当前主流路由器、交换机等设备现在都支持SNMP操作,即对来自管理站的SNMP信息查询和请求做出响应,同时还可能异步的通过Trap操作主动向管理站提供一些重要的非请求信息。 3)管理信息库:描述了所有可以由SNMP管理的信息的集合,其中每个信息元素都称为一个对象。任何支持SNMP协议的代理都应该能够对MIB中定义的对象的信息的查询做出响应,任何使用SNMP协议的网络管理站也都应该知道它能够从代理那里得到的信息都在MIB定义的范围内。 4)网络管理协议:管理站和代理之间是通过SNMP网络管理协议连接的,SNMP协议是一个应用层协议,使用网络层提供的UDP传输服务来传递消息、,标准的代理监听端口为161。当一个网管应用要求得到代理端的信息的时候,它就向SNMP核心进程提出这个请求,核心进程从本地的MIB中得到所需的对象的信息,然后构造SNMP请求报文,最后将此报文使用UDP协议发送到代理进程的161端口上。代理进程在收到这个请求后,访问其本地的MIB库以取出管理站所需信息, 第 10 页 南华大学计算机学院毕业论文 然后构造SNMP响应报文,最后使用UDP协议将此报文发送给管理站。管理站的SNMP核心进程再将得到的信息传递给管理站上的网管应用就完成了一次信息交换。 2.2.4 SNMP协议报文和通信原语 1)SNMP协议报文 (l)SNMP协议的报文格式如下[1]: 图2.2 SNMP报文格式 (2)一个SNMP实体传递一个报文给另一个SNMP实体的过程: 首先,利用上面的格式,构造一个PDU。 其次,连同源地址、目的地址和共同体名,将该PDU传给认证服务,由认证服务进行必要的数据转换,然后返回结果。 再次,协议实体构造一个SNMP报文,包括一个版本号、共同体名和由认证服务返回的结果。 最后,用基本编码规则,为报文进行编码,并将编码结构传给传输服务。 一个SNMP实体在接收SNMP报文时的过程: (3) 首先,对报文进行基本语法检查,如果解析错误,就抛弃该报文。 其次,验证SNMP版本号,如果不匹配,就抛弃报文。 第 11 页 南华大学计算机学院毕业论文 最后,协议实体将用户名字、源地址、目的地址和报文中的PDU部分传给认证服务:如果失败,认证服务给SNMP协议实体发信号,指示它产生一个SNMP Trap报文以及抛弃该报文。 2)变量绑定 当管理站想要得到一个特定代理的特定MIB组中的所有标量对象信息时,它 可以发送一个请求所有标量的报文,并且得到一个包含所有值的响应。这样可以减轻网络管理的通信负担。为了实现上述的对象交换,所有的SNMPPDU都包括一个变量绑定的域。这个域由一系列对象实例标识符和这些对象实例的值组成。 3)通信原语 SNMP定义了5种通信原语实现管理进程和代理进程之间的交互信息,它们分别是[1]:(l)Get-request原语:get- request PDU由网络管理站的SNMP实体发出。它包括的域山前血的报文格式中给出。PDU类型说明这是get-request PDU。Request-id是发送实体为每个请求分配一个编号,用以标识同一代理的多个未完成的请求,variable-binding是经过2)操作的被请求的对象实例列表。管理代理的SNMP实体在接收一个Get-request PDU后,通过返回一个get-response PUD作为响应。如果代理的SNMP实体能够为收到的PDU中变量绑定列表的所有变量提供值,则get-response PDU为变量绑定域中每个变量赋一个值。如果其中任何一个变量的不能得到,则所有变量的值均不返回。 (2)Get-next-request原语:与get-request操作有相同的数据格式和相同的数据交换模式。它们的操作都是原子同步方式,即要么所有的请求值都被返回,要么一个也不返回。不同之处是:get-request PDU的变量绑定列表中的每个变量指的是将要被返回的对象实例,而对于get-next-request PDU,每个变量将要返回的是按字典排序的下一个对象实例的值。Get-next-request PDU的工作模式使得管理站可以动态发现一个MIB视图的结构,同时也为检索一个未知的表提供了有效的方法。这时,代理返回的是列表中每个对象标识的按字典排序的下一个对象实例的值。 (3)Set-request原语:由管理进程发出,请求设置进程中一个或多个变量的值。 第 12 页 南华大学计算机学院毕业论文 (4)Get-response原语:由代理进程发出的,向管理进程返回的一个或多个变量的值,它是set-request操作的相应。 (5)Trap原语:代理进程主动发出的报文,通知管理进程有某事发生。 2.2.5 使用SNMP协议时所涉及的内容 2.2.5.1管理信息库MIB 管理信息库MIB(Management Information Base)是网络管理系统中所有被管理元素信息的数据库[23]。数据库中的元素是网管中的被管资源,且被管资源以对象来表示,每个对象表示被管资源某一方面的属性。通过对这些对象的存取访问,就可以得到网络设备的所有静态或动态内容,涵盖网络性能、配置、路由和故障等各个方面。每个对象又包含若干信息变量,每个信息变量包含如下信息:变量名、变量的数据类型、变量的读写属性、变量的值。 l)MIB的数据结构 MIB是一个树形结构的数据库,树中的每个节点都是一个对象,MIB就是由一系列的对象组成,如下图所示: 第 13 页 南华大学计算机学院毕业论文 Root Ccitt(0) ISO(1) ISO-joint-Ccitt(2) org(3) dod(6) Intemet(l)1.3.6.1 Diretory(1) Mgmt(2) Experimental(3) Private(4) MIB-? 1.3.6.2.1 Enterprises(1) system(1) Interface(2) at(3) ip(4) icmp(5) tcp(6) udp(7) egp(8) 图2.3 MIB的树型结构 ROOT为MIB树的根节点,它有三个子树: ISO(1):由ISO管理。 CCITT(0):由CCITT管理。 ISO-joint-CCITT(2):由150和CCITT共同管理。 在ISO(l)节点下由一些其它的子树,其中0rg(3)是ISO为其他组织定义的 子树。在org(3)子树下,一个值得引起注意的特殊节点是dod(6),该节点被分 配给了美国国防部使用。dod(6)节点下的一个子树internet(l)分配给Internet 体系结构委员会来管理。 在internet(1)节点下包括了四棵子树: (l)directory(1)子树 第 14 页 南华大学计算机学院毕业论文 该子树保留给051 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 服务,以备将来使用。 (2)mgmt(2)子树 该子树用于那些在IAB( Internet体系结构委员会)所批准认可的管理信息库的定义,目前有两个版本:MIB-I和MIB-?。由于在任何配置中都只能有一个MIB存在,因此两个版本的MIB提供相同的对象标识符。现在使用的大多是MIB-?。 Mgmt(2)子树的MIB(2)子树下定义了目前使用最广泛的各种对象,一般称它们“组”。在它下面定义的组分别为: , System组:提供被管理设备的总体信息。 , Interfaces组:提供网络实体的物理层接口的信息,包括配置信息和 每个接口上发生的事件的统计信息。 , IP组:提供了一个网络节点中有关IP实现和操作的信息。在网络管 理系统中使用非常广泛。 , At组:设备的地址转换信息,在MIB-?下,该组内容在IP组中。 , ICMP组:包括了有关ICMP的实现和操作的信息。保存了对各种类型 的ICMP信息的接受和发送的统计结果。 , TCP组:主要用于对流量控制、丢失重传和网络拥挤等问题的解决。 , UDP组:提供有关UDP发送和接收的数据包信息。 , EGP组:由有关实体的EGP信息和一个记录每个EGP邻居信息的表组 成。 , SNMP组:包括有关SNMP实现和操作的信息。 (3)experimental(3)子树 该子树下包含了在Internet试验中使用的对象。 (4)private(4)子树 该子树用来指定用户扩展定义的对象。网络管理系统访问最多的部分是该子树下的enterprises(l)节点。该节点下的每个子树分配给一个企业,而企业必须先向认B登记注册它们自己的厂商代码,然后就可以在该代码下创建它们自己的对象。 2)从代理获得MIB变量的实现 第 15 页 南华大学计算机学院毕业论文 为了对MIB对象有更深的了解,这里对MIB变量获取的过程进行简单介绍。 代理作为服务器方,后台运行着一个等待进程,这个进程不断等待来自网络管理者的服务请求,当收到来自代理的请求时,经过语法分析、消息认证等过程后,从自己的MIB库中得到管理者所请求的MIB变量的值,最后取出相应的应答。从代理获取MIB变量要经过如下几步: (l)建立管理者和代理之间的连接 首先,作为客户方的管理者要主动和服务方的网络代理建立通信机制,因为SNMP是基于无连接的用户数据报协议(UDP),所以这里使用无连接的数据报层。首先构造Socket,然后使用bind系统调用进行地址绑定是用来给已建立的socket分配任一地址和端口号。把internet地址设为INADDR-ANY,系统将会在可选择的本机地址中选择一个可用的地址进行绑定。绑定后,就可以利用此套接口进行通信了。 (2)构造协议数据单元(PDU) SNMP消息是通过SNMPPDU来传送的,所以在发送SNMP消息之前必须构造协议数据单元(PDU)。根据用户的输入信息,构造一个PDU数据结构,构造一个可以用来传送信息的PDU,将所请求的对象放入变量绑定列表,并将变量绑定加入到PDU中。 (3)协议数据单元构造好后,发送请求。Send to系统调用将获取目的地址并发送报文。 (4)接受代理的响应。 (5)读取数据。 2.2.5.2 SNMP API 基于SNMP的网络拓扑发现的基础就是利用SNMP协议向网络设备发送 SNMP get请求,因此实现SNMP协议就成为整个系统实现的关键一步。我们可以利用许多公司提供的SNMP的开发工具包 (SNMP API)来开发网络拓扑发现的相应程)子。 第 16 页 南华大学计算机学院毕业论文 目前比较流行的SNMP的开发工具包就是CMU大学的UCD-Snmp[18],Hp公司的Snmp++[19],Advent公司的Jsnmp[20]和Microsoft公司的winSNMP,它们各有优缺点。这里笔者就不一一介绍了。 第 17 页 南华大学计算机学院毕业论文 第三章 网络拓扑发现算法的研究 这里笔者将讨论和分析几种主要拓扑发现的算法,它们将上一章中介绍的几种网络拓扑基本技术组合在了一起。笔者觉得通过对这些算法的介绍,能够扩充读者的思路,以便比较各个网络拓扑发现的算法的优缺点。 3.1 基本算法 本论文讨论的拓扑发现算法是在下述算法的基础上扩展完成的,该算法的描述如下: 1、确定一个IP地址的“临时”集合,这些IP地址对应着存在或不存在的主机和路由器。 2、对集合里的每一个元素,作如下处理: a、验证这个IP地址是否可达; b、如果可达,将此地址不重复的加入到“永久”集合中; c、一用这个地址产生更多的IP地址,并把这些新产生的地址加入到临时集合中。 对基本算法的一些说明: 1、算法中存在两个集合,分别为临时集合和永久集合。临时集合中存放着等待被访问的IP地址,这些地址也许并不存在。永久集合中存放着实际存在并可达的IP地址。在下面具体算法的初始状态下,临时集合被设置成不同的初始值(详见具体算法),而永久集合通常为空集。 2、拓扑发现算法的一个重要思想是通过某个己知的IP地址来获取更多的IP地址,以此不断的扩大拓扑发现的地址范围。在具体的各种算法中,利用临时集合中的某个可达地址产生更多IP地址的方法各不相同,下面儿个小节将详细介绍这些方法,这里只是做一个笼统的概括。 第 18 页 南华大学计算机学院毕业论文 3、当算法完成以后,拓扑发现的结果由路由器连接关系、路由器和子网连接关系、子网、主机四个队列表示出来。队列中的每一项都含有一些附加的信息,如:主机名称、路由器的接口、数量和类型等等。这些信息被存储在文件或数据库中。接下来将讨论在这个算法基础上产生的一系列具体算法。 3.2 基于ARP和SNMP的拓扑发现算法 这是一个最简单的算法,它假设域中所有主机都运行SNMP。这种算法首先获得起始主机的缺省路由器,然后通过发出SNMP请求报文来访问该路由器的路由表和ARP(地址解析协议)表,分别得到与之相邻的路由器和主机,接着算法循环遍历所有的路由器和主机直到遇到一个指定域之外的主机为止[9]。具体算法描述如下: 1、初始化临时集合和永久集合,临时集合={起始路由器},永久集合为空集; 2、对临时集合里的每一个路由器,作如下处理: a、ping该路由器; b、如果路由器处于活动状态,将它加入到永久集合中; c、用SNMP方法获取路由器的ARP地址表,并把地址表中的主机加入土机队列: d、将主机列表加入到永久集合中; e、用SNMP方法获取路由器的路由表,并把路由表中的路由器加入路由器队列; f、将路由器列表加入到永久集合中; 、将路由器列表加入到临时集合中。 g 这种算法的优点是它的速度非常快,其缺点是它无法检测到没有运行SNMP的主机或路由器,因此它能发现到的主机和路由器数目与实际情况可能相差较大。根据[4]的测试,在comell.edu域中,这种算法只能发现10%的路由器和92%的主机。 第 19 页 南华大学计算机学院毕业论文 3.3 使用DNS区域传输和广播Ping的拓扑发现算法 这种算法假定域能够执行DNS区域传输和广播Ping。它首先通过发送DNS区域传输报文得到域中所有主机和路由器的列表,然后使用Ping来确定这些主机是否可达,并通过子网猜测算法来确定每个子网的网络标识,最后为了得到在DNS区域传输中没有发现的节点,算法直接向通过上一步所发现的子网发送广播Ping,并将发回响应的节点添加入主机列表[4]。具体算法描述如下: 1、初始化临时集合和永久集合,临时集合={通过DNS传输,报文得的域主机和路由器},永久集合为空集; 2、临时集合里的每一个节点,作如下处理: a、ping该节点; b、如果节点活着,将它加入到永久集合中,否则读取下一个节点; c、通过子网猜测算法来确定该节点所在子网的网络标识; d、将子网加入到永久集合中; e、如果该子网没有访问过,在它内部发送广播Ping报文; f、对做出回应的主机作如下处理: 将该主机加入子网队列中; 将该主机加入临时集合 这种算法的基础是子网猜测。子网猜测的目的是确定某一个IP地址所在子网的网络标识,也就是子网掩码。本节所描述的算法中运用的子网猜测使用了广播Ping这个工具。该算法的思想是:首先将某一IP地址对应得子网掩码长度设置为最大值31:然后根据这个IP地址和假设的子网掩码构造‘0’和‘255’的定向广播地址,并发送Ping报文;如果有两个以上的的主机对Ping做出了回应, ,继续重那么说明前面设置的子网掩码是正确的,否则,将子网掩码的长度减1复上面的步骤,直到找到匹配的掩码为止。该子网猜测算法可以用于支持广播Ping的域,它比较精确,但速度慢,并对每一个IP地址都需要很大的开销。 因此使用DNS区域传输和广播Ping的拓扑发现算法无论从速度还是完整性方面都有着较大的欠缺,首先因为它使用了广播Ping进行网络发现,所以它的速度相当慢; 其次,由于安全性等原因,在许多网络中是禁止使用DNS区域传输和广播Ping的,在这种情况下将不能得到网络的完整拓扑[4]。 第 20 页 南华大学计算机学院毕业论文 3.4 使用DNS区域传输和Traceroute的拓扑发现算法 这种算法同样假定域能够执行DNS区域传输。它首先通过发送DNS区域传输请求报文得到域中所有主机和路由器的列表,然后使用Ping确定每一个主机是否可达,接着在探测点和正在测试的节点之间发送Traceroute报文,以得到路径中的所有路由器信息。通过这种方式我们可以找出距离我们主机最近的路由器,这样我们就可以归类出所有具有相同缺省路由器的主机的IP地址,并且据此猜测出子网地址[7]。 本节所运用的子网猜测方法是在对一组已知的IP地址进行“与”和“或”位运算,从而对这组IP地址所在的子网的网络标识进行猜测。假设三个主机,IP地址分别是Al、A2和A3,它们都与某一个路由器的同一个接口直接相连,该接口的IP地址是A。要找到主机所在的子网以及相应的子网掩码,基本的思想是首先将AI、A2、A3和A按位相与,根据同一子网内的IP地址具有相同的网络前缀这个原则,可以大致得到这四个IP地址所处子网的网络标识。然后再将它们按位进行或操作,或操作得出的结果表示子网地址空间至少应该覆盖几位(结果是“1”的位)。将“与”和“或”运算的结果结合起来,可以作出更精确的判断。当然,四个IP地址不一定能完全的判断出网络地址和子网掩码,但有一点是肯定的,知道越多数量的与路有器同一接口直接相连的主机IP地址,网络地址和子网掩码的猜测就越精确。为实现以上算法,需要定义两个hash表cumulativeAnds{}和cumulativeOrs{},其中一个保存路由器各接口IP地址和它的所有主机IP地址进行“与”运算的结果,另一个则保存它们进行“或”操作的结果。当然,在进行子网猜测之前首先要确定主机与路由器哪个接口直接相连[4]。 具体的拓扑发现算法如下: 1、初始化临时集合和永久集合,临时集合={通过DNS传输,报文得的域主机和路由器},永久集合为空集; 2、初始化cumulativeAnds{}和cumulativeOrs{}为空; 3、对临时集合里每一个节点,作如下处理: a、ping该节点; b、如果节点活着,将它加入到永久集合中,否则读取下一个节点; 第 21 页 南华大学计算机学院毕业论文 c、Traceroute该节点; d、从Traceroute结果中获得该节点直接相连的路由器(Traceroute的最后一跳路由器就是与该节点直接相连的路由器); e、用DNS lookup查找;找到此路路由器的所有IP地址; f、将此路由器的每一个IP地址与本节点的IP地址进行位运算,得到与本节点直接连接的接口IP地址: g、更新此网关在cumulativeAnds{}中的表项; h、更新此网关在cumulativeOrs{}中的表项; i、根据cumulativeAnds{}和cumulativeOrs{}中的新的表项对猜测出新的子网和子网掩码; k、在永久集合中用新的子网主机代替老的子网主机。 与上一个算法相比,这种算法的执行时间稍快一些,而且由于它不依赖广播Ping,所以适用面也更广一些,但因为它同样要使用DNS区域传输,所以在不支持DNS区域传输的域中仍然无法得到完整的网络拓扑[7]。 3.5 使用Traceroute进行探测的拓扑发现算法 前两种算法都是假定DNS区域传输是被允许的,但情况并不总是如此。一种解决方法是从一个网络的地址空间中随机抽取一些地址,然后使用Ping确定这些地址是否对应网络中的节点。如果存在有这样的节点,我们就在这个节点与探测点之间运行Traceroute,以发现两者之间路径中所有的路由器。当我们多次重复这样的过程,我们就可以假定己经发现到网络中的许多节点[13]。 为了更有效的进行IP地址地抽取,不少研究人员对lP地址的分配进行了观察,总结出以下一些规律[4]: Ping一个地址为a.b.c.d的主机,如果这个主机作出回应,并在应答报文中包含形式为“a.b.c.1”的通信地址,那么这个通信地址通常就是该主机网关的IP地址,它的网掩码是255.255.255.0(24位的长度); 大多数存在的主机在地址空间上是相互接近的,例如:如果128.84.227.50存在,那么,128.84.227.51存在的概率就很高;一些主机的Ping应答报文中,通信地址是以129结尾,此通信地址通常是网关地,相应的子网掩码通常是25 第 22 页 南华大学计算机学院毕业论文 位;一些主机的Ping应答报文中,通讯地址是以65或193结尾,此通信地址通常是网地址,应的子网掩码通常是26位。 根据这些规律,地址抽取的主要的思想是首先Ping某些节点,如果成功了,将该节点址接下去连续的N个地址加入到地址集合中,如果这个节点的地址是以1,63,129,193尾的,将与该节点有相同前缀的N个随机地址加入到地址集合中。 拓扑发现算法的具体步骤如下: 1、初始化临时集合和永久集合,临时集合={域中以l结尾的随机地址},永久集合为空集; 2、初始化cumulativeAnds{}和cumulativeors{}为空; 3、对临时集合里的每一个节点,作如下处理: a、Ping该节点; b、如果节点活着,将它加入到永久集合中,否则读取下一个节点; c、采用地址抽取算法将更多的地址加入到临时集合中; d、Traceroute该节点; e、从Traceroute结果中获得该节点直接相连的路由器(Traceroute的最后一跳路由器就是与该节点直接相连的路由器); f、用DNS lookup查找;找到此路由器的所有IP地址; g、将此路由器的每一个IP地址与本节点的lP地址进行位运算,得到与本节点直接连接的接口IP地址 h、更新此网关在cumulativeAnds{}中的表项; i、更新此网关在cumulativeOrs{}中的表项; j、根据cumulativeAnds{}和cumulativeOrs{}中新的表项对猜测出新的子网和子网掩码; k、将本节点保存到新的子网中; l、在永久集合中用新的子网主机代替老的子网主机。 这种算法只使用了Ping和Traceroute,所以实际上它可以运行于任何网络,然而,为了能够找到网络中的所有主机,我们必须抽取相当多的节点,并对它们 第 23 页 南华大学计算机学院毕业论文 分别使用Ping和Traceroute,这样就降低了算法的执行速度,尤其当使用Ping来访问实际不存在的节点时,将会有相当长的延迟。从另一方面,这种算法对于找出网络中的路由器是相当有效的,但它不能保证找出所有主机[13]。 3.6 基于OSPF和SNMP的拓扑发现算法 这种算法通过SNMP访问自治系统每个区域中某一个路由器存储的相关的MIB数据,从而得到整个网络的拓扑结构。它假设域中的路由器都运行OSPF,并且运行SNMP。首先用户输入一个区域边界路由器或者由缺省路由器自动找出一个区域边界路由器,然后通过发出SNMP请求报文来访问该路由器的OSPF区域表(ospfAreaTable),得到路由器的链路状态报告,从而获得区域的拓扑信息和与之相连接的路由器信息,接着算法循环遍历所有的路由器直到遇到一个指定域之外的主机为止[6]。具体算法描述如下: 1、初始化待访问路由器集合和己访问区域集合; 2、用户输入一个区域边界路由器或者由缺省路由器自动找出一个区域边界路由器,加入一到待访问路由器队列中; 3、对待访问路由器集合里的每一个路由器,作如一F处理: a、初始化待访问区域集合; b、通过SNMP访问本路由器的OSPF区域表ospfAreaTable; c、访问每一个表项组,将没有访问过的区域的区域代号加入到待访问区域集合和已 访问区域集合中; d、如果待访问路由器集合非空,访问本路由器的链路状态数据库表(ospfLsdbTable); e、访问类型是路由器链路的表项,并访问对应的链路状态报告; 保存报告中链路状态ID(ospfLsdbLSID); 保存链路数据(Link Data); 保存链路ID(Link ID) 保存链路类型(Link Type); 如果ospfLsdbAieaID为零,将链路状态ID对应的路由器加入到待访问路由 第 24 页 南华大学计算机学院毕业论文 器集合中 基于OSPF的网络拓扑搜索只需要访问区域内的路由器,而基于MIB的网络拓扑搜索则需要访问整个自治系统内的路由器,显然效率和速度都有了较大的提高。实际运行的企业网管系统一般不会超出一个自治系统的范围,因此基于OSPF构造网管系统有较大的适用性。改进上述算法,可以在区域内任意选择一个网络负载较小的路由器访问,来构造本区域的拓扑。可以利用OSPF的链路状态更新报文,动态地检测和报告网络拓扑的局部变化,而不必重新进行网络搜索。但是,几乎所有支持TCP/IP的网络都支持MIB,理论上也可以利用MIB实现跨自治系统的搜索,故MIB有着更广泛的适应性,因此网管系统中可以把基于OSPF的网络拓扑搜索作为前者的可选替代方法。另外,OSPF远远比MIB中涉及路由的部分要复杂得多,算法上的理解和实现都要困难许多[6]。 3.7 骨干网拓扑发现算法 在Internet骨干网上的拓扑发现算法与在域内的拓扑发现算法有着很大的不同。在骨,干网中,无法使用域内拓扑发现时使用的广播ping或DNS区域传输等技术,我们唯一能使用的技术就是通过Traceroute来发现所有的路由器和链路信息。 [4]中给出了两种适合于在骨干网范围中的拓扑发现算法。 第一种算法的基本思想是随机产生一些较好的分布于IP地址空间中的IP地址,然后对其中每个IP地址使用Traceroute,之后保存并整合在Traceroute过程中所查询到的结果,以得到一个较大范围的拓扑。它的主要问题在于速度较慢,尤其当我们发现较大规模的网络(如Intetnet)时,我们必须对大量的地址进行Traceroute。更重要的是,如果随机选取的IP地址不当的话,最终可能只能发现到骨干网的一小部分。 第二种算法是使用BGP(边界网关协议)路由信息。在BGP路由表中包含了连在Intemet骨干网上的大部分域中的IP地址。使用这种方法,我们首先取得BGP路由表,然后从每个域中选择一个IP地址进行Traceroute,保存并整合查询结果,得到网络拓扑。其优点在于一方面将进行Traceroute的IP地址减少到和域 第 25 页 南华大学计算机学院毕业论文 的个数等同,另一方面,它能够保证发现到骨干网的大部分。 Comell Network Research Group的R.Sharma等先后对上述两种算法进行了测试,使用第一种算法,12个处理器同时运行也需要将近一个月的时间来发现骨干网的拓扑结构:使用第二种算法,25个处理器同时运行将近48小时实现对包含有近50000个域的骨干网的拓扑的自动发现。显然第二种算法的执行效率更高[4]。 第 26 页 南华大学计算机学院毕业论文 第四章 基于SNMP的网络拓扑发现算法的实现 基于SNMP的网络拓扑发现是指通过SNMP协议获得路由信息来确定网络元素之间的互连关系,网络元素通常包括互连设备(路由器、网桥、交换机等)、子网和主机。实现网络拓扑图,必须首先收集构造网络拓扑的各种必要信息。目前,主要是利用网络路由搜索算法和相关协议来获取网络中的路由设备的路由信息,然后利用获得的路由信息构造出网络拓扑图。因此网络拓扑发现方法在整个网络拓扑图的构造过程中起着主导的作用。 在网络拓扑关系中,主要的组成元素包括网络结点设备(路由器、交换机等)、子网、网路连接、网络中的主机等。网络结构是分层次管理的,所以网络拓扑发现也应该分级来实现,我们暂时称其为一级拓扑发现和二级拓扑发现。一级拓扑主要是发现路由器和子网,以及它们之间的互联关系;二级拓扑主要是发现子网内的主机以及子网类型,对于较难发现的数据链路层的设备(如:交换机、网桥),因为它们处于第二层,不属于具有路由功能的网络设备,所以也把它归到二级拓扑中。 4.1算法的原理 在网络设备的MIB库中含有网络连接的信息,基于SNMP的网络拓扑发现算法就是通过采集设备的MIB数据从中提取出关于网络拓扑的信息。我们可以把一个管理域的网络结构模型化,如图4.1所示: 第 27 页 南华大学计算机学院毕业论文 图4.1 网络结构模型 如图4-1所示,各子网通过各自的路由器与其他子网通信,这些子网可以是一个局域网,也可以是局域网内的某个子网,它们都连接到路由器的一个端口上。路由器的一个端口可以连接某一个子网,也可以连接其他的路由器。当一个子网的某个机器向别的子网发送数据时,数据包首先到达本地子网的缺省路由器,缺省路由器检测数据包中的目的地址,根据其路由表确定该目的地址是否在自己直接相连的子网中,如果是,则把数据包直接送往目的地,如果不是,则转发给路由表中规定的下一个路由器,下一个路由器再进行类似处理,一次类推,直到到达目的地。 对于指定深度的网络,基于SNMP的拓扑发现算法通常是使用一个种子路由器,获取其路由表内记录的所有可达网段,以及到达该网段所经历的下一跳路由器的端口IP地址及相关路由信息,然后它将继续扩展其搜索,一直达到用户指定的深度为止[22]。同时它还可以获得每个路由设备及所有端口的直连子网及其相应的子网掩码,根据这些信息,获取到这些子网中所有活动的其他网络设备。 l)默认网关的获取 首先,访问拓扑发现程序所在计算机的MIB库中的ipRouteTable,如果发现有ipRouteDest值为0.0.0.0的记录,则说明程序所在的计算机设置了默认网关,该记录的ipROuteNextHop值即为默认网关的地址。检查默认网关的ipFowarding值。如果为1,则说明该默认网关为路由设备,否则不是。 第 28 页 南华大学计算机学院毕业论文 2)其它路由设备的发现 假设在图4-1中一台主机Hl上运行拓扑发现的算法,H1的默认网关地址为routerl的一个接口地址10.0.2.1,得知routerl的存在。一旦发现第一个路由器,就可以访问这个路由器里面的MIB库的IP路由表ipRouteTable的信息,ipRouteTable中存有和周边路由器的连接信息。表4.1是图4.1中部分路由器中的路由信息: 表4.1路由表记录 ipRouteIfipRouteDest ipRouteMask ipRouteNextipRouteType Index Hop Router1 3 10.0.2.0 255.255.255.0 10.0.2.1 direct 4 10.1.1.0 255.255.255.0 10.1.1.1 direct 5 10.3.1.0 255.255.255.0 10.3.1.1 direct 5 10.0.3.0 255.255.255.0 10.3.1.2 indirect 5 10.0.4.0 255.255.255.0 10.3.1.2 indirect 5 10.2.3.0 255.255.255.0 10.3.1.2 indirect 5 10.2.2.0 255.255.255.0 10.3.1.2 indirect 5 0.0.0.0 0.0.0.0 10.3.1.2 indirect Router2 3 10.0.2.0 255.255.255.0 10.3.1.1 indirect 3 10.1.1.0 255.255.255.0 10.3.1.1 indirect 3 10.3.1.0 255.255.255.0 10.3.1.2 direct 4 10.0.3.0 255.255.255.0 10.0.3.2 direct 5 10.0.4.0 255.255.255.0 10.0.4.2 direct 5 10.2.3.0 255.255.255.0 10.0.4.1 indirect 5 10.2.2.0 255.255.255.0 10.0.4.1 indirect 4 0.0.0.0 0.0.0.0 10.0.4.2 indirect Router3 1 10.0.2.0 255.255.255.0 10.0.4.2 indirect 第 29 页 南华大学计算机学院毕业论文 1 10.1.1.0 255.255.255.0 10.0.4.2 indirect 1 10.3.1.0 255.255.255.0 10.0.4.2 indirect 1 10.0.3.0 255.255.255.0 10.0.4.2 indirect 1 10.0.4.0 255.255.255.0 10.0.4.1 direct 2 10.2.2.0 255.255.255.0 10.2.2.1 direct 3 10.2.3.0 255.255.255.0 10.2.3.1 direct 1 0.0.0.0 0.0.0.0 10.0.4.2 indirect 由于routerl与子网10.0.3.0、10.0.4.0、10.2.3.0、10.2.2.0不直接相连,所以其路由信息里的ipRouteType为indirect,表示子网与路由器不直接相连,下一跳地址信息ipNextHop有效,它的值必为其它路由器的一个接口地址,从图中可以看出从router1到这些子网必然经过router2的接口3。根据这个地址就找到了router2,并且可以知道router2和routerl为直接连接关系。再访问router2的路由表,以此方式可广度优先遍历得到其它的路由设备。 3)子网的发现 遍历路由器MIB的IP管理组中管理对象ipRouteDest下的所有对象,以每个路由目的网络号为索引,查看ipRouteType项,如果ipRouteType值为3,则表示ipRouteDest项所示的子网与路由器直接相连,即路由器的子网。如果ipRouteType值为4,表示ipRouteDest项所示的子网不是此路由器的子网.以路由表router2为例,子网10.3.1.0、10.0.3.0、10.0.4.0所对应的ipRouteType的值为direct,表示这三个子网和router2直连。 4)路由器与路由器、路由器与子网连接的判定 各个路由器的地址表如下所示: 表4.2 地址表记录 接口号 接口IP 掩码 Router1 3 10.2.2.1(与子网10.0.2.0直连) 255.255.255.0 4 10.1.1.1(与子网10.1.1.0直连) 255.255.255.0 5 10.3.1.1(与router2直连) 255.255.255.0 Router2 第 30 页 南华大学计算机学院毕业论文 3 10.3.1.2(与router1直连) 255.255.255.0 4 10.0.3.2(与router4直连) 255.255.255.0 5 10.0.4.2(与router3直连) 255.255.255.0 Router3 1 10.0.4.1(与router2直连) 255.255.255.0 2 10.2.2.1(与子网10.2.2.0直连) 255.255.255.0 3 10.2.3.1(与子网10.1.3.0直连) 255.255.255.0 从接口表中可以看到,router1与子网10.0.2.0、10.1.1.0连接的接口是3和4,router3与子网10.2.2.0、10.1.3.0连接的接口是2和3。router1的接口5的IP地址是10.3.1.1,属于子网10.3.1.0,router2的接口3的IP地址是10.3.1.2,也属于子网10.3.1.0,可以判断router1的接口5和router2的接口3连接,同样的道理可以判断router2的接口5和router3的接口1相连接。 4.2 算法描述 算法要求设备必须支持SNMP协议,具有SNMP代理,利用SNMP中定义的MIB中路由表和地址表的信息进行拓扑发现。 4.2.1 算法中用到的MIB组 MIB-?(RFC-1213)是标准的SNMP MIB,所有的路由器都必须实现它。拓扑发现程序为了具有通用性的特点,必然选择MIB-?作为拓扑发现工具。MIB-?由很多不同的组组成,本节的拓扑发现算法用到的组包括:system,interfaces,和ip。下面详细介绍这三个组中包含的对象。 l)System组 第 31 页 南华大学计算机学院毕业论文 该组内包含七个对象,分别为:sysDescr、sysObjectID、sysUPTime、sysContact、 sysName、sysLocation和sysServices。其中sysDescr描述了设备的相关信息,一般包括厂商,型号等。SysObjectID唯一标识特定厂商的特定类型设备,比如sysObjectID为1.3.6.1.4..95.45,则可以判断该设备为思科公司生产的型号为cisco65o6的交换机。SysUptime表示设备从最近一次启动开始正常运行的时间。SysContact由网络管理员设定,一般设为网络管理员的联系方式。SysName为设备的名字,算法中会用这个对象来判断不同的IP地址是否属于同一个设备。SysLocation由网络管理员设定,一般设为设备所在地点。 3。 SysSevriecs表示了该设备所能提供的服务。详细变量说明见表4. 表4.3 system组变量说明 对象名称 类型 存取权限 状态 描述信息 sysObjectID OBJECT IDENTIFIER Read-only mandatory 设备的出厂ID sysLocation OBJECT IDENTIFIER Read-only mandatory 设备的位置 sysService INTEGER Read-only mandatory 设备服务在哪一层 2)Interfaces组 该组包含两个对象ifNumber和ifTable。其中,ifNumber对象表示该设备所具有的接口数量。该组的另一个元素ifTable是一张表,表内的每一个字段都是某一个接口的一个属性,包括接口索引(ifindex),接口类型(ifType),接口速度(ifspeed)和接口物理地址(ifPhysAddress)等。 3)IP组 该组的元素较多,其中有三个表对拓扑发现来说比较重要,分别是ipAddrTable,ipRouteTable和ipNetToMediaTable。 通过表ipAddrTable,可以找到被管设备所有的IP地址,同时结合interfaces组的ifTable表,可以把接口和其正地址一一对应起来。 网络层的拓扑发现算法主要就是利用表ipRouteTable来判断网络层的拓扑结构的。子网与路由器以及路由器和路由器的关系都能从路由表中得出来。该表中对应拓扑发现的对象列举如下: 第 32 页 南华大学计算机学院毕业论文 IpRouteDest:路由的目的地址。如为.0.0.00,说明该路由为缺省路由。通往同一个目的地的路由可能有多个,路由的选择依赖于所使用的路由协议。 IpRouteNextHop:路由的下一跳路由器地址。 ipRouteType:路由目的地的子网掩码。提取正数据包中的目的地地址,与ipRouteMask进行按位“与”运算,得到的结果与ipRouteDest比较,如相同则选择该路由。如果ipRouteDest为0.0.0.0,则规定ipRouteMask也为0.0.0.0。 ipRouteType:路由的类型,为整型类型。其意义如表4.4所示: 表4.4 ipRouteType值及其意义 ipRouteTy意义 pe值 Other(1) 其他 Invalid(2非法 ) Direct(3) 该路由目的地址为路由器直接连接的子网 Indirect(远程路由,目的地址为远程的主机、网络或 4) 子网 4.2.2 网络拓扑发现的流程 网络层的拓扑发现主要目的在于发现工作在0SI七层协议中网络层的路由器、子网以及这些设备之间的连接关系。路由器的工作原理是根据路由表决定包传送的下一跳地址,路由表反映出与该设备相连的子网和路由器,因此通过路由器的路由表可以计算出路由器、子网间的连接关系。网络层的拓扑发现流程图如图4.2所示,其中探测入口点地址人为设定;另外,在将路由器加入路由器列表之前,先判断该节点是否己经存在于列表中,并判断该节点是否在所扫描的IP范围内,以保证路由器列表是收敛的。 第 33 页 南华大学计算机学院毕业论文 图4.2 网络层拓扑发现流程图 第 34 页 南华大学计算机学院毕业论文 4.2.3 网络拓扑发现算法的实现 该算法所用的相关数据结构和主要函数以下用Java语言(伪代码)来描述, 下边是相关类的定义和说明。 4.2.3.1 主要数据结构的定义 (1) class Router{ String routerID://网关标识字符串// String routerName://网关名字// String flagAddr://网关某一标识IP地址向量表// Vector addrVector://网关所有IP地址向量表// Vector subnetVector://网关关联子网向量表// Boolean processFlag://处理标志:true-已处理;false-未处理// } (2) class Subnet{ int subnetFlag://子网标识数字// String subnetAddr://子网IP地址// String subnetMask://子网地址掩码// Vector hostVector://子网内主机向量表// } (3) class Host{ String hostID://主机标识字符串// String hostname://主机名字// Int hostType://主机类型:0-终端主机;1-交换机// Int parentIfIndex://所关联上一级设备的接口索引值// String hostAddr://主机IP地址// Sring hostAddrMask://主机IP地址掩码// } 第 35 页 南华大学计算机学院毕业论文 (4)class RouterConnect{ String localRID://关联本地路由器标识// String localRAddr://关联本地路由器IP地址// String peerRID://关联对等路由器标识// String peerRAddr://关联对等路由器IP地址// } 4.2.3.2 网络拓扑算法的实现模块 1. 网络节点的获取算法。 获取指定起始网关和标识指定的IP 地址,实例化一个Host 对象,并将其 processFlag 设为false ,放入HostVector 中等待处理。 while (processFlag = =false) { 从Host 中读取一个设备ID ,将其设为currentHost ; 获取currentHost 中的ipAddrTable 和ipRouterTable 信息 if (ipRouteType = = invalid) 则从处理队列中清除 else if (ipRouteType = = direct) { 生成一个SubNet 对象; 放入currentHost ;的Subnet 队列中 } else if (ipRouteNextHop ! = currentHost 的IP 地址) { 获取ipRouteNextHop 所指定的HostID; 以ipRouteNextHop 和curentHost 的IP 地址实例化一个Net2 Connect 对象,用来判断设备之间的连接关系; 实例化一个Host 对象,对processFlag 赋值为false } 第 36 页 南华大学计算机学院毕业论文 } processFlag = true ; „ 2. 子网发现算法。 通过上述算法得到路由器的网关拓扑后,可通过子网发现算法来发现网关所 对应的子网的拓扑结构。 subNet FindSubNet{ ; 读入连接子网的路由器currentHost 的地址 读取currentHost 的ipNettoMediaTable(用于表示ARP 表) 获取ipNetToMediaNetAddress 地址; if (ipNetToMediaNetAddress 属于子网地址){ PING该主机,获取主机的存活状态; if (主机有响应) { 通过sysServices 和ipForwarding 来进一步判断是普通主机还是路由器 } } 第 37 页 南华大学计算机学院毕业论文 第五章 基于Java技术的网络拓扑结构生成 上一章我们详细的介绍了网络拓扑结构的自动发现算法,并阐述了实现的方法和过程。通过拓扑发现算法得到的拓扑信息被保存在了数据库中,网络拓扑结构可视化模块通过对数据库的访问来获得这些数据,并将网络拓扑的图形结构显示在网页中。这一章我们就来讨论关于图形化的问题。 5.1 基于Web和Java可视化的研究 网络拓扑结构可视化是为了以图形化的方式直观、形象地表示出整个网络系统的各个子网以及子网内部各种网络设备之间的互连关系。一个友好的图形化界面是网络管理员进行网络性能分析,网络故障定位的良好前提。以往大多数的网络管理系统都是采用集中式的管理方式,网管活动在地理上局限于管理工作站,不够灵活和便捷。随着WWW的出现,基于Web的网络管理成为网络管理的一种新的发展趋势。本系统利用Web技术和Java技术实现了基于Web的网络拓扑结构的可视化,为管理员实现基于Web的网络管理打下了基础。 基于Web的网络拓扑结构可视化的主要优点有: , 地理上和系统上的可移动性,使管理者的操作不受地理位置的限制, 更适合进行分布的网络监视; , 平台的独立性,可以在任何平台下访问,只要该平台下装有合适的 Web浏览器,从而解决了很多由于多平台结构而引发的互操作问题; , 以Web Server为中心,降低了维护费用,对系统的修改只需在Web server:上进行,无需在客户端做任何修改; , 利于网管信息的发布; , 统一的管理程序界面,便于为用户提供信息。它提供比传统的命令 驱动的远程登录更直接、更易用的图形界面。浏览器的操作和Web页面对WWW 用户来讲是非常熟悉的。 第 38 页 南华大学计算机学院毕业论文 5.1.1 层次型的可视化结构 在一个页面上将整个网络的拓扑结构都显示出来是不合理的,为了使拓扑结构清晰且易于理解,本系统将把网络拓扑结构分成几个层次来显示。本系统实验的环境是大学校园网络,校园网络中路由设备数量较少,但子网数量众多,子网内的主机数量也不少。根据这样的特点,拓扑结构的层次备划分成三个。 , 第一层 当网络管理员或浏览者打开显示网络拓扑结构的网页时,首先希望看到的应该是一个网络的整体结构图。因此,第一层的拓扑图我们将设计为网络的主干结构图。这个层次的图形不需要将所有拓扑信息都显示出来,而只需要描绘出网络的路由器以及路由器之间的连接关系,这些路由器清晰简洁的描绘出整个网络的骨干结构。我们选用特殊的图标来表示路由器,并用特定的信息来对每一个路由器标识,比如路由器的机器名称,标志IP地址等。 , 第二层 第一层的拓扑图虽然给人总体印象,但是却无法给浏览者更精确更详细的信息。第二层的拓扑图显示的就是单个路由器的具体信息,主要包括每个接口的IP地址,子网连接情况,子网的网络标识。这一层将第一层的信息放大后,便于浏览者对拓扑结构进一步的了解。我们选用特殊的图标来表示子网,用子网的网络地址来唯一的标识这些子网。 , 第三层 第三层的拓扑图显示的是子网中的主机。由于子网中主机的数目有可能比较多,所以我们有必要将每个子网的信息单独用一层来表示。但由于大多数的主机不支持SNMP协议,我们只能获得它们的IP地址,有一些主机还有可能知道它们的机器名称,所以我们只能用IP地址来对主机标识,附加上机器名称。 5.1.2 Java Applet在系统中的应用 在本系统的实现中,基于Web的网络拓扑结构的可视化是通过向Web服务器中插入Java Applet程序来实现的。下面首先介绍一下Java Applet及其在Web中的应用,具体实现将在后面的章节中进行介绍。 第 39 页 南华大学计算机学院毕业论文 Java语言之所以能成为目前非常成功且流行的语言,是因为它是个威力十足的语言,内置了安全功能、跨平台能力、提供易于进行国际化行动的工具,而且,更重要的是,Java持续扩充其语言功能和程序库,得以很好的处理传统语言中诸多未能处理好的问题,如多线程、数据库访问、网络程序开发、分布计算。Java通过Applet来进行客户端程序开发。 Applet是一种小程序,只能执行于Web浏览器上。作为Web页面中的一部分,Applet会被自动下载,就像页面中的图形会被自动下载一样。Applet被激活之后便开始执行。当使用者需要客户端软件时,客户端程序便被自动的从服务器分发出去,而不需要事先安装。因此,使用者可以取得最新版本的客户端软件,不会安装错误,也不需要困难的安装过程。由于Java的这种设计,程序员只需开发单一程序,该程序便能够自动运行于所有的计算机上,唯一的条件是这些计算机中装有“内置Java解释器”的浏览器即可。由于Java是个发展完备的语言,所以再将请求送往服务器之前和之后,使用者可以尽情的在客户端工作。比如:你不必先通过网络请求表单,而后才发现所填的日期或参数错误。客户端的计算机也可以快速绘出数据,不必等待服务器完成图形会之后才将图形传回。使用者获得的是不仅是高速度和高回应能力,也可以降低网络流量的服务起负载,不至于拖累整个Internet的运作速度。 在系统中,网络拓扑信息在Web上的图形化显示是通过在网页中嵌入JavaApPlet程序来实现的。程序中调用JDBC实现与数据库的之间的交互,并将最终的结果以图形的方式显示出来。 5.2 数据库的设计 本系统的数据库主要用来存储拓扑发现后的网络拓扑信息,存储这部分信息的一个重要目的是完成网络拓扑结构的图形化。因此,笔者在设计数据库时,考虑的问题是如何将数据库信息组织好,以便于转化成拓扑结构图。在前面的可视化研究中,我们将图形化分成三个层次来完成,相应的,数据库中的表信息也有了相应的层次关系,下面对数据库中表信息进行详细的介绍。 , 路由器之间的连接关系表(tblRtoR) 这张表用于存储路由器之间的连接关系,给第一层的拓扑图提供信息。 第 40 页 南华大学计算机学院毕业论文 TblRtoR包含有 以下一些主要字段: 起始路由器id: RouterFrom_id 终止路由器id: RouterTo_id 起始路由器ip: RouterFrom_ip 终止路由器ip: RouterTo_sip 起始路由器name: RouterFrom_name(可空) 终止路由器name: RouterTo_name(可空) 说明: l、这张表每条记录存储的是两个路由器之间的连接关系,这种关系是无向的,也就是说,A和B之间的连接与B和A之间的连接完全相同。因此,在数据库中,存在了A到B的连接记录,就不会出现B到A的连接记录[14]。 2、路由器id字段存储的是MIB库里SysObjectID+SysLocation,这个字段可以唯一的标识某个路由器。但对于禁止SNMP服务的路由器来说,这个信息就无法获得,因此此时就等于Router_ip。 3、路由器ip字段存储的是路由器的一个IP地址。在拓扑发现算法的描述中,笔者对路由器多个IP地址的问题进行了讨论,找出了选定某个IP地址来作为路由器标志IP的方法。于支持SNMP服务的路由器而言,选定接口地址中最小的那个作为标志IP:对于禁止SNMP服务的路由器,选定离探测点最近的接口作为路由器标志IP。 4、路由器name字段存储的是MIB库中的SysName变量,可以为空。 , 路由器信息表(tblRouteInfo) 这张表用于存储每个路由器的具体信息,给第二层的拓扑图提供信息。tblRouteInfo包含有以下一些主要字段: 路由器id: Router--id 路由器ip: Router--ip 路由器接口索引: Interfaceindex 路由器接口id: R_if_id (主键=Route_id+Interface_index) 第 41 页 南华大学计算机学院毕业论文 路由器接口ip: R_if_ip 路由器接口对应的子网id: R_if_subnetid(可空) 说明: 1、这张表存储了路由器的接口信息,每个接口对应一条记录。路由器id和路由器ip字段用来表明此接口属于哪个路由器,其中路由器ip指路由器的标志ip。因此,想要获得某个路由器的接口信息,则只需要在数据库中查询Router--ip二该路由器IP的记录就可以了。 2、路由器接口索引字段通过读取MIB库ifindex变量获得。 3、路由器接口id字段是此表的关键字,它由两部分组成,一部分是路由器ip,一部分是接口索引。这两部分加起来就可以唯一的标识一个接口。 4、路由器接口对应的子网记字段用来存储子网的标识,它等于子网的网络标识加上子网掩码。 , 子网信息表(tblsubnetInfo) 子网信息表存储了有关子网的信息,服务于第二层的拓扑图。TblsubnetInfo包含了以下主要字段: 子网id: Subnet_id (主键=Subnet_ip+Subnet_mask) 子网网络ip: Subnet_ip 子网掩码: Subnet_mask , 主机信息表(tblHostInfo) 主机信息表存储了有关主机的信息,同样是第三层的拓扑图。TblHostInfo包含了以下一些主要字段: 子网id: Subnet_id 主机id: Host_id(主键=Subnet_id+Host_ip) 主机ip: Host_ip 主机名称: Host_name 说明: l、主机记字段用来存储主机的标识,它等于子网id加上主机ip。 第 42 页 南华大学计算机学院毕业论文 5.3 拓扑结构可视化的实现 5.3.1 Java Applet的实现 在Java出现之前,网页需要通过HTML(超文本标记语言)来描述。HTML只能简单的说明超文本页中的元素。例如,说明了网页的标题,跟在此标记后的任何文本都将成为网页的标题。标题的结束使用标记<TITLE>来说明。 在网页中使用Applet的思路非常简单:HTML页必须告诉浏览器需要加载哪个Applet,并且加载到网页中的哪个位置。所以,使用Applet所需要的标记必须说明如下信息:类文件的位置;Applet如何布置在网页上(大小、位置等等)。这样浏览器就可以从网络(或者从用户的机器上的目录中)获取类文件并且使用它的Java虚拟机自动运行Applet。 除了applet本身以外,网页也可以包含所有其他HTML元素:多字体、图形、链接等等。Applet只是超文本页的一部分。Java语言并不是设计HTML网页的一个工具;它是一个赋予它们生命的工具。这并不是说Java Applet中的GUI设计元素不重要,而是说它们必须同网页的基础HTML设计结合起来才能更好的工作。 要能让不同的浏览器能够查看包含applet的网页,Sun发布了一个称作“Java插件”(最初称作“激励器”)的工具。使用Internet Explorer的扩展机制,Java插件能够无缝的插入到这两种浏览器中,从而使得两种浏览器能够通过使用Sun提供的一个外部Java运行时环境来执行Java Applet。Java插件的虚拟机版本总是随时更新的,这保证了用户可以总是使用Java的最新最强大的功能。 若要执行Applet,需要采取两个步骤:l)把源文件编译成类文件。2)创建一个HTML文件,该文件包含了类文件的位置和Applet尺寸信息。通常惯例是让 pplet类名,但这并不是必须的。本系统中我们创建HTML文件名等于它内嵌的a 了一个liuqi.html文件, 其主要内容是: <APPLETCODE=“otter.class,,WIDTH=800 HEIGHT=600> </APPLET> 第 43 页 南华大学计算机学院毕业论文 开发拓扑结构可视化模块时,笔者首先开发了一个图形化的Java应用程序,然后再将 这个应用程序转化成Applet。转化的过程很容易,步骤如下[5]: 1、创建一个HTML页,其中使用了正确标记来加载applet代码。 2、提供Japplet类的一个子类。把它设为public。否则,Applet不能被加载。 3、取消应用程序中的main方法。不要构造一个框架窗口—应用程序需要显示在浏览 器中。 4、把框架窗口构造器中的所有初始化代码全部移到Applet的init方法中。你不需要显 示的构造Applet对象—浏览器会初始化他并且调用init方法。 5、删除对setsize的调用;对于Applet来说,大小是有实际HTML文件中的WIDTH和 HEIGHT参数决定的。 6、删除对setDefaultCloseOperation的调用。一个Applet不能被关闭;当浏览器退出时, 它就会终止。 7、如果应用程序调用了setTitle,那么取消调用。Applet不能有标题栏。 8、不要调用show方法。Applet会自动显示。 5.3.2 可视化模块的实现 本系统提出的可视化<span class="anchor-container"> <a class="hyperlink" href="https://office.iask.com/f/sJ1vMu0fZUB.html" target="_blank">方案</a> <span class="dropdown"><a class="hyperlink" href="https://office.iask.com/f/sJ1vMu0fZUB.html" target="_blank">气瓶 现场处置方案 .pdf</a><a class="hyperlink" href="https://office.iask.com/f/sJ1vMu0fZUB.html" target="_blank">气瓶 现场处置方案 .doc</a><a class="hyperlink" href="https://office.iask.com/f/2WXUWhTiiJ3.html" target="_blank">见习基地管理方案.doc</a><a class="hyperlink" href="https://office.iask.com/f/2gKr7v23OCV.html" target="_blank">关于群访事件的化解方案</a><a class="hyperlink" href="https://office.iask.com/f/282PhCXFWzX.html" target="_blank">建筑工地扬尘治理专项方案下载</a></span> </span>是一种层次型的可视化结构,对应于不同的层次,采用不同的实现机制。 , 第一层 第一层显示的是路由器之间的拓扑结构,笔者用一个红色方块的jpg图像来表示路由器。为了使整个界面看上去整齐有序,所有的路由器分布在一个页面,路由器之间的连接通过连线来实现。用户可以通过拖动路由器的图标来对页面进行重新布局。 第 44 页 南华大学计算机学院毕业论文 为了实现这些功能,笔者定义了两个主要的类: Router和Connect。 Public class Router{ Private String IPAddr; //路由器标志IP Private String ID; //路由器ID Private Point Position; //路由器在浏览器上的位置 Boolean IsDrag; //判断路由器是否被拖动标记 Public Router(); //构造函数 Public void SetRouterIP(String a); //获得路由器的Ip地址 Public void Setposition(int x,int y); //设置路由器在浏览器 上的位置 } 这个类存储了路由器在浏览器上的位置信息,并随时更新这些信息。 Public class Connect{ Router RouterFrom; //连接起始点对应的路由器 Router RouterTo; //连接终止点对应的路由器 Int imagew; //Router.ipg的宽度 Int imageh; //Router.jpg的高度 Point Start; //连接的起始点 Point End; //连接的终止点 Public connect(); //构造函数 Public void setLocation(Router f,Router t);//设置连接的起始点和终 止点 Public void setRtFrom(Router r); //设置起始点对应的路由器 Public void setRtTo(Router r); //设置终止点对应的路由器 } 这个类用于存储路由器之间的连线的位置信息,并随时更新这些信息。 , 第二层 第 45 页 南华大学计算机学院毕业论文 第二层显示的是单个路由器的具体信息图。代表路由器的图标放置在浏览器的中心,和路由器直接相连的子网均匀分布在路由器的周围。用户可以拖动代表子网的图标来对页面重新布局。笔者定义了类Interface来实现功能。 Public class Interface{ Private String RouterIPAddr; //接口所对应的路由器标志IP Private String IfIndex; //接口索引 Private String IflPAddr; //接口IP地址 Private StringSubnetIPAddr; //子网IP地址 Private PointPosition; //接口对应的子网在浏览器上的位置 Boolean IsDrag; //判断是否被拖动标记 Public Interface(); //构造函数 Public void Setposition(int x,int y); //设置接口对应的子网在浏览器的位置 } 这个类存储了路由器接口信息和子网信息,并随时对这些信息进行更新。 , 第三层 这一层主要显示子网中的主机信息。笔者用列表的形式将主机的信息罗列在浏览器上。存储信息的类是Host。 Public class Host{ Private String SubnetIPAddr; //所属子网IP地址 Private String IPAddr; //主机IP地址 Private String Name; //主机名称 } 注:由于本次设计的要求为发现第一层和第二层的拓扑信息,笔者这里只给出了第三层拓扑发现的概念和方法,并没有实现。 第 46 页 南华大学计算机学院毕业论文 5.3.3 对数据库的访问 JDBC是Sun公司推出的Java数据库连接工具包,该工具包使得编程人员可以使用结构化查询语言,即SQL,连接到一个数据库,对数据库进行查询,或者对数据库进行更新。用Java编程语言和JDBC开发的程序可以跨平台运行,并且不受供应商的限制。可视化模块采用JDBC来实现数据库连接。 要建立连接,首先需要找到数据库供应商使用的JDBC驱动程序类的名字,本系统使用的是MicrosoftSQLserver2000,笔者在进行连接前安装了这个数据库的JDBC驱动程序。它的驱动程序名为: com.microsoft.jdbc.sqlserver.SQLServerDriver。 接下来要为驱动程序注册。进行驱动程序注册时可以采用两种方法。第一种方法是通过设置jdbc.drivers属性来完成设置,另外,可以通过加载驱动程序所属的类,以人工方式为驱动程序进行注册。本模块选用第二种方法来完成注册,代码如下: Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)。 DriverManager是负责选择数据库驱动程序和建立数据库连接的类,当驱动程序注册后,可以使用这个类的getConnection方法打开数据库,返回一个Connection对象。代码如下: Stringurl=”jdbc:microsoft:sqlserver://ecnu-2h4lznbhli:1433;Datab ; aseNa:ne=daily.db” String user=” ”; String password=” ” 第 47 页 南华大学计算机学院毕业论文 Connection conn=DriverManager.getConnection(url,user,password);在建立了数据库连接后,若要执行SQL命令,必须建立一个Statement对象。通过调用DriverManager.getConnection而得到的Connection对象可以用于建立语句(statement)对象:Statementstat=conn. createStatement()。然后,将想要执行的语句放入一个字符串,调用Statement类的executeUpdate、executeQuery、execute等方法,可以执行一系列SQL命令。 5.3.4 结果展示 图5-1 调用程序绘制出的拓扑图 第 48 页 南华大学计算机学院毕业论文 图5- 2 放大后的效果截图 第 49 页 南华大学计算机学院毕业论文 第六章 总结与展望 6.1 总结 通过前一段时间的工作,系统最终实验通过了基于SNMP协议的网络拓扑发现和网络拓扑结构生成两大部分,能够提供网络拓扑发现及在Java环境下生成网络拓扑图的功能。然而,由于时间关系和笔者自身经验和精力不足,其中的一些环节笔者还不是很满意。对于论文中存在的问题,还需要做更多的工作来解决和完善。 6.2 展望 在当今的信息化社会里,计算机网络的稳定和可靠运行可以说是我们生活的一个基本保障。一个完善的网络管理系统是计算机网络能够可靠而稳定运行的保证,也是进行网络性能分析、网络配置和安全管理等的依据。拓扑发现作为配置管理和失效管理中的一项重要功能,是网络管理的一个重要组成部分。拓扑发现生成的网络拓扑图可以帮助网络管理员掌握网络拓扑结构,迅速定位失效地点,确定失效影响的范围,还可以成为拾取网络元素并调用其它管理功能模块的共同出发点。随着WWW的出现,基于Web的网络管理成为网络管理的一种新的发展趋势,它使网络管理不再需要地理位置、具体平台和专业技能等要求,从而给网络管理带来许多方便。而基于Java技术下的网络拓扑发现可以做到跨平台,其适用性相当广泛,性能和安全方面也很出众,对实现远程的网络管理非常有帮助。笔者希望该系统最终能够做到用户在浏览器上能够看到当网络出现了异常行为时,预警信息自动的定位在拓扑图上。由于笔者自身在某些方面经验不足,还没有全面实现上述目标,希望能有机会进一步完善。 第 50 页 南华大学计算机学院毕业论文 参考文献 [1] Williams Stallings. SNMP网络管理.中国电力出版社,2001.9 [2] 杨家海,任宪坤,干沛瑜.网络管理原理与实现技术.北京:清华大学出版社,2000 [3] 王志刚,王汝传,王绍杨等.网络拓扑发现算法的研究[J].通信学报,2004,25(8):36-43 [4] R.Siamwalla, R.Sharma, and S.Keshav.《A Simple Network Management Protocol(SNMP)》,RFCI157,Hughes LAN Systems and Performance Systems International.1999,5 [5] CayHorstmann,GaryCornell.Java2核心技术卷l卷2.北京:机械工业出版社,2003.l [6] 徐大海,黄健强.基于OSPF的网络拓扑发现.计算机工程与科学,1999(9) [7]D.T.Stot. Snmp-based layer-3 path discovery. Tech. Rep. ALR-2002-005, AvayaLabs Research, Avaya Inc., Basking Ridge, NJ,2002 [8] 刘妹,李成忠.网络自动拓扑发现算法的研究与实现.计算机应用研究,2002(2) [9] 凌军,曹阳等.基于ARP和SNMP的网络拓扑自动发现算法.武汉大学学报,2001.2 [10] 徐斌,王磊等.基于IP协议TTL的网络拓扑搜索算法.微型机与应用,2000.7 [11] 刘东飞,詹云峰.基于Web的网络管理实现研究.交通与计算机,2002 rd[12] Stallings W. SNMP, SNMPv2, SNMPv3, and RMON 1 and 2.3ed.,Boston:Addison-Wesley Professional,1998 [13] Breitgand D, Raz D, Shavitt.Y. SNMP GetPrev: An efficient way to browse large MIB tbales. IEEE Jounral of Selected Areas in Communication,2002,20(4):656-667 [14] 周绪,管丽娜,白海波.SQLserver2000中文版入门与提高.清华大学出版社,2001.5 [15] 徐斌,王磊等.基于IP协议TTL的网络拓扑搜索算法.微型机与应用,2000.7 [16] 郎波, 占传杰. 基于SNMP的网络拓扑算法的研究.计算机与现代化, 2007(2) [17] 孙德文,高儒振. 基于SNMP网络拓扑图的自动构造实现. 上海交通大学学报, 31(8) [18] Uyless Blaek. Network Management Standards: SNMP, ICMP, TMN, MIBs, Object Libraries. New York: MeGraW-一Hill,1995 [19] BobNatale.WindowsSNMP.1995 [20] 岑肾道,安常青.网络管理协议及应用开发.北京:清华大学出版社,1998 [21] 曹晓梅,夏保胜等.基于SNMP和ICMP的拓扑白动发现算法的分析与实现.河南人学学报 第 51 页 南华大学计算机学院毕业论文 (自然科学版),2003,45-50 [22] 李玉鹏,王换招,田海燕,赵青.基于SNMP和JAVA 的网络拓扑发现. 计算机工程与应 用,2005 [23] Rose M. Management information base for network management of TCP/IP2-based l, 1990. 1 internets: MIB-?. RFC1158, Performance Systems Internationa[24] Muhammad Azizur Rahman Algirdas Pakštas, Frank Zhigang Wang. Network Topology Generation and Discovery Tools,2006 第 52 页 南华大学计算机学院毕业论文 致 谢 在此次毕业设计已经圆满完成之际,我首先感谢我的指导老师——谭敏生,还要感谢我的同班同学鲍远洋,缪忠斌,谢申,李翔,张辉对我的帮助,感谢所有支持、帮助过我的人~ 在本次的毕业设计中,我学到了很多很多的东西。 一方面,使自己的专业知识得到了巩固和深化,尤其是对网络拓扑发现这一领域的知识有了一定深度的了解。通过四个月的学习实践,使我对以前学习过的知识有了更深刻的理解,为今后的学习做好了准备。 另一方面,在研究设计过程中难免会遇到困难,在这几个月中,通过老师、上面提到的几位同学的大力帮助和不吝赐教,使我不断进步,增强了分析解决问题的能力。我真心感谢他们为我的毕业设计所做的辛苦工作。另外,我还要感谢四年来所有教导过我的老师,没有他们的谆谆教导,就不可能有今天的好结果,感谢我的一些同学在设计中给我提出的大量的宝贵意见。 学生:刘祺 2008年5月24日 第 53 页 </div> </div> <!-- 正文底部文案 --> <div class="file-content-bottom mt20"> 本文档为【基于SNMP的网络拓扑结构发现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。 <br> 该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。<br> [版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。<br> 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。<br> 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。 </div> <!-- 下载 --> <div class="download-area mt20"> <div class="down-info"> <!-- VIP专享资料展示xx特权,付费资料展示¥xx,免费资料展示免费。 --> 下载需要: 免费 已有0 人下载 </div> <div class="download-groupbtns"> <a href="javascript:;">立即下载</a> </div> </div> <!-- 你可能还喜欢 --> <div class="youlike-area mt20"> <h3>你可能还喜欢</h3> <ul class="youlike-item"> <li> <a href="https://ishare.iask.com/f/31HTLi3eiuB.html">《新绝代双骄3》配药炼丹武器暗器合成表</a> </li> <li> <a href="https://ishare.iask.com/f/33cldUVa6lW.html">刚体力学小结</a> </li> <li> <a href="https://ishare.iask.com/f/33w8c9y9Eqa.html">2016企业所得税核定征收鉴定表(核定征收填写示范2016)</a> </li> <li> <a href="https://ishare.iask.com/f/37534299.html">eetop.cn_HFSS应用详解第2章</a> </li> <li> <a href="https://ishare.iask.com/f/bwVlQkGV6qZ.html">全新版大学进阶英语综合教程第三册答案-高中课件精选</a> </li> <li> <a href="https://ishare.iask.com/f/c44RvJePv9.html">旋风除尘器安全操作规程及注意事项与无人值班变电站标准化管理规定</a> </li> <li> <a href="https://ishare.iask.com/f/iBsYtXHg79.html">不当得利案例:都邦财产保险股份有限公司河南分公司与黄学军等不当得利案</a> </li> <li> <a href="https://ishare.iask.com/f/iu68B4E6mo.html">238-2011年浦阳一小第15届校园科技文化艺术节暨第5届童话艺</a> </li> <li> <a href="https://ishare.iask.com/f/iy6XSxWHWx.html">宝山区培智学校2009年上半年辅一班日课表</a> </li> <li> <a href="https://ishare.iask.com/f/6vY5oH5RR23.html">处方笺格式</a> </li> <li> <a href="https://ishare.iask.com/f/6xZt6RUKwxT.html">用友U870产品培训—产能管理</a> </li> <li> <a href="https://ishare.iask.com/f/GhBAwrSLFiW.html">手机管理教育主题班会</a> </li> <li> <a href="https://ishare.iask.com/f/7GhOQt5OyXV.html">李娟《补鞋子的人》阅读训练及答案</a> </li> <li> <a href="https://ishare.iask.com/f/R2037xPgiJc.html">出纳的4大重点工作计划3篇</a> </li> <li> <a href="https://ishare.iask.com/f/e8uKqnnzD.html">崔巍 数据库系统及应用第4版1201数据库新领域</a> </li> <li> <a href="https://ishare.iask.com/f/G6V31EMc2fY.html">桩基础裂缝计算(GB500102010)</a> </li> <li> <a href="https://m.ishare.iask.com/f/9NvsZJtUF.html">助理工程师专业技术人员年度(任职期满)考核登记表</a> </li> <li> <a href="https://m.ishare.iask.com/f/9NvsZJtUF.html">助理工程师专业技术人员年度(任职期满)考核登记表</a> </li> <li> <a href="https://m.ishare.iask.com/f/9NvsZJtUF.html">助理工程师专业技术人员年度(任职期满)考核登记表</a> </li> <li> <a href="https://m.ishare.iask.com/f/9NvsZJtUF.html">助理工程师专业技术人员年度(任职期满)考核登记表</a> </li> </ul> </div> <!-- 推荐 --> <div class="recmond-area mt20"> <div class="recmend-tab"> <div class="tab-item" val="new">最新资料</div> <div class="tab-item current" val="hot">资料动态</div> <div class="tab-item" val="topic">专题动态</div> </div> <div class="recmend-item"> <div class="switch_content_wrap"> <ul> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/PsZOocUCs7.html" target="_blank">陶瓷基本常识</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/bt73eC54vR.html" target="_blank">高一2班学生成绩单</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/bvK71MNn2ml.html" target="_blank">环境影响评价报告公示:万植物蛋白饮料加工环评报告</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/bw0Q47sLWl.html" target="_blank">七友粤语歌词音译</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/jbDCsr5Ad9.html" target="_blank">2013年纳税申报期限</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/sM8EvGUasBJ.html" target="_blank">空压机密码大全</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/uCvEItCNIOu.html" target="_blank">特殊教育学校功能室功能用途超全之欧阳地创编</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/wveATH2OdU.html" target="_blank">粉尘清扫和收集管理制度</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/7JMPK5Kfu7d.html" target="_blank">GBT18442-2019《固定式真空绝热深冷压力容器》</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/8iPhW4SbsX.html" target="_blank">2021年销售模拟笔试题目及答案</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/9A5zR431KB.html" target="_blank">国有林场(苗圃)财务制度</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/H7cxPblbx.html" target="_blank">中央人事任命文件 (3页)</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/HkP2vbhH29.html" target="_blank">进口大众途锐中文使用手册</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/Lm2VX7WWgZ.html" target="_blank">联通未来青春创业社运营理念和模式-定稿</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/PsZOocUCs7.html" target="_blank">陶瓷基本常识</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/bt73eC54vR.html" target="_blank">高一2班学生成绩单</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/bvK71MNn2ml.html" target="_blank">环境影响评价报告公示:万植物蛋白饮料加工环评报告</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/bw0Q47sLWl.html" target="_blank">七友粤语歌词音译</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/jbDCsr5Ad9.html" target="_blank">2013年纳税申报期限</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/sM8EvGUasBJ.html" target="_blank">空压机密码大全</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/uCvEItCNIOu.html" target="_blank">特殊教育学校功能室功能用途超全之欧阳地创编</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/wveATH2OdU.html" target="_blank">粉尘清扫和收集管理制度</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/7JMPK5Kfu7d.html" target="_blank">GBT18442-2019《固定式真空绝热深冷压力容器》</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/8iPhW4SbsX.html" target="_blank">2021年销售模拟笔试题目及答案</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/9A5zR431KB.html" target="_blank">国有林场(苗圃)财务制度</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/H7cxPblbx.html" target="_blank">中央人事任命文件 (3页)</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/HkP2vbhH29.html" target="_blank">进口大众途锐中文使用手册</a> </li> <li> <!-- <a target="_blank" href="https://ishare.iask.sina.com.cn/f/.html"></a> --> <a href="https://ishare.iask.com/f/Lm2VX7WWgZ.html" target="_blank">联通未来青春创业社运营理念和模式-定稿</a> </li> </ul> </div> <div class="switch_content_wrap current"> <ul> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/ud15MsCv9Ok.html" target="_blank">北京中考物理题型以及分值分布</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/5qww8TGkVFB.html" target="_blank">最新医疗器械生产质量管理规范</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/Ju99gqNkr9.html" target="_blank">结婚周年庆ppt模板 (10页)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/LmXSPR3XqZ.html" target="_blank">锅炉循环水泵的计算公式</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/RjSbPrvNIh.html" target="_blank">春夜喜雨 赠(zèng) 花(huā) 卿(qīng) 拼音版</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/a2rORFngkI.html" target="_blank">《大道之行也》《徙木偾表》2018年湖北襄阳中考文言文阅读真题(含答案与翻译)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/2ZV9RnImkWY.html" target="_blank">家装工程质保单</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/315nn0GTOJA.html" target="_blank">海螺水泥耐火材料规程第十章</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/5CO7DNatDN.html" target="_blank">美丽的九寨沟作文</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/bxMZAYs6PtF.html" target="_blank">蜗牛与黄鹂鸟(修改版)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/iT32jgvZke.html" target="_blank">青岛四流南路第一小学相关信息</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/ixFS1F7IFM.html" target="_blank">北舞莲花桥校区中国舞上课时间安排</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/xMiO0m84l.html" target="_blank">Illustrator平面设计实用教程罗卫锋配套资源 有关AI部落</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/6084304.html" target="_blank">PWM电机驱动系统传导共模EMI抑制技术的研究现状</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/67190262.html" target="_blank">金算盘流程图</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/6uwad1W4Yga.html" target="_blank">【精品推荐】商铺财产保险哪家好</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/QBE8tEPRmB7.html" target="_blank">二甲创建工作进度安排简表</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://ishare.iask.com/f/1RkGHeQNt8ur.html" target="_blank">网格化环境监管关义鹏制作PPT课件</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://ishare.iask.com/f/1VHye3NcJ3z.html" target="_blank">MIL-STD-10E抽样计划表</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://ishare.iask.com/f/1W5Dy7Tro99.html" target="_blank">危大工程专家论证</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://ishare.iask.com/f/2WC2xFTQzjf.html" target="_blank">始作俑者是褒义词还是贬义词</a> </li> </ul> </div> <div class="switch_content_wrap"> <ul> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/35X87v1kbkC.html" target="_blank">3D开豹子999助全国返奖比例飙至131%</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/362QvByRZ2E.html" target="_blank">板式换热器外形尺寸及安装图(可编辑)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1UZIyCJWaLB.html" target="_blank">《分布式电源接入电网技术规定》</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1eYK0z78MInR.html" target="_blank">扬州苏科版四年级劳动与技术上册期末复习题</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1238tWdZZT.html" target="_blank">退休教师欢送会活动方案</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1QC4PtZi4Z9r.html" target="_blank">EHS资料检查表</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/61273750.html" target="_blank">前海小学工作简报(106)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/6691240.html" target="_blank">《永远的尹雪艳》之语言、意象与宗教思考</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/7EZ2sOELCfP.html" target="_blank">介绍水果-苹果 PPT课件</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/8R58QeF4K1.html" target="_blank">APX 测定方法</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/6u0CRO9PJ8S.html" target="_blank">2016非连续性文本阅读题</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/7DHHsiiYHun.html" target="_blank">内蒙古建筑工程预算定额(2009)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/9m9DzvI03N.html" target="_blank">实践出真知的作文</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/29RTNpOaFiG.html" target="_blank">工资系数的计算公式标准</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/35X87v1kbkC.html" target="_blank">3D开豹子999助全国返奖比例飙至131%</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/362QvByRZ2E.html" target="_blank">板式换热器外形尺寸及安装图(可编辑)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1UZIyCJWaLB.html" target="_blank">《分布式电源接入电网技术规定》</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1eYK0z78MInR.html" target="_blank">扬州苏科版四年级劳动与技术上册期末复习题</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1238tWdZZT.html" target="_blank">退休教师欢送会活动方案</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/1QC4PtZi4Z9r.html" target="_blank">EHS资料检查表</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/61273750.html" target="_blank">前海小学工作简报(106)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/6691240.html" target="_blank">《永远的尹雪艳》之语言、意象与宗教思考</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/7EZ2sOELCfP.html" target="_blank">介绍水果-苹果 PPT课件</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/8R58QeF4K1.html" target="_blank">APX 测定方法</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/6u0CRO9PJ8S.html" target="_blank">2016非连续性文本阅读题</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/7DHHsiiYHun.html" target="_blank">内蒙古建筑工程预算定额(2009)</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/9m9DzvI03N.html" target="_blank">实践出真知的作文</a> </li> <li> <!-- <a target="_blank" href=""></a> --> <a href="https://m.ishare.iask.com/f/29RTNpOaFiG.html" target="_blank">工资系数的计算公式标准</a> </li> </ul> </div> </div> </div> </div> <div class="rigthAside fl"> <!-- 作者信息 --> <div class="editer-con"> <div class="avatar-frame"> <img src="https://pic.iask.com.cn/1mwmgl6hn3.png" alt=""> </div> <div class="editer-info"> <div class="nickname">is_842972</div> <div class="editer-brief"> 暂无简介~ </div> </div> </div> <!-- 文章信息 --> <div class="paper-info"> <div class="info-item">格式:doc</div> <div class="info-item">大小:232KB</div> <div class="info-item">软件:Word</div> <div class="info-item">页数:61</div> <div class="info-item">分类:工学</div> <div class="info-item">上传时间:2017-09-01</div> <div class="info-item">浏览量:21</div> </div> <!-- 相关资料 --> <div class="related-file"> <div class="column-name">相关资料</div> <ul> <li class="file-item"> <a href="https://ishare.iask.com/f/bnbVwBEJzM9n.html">那一刻,我感受到了幸福_五年级记叙文作文100字</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/buQZwSePveV.html">金螳螂(002081)2015-2019年财务报表数据-原点参数</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/bv0HgYzdmLb.html">大学生借贷调查研究-方案设计</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/bn4AvlGmsdXT.html">读书伴我成长_初二议论文作文1200字</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/doQQaxbr4z.html">四年级上册“钟面问题”详解</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/iTVTZvkaqS.html">常熟市统计局公务员和机关工作人员职业道德.</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/iwoHEE4OYQ.html">传道人的讲题~讲道与讲章的预备[修订]</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/jc07jxeMVA.html">报价核算练习题</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/tj4q8F8qpbS.html">《修辞立其诚》《怜悯是人的天性》ppt课件1</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/19cctjrsAln.html">公司内部文件征求意见会签单</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/12DufXSn3Ppr.html">中国电信--电子商务平台建设方案(共47页)</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/1EE4Aehurjf.html">谷城县工会经审工作精细化管理操作实用手册</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/1jdOWIGPg4im.html">2023年呼和浩特地区房地产销售员职位薪酬调查报告</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/6rGfHNetyxa.html">北师大版2016二年级数学上册期末测试卷</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/2TLJVW2cbt8.html">ICU气管插管患者口腔护理指引AACN之欧阳科创编</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/2VhlmLGLpxH.html">项目验收专家意见模板</a> </li> <li class="file-item"> <a href="https://m.ishare.iask.com/node/s/9dg3to7jnc7j6.html">生产车间班组工作总结</a> </li> <li class="file-item"> <a href="https://m.ishare.iask.com/f/35RfPuC7sRU.html">热爱的名人素材(通用8篇)</a> </li> <li class="file-item"> <a href="https://ishare.iask.com/f/30bGpfPQ5g7.html">近两次CET4真题+听力原文+答案+详解</a> </li> <li class="file-item"> <a href="https://m.ishare.iask.com/node/s/bht2jzv54j9jc.html">玻璃幕墙应急预案</a> </li> </ul> </div> <!-- 热门搜索 --> <div class="hot-search"> <div class="search-top"> <span class="column-name">热点搜索</span> <!-- <span class="swtich-bar">换一换</span> --> </div> <div class="search-list"> <a href="https://m.ishare.iask.com/f/5qKwnRuYPx.html">颜色混合表</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/Rcw9xdRPO6p.html">2021年春冀教版三年级下册英语全册分课时作业本(含答案)</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/TIfWM9JtNF.html">孕产妇心肺复苏ppt课件</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/32NgR5381Wn.html">好听歌曲名字大全</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/34cwga8QHEq.html">2016最新情侣网名:借过、奈何桥 - 不喝、孟婆汤</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/355Ba1Pg8BJ.html">[精品]徐卫国兵败何方-</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/35GjqESoa3d.html">法国地名来历大全</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/36032075.html">IEEE Trans PAMI2012 Density-based multifeature background subtraction with support vector machine</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/37441141.html">PDA TR39 药品冷链指南</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/5V91jm7dZ3.html">星星离我们多远每章概括</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/6fTJ6ov1U9.html">机械制图任务2.6 支座三视图的绘制</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/6tJlIDb6s0m.html">初中物理实验课教学模式研究课题开题报告</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/6xm6xHm1VjM.html">广东省广州市绿翠现代实验学校2022-2023学年七年级数学第二学期期中学业水平测试模拟试题含解析</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/733bIyHSlQ9.html">我帮妈妈做家务_四年级状物作文600字</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/5qKwnRuYPx.html">颜色混合表</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/Rcw9xdRPO6p.html">2021年春冀教版三年级下册英语全册分课时作业本(含答案)</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/TIfWM9JtNF.html">孕产妇心肺复苏ppt课件</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/32NgR5381Wn.html">好听歌曲名字大全</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/34cwga8QHEq.html">2016最新情侣网名:借过、奈何桥 - 不喝、孟婆汤</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/355Ba1Pg8BJ.html">[精品]徐卫国兵败何方-</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/35GjqESoa3d.html">法国地名来历大全</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/36032075.html">IEEE Trans PAMI2012 Density-based multifeature background subtraction with support vector machine</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/37441141.html">PDA TR39 药品冷链指南</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/5V91jm7dZ3.html">星星离我们多远每章概括</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/6fTJ6ov1U9.html">机械制图任务2.6 支座三视图的绘制</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/6tJlIDb6s0m.html">初中物理实验课教学模式研究课题开题报告</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/6xm6xHm1VjM.html">广东省广州市绿翠现代实验学校2022-2023学年七年级数学第二学期期中学业水平测试模拟试题含解析</a> <!-- <a href=""></a> --> <a href="https://m.ishare.iask.com/f/733bIyHSlQ9.html">我帮妈妈做家务_四年级状物作文600字</a> <!-- <a href=""></a> --> </div> </div> </div> </div> <!-- 底部声明 --> <div class="website-footer"> <div class="footer-content"> <div class="footer-link"> <div class="earth-con"> <div class="file-groups earth-con-item"> <span>资料大全</span> <a href="/index/f-a.html " target="_blank">A</a> <a href="/index/f-b.html " target="_blank">B</a> <a href="/index/f-c.html " target="_blank">C</a> <a href="/index/f-d.html " target="_blank">D</a> <a href="/index/f-e.html " target="_blank">E</a> <a href="/index/f-f.html " target="_blank">F</a> <a href="/index/f-g.html " target="_blank">G</a> <a href="/index/f-h.html " target="_blank">H</a> <a href="/index/f-i.html " target="_blank">I</a> <a href="/index/f-j.html " target="_blank">J</a> <a href="/index/f-k.html " target="_blank">K</a> <a href="/index/f-l.html " target="_blank">L</a> <a href="/index/f-m.html " target="_blank">M</a> <a href="/index/f-n.html " target="_blank">N</a> <a href="/index/f-o.html " target="_blank">O</a> <a href="/index/f-p.html " target="_blank">P</a> <a href="/index/f-q.html " target="_blank">Q</a> <a href="/index/f-r.html " target="_blank">R</a> <a href="/index/f-s.html " target="_blank">S</a> <a href="/index/f-t.html " target="_blank">T</a> <a href="/index/f-u.html " target="_blank">U</a> <a href="/index/f-v.html " target="_blank">V</a> <a href="/index/f-w.html " target="_blank">W</a> <a href="/index/f-x.html " target="_blank">X</a> <a href="/index/f-y.html " target="_blank">Y</a> <a href="/index/f-z.html " target="_blank">Z</a> <a href="/index/f-09.html " target="_blank">0-9</a> </div> <div class="topic-groups earth-con-item"> <span>专题大全</span> <a href="/index/t-a.html " target="_blank">A</a> <a href="/index/t-b.html " target="_blank">B</a> <a href="/index/t-c.html " target="_blank">C</a> <a href="/index/t-d.html " target="_blank">D</a> <a href="/index/t-e.html " target="_blank">E</a> <a href="/index/t-f.html " target="_blank">F</a> <a href="/index/t-g.html " target="_blank">G</a> <a href="/index/t-h.html " target="_blank">H</a> <a href="/index/t-i.html " target="_blank">I</a> <a href="/index/t-j.html " target="_blank">J</a> <a href="/index/t-k.html " target="_blank">K</a> <a href="/index/t-l.html " target="_blank">L</a> <a href="/index/t-m.html " target="_blank">M</a> <a href="/index/t-n.html " target="_blank">N</a> <a href="/index/t-o.html " target="_blank">O</a> <a href="/index/t-p.html " target="_blank">P</a> <a href="/index/t-q.html " target="_blank">Q</a> <a href="/index/t-r.html " target="_blank">R</a> <a href="/index/t-s.html " target="_blank">S</a> <a href="/index/t-t.html " target="_blank">T</a> <a href="/index/t-u.html " target="_blank">U</a> <a href="/index/t-v.html " target="_blank">V</a> <a href="/index/t-w.html " target="_blank">W</a> <a href="/index/t-x.html " target="_blank">X</a> <a href="/index/t-y.html " target="_blank">Y</a> <a href="/index/t-z.html " target="_blank">Z</a> <a href="/index/t-09.html " target="_blank">0-9</a> </div> </div> <div class="copy-link"> <a class="website-home-link" href="/" target="_blank"> <img class="website-icon" src="//static3.iask.cn/v202404111630/images/footer_logo.png"> </a> <p class="footer-nav"> <a href="http://help.iask.com/helpCenter/5e15a72a474e3171f58ae2a6.html" rel="nofollow" target="_blank" class="footer-nav-link jsReplaceNavLink">网站声明 <span>|<span></a> <a href="http://help.iask.com/helpCenter/5d11e55e0cf2d66b81a5513f.html" rel="nofollow" target="_blank" class="footer-nav-link jsReplaceNavLink">侵权处理 <span>|<span></a> <a href="/node/feedback/feedback.html" rel="nofollow" target="_blank" class="footer-nav-link">投诉反馈 <span>|<span></a> <a href="http://help.iask.com/helpCenter/ishare.html" rel="nofollow" target="_blank" class="footer-nav-link">帮助中心 <span>|<span></a> <a href="/index/f-a.html" target="_blank" class="footer-nav-link">网站地图 <span>|<span></a> <a href="https://office.iask.com/" target="_blank" class="footer-nav-link">爱问办公</a> </p> <a class="copy-txt" href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank"><span class="beian">京ICP证000007-6</span> 爱问文库-Copyright © 2024 版权所有</a> <p class="web-copyright jsWebCopyright"> <a target="_blank" href="https://beian.mps.gov.cn/#/query/webSearch?code=33021202002483" rel="noreferrer"><img class="copyright-mark" src="//static3.iask.cn/v202404111630/images/common/ic_mark.png" alt="">浙公网安备 33021202002483</a> </p> </div> </div> <div class="footer-kefu"> <div class="footer-border"></div> <p>客服热线:0755-26904047</p> <p>工作日:9:00-18:00</p> <span class="btn-contact jsContactMeiqia" data-pageid="footer">在线客服</span> </div> <ul class="footer-qrcode-items"> <li class="qrcode-item"> <div class="qrcode-item-img"> <img src="//static3.iask.cn/v202404111630/images/ishare_gongxiang.jpg"> </div> <p class="qrcode-item-desc">关注爱问文库服务号</p> </li> </ul> </div> </div> <script> window.pageConfig = { page: {} }; seajs.use(["dist/spider/init.js"]); </script> <script type="text/javascript"> document.write(unescape( "%3Cspan id='cnzz_stat_icon_1279079195'%3E%3C/span%3E%3Cscript src='https://v1.cnzz.com/stat.php%3Fid%3D1279079195' type=" + "'text/javascript'%3E%3C/script%3E" )); </script> </body> </html>