一种网络拓扑自动获取的方法

文档序号:7770902阅读:603来源:国知局
一种网络拓扑自动获取的方法
【专利摘要】本发明公开的一种网络拓扑自动获取的方法,其包括情步骤S01扫描配置的网络、步骤S02解析配置的网络、步骤S03搜寻二级交换机及设备、步骤S04建立边的关系、步骤S05构建网络拓扑关系且存储至图形数据库、及步骤S06从图形数据库中读取并显示;它根据网络的实际运行况,自动发现网络拓扑关系,以保证网络拓扑关系与实际网络构造的一致性,以及通过路由跟踪算法及SNMP协议自动发现网络中的不可管理设备,以保证网络拓扑关系的完整性,此外,形成的网络拓扑关系存储于图形数据库中,当实际运行网络结构发生变化时,通过自动扫描而及时更新最新的拓扑关系。
【专利说明】一种网络拓扑自动获取的方法
【技术领域】
[0001]本发明属于网络管理【技术领域】,特别涉及一种网络拓扑自动获取的方法。
【背景技术】
[0002]网络拓扑(Topology)结构是指用传输介质互连各种设备的物理布局,即构成网络的成员间特定的物理的即真实的、或者逻辑的即虚拟的排列方式,简言之就是网络各设备的连接关系,网络拓扑设计地好坏对整个网络的性能和经济性有重大影响。
[0003]通常,网络维护人员会根据网络拓扑图对网络的构造进行掌控,以便于后续网络的管理及维修工作,当前,大多网络维护人员对网络拓扑图采用手动绘制方式,相应地,后续的更新也采用手动添加,然而,手动绘制和更新网络拓扑图存在诸多问题和不便,其主要表现为:(I)、手动绘制的网络拓扑结构图受绘制人员本身水平的影响,会与实际的网络拓扑结构有出入;(2)、实际网络结构发生变化时,难以同步更新网络拓扑图。
[0004]有鉴于此,目前业界出现网络拓扑自动获取方式,但采由该等方式获取的网络拓扑图只能发现可管理网络设备,对于不可管理网络设备(如二级交换机及其连接的设备等)无法发现,因而,该网络拓扑图不能真实和完整地反映网络拓扑结构,而使网络维护人员得不到正确的信息,对后续的运维管理工作产生不好的影响。

【发明内容】

[0005]针对现有技术存在的问题,本发明旨在提供一种网络拓扑自动获取的方法,它根据网络的实际运行情况,自动发现网络拓扑关系,以保证网络拓扑关系与实际网络构造的一致性,以及通过路由跟踪算法及SNMP协议自动发现网络中的不可管理设备,以保证网络拓扑关系的完整性,此外,形成的网络拓扑关系存储于图形数据库中,当实际运行网络结构发生变化时,通过自动扫描而及时更新最新的拓扑关系。
[0006]本发明提供的一种网络拓扑自动获取的方法,其包括以下步骤:
[0007]步骤SOl:扫描配置的网络:使用nmap扫描配置的网络,生成xml格式的结果文件;
[0008]步骤S02:解析配置的网络:使用xml的sax解析器,解析步骤SOl中生成的结果文件,根据主机的操作系统属性区分交换机、路由器和主机,并找到本网络中的默认网关;
[0009]步骤S03:搜寻二级交换机及设备:开启交换机或者路由器snmp协议,通过snmp搜寻交换机或者路由器端口下存在的二级交换机,并找到二级交换机下面所连接的设备的ip和mac地址列表;
[0010]步骤S04:建立边的关系:根据王机的ip或者mac地址,遍历所有的交换机、路由器及二级交换机,查找是否包含该主机的ip或者mac,如果该交换机、路由器及二级交换机包含该主机的ip或者mac地址,则将该主机和该交换机、路由器及二级交换机建立边的关系,否则,将该主机和默认网关建立边的关系;根据设备的ip或者mac地址,遍历所有的交换机、路由器及二级交换机,建立该设备和交换机、路由器及二级交换机的边的关系,否则,将该设备和默认网关建立边的关系;通过snmp搜寻交换机或者路由器端口下存在的二级交换机,将该二级交换机和该交换机或者路由器建立变的关系,未被搜寻出的二级交换机将与默认网关建立边的关系;
[0011]步骤S05:构建网络拓扑关系且存储至图形数据库:根据所有的主机、路由器交换机、二级机交换机、默认网关及设备的ip分别生成节点Gnode,根据步骤S04生成的边的关系生成边的线Gline,把所有的Gnode和Gline放到一张Gmap图中构建网络拓扑关系,并将Gmap图保存到neo4j图形数据库中;
[0012]步骤S06:从图形数据库中读取并显示:读取neo4j图形数据库中的图并进行展
/Jn ο
[0013]基于上述提供的网络拓扑自动获取的方法,本发明具有以下技术效果:
[0014]本发明提供的一种网络拓扑自动获取的方法,它根据网络的实际运行情况,自动发现网络拓扑关系,以保证网络拓扑关系与实际网络构造的一致性,以及通过路由跟踪算法及SNMP协议自动发现网络中的不可管理设备,以保证网络拓扑关系的完整性,此外,形成的网络拓扑关系存储于图形数据库中,当实际运行网络结构发生变化时,通过自动扫描而及时更新最新的拓扑关系。
【专利附图】

【附图说明】
[0015]图1为本发明提供的网络拓扑自动获取的方法的流程简图;
[0016]图2为本发明提供的网络拓扑自动获取的应用实施例中得出的网络拓扑关系效果图。
【具体实施方式】
[0017]下面通过【具体实施方式】来进一步说明本发明的技术方案:
[0018]实施例
[0019]步骤SOl:扫描配置的网络:使用nmap (命令为:nmap-sS_0-traceroute"待扫描的网络"-oX"结果文件")扫描配置的网络,生成xml格式的结果文件;
[0020]步骤S02:解析配置的网络:使用xml的sax解析器,解析步骤SOl中生成的结果文件,根据主机的操作系统属性(被封装成HOST类型,该对象包含ip地址,mac地址,name主机名,platformtype操作系统类型这三个基本属性)区分交换机、路由器和主机,并找到本网络中的默认网关,结果文件中〈osmatch name= " Linux3.1_3.4" accuracy=" 94" Iine=〃 71313" >的osmatch节点的nama属性为Iiunx或者window,会被解析主机,文件中〈osmatch name=" H3C E126A or S3100-8T-SI switch(Comware3.10)" accuracy=" 90"line=" 21812" >中osmatch节点的name属性中,包含switch或者router将被解析成交换机或者路由器,并将文件中解析到的第一个交换机或者路由器作为本网络的默认网关;
[0021]步骤S03:搜寻二级交换机及设备:开启交换机或者路由器snmp协议,通过snmp搜寻交换机或者路由器端口下存在的二级交换机,并找到二级交换机下面所连接的设备的ip和mac地址列表,基本原理是通过交换机地址访问表,建立端口与ip地址集,并判断ip地址与其他交换机的连接关系,从而推测该交换机端口下是否存在二层交换机,具体方法为从 ipNetToMediaPhysAddress 中得到 ip 和 mac 地址,dotldTpFdbPort 得到 port 和 mac地址,并通过mac地址,建立起端口与ip地址集对应关系,然后对每组端口与ip地址集与已建立的交换机地址集进行比较,判断是否存在连接关系,若不存在连接关系,并且该端口与地址集存在一对多的关系,则判断该端口下存在一个二层交换机设备,二级交换机被封装成InterfaceMultiMac对象,该对象包含的属性有,Interface:二级交换机的接口号,List〈IpMac>:二级交换机所连接的机器的ip和mac地址的集合;
[0022]步骤S04:建立边的关系:根据主机的ip或者mac地址,遍历所有的交换机、路由器及二级交换机的List〈IpMac>对象,查找是否包含该主机的ip或者mac,如果该交换机、路由器及二级交换机的List〈IpMac>包含该主机的ip或者mac地址,则将该主机和该交换机、路由器及二级交换机建立边的关系,否则,将该主机和默认网关建立边的关系;根据设备的ip或者mac地址,遍历所有的交换机、路由器及二级交换机,建立该设备和交换机、路由器及二级交换机的边的关系,否则,将该设备和默认网关建立边的关系;通过snmp搜寻交换机或者路由器端口下存在的二级交换机,将该二级交换机和该交换机或者路由器建立变的关系,未被搜寻出的二级交换机将与默认网关建立边的关系;该等边的关系被封装成TopoLine对象,这种类型的对象包含两个属性,interface:主机、设备或二级交换机的ip地址,nextHop:该ip连接的交换机或路由器、二级交换机或者默认网关的ip ;
[0023]步骤S05:构建网络拓扑关系且存储至图形数据库:根据所有的主机、路由器交换机、二级机交换机、默认网关及设备的ip分别生成节点Gnode,根据步骤S04生成的边的关系生成边的线Gline,把所有的Gnode和Gline放到一张Gmap图中构建网络拓扑关系,且将Gmap保存到neo4j图形数据库中,其中,将所有生成的节点Gnode会有唯一的id标识,边的关系生成线Gline也有唯一的id标识Gline, Gline有两个属性,nodefrom和nodeto分别代表边得两个节点,nodefrom为设备、主机及二级交换机的ip地址,nodeto交换机或路由器、二级交换机或者默认网关的ip ;
[0024]步骤S06:从图形数据库中读取并显示:读取neo4j图形数据库中的图并进行展
/Jn ο
[0025]应用实施例:
[0026]一机房存在2个三级交换机(相当于默认网关),5个二级交换机,3个子网(192.168.83.0/24,172.19.103.0/24,172.19.104.0/24),其中,192.168.83.0/24,172.19.105.0/24 这两个子网的二级级交换机接在一个三级交换机上,剩下的I个子网的二级交换机连接在一个三级交换机,两个三级交换机直连,经过上述网络拓扑自动获取的方法得出的网络拓扑关系图如图1所示。
[0027]以上是对本发明进行了示例性的描述,显然本发明的实现并不受上述方式的限制,只要采用了本发明技术方案进行的各种改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内,此外,需说明的是本发明中的主机包括传统意义上的计算机和仪器设备,本发明中的设备也包括传统意义上的计算机和仪器设备,至于本发明为何不同命名,一则是呼应【背景技术】,还有就是方便叙述。
【权利要求】
1.一种网络拓扑自动获取的方法,其特征在于,其包括以下步骤: 步骤SOl:扫描配置的网络:使用nmap扫描配置的网络,生成xml格式的结果文件;步骤S02:解析配置的网络:使用xml的sax解析器,解析步骤SOl中生成的结果文件,根据主机的操作系统属性区分交换机、路由器和主机,并找到本网络中的默认网关; 步骤S03:搜寻二级交换机及设备:开启交换机或者路由器snmp协议,通过snmp搜寻交换机或者路由器端口下存在的二级交换机,并找到二级交换机下面所连接的设备的ip和mac地址列表; 步骤S04:建立边的关系:根据主机的ip或者mac地址,遍历所有的交换机、路由器及二级交换机,查找是否包含该主机的ip或者mac,如果该交换机、路由器及二级交换机包含该主机的ip或者mac地址,则将该主机和该交换机、路由器及二级交换机建立边的关系,否贝U,将该主机和默认网关建立边的关系;根据设备的ip或者mac地址,遍历所有的交换机、路由器及二级交换机,建立该设备和交换机、路由器及二级交换机的边的关系,否则,将该设备和默认网关建立边的关系;通过snmp搜寻交换机或者路由器端口下存在的二级交换机,将该二级交换机和该交换机或者路由器建立变的关系,未被搜寻出的二级交换机将与默认网关建立边的关系; 步骤S05:构建网络拓扑关系且存储至图形数据库:根据所有的主机、路由器交换机、二级机交换机、默认网关及设备的ip分别生成节点Gnode,根据步骤S04生成的边的关系生成边的线Gline,把所有的Gnode和Gline放到一张Gmap图中构建网络拓扑关系,且将Gmap保存到neo4j图形数据库中; 步骤S06:从图形数据库中读取并显示:读取neo4j图形数据库中的图并进行展示。
【文档编号】H04L12/24GK103490926SQ201310428083
【公开日】2014年1月1日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】马黎黎, 梁鹏飞 申请人:湖南蚁坊软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1