基于SNMP的校园网拓扑发现系统的设计与实现_第1页
基于SNMP的校园网拓扑发现系统的设计与实现_第2页
基于SNMP的校园网拓扑发现系统的设计与实现_第3页
基于SNMP的校园网拓扑发现系统的设计与实现_第4页
基于SNMP的校园网拓扑发现系统的设计与实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上基于SNMP的校园网拓扑发现系统的设计与实现刘家乐,雷显臻,周兴旺(湖南交通工程职业技术学院计算机系,湖南衡阳,)摘要:网络拓扑信息的发现是校园网络管理软件中非常重要的功能。论文文基于SNMP协议,设计了一个校园网拓扑发现系统,提出了系统的总体架构和功能模块,研究了网络层拓扑发现技术和链路层拓扑发现技术,实现了网络层拓扑发现功能和链路层拓扑发现功能,并给出了系统的实际运行效果。关键字:网络拓扑发现; SNMP; 校园网; 网络管理中图分类号:TP315。Design and Implementation of Campus Network Topology Disco

2、very System Based on SNMPLIU Jia-le,LEI Xian-zhen(Hunan Technical College of Communication&Engineering Department of Computer Technology, Hengyang, , China) Abstract:The discovery of Network topology information is a very important function of the campus network management software. In this pape

3、r, we have designed a campus network topology discovery system, based on the SNMP protocol,and have proposed the general framework and functional modules of the network layer topology discovery techniques, we also have studied link-layer topology discovery technology. And thus it has relized the fun

4、ction of network layer topology discovery and the function of link layer topology discovery, and has presented the system's actual operating effects.Keywords:Network Topology Discovery; SNMP; Campus Network; Network Management1 引言网络拓扑结构的获得对于校园网的网络管理具有十分重要的意义,是校园网络管理软件中一项非常基础的功能,校园网拓扑发现系统就是为了解决校园

5、网络中的拓扑发现问题而开发的。SNMP协议在当前的校园网环境中广泛应用,利用SNMP的相关技术进行校园网拓扑结构的获取具有技术成熟,可行性强的特点。本系统的主要功能就是利用SNMP协议自动发现校园网络环境中的各种网络设备,并确定它们的连接信息,绘制出校园网络的拓扑结构图。2 拓扑发现系统的总体设计2.1 系统体系结构校园网络拓扑发现系统的体系结构如图1所示,划分为三个层次:最下层是拓扑信息获取层,负责网络设备基础拓扑信息的采集,然后以一定的形式送到中间层;中间层是拓扑信息分析层,负责从收集到的基础拓扑数据中分析出网络拓扑结构;最上层为拓扑图形显示层,负责拓扑图的绘制和展示。图1拓扑发现系统体系

6、结构2.2 功能模块系统的功能模块分为5个部分,如图2所示图2拓扑发现系统总体功能模块2.3 系统开发环境本系统采用Eclipse集成环境、ObjectSNMP及AdventNet SNMP API软件开发包在Java平台上进行开发。AdventNet SNMP API是美国AdventNet公司推出的一个开发包,它提供了全面的API用于开发基于SNMP的网络管理应用。ObjectSNMP是智和信通公司推出的一个面向对象的SNMP开发组件,实现了Object到SNMP MIB的映射。3 网络层拓扑发现3.1 网络层拓扑发现的基本原理网络层拓扑发现的主要任务是发现网络层节点设备之间的连接关系,主

7、要是指路由器与路由器、路由器与子网之间的连接关系。SNMP通过管理站/代理的模式对网络设备进行管理,实质上是对网络设备中的管理信息库MIB进行管理。IETF规定的MIB中定义了可访问的网络设备及其属性,由对象识别符OID唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。基于SNMP协议的网络层拓扑发现的基本原理是:利用SNMP协议,从设备的MIB库中提取出与网络层拓扑发现相关的信息,如接口地址表和路由转发表,然后将这些信息安装一定的算法归纳、整理,从而得出网络的逻辑拓扑结构。3.2 网络层拓扑发现相关的MIB本系统网络层拓扑发现功能主要基于RFC

8、-1213定义的MIB-II是标准。MIB-II由很多不同的部分组成,本文的主干拓扑发现算法用到的组包括:System组,Interfaces组和IP组。在算法中需要使用的对象描述如下:(1)system组的sysService对象,表示设备服务层次。(2)interfaces组的ifNumber对象,表示系统中的网络接口数量。(3)算法中用到的IP组的对象有三个:简单对象ipFowrarding和两个表对象,接口地址表ipAddrTable、路由转发表ipRouteTable。简单对象ipFowrarding用来表示设备是否具有转发功能,它的值只能为1或2,为1代表系统开启了路由功能,正在进

9、行数据转发,2则代表关闭了转发功能。路由转发表ipRouterTable是对路由器的路由信息的相关描述,其中ipRouteNextHop表示下一条地址,有可能就是邻近路由器的接口地址。3.3 网络层拓扑发现的算法描述网络层拓扑发现算法从当前管理站的网关地址开始,使用SNMP协议对网关IP地址进行探测。如果ipForwarding=1且sysServices>3,则判断该节点是一个三层设备。如果设备具有dot1dBaseBridgeAddress则是三层交换机,否则便是路由器。如果ipForwarding=2且sysServices值为2、3,则该节点是一个二层设备。既不是二层设备、也不是

10、三层设备的节点可以判定它是普通的PC主机。对于三层设备,可以获得它的IP地址表ipAddrTable,并根据其中的ipRouteNextHop来确定下一个发现的三层设备。网络层拓扑发现算法的伪代码描述如下:初始化网关路由器集合routerVector;初始化路由器连接集合routerConnectVector;获取指定起始网关的标识和指定的IP地址,实例化一个Rouer类对象,设定其processFlag值为false,将该对象放入RouterVector中;while(RouterVector中还有processFlag为false的路由器)从RouterVector中读取一个Router对

11、象,记为currentRouter;获取currentRouter的ipAddrTable信息,填入其addrVector中;获取currentRouter的ipRouterTable信息,除去其中ipRouteType为“无效”的条目;for(ipRouterTable表中各项路由记录)if(路由记录为直连网段)以ipRouteDest及ipRouteMask等实例化一个Subnet类对象;将该对象无重复地放入currentRouter的subnetVector中;else判断当前条目的ipRouteNextHop不同于currentRouter的所有IP地址;获取ipRouterNextH

12、op对应网关路由器的RouterID;以ipRouteNextHop和currentRouter的标识和IP地址值实例化一个RouterConnect类对象routerConn;If(routerConn没有在ConnectVector中存在) 将routerConn填入ConnectVector中;ipRouteNextHop等信息实例化一个Router类对象aRouter;设置aRouter的processFlag为false,将其放入RouterVector中;设置currentRouter标志为“已处理”;算法完成后,结果信息保存在全局变量routerVector和routerConn

13、ectVector中。4 链路层拓扑发现4.1 链路层拓扑发现的基本原理本系统采用基于地址转发表(AFT)的链路层拓扑发现技术,通过分析交换机的AFT表来推算交换机及其与主机、路由器之间的连接关系。贝尔实验室的Yuri Breitbart给出了基本算法,通过分析交换机端口对应的AFT中的MAC地址集合关系来确定交换机和交换机,交换机和路由器、主机之间的连接关系。此算法在实际应用中要求每台交换机的地址转发表必须完整,即每台交换机必须知道其他交换机所连接的端口。为此本系统采取了一项改进措施,对每个交换机作一次Ping操作,使得地址转发表中的记录完整。4.2 链路层拓扑发现相关的MIB 交换机MIB

14、对应的标准是Bridge-MIB。在Bridge-MIB中定义了dot1dTpFdbAddress(OID:1.3.6.1.2.1.17.4.3.1.1)来存放地址交换机的地址转发表,其对应的端口存放在端口信息表dot1dTpFdbPort(OID:1.3.6.1.2.1.17.4.3.1.2)上。通过查询dot1dTpFdbAddress和dot1dTpFdbPort便可以找到发现交换机MAC的端口。4.3 链路层拓扑发现算法链路层拓扑发现算法主要分成两步,首先是收集交换机AFT原始记录信息,然后在此基础上对AFT记录进行分析,得出交换机之间的连接关系。(1)链路层AFT信息收集获取网络所有

15、交换机列表,确定可以通过SNMP读取MIB库信息的交换机集合switchVector,并且确定其IP地址与MAC地址的对应关系,以及标志节点(运行算法的主机或目标子网中转发运行算法主机发出的数据报文的路由器)。对集合switchVector中所有设备进行ping操作。读取集合switchVector中所有设备和标志节点的MAC地址是否在其他所有交换机的端口上出现,得到三元组(switchA,switchB,switchportB),表示在switchB的端口switchportB上发现了switchA的MAC地址。将三元组存放在集合swConnTemp中。(2)链路层拓扑连接信息分析根据得到的

16、三元组(switchA,switchB,switchportB)集合,推导出所有设备端口之间的连接关系,得到交换机端口连接四元组(switchA,switchportA,switchB,switchportB)。表示switchA的端口switchportA与switchB的端口switchportB直连,并存放在集合swConnVector中,这样就得到了子网内交换机的链接关系。具体的推导发现算法伪代码描述如下:根据主干拓扑发现的结果构造子网集合subnetVector;for(子网集合subnetVector中的每一个子网)初始化交换机集合switchVector;确定子网内可以通过SNM

17、P读取的交换机集合到switchVector中;确定标志节点到rootDevice;Ping集合switchVector中的每个交换机for(switchVector中的每个交换机switchA)If(switchA的MAC出现在switchB的MAC表中)查找switchA对应的端口号switchportB;swConnTemp.add(switchA,switchB,switchportB);根据三元组集合发现交换机间的连接关系;输出发现结果四元组集合swConnVector;5 系统的测试与运行5.1 运行环境系统在真实的高校校园网络环境中测试和运行。校园网环境:目前共有核心交换机1台,

18、汇聚层交换机7台,接入层交换机30台,出口路由器一个,用户自行购买的哑设备近百个。5.2 网络设备的配置为使用本系统对网络拓扑进行发现,需要开启网络设备的SNMP代理功能,并作相应的配置。具体以Cisco3640路由器为例配置如下:R3640(config):snmp-service enable /开启SNMP功能R3640(config):snmp-server community public RO /配置只读共同体为public5.3 系统的运行效果系统开发完成后,在校园网络上进行了试运行,对主干网络的拓扑发现效果如图3所示。图3 在校园网中的系统运行效果(主干网络)经过试用,证实系统运行稳定,能够高效、准确地发现校园网络拓扑结构,基本实现了所需功能,达到了预定设计目的。6 结束语本文以校园网的网络管理工作为背景,设计和实现了基于SNMP协议的校园网络拓扑发现系统。该系统采用了比较成熟的网络层拓扑发现和链路层拓扑发现技术,比较好的解决了校园网络拓

温馨提示

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

评论

0/150

提交评论