CN113572645B - 生成网络拓扑的方法、装置、存储介质和处理器 - Google Patents

生成网络拓扑的方法、装置、存储介质和处理器 Download PDF

Info

Publication number
CN113572645B
CN113572645B CN202110850948.6A CN202110850948A CN113572645B CN 113572645 B CN113572645 B CN 113572645B CN 202110850948 A CN202110850948 A CN 202110850948A CN 113572645 B CN113572645 B CN 113572645B
Authority
CN
China
Prior art keywords
dictionary
network
core switch
generating
mapping table
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.)
Active
Application number
CN202110850948.6A
Other languages
English (en)
Other versions
CN113572645A (zh
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.)
Beijing Xinyan Huizhi Information Technology Co ltd
Original Assignee
Beijing Xinyan Huizhi Information Technology 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 Beijing Xinyan Huizhi Information Technology Co ltd filed Critical Beijing Xinyan Huizhi Information Technology Co ltd
Priority to CN202110850948.6A priority Critical patent/CN113572645B/zh
Publication of CN113572645A publication Critical patent/CN113572645A/zh
Application granted granted Critical
Publication of CN113572645B publication Critical patent/CN113572645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

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

Abstract

本发明公开了一种生成网络拓扑的方法、装置、存储介质和处理器。其中,该方法包括:采集指定网段内网络设备的设备信息;基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,其中,核心交换机连接设备字典用于记录于与核心交换机直接相连的交换机信息;基于核心交换机的网络地址,根据核心交换机连接设备字典和设备信息生成非核心交换机连接关系字典,其中,非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;根据核心交换机连接设备字典和非核心交换机连接关系字典,生成网络拓扑图。本发明解决了现有技术,基于MAC地址转发表生成网络拓扑的方法,对所有交换机的MAC地址转发表信息的完备性要求高的技术问题。

Description

生成网络拓扑的方法、装置、存储介质和处理器
技术领域
本发明涉及网络领域,具体而言,涉及一种生成网络拓扑的方法、装置、存储介质和处理器。
背景技术
网络拓扑发现是指发现网络中存在的网络设备以及设备间的相互连接关系。通常,网络设备(例如,防火墙、路由器、交换机等)在部署、上线之后会分配一个用于管理设备的“管理地址”,而这个“管理地址”就是网络拓扑发现中所描述的IP地址。由于网络设备一般有很多端口,这些端口或者用于与另外一个网络设备连接,或者用于与服务器、个人电脑、打印机等外设连接。具体的两个网络设备之间哪两个端口之间互相连接,以及网络设备哪个端口与其他设备的网卡连接,就是网络拓扑发现中所描述的连接关系。
现有技术在发现网络设备的IP地址及网络设备之间的连接关系的时候,首先需要通过互联网控制报文协议(Internet ControlMessageProtocol,ICMP)协议对设备所在子网进行扫描,获取到可连通的IP地址后,再尝试通过简单网络管理协议(SimpleNetworkManagementProtocol,SNMP)获取设备相关信息;然后对通过SNMP协议获取的设备信息进行分析,得到设备之间的连接关系。目前,对SNMP协议获取的设备信息进行分析的方式主要有如下两种:
第一种方式,通过邻接设备发现协议采集数据并进行分析。由于邻接设备发现协议对于不同的厂商、不同的设备品牌、型号都有所不同。例如,对于思科设备来说,是CDP协议,对于华为、华三早期设备来说是NDP协议。2000年以后,国际标准组织IEEE发布了RFC2922规范,该规范中定义了一种新的厂商无关的邻接设备发现协议,即链路层发现协议(Link Layer Discovery Protocol,LLDP),2006年以后,厂商开始陆陆续续兼容这个协议。
第二种方式,通过SNMP读取网络设备的ARP表、桥接表信息,然后对所有设备的ARP表、桥接表进行汇总分析进而生成网络拓扑图。其中,ARP表中记录的信息是网络设备已知的IP地址和MAC地址的对应关系。桥接表中记录的是MAC地址表和网络设备端口的对应关系。
对于上述第一种方式,由于邻接设备发现协议的实现原理:开放了该协议的网络设备会定期向连接它的设备发送数据包,该数据包中包含源设备地址和端口信息,使得接收到数据包的邻接设备会将该信息保存到自己的存储器中,形成完成的邻接设备表。因而,只要开放了该协议,要实现网络拓扑的发现功能是很容易的,只要从所有网络设备上读取邻接设备表并进行汇总即可。但是通过邻接设备发现协议进行网络拓扑发现会面临如下几个问题:
(1)网络中可能存在不支持邻接设备发现协议的设备,这种设备无法通过邻接设备发现协议发现;
(2)由于不同厂商、不同品牌、不同型号的设备,其邻接设备发现协议可能不同,存在不兼容的问题。如前所述,在统一的LLDP协议出现之前,部分厂商开发了适用于自己设备的邻接设备发现协议,比如思科的CDP协议和华为的NDP协议,而这些协议由于数据格式、工作模式的不同而不能兼容。所以如果将一台思科设备和一台华为设备放在同一个局域网中而互相连接的话,在它们各自的邻接设备表中都不会记录对方设备。
(3)不完全的SNMP支持。有些网络设备虽然实现了通用的LLDP协议,但是邻接设备信息表可能存在通过SNMP协议无法获取到的情形,进而也就无法通过SNMP协议采集到有效的邻接设备发现信息。
(4)LLDP协议在大多数设备上默认是“关闭”状态,需要网络管理员依次登录设备并“开放”这个协议,LLDP才能够正常工作,邻接设备表中也才有数据。
由此可以看出,通过上述第一种方式,采用邻接设备发现协议来进行网络拓扑发现,要么无法生成网络拓扑,要么生成的网络拓扑不完全。
对于上述第二种方式,由于交换类网络设备的工作原理就是实现其所连接的多个PC机、服务器、其他外设之间的数据交换。数据交换过程中,交换机会在各个端口上分别记录从该端口上学到的MAC地址,这样当一个设备和另外一个设备进行通信时,设备先通过ARP协议将对端设备的IP地址转换为MAC地址,再将MAC地址告诉交换机,交换机只要查一下桥接表,就知道通过哪个端口转发数据了。
但是,第二种方式,通过转发表生成网络拓扑仍然有一定的难度,这是因为:在特定端口的转发表中可能记录了一个MAC地址,也可能记录了多个MAC地址。如果只记录了一个MAC地址,则可以认为该网络设备与MAC地址对应的设备直接相连;如果记录了多个MAC地址,则很有可能该网络设备连接了另外一台网络设备,而另外一台网络设备再分别与这些MAC地址对应的设备相连,这就很难确定“另外一台网络设备”究竟是哪一台。
针对上述现有技术,基于MAC地址转发表生成网络拓扑的方法,对所有交换机的MAC地址转发表信息的完备性要求高的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种生成网络拓扑的方法、装置、存储介质和处理器,以至少解决现有技术,基于MAC地址转发表生成网络拓扑的方法,对所有交换机的MAC地址转发表信息的完备性要求高的技术问题。
根据本发明实施例的一个方面,提供了一种生成网络拓扑的方法,包括:采集指定网段内网络设备的设备信息,其中,设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息;基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,其中,核心交换机连接设备字典用于记录于与核心交换机直接相连的交换机信息;基于非核心交换机的网络地址,根据核心交换机连接设备字典和设备信息生成非核心交换机连接关系字典,其中,非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;根据核心交换机连接设备字典和非核心交换机连接关系字典,生成网络拓扑图。
根据本发明实施例的另一方面,还提供了一种生成网络拓扑的装置,其特征在于,包括:采集单元,用于采集指定网段内网络设备的设备信息,其中,设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息;第一生成单元,用于基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,其中,核心交换机连接设备字典用于记录于与核心交换机直接相连的交换机信息;第二生成单元,用于基于非核心交换机的网络地址,根据核心交换机连接设备字典和设备信息生成非核心交换机连接关系字典,其中,非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;第三生成单元,用于根据核心交换机连接设备字典和非核心交换机连接关系字典,生成网络拓扑图。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述的生成网络拓扑的方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的生成网络拓扑的方法。
在本发明实施例中,通过采集指定网段内网络设备的设备信息,其中,设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息;基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,其中,核心交换机连接设备字典用于记录于与核心交换机直接相连的交换机信息;基于非核心交换机的网络地址,根据核心交换机连接设备字典和设备信息生成非核心交换机连接关系字典,其中,非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;根据核心交换机连接设备字典和非核心交换机连接关系字典,生成网络拓扑图,达到了无需要求网络设备的MAC地址转发表信息完备的情况下,实现基于MAC地址转发表的网络拓扑发现的目的,从而实现了生成完整的网络拓扑的技术效果,进而解决了现有技术,基于MAC地址转发表生成网络拓扑的方法,对所有交换机的MAC地址转发表信息的完备性要求高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例提供的一种生成网络拓扑的方法流程图;以及
图2是根据本发明实施例提供的一种生成网络拓扑方法的装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
由本申请背景技术部分记载的内容可知,现有生成网络拓扑的方式主要两种:网络拓扑发现的现有技术包括通过邻接设备发现协议生成网络拓扑的技术和基于MAC地址转发表生成网络拓扑的技术。
其中,基于邻接设备发现协议生成网络拓扑的技术,由于网络设备的支持程度、协议类型的不同,所以在进行网络拓扑发现和绘制网络拓扑图的时候往往不能得到完整的结果。
基于MAC地址转发表的网络拓扑发现算法,有一个关键的前提要求就是所有交换机的MAC地址转发表信息是完备的,即所有接入网络的设备,其MAC地址必然被某一交换机的某一端口学到。这是一个比较苛刻的要求,往往不能得到满足。所以这种算法也常常不能得到相对完整的网络拓扑图。
本申请提出了一种基于MAC地址转发表生成网络拓扑的方案,该方案通过SNMP协议采集网络设备ARP表、转发表信息,对信息进行汇总分析,并生成网络拓扑。本申请提出的基于MAC地址转发表生成网络拓扑生成方法不会出现类似于邻接设备发现协议那样不兼容、不适配的情况,同时,对设备MAC地址转发表的完备性要求相对较低。
在上述应用场景下,根据本发明实施例,还提供了一种生成网络拓扑的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例提供的一种生成网络拓扑的方法流程图。如图1所示,包括如下步骤:
步骤S101,采集指定网段内网络设备的设备信息,其中,设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息。
具体地,上述网络设备包括但不限于防火墙、路由器、交换机等。可选地,上述设备标识可以是网络设备的设备名称,上述网络地址可以是网络设备的IP地址,则上述用于将网络设备的网络地址映射为物理地址的映射表可以是ARP表,上述指定网段可以是为给定的IP地址段。
作为一种可选的实施方式,在给定的IP地址段上进行扫描,对于可以连通的设备,通过SNMP协议分别采集设备名、ARP表、端口描述、端口转发表信息。
可选地,在上述步骤S101之后,可以按照指定网段内的每个网络地址,将设备信息存储到预定格式的文件中。即在通过步骤S101采集到指定网段内的网络设备的设备信息后,将采集到的信息按照网络地址(例如,IP地址)保存到特定目录中,一种可选的实施方式中,保存格式可以为JSON,例如,被采集设备的IP地址为192.168.1.1,保存目录为/net,则保存路径为/net/192.168.1.1.json。
作为一种可选的实施方式,在按照指定网段内的每个网络地址,将设备信息存储到预定格式的文件中之后,上述方法还包括如下至少之一:读取预定格式的文件中存储的用于将网络设备的网络地址映射为物理地址的映射表,生成第一映射表字典,其中,第一映射表字典用于将网络设备的网络地址映射为物理地址;读取预定格式的文件中存储的设备转发信息,生成第二映射表字典,其中,第二映射表字典用于将源网络设备的物理地址映射到目的网络设备的网络端口;读取预定格式的文件中存储的设备转发信息,生成第三映射表字典,其中,第三映射表字典用于将源网络设备的网络端口映射到目的网络设备的物理地址。
具体地,上述第一映射表字典可以是ARP信息表字典,通过读取所有已保存的ARP表信息,构建ARP信息表字典。上述第二映射表字典可以是MAC地址-IP端口字典,通过读取所有已保存的设备转发表信息,构建MAC地址-IP端口字段。上述第三映射表字典可以是IP端口-MAC地址字典,通过读取所有已保存的设备转发表信息,构建IP端口-MAC地址字典。可选地,还可以通过读取所有已保存的设备名称,构建设备名称字典。
步骤S102,基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,其中,核心交换机连接设备字典用于记录于与核心交换机直接相连的交换机信息。
具体地,基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,可以包括如下步骤:获取核心交换机的网络地址;基于核心交换机的网络地址,根据第一映射表字典、第二映射表字典和第三映射表字典,生成上行端口字典,其中,上行端口字典用于记录非核心交换机的上行端口的端口信息,上行端口为非核心交换机上用于连接核心交换机的端口;基于核心交换机的网络地址,根据第一映射表字典、第二映射表字典、第三映射表字典和上行端口字典,生成下行端口字典,其中,下行端口字典用于记录非核心交换机的非上行端口的物理地址与网络端口的映射信息,非上行端口为非核心交换机上不用于连接核心交换机的端口;基于核心交换机的网络地址,根据第一映射表字典、第二映射表字典、第三映射表字典和上行端口字典和下行端口字典,生成核心交换机连接设备字典。
例如,在给定核心交换机的IP地址后,根据给定的核心交换机的地址、ARP字典、IP端口-MAC地址字典、MAC地址-IP端口字典计算所有的上行端口(从非核心交换机到核心交换机的端口),并记录到上行端口字典。然后,根据给定的核心交换机IP地址、ARP字典、IP端口-MAC地址字典、MAC地址-IP端口字典、上行端口字典计算所有从非上行端口学到的MAC地址,并记录到非上行端口MAC地址-IP端口字典表;并根据给定的核心交换机IP地址、ARP字典、IP端口-MAC地址字典、MAC地址-IP端口字典、非上行端口MAC地址-IP端口字典表计算所有的下行端口,并记录到下行端口字典;最后,根据核心交换机的IP地址、ARP字典、IP端口-MAC地址字典、上行端口字典、下行端口字典计算得到直接与核心交换机相连的交换机,记录到核心交换机直连设备字典。
需要说明的是,在基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典之前,判断指定网段内的交换机是否与核心交换机直接相连的方法为:判断指定网段内的交换机的上行端口与核心交换机的下行端口是否存在相同的物理地址;根据判断结果,确定指定网段内与核心交换机直接相连的交换机,其中,与核心交换机直接相连的交换机的上行端口与核心交换机的下行端口不存在相同的物理地址。也即,如果某一交换机的上行端口与核心交换机的下行端口不存在任何相同的MAC地址,则说明该交换机与核心交换机直连。
可选地,如果指定网段内任意一个交换机的上行端口与核心交换机的下行端口存在多个相同的物理地址,则将存在相同物理地址的交换机的物理地址记录到物理地址冲突表中,其中,物理地址冲突表用于人工配置后生成网络拓扑,以使得所有的交换机出现于网络拓扑图中。也即,如果该交换机的上行端口与核心交换机的下行端口存在多个(容易注意的是,相同MAC地址的数量可以是任意数量,本申请经过多次测试,优选可以是多于1个但小于3个)相同的MAC地址,则将这些MAC地址记录到MAC地址冲突表中。
步骤S103,基于非核心交换机的网络地址,根据核心交换机连接设备字典和设备信息生成非核心交换机连接关系字典,其中,非核心交换机连接关系字典用于记录非核心交换机之间的连接关系。
具体地,在通过上述步骤S102生成核心交换机连接设备字典之后,可以基于非核心交换机的网络地址,根据第一映射表字典、第二映射表字典、第三映射表字典和上行端口字典和下行端口字典和核心交换机连接设备字典,生成非核心交换机连接关系字典。
例如,根据非核心交换机IP地址、ARP字典、IP端口-MAC地址字典、上行端口字典、非上行端口MAC地址-IP端口字典、核心交换机直连设备字典、MAC地址-IP端口字典计算其他非核心交换机之间的连接关系,记录到非核心交换机连接关系字典表。
步骤S104,根据核心交换机连接设备字典和非核心交换机连接关系字典,生成网络拓扑图。
具体地,将核心交换机连接设备字典和非核心交换机连接关系字典进行汇总,可以生成网络拓扑图。如果存在未能连入网络拓扑图的交换机,则可以通过界面形式将上述物理地址冲突表展示给操作人员,由操作人员选择忽略冲突表中的MAC地址,然后再生成网络拓扑,直到所有交换机都能在网络拓扑图中出现为止。可以看出,对于不能找到关联关系的交换机,本申请通过生成的物理地址冲突表提供冲突解决的机制,从而尽可能生成完整的拓扑图。
由上可知,在本申请上述实施例中,通过采集到给定网段内网络设备的设备信息,并基于给定的核心交换机的网络地址,根据采集到的设备信息生成用于记录与该核心交换机直接相连的交换机信息的核心交换机连接设备字典,进而基于给定的核心交换机的网络地址,根据采集到的设备信息和核心交换机连接设备字典中记录的与核心交换机直接相连的交换机信息,生成用于记录非核心交换机之间连接关系的非核心交换机连接关系字典,以便根据核心交换机连接设备字典和非核心交换机连接关系字典,生成相应的网络拓扑图,达到了无需要求网络设备的MAC地址转发表信息完备的情况下,实现基于MAC地址转发表的网络拓扑发现的目的,从而实现了生成完整的网络拓扑的技术效果,进而解决了现有技术,基于MAC地址转发表生成网络拓扑的方法,对所有交换机的MAC地址转发表信息的完备性要求高的技术问题。
根据本发明实施例,还提供了一种用于实施上述生成网络拓扑方法的装置实施例,图2是根据本发明实施例提供的一种生成网络拓扑方法的装置示意图,如图2所示,该装置可以包括:采集单元201、第一生成单元202、第二生成单元203和第三生成单元204。
其中,采集单元201,用于采集指定网段内网络设备的设备信息,其中,设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息;
第一生成单元202,用于基于核心交换机的网络地址,根据设备信息,生成核心交换机连接设备字典,其中,核心交换机连接设备字典用于记录于与核心交换机直接相连的交换机信息;
第二生成单元203,用于基于非核心交换机的网络地址,根据核心交换机连接设备字典和设备信息生成非核心交换机连接关系字典,其中,非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;
第三生成单元204,用于根据核心交换机连接设备字典和非核心交换机连接关系字典,生成网络拓扑图。
此处需要说明的是,上述采集单元201、第一生成单元202、第二生成单元203和第三生成单元204对应于方法实施例中的步骤S101至S104,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
由上可知,在本申请上述实施例中,通过采集单元201采集到给定网段内网络设备的设备信息,并通过第一生成单元202基于给定的核心交换机的网络地址,根据采集到的设备信息生成用于记录与该核心交换机直接相连的交换机信息的核心交换机连接设备字典,进而通过第二生成单元203基于给定的非核心交换机的网络地址,根据采集到的设备信息和核心交换机连接设备字典中记录的与核心交换机直接相连的交换机信息,生成用于记录非核心交换机之间连接关系的非核心交换机连接关系字典,以便通过第三生成单元204根据核心交换机连接设备字典和非核心交换机连接关系字典,生成相应的网络拓扑图,达到了无需要求网络设备的MAC地址转发表信息完备的情况下,实现基于MAC地址转发表的网络拓扑发现的目的,从而实现了生成完整的网络拓扑的技术效果,进而解决了现有技术,基于MAC地址转发表生成网络拓扑的方法,对所有交换机的MAC地址转发表信息的完备性要求高的技术问题。
在一种可选的实施例,上述装置还还包括:判断单元,用于判断指定网段内的交换机的上行端口与核心交换机的下行端口是否存在相同的物理地址;确定单元,用于根据判断结果,确定指定网段内与核心交换机直接相连的交换机,其中,与核心交换机直接相连的交换机的上行端口与核心交换机的下行端口不存在相同的物理地址。
在一种可选的实施例,上述装置还包括:记录单元,用于如果指定网段内任意一个交换机的上行端口与核心交换机的下行端口存在多个相同的物理地址,则将存在相同物理地址的交换机的物理地址记录到物理地址冲突表中,其中,物理地址冲突表用于人工配置后生成网络拓扑,以使得所有的交换机出现于网络拓扑图中。
在一种可选的实施例,上述装置还包括:存储单元,用于按照指定网段内的每个网络地址,将设备信息存储到预定格式的文件中。
在一种可选的实施例,上述装置还包括如下至少之一:第一读取单元,用于读取预定格式的文件中存储的用于将网络设备的网络地址映射为物理地址的映射表,生成第一映射表字典,其中,第一映射表字典用于将网络设备的网络地址映射为物理地址;第二读取单元,用于读取预定格式的文件中存储的设备转发信息,生成第二映射表字典,其中,第二映射表字典用于将源网络设备的物理地址映射到目的网络设备的网络端口;第三读取单元,用于读取预定格式的文件中存储的设备转发信息,生成第三映射表字典,其中,第三映射表字典用于将源网络设备的网络端口映射到目的网络设备的物理地址。
在一种可选的实施例,上述第一生成单元包括:获取模块,用于获取核心交换机的网络地址;第一生成模块,用于基于核心交换机的网络地址,根据第一映射表字典、第二映射表字典和第三映射表字典,生成上行端口字典,其中,上行端口字典用于记录非核心交换机的上行端口的端口信息,上行端口为非核心交换机上用于连接核心交换机的端口;第二生成模块,用于基于核心交换机的网络地址,根据第一映射表字典、第二映射表字典、第三映射表字典和上行端口字典,生成下行端口字典,其中,下行端口字典用于记录非核心交换机的非上行端口的物理地址与网络端口的映射信息,非上行端口为非核心交换机上不用于连接核心交换机的端口;第三生成模块,用于基于核心交换机的网络地址,根据第一映射表字典、第二映射表字典、第三映射表字典和上行端口字典和下行端口字典,生成核心交换机连接设备字典。
可选地,上述第二生成单元用于基于非核心交换机的网络地址,根据第一映射表字典、第二映射表字典、第三映射表字典和上行端口字典和下行端口字典和核心交换机连接设备字典,生成非核心交换机连接关系字典。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述任意一项可选的生成网络拓扑的方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项可选的生成网络拓扑的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种生成网络拓扑的方法,其特征在于,包括:采集指定网段内网络设备的设备信息,其中,所述设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息;基于核心交换机的网络地址,根据所述设备信息,生成核心交换机连接设备字典,其中,所述核心交换机连接设备字典用于记录于与所述核心交换机直接相连的交换机信息;基于非核心交换机的网络地址,根据所述核心交换机连接设备字典和所述设备信息生成非核心交换机连接关系字典,其中,所述非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;根据所述核心交换机连接设备字典和所述非核心交换机连接关系字典,生成网络拓扑图;并且在采集指定网段内网络设备的设备信息之后,所述方法还包括:按照所述指定网段内的每个网络地址,将所述设备信息存储到预定格式的文件中;在按照所述指定网段内的每个网络地址,将所述设备信息存储到预定格式的文件中之后,所述方法还包括如下至少之一:读取所述预定格式的文件中存储的用于将网络设备的网络地址映射为物理地址的映射表,生成第一映射表字典,其中,第一映射表字典用于将网络设备的网络地址映射为物理地址;读取所述预定格式的文件中存储的设备转发信息,生成第二映射表字典,其中,所述第二映射表字典用于将源网络设备的物理地址映射到目的网络设备的网络端口;读取所述预定格式的文件中存储的设备转发信息,生成第三映射表字典,其中,所述第三映射表字典用于将源网络设备的网络端口映射到目的网络设备的物理地址。
2.根据权利要求1所述的生成网络拓扑的方法,其特征在于,基于核心交换机的网络地址,根据所述设备信息,生成核心交换机连接设备字典,包括:获取所述核心交换机的网络地址;基于所述核心交换机的网络地址,根据所述第一映射表字典、所述第二映射表字典和所述第三映射表字典,生成上行端口字典,其中,所述上行端口字典用于记录非核心交换机的上行端口的端口信息,所述上行端口为所述非核心交换机上用于连接核心交换机的端口;
基于所述核心交换机的网络地址,根据所述第一映射表字典、所述第二映射表字典、所述第三映射表字典和所述上行端口字典,生成下行端口字典,其中,所述下行端口字典用于记录非核心交换机的非上行端口的物理地址与网络端口的映射信息,所述非上行端口为所述非核心交换机上不用于连接核心交换机的端口;
基于所述核心交换机的网络地址,根据所述第一映射表字典、所述第二映射表字典、所述第三映射表字典和所述上行端口字典和所述下行端口字典,生成所述核心交换机连接设备字典。
3.根据权利要求2所述的生成网络拓扑的方法,其特征在于,基于所述非核心交换机的网络地址,根据所述核心交换机连接设备字典和所述设备信息生成非核心交换机连接关系字典,包括:基于所述核心交换机的网络地址,根据所述第一映射表字典、所述第二映射表字典、所述第三映射表字典和所述上行端口字典和所述下行端口字典和所述核心交换机连接设备字典,生成所述非核心交换机连接关系字典。
4.一种生成网络拓扑的装置,其特征在于,包括:
采集单元,用于采集指定网段内网络设备的设备信息,其中,所述设备信息包括如下至少之一:设备标识、用于将网络设备的网络地址映射为物理地址的映射表、设备转发信息;
第一生成单元,用于基于核心交换机的网络地址,根据所述设备信息,生成核心交换机连接设备字典,其中,所述核心交换机连接设备字典用于记录于与所述核心交换机直接相连的交换机信息;
第二生成单元,用于基于非核心交换机的网络地址,根据所述核心交换机连接设备字典和所述设备信息生成非核心交换机连接关系字典,其中,所述非核心交换机连接关系字典用于记录非核心交换机之间的连接关系;
第三生成单元,用于根据所述核心交换机连接设备字典和所述非核心交换机连接关系字典,生成网络拓扑图;
存储单元,用于按照所述指定网段内的每个网络地址,将所述设备信息存储到预定格式的文件中;并且所述装置还包括如下至少之一:
第一读取单元,用于读取所述预定格式的文件中存储的用于将网络设备的网络地址映射为物理地址的映射表,生成第一映射表字典,其中,第一映射表字典用于将网络设备的网络地址映射为物理地址;
第二读取单元,用于读取所述预定格式的文件中存储的设备转发信息,生成第二映射表字典,其中,所述第二映射表字典用于将源网络设备的物理地址映射到目的网络设备的网络端口;
第三读取单元,用于读取所述预定格式的文件中存储的设备转发信息,生成第三映射表字典,其中,所述第三映射表字典用于将源网络设备的网络端口映射到目的网络设备的物理地址。
5.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至3中任意一项所述的生成网络拓扑的方法。
6.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至3中任意一项所述的生成网络拓扑的方法。
CN202110850948.6A 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器 Active CN113572645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110850948.6A CN113572645B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110850948.6A CN113572645B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器
CN201811191139.3A CN109257225B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811191139.3A Division CN109257225B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器

Publications (2)

Publication Number Publication Date
CN113572645A CN113572645A (zh) 2021-10-29
CN113572645B true CN113572645B (zh) 2024-04-05

Family

ID=65046069

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110850948.6A Active CN113572645B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器
CN201811191139.3A Active CN109257225B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811191139.3A Active CN109257225B (zh) 2018-10-12 2018-10-12 生成网络拓扑的方法、装置、存储介质和处理器

Country Status (1)

Country Link
CN (2) CN113572645B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572645B (zh) * 2018-10-12 2024-04-05 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器
JP7393264B2 (ja) * 2020-03-24 2023-12-06 アズビル株式会社 ネットワーク装置およびネットワーク構成判別方法
CN111464450B (zh) * 2020-03-27 2022-03-25 杭州海康威视数字技术股份有限公司 网络拓扑结构的生成方法及装置
CN111600762B (zh) * 2020-06-02 2023-04-07 山东中创软件商用中间件股份有限公司 一种网络拓扑结构生成方法、装置、设备及介质
CN111934921B (zh) * 2020-07-29 2023-11-07 深信服科技股份有限公司 一种网络拓扑发现方法及装置、设备、存储介质
CN117176588B (zh) * 2023-11-03 2024-02-06 烽台科技(北京)有限公司 网络拓扑的构建方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1614942A (zh) * 2003-11-06 2005-05-11 北京佳讯飞鸿电气有限责任公司 网络通信中解决ip地址冲突的方法
KR20060068496A (ko) * 2004-12-16 2006-06-21 한국전자통신연구원 이더넷 망에서의 토폴로지 발견 방법
CN104468365A (zh) * 2014-07-09 2015-03-25 北京东土科技股份有限公司 一种获取设备间拓扑连接关系的方法、系统及装置
CN105376163A (zh) * 2015-10-14 2016-03-02 山东超越数控电子有限公司 一种网络拓扑结构的发现方法及装置
CN108282362A (zh) * 2017-12-29 2018-07-13 武汉璞华大数据技术有限公司 一种网络拓扑生成方法、装置和设备
CN109257225B (zh) * 2018-10-12 2021-08-10 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69632144T2 (de) * 1995-11-16 2004-11-25 Loran Network Systems, L.L.C., Wilmington Verfahren zur bestimmung der topologie eines netzwerkes von objekten
GB2372400B (en) * 2001-02-19 2003-05-28 3Com Corp Network management apparatus and method for determining the topology of a network
US7424021B2 (en) * 2003-01-31 2008-09-09 Hewlett-Packard Development Company, L.P. Method and apparatus for processing network topology data
CN1558615A (zh) * 2004-01-14 2004-12-29 中国科学院计算技术研究所 一种物理网络拓扑发现系统及其方法
CN1791011A (zh) * 2005-12-06 2006-06-21 电子科技大学 一种网络管理系统中网络拓扑图自动生成方法
CN101764709B (zh) * 2009-12-29 2012-02-22 福建星网锐捷网络有限公司 基于snmp的网络物理拓扑发现方法及网管服务器
CN102143007A (zh) * 2011-05-03 2011-08-03 中国南方电网有限责任公司 基于分布式的多级网络拓扑发现方法
CN103036725B (zh) * 2012-12-17 2015-08-19 华为技术有限公司 一种网络拓扑发现的方法和网络管理设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1614942A (zh) * 2003-11-06 2005-05-11 北京佳讯飞鸿电气有限责任公司 网络通信中解决ip地址冲突的方法
KR20060068496A (ko) * 2004-12-16 2006-06-21 한국전자통신연구원 이더넷 망에서의 토폴로지 발견 방법
CN104468365A (zh) * 2014-07-09 2015-03-25 北京东土科技股份有限公司 一种获取设备间拓扑连接关系的方法、系统及装置
CN105376163A (zh) * 2015-10-14 2016-03-02 山东超越数控电子有限公司 一种网络拓扑结构的发现方法及装置
CN108282362A (zh) * 2017-12-29 2018-07-13 武汉璞华大数据技术有限公司 一种网络拓扑生成方法、装置和设备
CN109257225B (zh) * 2018-10-12 2021-08-10 北京信研汇智信息技术有限公司 生成网络拓扑的方法、装置、存储介质和处理器

Also Published As

Publication number Publication date
CN113572645A (zh) 2021-10-29
CN109257225B (zh) 2021-08-10
CN109257225A (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN113572645B (zh) 生成网络拓扑的方法、装置、存储介质和处理器
JP4008432B2 (ja) ネットワーク機器のトポロジを探索する装置および方法
US7548540B2 (en) Dynamic discovery of ISO layer-2 topology
US7606884B2 (en) SNMP firewall for network identification
US20070297349A1 (en) Method and System for Collecting Information Relating to a Communication Network
JP2010514340A (ja) 通信ネットワークの物理トポロジを発見する方法
CN107733713B (zh) 混合网络中网络拓扑的获取方法、系统、设备及存储介质
JP4935210B2 (ja) ネットワーク接続形態検出方法及びシステム、並びにネットワーク機器
EP2372954A2 (en) Method and system for collecting information relating to a communication network
CN104579978B (zh) 一种动态网络链路层拓扑发现方法
CN114915561B (zh) 网络拓扑图生成方法和装置
US20040215781A1 (en) Techniques for determining device connectivity in a network using protocol-specific connectivity information
EP3917086A1 (en) Network topology discovery method, device, and system
CN107094187A (zh) 一种自动查找mac地址的接入交换机端口的方法
CN108833129B (zh) 一种网络拓扑发现方法和装置
US7733800B2 (en) Method and mechanism for identifying an unmanaged switch in a network
CN111931182B (zh) 一种自动化安全漏洞扫描系统和方法
US20020055988A1 (en) Network topology discovery in a frame relay based wide area network comprising multiple local area networks
CN116719868A (zh) 网络资产的识别方法、装置及设备
US10237353B2 (en) Method and system for discovering the topology of the communications between applications of a computer network
CN115766252A (zh) 一种流量异常检测方法、装置、电子设备及存储介质
Andreev et al. An algorithm for building an enterprise network topology using widespread data sources
CN117176639B (zh) 一种基于多协议的网络拓扑自动发现方法和装置
JPH08147231A (ja) ネットワークノードの検索方法
Hsieh et al. Topology discovery for coexisting IPv6 and IPv4 networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant