论文部分内容阅读
作为网络管理系统的重要组成部分,网络拓扑发现是人们探测和研究网络的一个重要方面。特别是随着网络规模的日益庞大和复杂,网络拓扑发现已经成为高效网络管理的基础。目前,如何快速、准确地发现网络拓扑结构是相关领域研究的重点和热点。传统的网络拓扑发现方法基本上都是基于SNMP协议的,但SNMP存在实时性较差,网络开销大等问题。由于OSPF协议具有收敛速度快、开销控制小等优点。因此,本文提出了OSPF与SNMP相结合的网络拓扑发现方法,分别对网络层和链路层实现拓扑发现,并在此基础上设计和实现了一个网络拓扑发现系统。本文的主要工作如下:提出一种基于OSPF的网络层拓扑发现算法。针对传统SNMP网络层拓扑发现算法采用主动探测手段,易造成低实时性、网络性能受影响等问题,提出一种基于OSPF协议的网络层拓扑发现算法。该算法采用被动监测方式,通过Jpcap获取OSPF协议中的链路状态更新报文,分析其中的Router LSA和Network LSA包含的拓扑信息,进而实现网络层拓扑结构的发现。仿真实验结果表明,该算法能够快速准确的获得网络层的拓扑结构。提出一种基于SNMP的链路层拓扑发现算法。针对传统SNMP链路层发现算法实现过程中存在冗余计算,发现效率低等问题,提出一种改进的基于SNMP的链路层拓扑发现算法。该算法采用树的分层思想,将交换机之间的连接表示为树形结构,自顶向下逐层确定每个交换机的连接关系。通过改进交换机与交换机之间连接关系的判定条件,并结合两种关键技术提高拓扑发现效率:1)采用线程池方式发现活动设备及判断设备的类型,该方式解决了采用单线程方式中长时间等待报文超时的问题,使发现速度得到提高;2)引入哈希表存储交换机端口包含的MAC地址,通过哈希查找提高确定设备连接关系的速度。实验结果表明,该算法在发现效率上优于改进前的算法,同时还可以发现网络中存在的Hub。设计并实现了一个网络拓扑发现系统。该系统采用三层体系结构设计:数据层获取拓扑信息;业务层根据上述两种拓扑发现算法计算得到网络拓扑结果;显示层结合JGraph将得到的网络层和链路层拓扑图清晰、明了的展示给用户。通过在真实网络环境中对系统的测试,验证了所提算法的有效性。