CN105376163A - 一种网络拓扑结构的发现方法及装置 - Google Patents

一种网络拓扑结构的发现方法及装置 Download PDF

Info

Publication number
CN105376163A
CN105376163A CN201510660636.3A CN201510660636A CN105376163A CN 105376163 A CN105376163 A CN 105376163A CN 201510660636 A CN201510660636 A CN 201510660636A CN 105376163 A CN105376163 A CN 105376163A
Authority
CN
China
Prior art keywords
direct
address
routing device
switching equipment
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510660636.3A
Other languages
English (en)
Inventor
杨兴凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Chaoyue Numerical Control Electronics Co Ltd
Original Assignee
Shandong Chaoyue Numerical Control Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Chaoyue Numerical Control Electronics Co Ltd filed Critical Shandong Chaoyue Numerical Control Electronics Co Ltd
Priority to CN201510660636.3A priority Critical patent/CN105376163A/zh
Publication of CN105376163A publication Critical patent/CN105376163A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种网络拓扑结构的发现方法及装置,该方法包括:获取与当前计算机直连的当前路由设备;获取与所述当前路由设备直连的第一直连设备的第一IP地址;根据第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系;如果所述第一直连设备为路由设备,将该路由设备作为当前路由设备,执行所述获取与所述当前路由设备直连的第一直连设备的第一IP地址;如果所述第一直连设备为交换设备,获取与该交换设备直连的第二直连设备的第二IP地址,将第二IP地址分别作为所述第一IP地址,执行所述根据所述第一IP地址依次判断各个所述第一直连设备的类型。本方案能够获得完整的网络拓扑结构。

Description

一种网络拓扑结构的发现方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种网络拓扑结构的发现方法及装置。
背景技术
随着计算机技术的不断发展与进步,计算机成为人们生活和工作中必不可少的工具,通过通信线路将计算机连接起来,形成计算机网络,通过计算机网络可以实现不同计算机之间资源的共享和信息的传递,从而使计算机发挥更大的作用。随着计算机数量的不断增加,计算机网络拓扑结构也越来越复杂。计算机网络拓扑结构的设计,对整个计算机网络的性能、稳定性及通信费用都有着重大影响。
针对已经连接完成的计算机网络,通过获取网络拓扑结构,可以检测各个计算机之间的连接是否畅通,并可以检查各个计算机之间的连接形式是否与设计相同。
目前,针对于网络拓扑结构的发现方法,主要是通过基于Internet报文控制协议ICMP的Ping命令,检测某一网段内的设备是否在线。
针对现有技术发现网络拓扑结构的方法,仅能发现网段内的设备是否在线,不能发现设备的类型及各个设备之间的拓扑连接关系,因而,无法获得完整的网络拓扑结构。
发明内容
本发明提供一种网络拓扑结构的发现方法及装置,能够获得完整的网络拓扑结构。
本发明实施例提供了一种网络拓扑结构的发现方法,包括:
获取与当前计算机直连的当前路由设备;
获取与所述当前路由设备直连的第一直连设备的第一IP地址;
根据所述第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系;
如果所述第一直连设备为路由设备,将该路由设备作为当前路由设备,执行所述获取与所述当前路由设备直连的第一直连设备的第一IP地址;
如果所述第一直连设备为交换设备,获取与该交换设备直连的第二直连设备的第二IP地址,将该交换设备作为所述当前路由设备,并将所述第二直连设备及第二IP地址分别作为所述第一直连设备及第一IP地址,执行所述根据所述第一IP地址依次判断各个所述第一直连设备的类型。
优选地,所述获取与当前计算机直连的当前路由设备包括:
通过所述当前计算机读取路由表,通过对所述路由表中的记录进行逐条分析,分析出与所述当前计算机直连的路由设备及非直连的路由设备,从中选择与当前计算机直连的路由设备作为当前路由设备。
优选地,所述获取与所述当前路由设备直连的第一直连设备的第一IP地址包括:
获取所述当前路由设备所属路由网段的地址解析协议ARP表,读取所述当前路由设备所属路由网段的ARP表中的各条记录,获取与所述当前路由设备直连的各个所述第一直连设备的第一IP地址。
优选地,所述根据所述第一IP地址依次判断各个所述第一直连设备的类型包括:
通过简单网络管理协议SNMP获取各个所述第一直连设备的MAC地址与设备类型的对应关系,根据所述当前路由设备所属路由网段的ARP表中IP地址与MAC地址的对应关系,获取IP地址与设备类型的对应关系,根据第一IP地址判断出各个所述第一直连设备的类型,其中,所述直连设备的类型包括计算机、路由设备及交换设备。
优选地,所述获取与该交换设备直连的第二直连设备的第二IP地址包括:
获取该交换设备的链路层发现协议LLDP表及该交换设备所属路由网段的ARP表,通过读取所述交换设备所属路由网段的ARP表中的各条记录,获取与所述交换设备直连的各个计算机的第二IP地址,对所述LLDP表中的各条记录进行逐条分析,获取到与所述交换设备直连的各个路由设备或交换设备的第二IP地址。
优选地,所述记录所述第一直连设备与所述当前路由设备的连接关系包括:
建立拓扑数据结构表,在所述拓扑数据结构表中创建所述第一直连设备与所述当前路由设备的连接关系,并分别记录所述第一直连设备与所述当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码中的任意一个或多个。
本发明实施例还提供了一种网络拓扑结构的发现装置,包括:第一获取单元、第二获取单元、转换单元及判断单元;
所述第一获取单元,用于获取与当前计算机直连的当前路由设备,并获取与所述当前路由设备直连的第一直连设备的第一IP地址;
所述判断单元,用于根据所述第一获取单元获取的第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系;
所述第二获取单元,用于根据所述判断单元的判断结果,如果所述第一直连设备为交换设备,获取与该交换设备直连的第二直连设备的第二IP地址;
所述转换单元,用于根据所述判断单元的判断结果,如果所述第一直连设备为路由设备,将该路由设备转换为当前路由设备,并发送给所述第一获取单元进行处理,如果所述第一直连设备为交换设备,将所述第二获取单元获取的第二直连设备及第二IP地址分别转换为第一直连设备及第一IP地址,将该交换设备转换为所述当前路由设备,并发送给所述判断单元进行处理。
优选地,所述第一获取单元,用于通过所述当前计算机读取路由表,通过对所述路由表中的记录进行逐条分析,分析出与所述当前计算机直连的路由设备及非直连的路由设备,从中选择与当前计算机直连的路由设备作为当前路由设备。
优选地,所述第一获取单元,进一步用于获取所述当前路由设备所属路由网段的地址解析协议ARP表,读取所述当前路由设备所属路由网段的ARP表中的各条记录,获取与所述当前路由设备直连的各个所述第一直连设备的第一IP地址。
优选地,所述判断单元,用于通过简单网络管理协议SNMP获取各个所述第一直连设备的MAC地址与设备类型的对应关系,根据所述当前路由设备所属路由网段的ARP表中IP地址与MAC地址的对应关系,获取IP地址与设备类型的对应关系,根据第一IP地址判断出各个所述第一直连设备的类型,其中,所述直连设备的类型包括计算机、路由设备及交换设备。
优选地,所述第二获取单元,用于获取该交换设备的链路层发现协议LLDP表及该交换设备所属路由网段的ARP表,通过读取所述交换设备所属路由网段的ARP表中的各条记录,获取与所述交换设备直连的各个计算机的第二IP地址,对所述LLDP表中的各条记录进行逐条分析,获取到与所述交换设备直连的各个路由设备或交换设备的第二IP地址。
优选地,所述判断单元,用于建立拓扑数据结构表,在所述拓扑数据结构表中创建所述第一直连设备与所述当前路由设备的连接关系,并分别记录所述第一直连设备与所述当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码中的任意一个或多个。
本发明实施例提供了一种网络拓扑结构的发现方法及装置,获取与当前计算机直连的当前路由设备,获取与当前路由设备直连的第一直连设备的第一IP地址,根据第一IP地址判断各个第一直连设备的类型,并记录各个第一直连设备与当前路由设备的连接关系,获得以当前路由设备为交点的网络拓扑结构,根据判断的结果,如果第一直连设备为路由设备,将该路由设备作为当前路由设备,返回执行获取与当前路由设备直连的第一直连设备的第一IP地址,获取与该路由设备直连的直连设备,如果第一直连设备为交换设备,获取与该交换设备直连的各个第二直连设备的第二IP地址,将第二直连设备及第二IP地址分别作为第一直连设备及第一IP地址,返回执行根据第一IP地址判断各个第一直连设备的类型,获取与该交换设备直连的直连设备,这样,从一个路由设备开始,获取与其直连的各个直连设备,并判断各个直连设备的类型,如果直连设备为路由设备或交换设备,进一步判断与该直连设备直连的其他设备的类型,重复这样的判断过程,发现网段内所有的网络设备,在判断过程中记录各个网络设备的连接关系,从而获得完整的网络拓扑结构。
附图说明
图1是本发明一个实施例提供的一种网络拓扑结构的发现方法流程图;
图2是本发明另一个实施例提供的一种网络拓扑结构的发现方法流程图;
图3是本发明一个实施例提供的一种网络拓扑结构的发现装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一个实施例提供了一种网络拓扑结构的发现方法,包括:
步骤101:获取与当前计算机直连的当前路由设备;
步骤102:获取与所述当前路由设备直连的第一直连设备的第一IP地址;
步骤103:根据所述第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系,如果所述第一直连设备为路由设备,执行步骤104,如果所述第一直连设备为交换设备,执行步骤105;
步骤104:将该路由设备作为当前设备,并执行步骤102;
步骤105:获取与该交换设备直连的第二直连设备的第二IP地址;
步骤106:将该交换设备作为所述当前路由设备,并将所述第二直连设备及第二IP地址分别作为所述第一直连设备及第一IP地址,并执行步骤103。
本发明实施例提供了一种网络拓扑结构的发现方法,获取与当前计算机直连的当前路由设备,获取与当前路由设备直连的第一直连设备的第一IP地址,根据第一IP地址判断各个第一直连设备的类型,并记录各个第一直连设备与当前路由设备的连接关系,获得以当前路由设备为交点的网络拓扑结构,根据判断的结果,如果第一直连设备为路由设备,将该路由设备作为当前路由设备,返回执行获取与当前路由设备直连的第一直连设备的第一IP地址,获取与该路由设备直连的直连设备,如果第一直连设备为交换设备,获取与该交换设备直连的各个第二直连设备的第二IP地址,将第二直连设备及第二IP地址分别作为第一直连设备及第一IP地址,返回执行根据第一IP地址判断各个第一直连设备的类型,获取与该交换设备直连的直连设备,这样,从一个路由设备开始,获取与其直连的各个直连设备,并判断各个直连设备的类型,如果直连设备为路由设备或交换设备,进一步判断与该直连设备直连的其他设备的类型,重复这样的判断过程,发现网段内所有的网络设备,在判断过程中记录各个网络设备的连接关系,从而获得完整的网络拓扑结构。
在本发明一个实施例中,当开始发现网络拓扑结构时,在当前计算机上获取与该计算机直连的路由设备上的路由表,对该路由表中的记录进行逐条分析,获得与当前计算机直连的路由设备及非直连路由设备,从中选择与当前计算机直连的路由设备作为当前路由设备,从而获得与当前计算机直连的路由设备,由与当前计算机直连的路由设备扩展到整个网络,从而获取完整的网络拓扑结构。
在本发明一个实施例中,获取到当前路由设备之后,获取该当前路由设备所属路由网段的地址解析协议ARP表,通过对该ARP表中的各条记录进行逐条读取,获取与当前路由设备直连的各个第一直连设备的IP地址,通过第一直连设备的IP地址可以判断出各个第一直连设备的类型,从而能够发现网络拓扑结构中各个网络设备的类型,充分了解网络拓扑结构的布置形式。
在本发明一个实施例中,在获取到第一直连设备的IP地址后,通过简单网络管理协议SNMP获取第一直连设备的MAC地址与设备类型的对应关系,并从当前路由设备所属路由网段的ARP表中获取IP地址与MAC地址的对应关系,从而获得IP地址与设备类型的对应关系,根据IP地址与设备类型的对应关系,判断各个IP地址对应的第一直连设备的类型,从而判断出第一直连设备为计算机、路由设备或交换设备,确定出网络拓扑结构中各个网络设备的类型。
在本发明一个实施例中,当第一直连设备为交换设备时,获取该交换设备LLDP表与所属路由网段的ARP表,根据ARP表获取到与该交换设备直连的各个计算机的第二IP地址,通过对LLDP表中的各条记录进行分析,获取到与该交换设备直连的其他路由设备或交换设备的第二IP地址,进一步根据第二IP地址判断出各个网络设备的类型,从而实现对以交换设备为交点的网络拓扑结构的发现。
在本发明一个实施例中,记录第一直连设备与当前路由设备的连接关系时,建立一个拓扑数据结构表,在拓扑数据结构表中创建第一直连设备与当前路由设备的连接关系,并记录各个第一直连设备及当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码中的任意一个或多个,从而有效的记录网络拓扑结构中的连接方式,并提高所发现的网络拓扑结构中包括的信息。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明一个实施例提供了一种网络拓扑结构的发现方法,包括:
步骤201:获取与当前计算机直连的当前路由设备。
在本发明一个实施例中,在开始发现网络拓扑结构时,在任意一台计算机上,读取路由表,通过对路由表中的记录进行逐条分析,分析出与当前计算机直连的路由设备和与当前计算机非直连的路由设备,从而获取与当前计算机直连的当前路由设备,其中路由设备可以为路由器或三层交换机。例如,准备发现一个网段内的网络拓扑结构时,在该网段中任意一台计算机A上读取路由表1,通过对路由表1中的记录进行逐条分析,获取到与计算机A直连的路由设备1和与计算机A非直连的路由设备2和路由设备3,从而获得与计算机A直连的路由设备1。
步骤202:获取与当前路由设备直连的各个第一直连设备的第一IP地址。
在本发明一个实施例中,获取当前路由设备所属路由网段的ARP表,通过对该ARP表中的各条记录进行读取,获取到与当前路由设备直连的各个第一直连设备,以及各个第一直连设备对应的第一IP地址。例如,当前路由设备为路由设备1,获取路由设备1所属路由网段的ARP表1,通过对ARP表1中的各条记录进行读取,获取到与路由设备1直连的4个直连设备,4个直连设备分别为直连设备1至直连设备4,并通过ARP表1获得4个直连设备对应的第一IP地址,其中直连设备1对应第一IP地址1,直连设备2对应第一IP地址2,直连设备3对应第一IP地址3,直连设备4对应第一IP地址4。
步骤203:根据第一IP地址,依次判断各个第一直连设备是否为计算机,如果是,执行步骤204,否则执行步骤205。
在本发明一个实施例中,在获得各个第一直连设备后,通过SNMP获取各个第一直连设备的MAC地址与设备类型的对应关系,通过当前路由设备所属路由网段的ARP表获取IP地址与MAC地址的对应关系,从而获取到IP地址与设备类型的对照关系表,将第一IP地址与该对照关系表中设备类型为计算机的IP地址进行比对,如果第一IP地址与对照关系表中设备类型为计算机的其中一个IP地址相同,那么判断该第一IP地址对应的第一直连设备为计算机,相应的执行步骤204,如果第一IP地址与对照关系表中设备类型为计算机的所有IP地址都不相同,判断该第一IP地址对应的第一直连设备不是计算机,相应的执行步骤205。例如,通过SNMP分别获取直连设备1至直连设备4的MAC地址与设备类型的对应关系,其中直连设备1的MAC地址为MAC地址1,MAC地址1对应计算机,直连设备2的MAC地址为MAC地址2,MAC地址2对应交换设备,直连设备3的MAC地址为MAC地址3,MAC地址3对应路由设备,直连设备4的MAC地址为MAC地址4,MAC地址4对应计算机,通过ARP表1获取到IP地址1对应MAC地址1,IP地址2对应MAC地址2,IP地址3对应MAC地址3,IP地址4对应MAC地址4,从而获得IP地址与设备类型的对照关系表,IP地址1对应计算机,IP地址2对应交换设备,IP地址3对应路由设备,IP地址4对应计算机,分别将直连设备1至直连设备4对应的第一IP地址1至第一IP地址4与对照关系表中的IP地址1和IP地址4进行比对,其中第一IP地址1与IP地址1相同,判断第一IP地址1对应的直连设备1为计算机,相应的执行步骤204,第一IP地址2和第一IP地址3与IP地址1及IP地址4均不相同,说明第一IP地址2对应的直连设备2及第一IP地址3对应的直连设备3均不是计算机,相应的执行步骤205,第一IP地址4与IP地址4相同,说明第一IP地址4对应的直连设备4为计算机,相应的执行步骤204。
步骤204:记录该计算机与当前路由设备的连接关系,并结束当前流程。
在本发明一个实施例中,建立一个拓扑数据结构表,在拓扑数据结构表中记录计算机及当前路由设备的连接关系,并记录计算机及当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码。例如,创建一个拓扑数据结构表,在该拓扑数据结构表中记录直连设备1及直连设备4与路由设备1为直连关系,并分别记录直连设备1、直连设备4及路由设备1的设备ID、设备名称、设备类型、IP地址及子网掩码。
步骤205:根据第一IP地址,依次判断各个第一直连设备是否为路由设备,如果是,执行步骤206,否则执行步骤207。
在本发明一个实施例中,将各个第一IP地址与步骤203中形成的对照关系表中设备类型为路由设备的IP地址进行比对,如果第一IP地址与该对照关系表中设备类型为路由设备的其中一个IP地址相同,那么判断该第一IP地址对应的第一直连设备为路由设备,相应的执行步骤206,如果第一IP地址与对照关系表中设备类型为路由设备的所有IP地址都不相同,判断该第一IP地址对应的第一直连设备不是路由设备,相应的执行步骤207。例如,分别将直连设备1至直连设备4对应的第一IP地址1至第一IP地址4与对照关系表中的IP地址3进行比对,其中第一IP地址1、第一IP地址2及第一IP地址4均与IP地址3不同,判断第一IP地址1对应的直连设备1,第一IP地址2对应的直连设备2及第一IP地址4对应的直连设备4均不是路由设备,相应的执行步骤207,第一IP地址3与IP地址3相同,判断第一IP地址3对应的直连设备3为路由设备,相应的执行步骤206。
步骤206:记录该路由设备与当前路由设备的连接关系后,将该路由设备作为当前路由设备,并执行步骤202。
在本发明一个实施例中,当判断出第一直连设备为路由设备时,在拓扑数据结构表中记录该路由设备与当前路由设备的连接关系,并记录该路由设备及当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码,在记录完成后,为了发现与该路由设备相连的网络设备,将该路由设备作为当前路由设备,返回执行步骤202,获取与该路由设备直连的各个网络设备。例如,将直连设备3与路由设备1的连接关系记录在拓扑数据结构表中,并记录直连设备3的设备ID、设备名称、设备类型、IP地址及子网掩码,记录完成后,将直连设备3作为路由设备1,返回执行步骤202,发现与直连设备3直连的各个网络设备。
步骤207:根据第一IP地址,依次判断各个第一直连设备是否为交换设备,如果是,执行步骤208,否则结束当前流程。
在本发明一个实施例中,将各个第一IP地址与步骤203中形成的对照关系表中设备类型为交换设备的IP地址进行比对,如果第一IP地址与该对照关系表中设备类型为交换设备的其中一个IP地址相同,那么判断该第一IP地址对应的第一直连设备为交换设备,相应的执行步骤208,如果第一IP地址与对照关系表中设备类型为交换设备的所有IP地址都不相同,判断该第一IP地址对应的第一直连设备不是交换设备,说明该第一IP地址对应的第一直连设备为计算机或路由设备,已经在上述步骤中发现,结束当前流程。例如,分别将直连设备1至直连设备4对应的第一IP地址1至第一IP地址4与对照关系表中的IP地址2进行比对,其中第一IP地址1、第一IP地址3及第一IP地址4均与IP地址2不同,判断第一IP地址1对应的直连设备1,第一IP地址3对应的直连设备3及第一IP地址4对应的直连设备4均不是交换设备,说明直连设备1、直连设备3及直连设备4为计算机或路由设备,已经在上述步骤中进行了判断和记录,结束当前流程,其中第一IP地址2与IP地址3相同,判断第一IP地址2对应的直连设备2为交换设备,相应的执行步骤208。
步骤208:记录该交换设备与当前路由设备的连接关系后,获取与该交换设备直连的各个第二直连设备的第二IP地址。
在本发明一个实施例中,当判断出第一直连设备为交换设备后,在拓扑数据结构表中记录该交换设备与当前路由设备的连接关系,并记录该交换设备及当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码,在记录完成后,获取该交换设备所属路由网段的ARP表及该交换设备的LLDP表,通过对该交换设备所属路由网段的ARP表中的各条记录进行读取,获取与该交换设备直连的各个计算机的第二IP地址,通过对LLDP表中的各条记录进行分析,获取到与该交换设备直连的各个路由设备或其他交换设备的第二IP地址。例如,判断出直连设备2为交换设备之后,将直连设备2与路由设备1的直连关系记录到拓扑数据结构表中,并记录直连设备2的设备ID、设备名称、设备类型、IP地址及子网掩码,在记录完成之后,获取直连设备2的LLDP表及直连设备所属路由网段的ARP表2,通过ARP表2获取与直连设备2直连的2个计算机的第二IP地址,通过对LLDP表中的记录进行逐条分析,分别获得与直连设备2直连的另一1个路由设备3及交换设备的第二IP地址。
步骤209:将该交换设备作为当前路由设备,将第二直连设备及对应的第二IP地址作为第一直连设备及对应的第一IP地址,并执行步骤203。
在本发明一个实施例中,在获取到与交换设备直连的第二直连设备的第二IP地址后,将该交换设备作为当前路由设备,将第二直连设备及对应的第二IP地址作为第一直连设备及对应的第一IP地址,返回执行步骤203,从而发现与该交换设备直连的各个网络设备。例如,将判断为交换设备的直连设备2作为路由设备1,将与直连设备2直连的2个计算机、另一个路由设备及1个交换设备作为第一直连设备,将各个第二直连设备对应的第二IP地址作为对应的第一IP地址,返回执行步骤203,判断与直连设备2直连的各个网络设备。
需要说明的是,本发明实施例中,当第一直连设备为路由设备或交换设备,在获取与该第一直连设备直连的直连设备时,获取到的各个直连设备中不包括当前路由设备,避免网络拓扑结构发现过程出现无限循环的情况。
如图3所示,本发明一个实施例提供了一种网络拓扑结构的发现装置,包括:第一获取单元301、判断单元302、第二获取单元303及转换单元304;
所述第一获取单元301,用于获取与当前计算机直连的当前路由设备,并获取与所述当前路由设备直连的第一直连设备的第一IP地址;
所述判断单元302,用于根据所述第一获取单元301获取的第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系;
所述第二获取单元303,用于根据所述判断单元302的判断结果,如果所述第一直连设备为交换设备,获取与该交换设备直连的第二直连设备的第二IP地址;
所述转换单元304,用于根据所述判断单元302的判断结果,如果所述第一直连设备为路由设备,将该路由设备转换为当前路由设备,并发送给所述第一获取单元301进行处理,如果所述第一直连设备为交换设备,将所述第二获取单元303获取的第二直连设备及第二IP地址分别转换为第一直连设备及第一IP地址,将该交换设备转换为所述当前路由设备,并发送给所述判断单元302进行处理。
在本发明一个实施例中,所述第一获取单元301,用于通过所述当前计算机读取路由表,通过对所述路由表中的记录进行逐条分析,分析出与所述当前计算机直连的路由设备及非直连的路由设备,从中选择与当前计算机直连的路由设备作为当前路由设备。
在本发明一个实施例中,所述第一获取单元301,用于获取所述当前路由设备所属路由网段的地址解析协议ARP表,读取所述当前路由设备所属路由网段的ARP表中的各条记录,获取与所述当前路由设备直连的各个所述第一直连设备的第一IP地址。
在本发明一个实施例中,所述判断单元302,用于通过简单网络管理协议SNMP获取各个所述第一直连设备的MAC地址与设备类型的对应关系,根据所述当前路由设备所属路由网段的ARP表中IP地址与MAC地址的对应关系,获取IP地址与设备类型的对应关系,根据第一IP地址判断出各个所述第一直连设备的类型,其中,所述直连设备的类型包括计算机、路由设备及交换设备。
在本发明一个实施例中,所述第二获取单元303,用于获取该交换设备的链路层发现协议LLDP表及该交换设备所属路由网段的ARP表,通过读取所述交换设备所属路由网段的ARP表中的各条记录,获取与所述交换设备直连的各个计算机的第二IP地址,对所述LLDP表中的各条记录进行逐条分析,获取到与所述交换设备直连的各个路由设备或交换设备的第二IP地址。
在本发明一个实施例中,所述判断单元302,用于建立拓扑数据结构表,在所述拓扑数据结构表中创建所述第一直连设备与所述当前路由设备的连接关系,并分别记录所述第一直连设备与所述当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码中的任意一个或多个。
上述设备内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
根据上述方案,本发明的实施例所提供的一种网络拓扑结构的发现方法及装置,至少具有如下有益效果:
1、本发明实施例中,获取与当前计算机直连的当前路由设备,获取与当前路由设备直连的第一直连设备的第一IP地址,根据第一IP地址判断各个第一直连设备的类型,并记录各个第一直连设备与当前路由设备的连接关系,获得以当前路由设备为交点的网络拓扑结构,根据判断的结果,如果第一直连设备为路由设备,将该路由设备作为当前路由设备,返回执行获取与当前路由设备直连的第一直连设备的第一IP地址,获取与该路由设备直连的直连设备,如果第一直连设备为交换设备,获取与该交换设备直连的各个第二直连设备的第二IP地址,将第二直连设备及第二IP地址分别作为第一直连设备及第一IP地址,返回执行根据第一IP地址判断各个第一直连设备的类型,获取与该交换设备直连的直连设备,这样,从一个路由设备开始,获取与其直连的各个直连设备,并判断各个直连设备的类型,如果直连设备为路由设备或交换设备,进一步判断与该直连设备直连的其他设备的类型,重复这样的判断过程,发现网段内所有的网络设备,在判断过程中记录各个网络设备的连接关系,从而获得完整的网络拓扑结构。
2、本发明实施例中,根据各个直连设备的IP地址,从各个直连设备中依次筛选出计算机、路由设备及交换设备,由于路由设备及交换设备又可以连接其他的网络设备,将该路由设备及交换设备重作为当前路由设备,重新获取与此时当前路由设备直连的网络设备,不断的更新当前路由设备,获取以各个路由设备及交换设备为交点网络拓扑结构,记录各个网络设备之间的直连关系,从而获得完整的网络拓扑结构。
3、本发明实施例中,当通过当前路由设备获取到与之直连的路由设备或交换设备后,在获取与刚获取到的路由设备或交换设备直连的网络设备时,取出当前路由设备,避免路由设备或交换设备与路由设备或交换设备直连时,两个设备互相发现,导致网络拓扑结构发现无法收敛的情况发生,提高了网络拓扑结构发现的速度。
4、本发明实施例中,在拓扑数据结构表中,不但记录了各个网络设备之间的连接关系,还记录了网络设备的设备ID、设备名称、设备类型、IP地址及子网掩码,提高网络图片数据结构表包括的信息,这样通过拓扑数据结构表能够充分了解网络拓扑结构。
5、本发明实施例中,路由设备包括路由器及三层交换机,通过本发明实施例提供的网络拓扑结构发现方法不仅能够获取与路由器直连的各个网络设备,还可以获得与三层交换机直连的各个网络设备,保证获得的网络拓扑结构的完整性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种网络拓扑结构的发现方法,其特征在于,包括:
获取与当前计算机直连的当前路由设备;
获取与所述当前路由设备直连的第一直连设备的第一IP地址;
根据所述第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系;
如果所述第一直连设备为路由设备,将该路由设备作为当前路由设备,执行所述获取与所述当前路由设备直连的第一直连设备的第一IP地址;
如果所述第一直连设备为交换设备,获取与该交换设备直连的第二直连设备的第二IP地址,将该交换设备作为所述当前路由设备,并将所述第二直连设备及第二IP地址分别作为所述第一直连设备及第一IP地址,执行所述根据所述第一IP地址依次判断各个所述第一直连设备的类型。
2.根据权利要求1所述的方法,其特征在于,所述获取与当前计算机直连的当前路由设备包括:
通过所述当前计算机读取路由表,通过对所述路由表中的记录进行逐条分析,分析出与所述当前计算机直连的路由设备及非直连的路由设备,从中选择与当前计算机直连的路由设备作为当前路由设备。
3.根据权利要求1所述的方法,其特征在于,所述获取与所述当前路由设备直连的第一直连设备的第一IP地址包括:
获取所述当前路由设备所属路由网段的地址解析协议ARP表,读取所述当前路由设备所属路由网段的ARP表中的各条记录,获取与所述当前路由设备直连的各个所述第一直连设备的第一IP地址。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一IP地址依次判断各个所述第一直连设备的类型包括:
通过简单网络管理协议SNMP获取各个所述第一直连设备的MAC地址与设备类型的对应关系,根据所述当前路由设备所属路由网段的ARP表中IP地址与MAC地址的对应关系,获取IP地址与设备类型的对应关系,根据第一IP地址判断出各个所述第一直连设备的类型,其中,所述直连设备的类型包括计算机、路由设备及交换设备。
5.根据权利要求1所述的方法,其特征在于,所述获取与该交换设备直连的第二直连设备的第二IP地址包括:
获取该交换设备的链路层发现协议LLDP表及该交换设备所属路由网段的ARP表,通过读取所述交换设备所属路由网段的ARP表中的各条记录,获取与所述交换设备直连的各个计算机的第二IP地址,对所述LLDP表中的各条记录进行逐条分析,获取到与所述交换设备直连的各个路由设备或交换设备的第二IP地址。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述记录所述第一直连设备与所述当前路由设备的连接关系包括:
建立拓扑数据结构表,在所述拓扑数据结构表中创建所述第一直连设备与所述当前路由设备的连接关系,并分别记录所述第一直连设备与所述当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码中的任意一个或多个。
7.一种网络拓扑结构的发现装置,其特征在于,包括:第一获取单元、第二获取单元、转换单元及判断单元;
所述第一获取单元,用于获取与当前计算机直连的当前路由设备,并获取与所述当前路由设备直连的第一直连设备的第一IP地址;
所述判断单元,用于根据所述第一获取单元获取的第一IP地址依次判断各个所述第一直连设备的类型,并记录所述第一直连设备与所述当前路由设备的连接关系;
所述第二获取单元,用于根据所述判断单元的判断结果,如果所述第一直连设备为交换设备,获取与该交换设备直连的第二直连设备的第二IP地址;
所述转换单元,用于根据所述判断单元的判断结果,如果所述第一直连设备为路由设备,将该路由设备转换为当前路由设备,并发送给所述第一获取单元进行处理,如果所述第一直连设备为交换设备,将所述第二获取单元获取的第二直连设备及第二IP地址分别转换为第一直连设备及第一IP地址,将该交换设备转换为所述当前路由设备,并发送给所述判断单元进行处理。
8.根据权利要求7所述的装置,其特征在于,
所述第一获取单元,用于通过所述当前计算机读取路由表,通过对所述路由表中的记录进行逐条分析,分析出与所述当前计算机直连的路由设备及非直连的路由设备,从中选择与当前计算机直连的路由设备作为当前路由设备;
和/或,
所述第一获取单元,进一步用于获取所述当前路由设备所属路由网段的地址解析协议ARP表,读取所述当前路由设备所属路由网段的ARP表中的各条记录,获取与所述当前路由设备直连的各个所述第一直连设备的第一IP地址。
9.根据权利要求8所述的装置,其特征在于,
所述判断单元,用于通过简单网络管理协议SNMP获取各个所述第一直连设备的MAC地址与设备类型的对应关系,根据所述当前路由设备所属路由网段的ARP表中IP地址与MAC地址的对应关系,获取IP地址与设备类型的对应关系,根据第一IP地址判断出各个所述第一直连设备的类型,其中,所述直连设备的类型包括计算机、路由设备及交换设备。
10.根据权利要求7至9中任一所述的装置,其特征在于,
所述第二获取单元,用于获取该交换设备的链路层发现协议LLDP表及该交换设备所属路由网段的ARP表,通过读取所述交换设备所属路由网段的ARP表中的各条记录,获取与所述交换设备直连的各个计算机的第二IP地址,对所述LLDP表中的各条记录进行逐条分析,获取到与所述交换设备直连的各个路由设备或交换设备的第二IP地址;
和/或,
所述判断单元,用于建立拓扑数据结构表,在所述拓扑数据结构表中创建所述第一直连设备与所述当前路由设备的连接关系,并分别记录所述第一直连设备与所述当前路由设备的设备ID、设备名称、设备类型、IP地址及子网掩码中的任意一个或多个。
CN201510660636.3A 2015-10-14 2015-10-14 一种网络拓扑结构的发现方法及装置 Pending CN105376163A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510660636.3A CN105376163A (zh) 2015-10-14 2015-10-14 一种网络拓扑结构的发现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510660636.3A CN105376163A (zh) 2015-10-14 2015-10-14 一种网络拓扑结构的发现方法及装置

Publications (1)

Publication Number Publication Date
CN105376163A true CN105376163A (zh) 2016-03-02

Family

ID=55377982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510660636.3A Pending CN105376163A (zh) 2015-10-14 2015-10-14 一种网络拓扑结构的发现方法及装置

Country Status (1)

Country Link
CN (1) CN105376163A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978815A (zh) * 2016-05-09 2016-09-28 上海斐讯数据通信技术有限公司 一种获取路由设备网络分布方法
CN106789146A (zh) * 2016-04-15 2017-05-31 新华三技术有限公司 一种拓扑获得方法及装置
CN109257225A (zh) * 2018-10-12 2019-01-22 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
CN109412955A (zh) * 2018-12-06 2019-03-01 中盈优创资讯科技有限公司 Ipran网络设备间链接关系确定方法及装置
CN111083055A (zh) * 2019-11-26 2020-04-28 深圳市共进电子股份有限公司 一种客户端设备管理方法、装置、路由器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090316602A1 (en) * 2008-06-18 2009-12-24 Biswajit Nandy Method and System for Network Topology Discovery
CN102143007A (zh) * 2011-05-03 2011-08-03 中国南方电网有限责任公司 基于分布式的多级网络拓扑发现方法
CN103036725A (zh) * 2012-12-17 2013-04-10 华为技术有限公司 一种网络拓扑发现的方法和网络管理设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090316602A1 (en) * 2008-06-18 2009-12-24 Biswajit Nandy Method and System for Network Topology Discovery
CN102143007A (zh) * 2011-05-03 2011-08-03 中国南方电网有限责任公司 基于分布式的多级网络拓扑发现方法
CN103036725A (zh) * 2012-12-17 2013-04-10 华为技术有限公司 一种网络拓扑发现的方法和网络管理设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑锐: "基于ARP和SNMP的并行拓扑发现算法", 《信息技术》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789146A (zh) * 2016-04-15 2017-05-31 新华三技术有限公司 一种拓扑获得方法及装置
CN106789146B (zh) * 2016-04-15 2021-04-02 新华三技术有限公司 一种拓扑获得方法及装置
CN105978815A (zh) * 2016-05-09 2016-09-28 上海斐讯数据通信技术有限公司 一种获取路由设备网络分布方法
CN105978815B (zh) * 2016-05-09 2020-01-07 上海斐讯数据通信技术有限公司 一种获取路由设备网络分布方法
CN109257225A (zh) * 2018-10-12 2019-01-22 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
CN109257225B (zh) * 2018-10-12 2021-08-10 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
CN113572645A (zh) * 2018-10-12 2021-10-29 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
CN113572645B (zh) * 2018-10-12 2024-04-05 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
CN109412955A (zh) * 2018-12-06 2019-03-01 中盈优创资讯科技有限公司 Ipran网络设备间链接关系确定方法及装置
CN111083055A (zh) * 2019-11-26 2020-04-28 深圳市共进电子股份有限公司 一种客户端设备管理方法、装置、路由器及存储介质
CN111083055B (zh) * 2019-11-26 2022-03-22 深圳市共进电子股份有限公司 一种客户端设备管理方法、装置、路由器及存储介质

Similar Documents

Publication Publication Date Title
Afanasyev et al. ndnSIM: NDN simulator for NS-3
CN105376163A (zh) 一种网络拓扑结构的发现方法及装置
CN103036725B (zh) 一种网络拓扑发现的方法和网络管理设备
CN108011746B (zh) 基于Traceroute及SNMP协议的IP级全球互联网拓扑测绘方法
CN108206792B (zh) 交换机的拓扑结构发现方法及装置
CN102420765B (zh) 一种确定交换机与终端之间的物理链路的方法以及装置
CN109067569B (zh) 一种工控网络拓扑结构可视化方法
CN103997414A (zh) 生成配置信息的方法和网络控制单元
CN111865684B (zh) 局域网网络拓扑自动发现方法
CN109257225B (zh) 生成网络拓扑的方法、装置、存储介质和处理器
CN102572000B (zh) 地址监控方法及装置
JP2005348051A (ja) ネットワーク機器のトポロジを探索する装置および方法
CN102546251A (zh) 基于混合探测技术的网络拓扑发现和自动布局方法及系统
CN109714206A (zh) 电力监控系统网络拓扑图生成方法、总线式网络拓扑图
CN105245386A (zh) 服务器连接关系的自动定位方法和系统
CN113938303A (zh) 一种基于多模态网络的网络探测与网络管理平台
US20090207756A1 (en) Network configuration management method
CN114584354A (zh) 一种网络安全实训平台的构建方法及系统
CN111698110B (zh) 一种网络设备性能分析方法、系统、设备及计算机介质
CN115314392A (zh) 基于网络设备资源发现算法的自动生成网络拓扑系统及方法
CN104579979A (zh) 一种基于mac信息的网络拓扑发现方法
CN110730093B (zh) 城域网网络拓扑测绘方法及装置
CN116719868A (zh) 网络资产的识别方法、装置及设备
JPWO2018003597A1 (ja) サーバ、スイッチ、通信システム、通信方法、及びプログラム
CN102124698B (zh) 用于在网络管理环境中导出结构化数据的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160302