一种网络拓扑发现的方法和网络管理设备的制作方法

文档序号:7869010阅读:230来源:国知局
专利名称:一种网络拓扑发现的方法和网络管理设备的制作方法
技术领域
本发明涉及计算机网络领域,尤其涉及一种网络拓扑发现的方法和网络管理设备。
背景技术
网络拓扑(英文为network topology)是指一个通信网络内,各个网络节点之间的连接关系,这些网络节点包括路由器、交换机、网桥、集线器(hub)及终端主机等等。网络拓扑发现(英文为network topology discovery)是指获取和维护网络节点的存在信息和它们之间的连接关系信息,并在此基础上给出整个网络的连接状态的图示,帮助网络管理人员对整个网络的拓扑结构有整体上的了解和认识,并有效的帮助管理员进行网络故障定位和性能分析。现有技术中,主要有利用简单网络管理协议(simple networkmanagementprotocol,简称SNMP协议)获取网络节点的转发信息库(forward information base,简称FIB)路由表和邻居设备的相关信息来进行网络拓扑的发现。而每个网络节点的FIB路由表中的下一跳(nexthop)仅记录了最优路由设备的信息,这样导致网络管理设备无法发现完整的网络拓扑。另外现有的网络中存在大量的二层设备,如交换机,由于二层设备不使用路由进行转发的,而是采用介质访问控制(Media Access Control,简称MAC)地址进行转发,这使得网络管理设备通过SNMP协议仅获取网络节点的FIB路由表和邻居设备的相关信息无法发现二层设备。现有技术中还提出了链路层发现协议(Link Layer DiscoveryProtocol,简称LLDP)进行链路发现,但是由于LLDP只支持对链路层工作的设备的发现,对于三层设备无法发现。

发明内容
本发明的实施例提供一种网络拓扑发现的方法和网络管理设备,能够实现对不同类型设备混合的网络进行网络拓扑发现。为达到上述目的,本发明的实施例采用如下技术方案第一方面,本发明实施例提供了一种网络拓扑发现的方法,该方法包括网络管理设备确定子网中的根设备;所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表;所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层网络拓扑设备至第N层网络拓扑设备,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的同一接口的设备,所述M取I至N;所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备;所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。第一种可能的实现方式中,根据第一方面,在所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表之前,该方法还包括所述网络管理设备指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。第二种可能的实现方式中,根据第一种可能的实现方式,所述网络管理设备指示所述根设备触发所述子网中其它设备具体为所述网络管理设备指示所述根设备向所述子网中其它设备发送Ping命令。第三种可能的实现方式中,结合第一方面或第一种至第二种可能的实现方式中,所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构之后,该方法还包括若所述子网中存在第 二网路拓扑设备,则创建虚拟集线器hub设备,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接;将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,与所述第二网络拓扑设备相连,并将所述虚拟hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相连。第四种可能的实现方式中,结合第一方面或第一种至第三种可能的实现方式中,所述网络管理设备确定子网中的根设备具体包括所述网络管理设备依次向子网中的每一设备发送telnet测试;直至与所述网络管理设备telnet连接成功,则将所述与所述网络管理设备telnet连接成功的设备确定为根设备;若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备;或所述网络管理设备确定子网中的根设备具体包括所述网络管理设备将所述子网中的任一设备确定为根设备。第五种可能的实现方式中,结合第一方面或第一种至第四种可能的实现方式中,在网络管理设备确定子网中的根设备之前,该方法还包括所述网络管理设备确定要进行网络拓扑发现的设备,所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备;所述网络管理设备根据要进行网络拓扑发现的设备的接口,确定所述要进行网络拓扑发现的子网。第六种可能的实现方式中,结合第一方面或第一种至第五种可能的实现方式中,该方法还包括遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路;其中,所述第一链路为任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的链路,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路;在所述获取所述子网的网络拓扑结构之前,该方法还包括根据所述网络管理设备确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路;所述获取所述子网的网络拓扑结构具体包括根据确定的所述子网包括的链路,获取所述子网的网络拓扑结构。第七种可能的实现方式中,结合第一方面或第一种至第六种可能的实现方式中,所述子网中至少包括有以下类型设备中的一种路由器、交换机、防火墙、服务器、hub和个人计算机。第二方面,本发明实施例提供了一种网络管理设备,所述设备包括第一确定单元,用于确定子网中的根设备;

第一获取单元,用于获取所述子网中每一个设备的MAC转发表和/或ARP表;第一发现单元,用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层网络拓扑设备至第N层网络拓扑设备,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的不同接口的设备,所述M取I至N;第二发现单元,用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备;第二获取单元,用于根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。第一种可能的实现方式中,结合第二方面,所述设备还包括指示单元,用于指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。第二种可能的实现方式中,根据第一种可能的实现方式,所述指示单元,具体用于指示所述根设备向所述子网中其它设备发送Ping命令。第三种可能的实现方式中,结合第二方面或第一种至第二种可能的实现方式,所述设备还包括创建单元,用于若所述子网中存在第二网路拓扑设备,则创建虚拟集线器hub设备,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接;第二确定单元,用于将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,将所述虚拟hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相连。第四种可能的实现方式中,结合第二方面或第一种至第三种可能的实现方式,所述第一确定单元具体包括
发送模块,用于依次向所述子网中的每一设备发送telnet测试;确定模块用于若发现与所述网络管理设备telnet连接成功的设备,将与所述网络管理设备telnet连接成功的设备确定为根设备;若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备;或所述第一确定单元,具体用于将所述子网中的任一设备确定为根设备。第五种可能的实现方式中,结合第二方面或第一种至第四种可能的实现方式,该设备还包括第三确定单元,用于确定要进行网络拓扑发现的设备,所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备;第四确定单元,用于根据要进行网络拓扑发现的设备的接口,确定所述要进行网络拓扑发现的子网。在第六种可能的实现方式中,结合第二方面或第一种至第五种可能的实现方式,该设备还包括第五确定单元,用于遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路;其中,所述第一链路为任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的链路,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路;更新单元,用于根据所述网络管理设备确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路;第二获取单元,具体用于确定的所述子网包括的链路,获取所述子网的网络拓扑结构。第七种可能的实现方式中,结合第二方面或第一种至第六种可能的实现方式中,所述子网中至少包括有以下类型设备中的一种路由器、交换机、防火墙、 服务器、hub和个人计算机。本发明实施例提供的网络拓扑发现的方法和网络管理设备,该网络管理设备能够根据获取的所述子网中每一个设备的MAC转发表和/或ARP表,通过其MAC地址和所述根设备的MAC地址,是否不存储在所述子网中除根设备至第M-1层网络拓扑设备外的同一设备的不同接口中,确定该是否为第M层网络拓扑设备,进而通过不同接口是否分别存储有所述根设备的MAC地址和所述第M+1层网络拓扑设备的MAC地址,确定是否为与第M+1层网络拓扑设备物理连接的与第M层网络拓扑设备直连的第M-1层网路拓扑设备,故根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,能够获取所述子网的网络拓扑结构。由于在该方法中,不区分设备类型,如二层设备、三层设备或PC等终端,仅是根据子网中所有设备的MAC转发表和/或ARP表获取该子网的网络拓扑结构,因此采用该方法能够实现对不同类型设备混合的网络进行网络拓扑发现。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供了一种网络拓扑发现的方法流程示意图;图2为本发明实施例提供了另一种网络拓扑发现的方法流程示意图;图3为本发明实施例提供的链路划分子网的方法流程示意图;图4为本发明实施例提供的一种网络管理设备的结构框图;图5为本发明实施例提供的另一种网络管理设备的结构框图;图6为本发明实施例提供的再一种网络管理设备的结构框图;图7为本发明实施例提供的一种网络拓扑结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一、 本发明实施例提供了一种网络拓扑发现的方法,如图1所示,该方法包括101、网络管理设备确定子网中的根设备。需要说明的是,本发明实施例所描述的子网仅局限于树状结构的网络。对于存在环路的网络,由于环路网络会导致广播风暴,整个局域网环境不可用,无法正确进行链路发现,所以本发明实施例不考虑存在环路的网络的情况。当然对于存在链路冗余的网络,该网络管理设备可以启动生成树协议(Spanning Tree Protocol,简称STP协议)进行裁剪,避免形成环路。在实施例中,在该网络管理设备确定子网的根设备前,该网络管理设备首先判断该子网内包含的设备数量是否大于等于2,如果小于2,则说明该子网中可能只有一条链路,则网络管理设备结束对该子网的网络拓扑结构的发现。如果不小于2,则网络管理设备确定该子网的根设备。本发明实施例描述的子网为树状结构的网络,则网络管理设备可将该子网中的任一设备确定为该子网网络拓扑结构的根设备。所述网络管理设备确定子网中的根设备还可以为所述网络管理设备依次向所述子网中的每一设备发送telnet测试;当子网中的任一设备与所述网络管理设备telnet连接成功时,则将所述与所述网络管理设备telnet连接成功的设备确定为根设备;若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备。
进一步需要说明的是,在本发明实施例中,该子网中可以包括二层设备、三层设备以及其它类型的至少一种类型的设备。当然,所述子网中包括的设备可能不限于此,本发明实施例对此不作具体限定。二层设备,是指只工作在数据链路层的设备,采用MAC地址进行寻址。三层设备,是指支持数据链路层和网络层的设备,在同一子网内三层设备采用MAC地址进行寻址,跨子网时三层设备采用IP地址路由寻址。举例来说,交换机为二层设备,仅工作在数据链路层;路由器、hub、防火墙为三层设备。其他类型的设备如服务器、个人计算PC (Personal Computer) 0102、所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表。通常,二层设备,如交换机采用MAC地址进行转发,即交换机中仅存储有MAC转发表,MAC转发表存储有与该二层设备物理连接的接口的MAC地址。而三层设备,如路由器采用路由进行转发,则路由器中存储有地址解析协议(Address Resolution Protocol,简称ARP)表,ARP表中存储有与该三层设备物理连接的接口的IP地址和MAC地址的对应关系信息。需要说明的是,现有技术中的部分二层设备和三层设备也可能同时支持存储MAC转发表和ARP表。在本实施例中,所述网络管理设备可以通过SNMP协议从子网的所有设备中获取以下信息中任一种=MAC转发表、ARP表、MAC转发表和ARP转发表。对于PC和服务器这样的终端,由于不支持SNMP协议,所以网络管理设备无法获取PC和服务器的MAC地址,则网络管理设备可以从根设备的ARP表中获取PC或服务器的IP地址和MAC地址的映射关系,进而获取MAC地址。因为根设备可以通过Ping命令获取该子网中所有设备的MAC转发表和/或ARP表。当然,所述网络管理设备还可以通过其它协议或方式,例如Telnet回显的方式从子网的所有设备中获取以下信息中任一种=MAC转发表、ARP表、MAC转发表和ARP转发表,本发明实施例对此不作具体描述。可选的,在所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表之前,所述网络管理设备还可以指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。这样,可以保证所述网络管理设备获得的每一个设备的MAC转发表和/或ARP表完整和准确。在本实施例中,所述网络管理设备指示所述根设备向所述子网中其它设备发送Ping命令,以此来使得所述子网中的设备更新各自的MAC转发表和/或ARP表。103、所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层至第N层网络拓扑设备。其中,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的同一接口的设备,所述M取I至N。之所以所述第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的同一接口的设备,因为通常第M-1层设备靠近根设备的接口存储有根设备的MAC地址,而第M-1层设备需要向第M层设备转发数据,则第M-1层设备靠近第M层设备的接口存储有第M层设备的MAC地址,而第M+1层至第N层的网络拓扑设备,在靠近根设备的接口上必然存储有根设备的MAC地址,当然在靠近根设备的接口上可能存储有第M层的网络拓扑设备,这根据网络的实际情况而定,所以除了根设备至第M-1层网络拓扑设备外,其它层的网络拓扑设备就不会在不同接口上分别存储第M层的MAC地址和所述根设备的MAC地址。需要说明的是,在本实施中,假定该子网包括了 N层网络拓扑设备,任一层网络拓扑设备可以作为第M层网络拓扑设备来描述,其中M取I至N,M为整数。104、所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备。在本实施中,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M+1层网络拓扑设备的MAC地址的设备。通过在步骤104中的描述,在确定与第M层网络拓扑设备直连的第M-1层网络拓扑设备时,由于第M-1层网络设备在靠近根接口上存储有所述根设备的MAC地址,在靠近第M层网络拓扑设备的接口上存储有第M-1层网络拓扑设备的MAC地址,所述与第M层网络拓扑设备直连的第M-1层网络拓扑设备在不同接口上分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备。在确定每一层的网络拓扑设备后,需要确定与每一层网络拓扑设备物理连接的设备,即与第M层网络拓扑设备直连的第M-1层网路拓扑设备,才能获取整个子网的网络拓扑结构。所述网络管理设备可以通过递归方式发现该子网中与每一层网络拓扑设备物理连接的与第M层网络拓扑设备 直连的第M-1层网路拓扑设备。

105、所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。可选的,在所述网络管理设备获取所述子网的网络拓扑结构之后,若所述子网中存在第二网路拓扑设备,还可以创建虚拟hub设备,其中,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接。然后,所述管理设备可以将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,与所述第二网络拓扑设备相连,并将所述虚拟hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相连,并以此更新所述子网的网络拓扑结构。本发明实施例提供的网络拓扑发现的方法,该网络管理设备能够根据获取的所述子网中每一个设备的MAC转发表和/或ARP表,通过其MAC地址和所述根设备的MAC地址,是否不存储在所述子网中除根设备至第M-1层网络拓扑设备外的同一设备的不同接口中,确定该是否为第M层网络拓扑设备,进而通过不同接口是否分别存储有所述根设备的MAC地址和所述第M+1层网络拓扑设备的MAC地址,确定是否为与第M+1层网络拓扑设备物理连接的与第M层网络拓扑设备直连的第M-1层网路拓扑设备,故根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,能够获取所述子网的网络拓扑结构。由于在该方法中,不区分设备类型,如二层设备、三层设备或PC等终端,仅是根据子网中所有设备的MAC转发表和/或ARP表获取该子网的网络拓扑结构,因此采用该方法能够实现对不同类型设备混合的网络进行网络拓扑发现。实施例二、在实施例一提供的网络拓扑发现方法的基础上,本发明实施例还提供了一种网络拓扑发现的方法,本实施例以整个局域网为例进行说,该全网中包括一个以上的子网,具体的,该方法如图2所示,该方法包括201、所述网络管理设备确定要进行网络拓扑发现的设备。所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备。在本发明实施例中,该网络拓扑发现的方法支持全量发现和部分发现。其中,所述全量发现是指该网络管理设备对管理的所有子网的链路进行发现,所述部分发现是指该网络管理设备对部分子设备所在的子网的链路进行发现。所述网络管理设备根据实际需要确定要进行网络拓扑发现的设备。202、所述网络管理设备根据要进行网络拓扑发现的设备的接口信息,确定所述要进行网络拓扑发现的子网。在所述网络管理设备确定要进行网络拓扑发现的设备后,获取该设备包括的接口的信息。所述接口信息具体包括以下信息中的至少一个接口的IP地址、掩码和MAC地址。在本实施例中,所述网络管理设备在确定所述要进行网络拓扑发现的子网时,根据子网中每个设备的接口的IP地址和掩码计算,将属于同一网络地址的接口划分到一个子网中。首先所述网络管理设备判断该设备是否存在IP地址、掩码和MAC地址。若IP地址或MAC地址缺失,则该设备的接口不进行子网划分。若该设备的接口只存在IP地址,没有获取到掩码,例如PC等不支持SNMP协议的设备,可将该设备的接口的IP地址和所述网络管理设备中已存在的子网掩码进行子网计算。具体的,根据每个设备的接口的IP地址掩码计算,确定将该接口所在的子网的技术细节,为熟知本领域的技术人员所了解的,本发明实施例在此不作赘述。203、所述网络管理设备遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路。其中,所述第一链路为根据任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网的掩码一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的接口,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路。204、所述网络管理设备确定子网中的根设备。在所述网络管理设备确定所述要进行网络拓扑发现的子网包括的链路后,确定所述子网的根设备。205、所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表。206、所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层至第N层网络拓扑设备。

其中,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的同一接口的设备,所述M取I至N。207、所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备。其中,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备。208、根据所述网络管理设备确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路。值得说明的,根据所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,确定所述进行网络拓扑发现的子网包括的链路。然后将所述进行网络拓扑发现的子网包括的链路与所述由第一链路、第二链路和第三链路确定所述子网的链路集合中的链路进行逐一比较,如果所述进行网络拓扑发现的子网包括的链路不属于所述子网的链路集合中的链路,则将不属于所述子网的链路集合中的链路添加到所述子网的链路集合中;若属于所述子网的链路集合中的链路,则对所述子网的链路集合中的该链路不进行操作;若所述子网的链路集合中存在第四链路,所述第四链路为不属于所述进行网络拓扑发现的子网包括的链路,且所述第四链路不是手工创建的链路,则将从所述子网的链路集 合删除所述第四链路;若所述第四链路是手工创建的链路,则在所述子网的链路集合保留所述第四链路。至此,所述子网的链路集合中包括了所述子网的所有链路。209、根据确定的所述子网包括的链路,获取所述子网的网络拓扑结构。具体的步骤204-207的描述细节,详见实施例一的说明,本发明实施例在此不再赘述。当然,若所述网络管理设备确定需要进行网络拓扑发现的子网为多个,所述网络管理设备可以依次对每个子网进行网络拓扑发现,即在发现第一个子网后,跳回步骤204,重复执行步骤204-207对下一个子网进行网络拓扑发现。在本实施例中,所述网络管理设备遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路具体执行过程如图3所示,具体包括301、所述网络管理设备查询链路。302、判断所述链路的一个接口是否是三层接口。若是,则执行步骤303 ;若否,则执行步骤306。303、获取该接口的IP地址,并判断所述接口是否存储有掩码。若是,则执行步骤304 ;若否,则执行步骤306。304、通过所述IP地址和所述存储的掩码计算对应的子网。305、若计算的对应的子网是需要进行网络拓扑发现的子网,将所述链路划分到所述子网中,执行步骤317。306、获取与该接口物理连接的任一对端的接口。307、判断所述对端接口是否是三层接口。
若是,则执行步骤308 ;若否,则执行步骤312。308、判断所述对端接口是否存储有掩码。若是,则执行步骤304 ;若否,则执行步骤309。309、判断是哪端的接口是三层接口。若是始端的接口是三层接口,则执行步骤317 ;若对端的接口是三层接口,则执行步骤310。310、获取对端设备上的所有三层接口(vlanif)的MAC地址。311、判断始端的IP地址是否有和对端设备上的所有vlanif的MAC地址在同一子网中。若是,则执行步骤305 ;若否,则执行步骤317。312、判断是否有一端是hub。若是,则执行步骤313 ;若否,则执行步骤314。313、获取所述hub的子网,并执行步骤305。314、判断是哪端的接口是 三层接口。若是始端的接口是三层接口,则执行步骤310 ;若对端的接口是三层接口,则执行步骤315。315、获取始端和对端设备包括的所有vlanif的MAC地址。316、判断是否两个设备上有属于同一子网的vlanif的MAC地址。若是,则执行步骤305 ;若否,则执行步骤317。317、判断所述链路是所述网络管理设备中存储的最后一条链路。若是,则结束;若否,则再次执行步骤301-317。具体的,以下以图7所示的网络拓扑结构为例说明整个网络拓扑结构的发现过程。其中,网络管理设备可以从整个网络拓扑结构中确定要进行网络拓扑发现的设备,当然也可以对整个网络拓扑结构进行发现。假设网络管理设备确定核心交换机为要进行网络拓扑发现的设备。其中该核心交换交换机接口信息包括两个IP地址,即192. 168. O. 2和10. O. O.1。进而该网络管理设备确定要进行网络拓扑发现的子网分别为地址段为 192. 168. O. O 192. 168. 255. 255 的子网 I 和地址段为 10. O. O. O 10. O. 255. 255的子网2。对于局域网1,网络管理设备中存储有网络拓扑结构中的各个设备的IP地址,从而该网络管理设备可以采用实施例一或实施二的步骤204至209所述的方法,获取所述局域网I的网络拓结构。对于局域网2,网络管理设备中存储有网络拓扑结构中的各个设备的IP地址,从而该网络管理设备可以采用实施例一或实施二的步骤204至209所述的方法,获取所述局域网I的网络拓结构。对于局域网I和局域网2的网络拓扑结构发现的先后顺序,本发明实施例对此不作具体限定。本发明实施例提供的网络拓扑发现的方法,该网络管理设备能够根据获取的所述子网中每一个设备的MAC转发表和/或ARP表,通过其MAC地址和所述根设备的MAC地址,是否不存储在所述子网中除根设备至第M-1层网络拓扑设备外的同一设备的不同接口中,确定该是否为第M层网络拓扑设备,进而通过不同接口是否分别存储有所述根设备的MAC地址和所述第M+1层网络拓扑设备的MAC地址,确定是否为与第M+1层网络拓扑设备物理连接的与第M层网络拓扑设备直连的第M-1层网路拓扑设备,故根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,能够获取所述子网的网络拓扑结构。由于在该方法中,不区分设备类型,如二层设备、三层设备或PC等终端,仅是根据子网中所有设备的MAC转发表和/或ARP表获取该子网的网络拓扑结构,因此采用该方法能够实现对不同类型设备混合的网络进行网络拓扑发现。实施例三、本发明实施例提供了一种网络管理设备,如图4所示,所述设备包括第一确定单元41,用于确定子网中的根设备。第一获取单元42,用于获取所述子网中每一个设备的MAC转发表和/或ARP表。第一发现单元43,用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层网络拓扑设备至第N层网络拓扑设备,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的不同接口的设备,所述M取I至N。第二发现单元44,用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备 直连的第M-1层网路拓扑设备,所述第一网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备。第二获取单元45,用于根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。可选的,如图5所示,所述设备还包括指示单元46。所述指示单元46,用于指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。具体的,所述指示单元46,具体用于指示所述根设备向所述子网中其它设备发送Ping命令。可选的,如图5所示,所述设备还包括创建单元47和第二确定单元48。创建单元47,用于若所述子网中存在第二网路拓扑设备,则创建虚拟hub设备,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接。第二确定单元48,用于将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,将所述虚拟hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相连。可选的,如图5所示,所述第一确定单元41具体包括发送模块411,用于依次向所述子网中的每一设备发送telnet测试。确定模块412用于若发现与所述网络管理设备telnet连接成功的设备,将与所述网络管理设备telnet连接成功的设备确定为根设备;若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备。
可选的,所述第一确定单元41,具体用于将所述子网中的任一设备确定为根设备。具体的,所述子网中至少包括有以下类型设备中的一种路由器、交换机、防火墙、服务器、hub和个人计算机。可选的,如图5所示,该设备还包括第三确定单元49,用于确定要进行网络拓扑发现的设备,所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备。第四确定单元50,用于根据要进行网络拓扑发现的设备的接口,确定所述要进行网络拓扑发现的子网。可选的,如图5所示,该设备还包括第五确定单元51,用于遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路。其中,所述第一链路为任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的链路,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路。更新单元52,用于 根据所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路。第二获取单元45,具体用于根据确定的所述子网包括的链路,获取所述子网的网络拓扑结构。具体的,所述网络管理设备进行网络拓扑发现的过程,可参见实施例一和实施例二的描述,本发明实施例在此不再赘述。本发明实施例提供的网络管理设备,该网络管理设备能够根据获取的所述子网中每一个设备的MAC转发表和/或ARP表,通过其MAC地址和所述根设备的MAC地址,是否不存储在所述子网中除根设备至第M-1层网络拓扑设备外的同一设备的不同接口中,确定该是否为第M层网络拓扑设备,进而通过不同接口是否分别存储有所述根设备的MAC地址和所述第M+1层网络拓扑设备的MAC地址,确定是否为与第M+1层网络拓扑设备物理连接的与第M层网络拓扑设备直连的第M-1层网路拓扑设备,故根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,能够获取所述子网的网络拓扑结构。由于在该方法中,不区分设备类型,如二层设备、三层设备或PC等终端,仅是根据子网中所有设备的MAC转发表和/或ARP表获取该子网的网络拓扑结构,因此采用该方法能够实现对不同类型设备混合的网络进行网络拓扑发现。实施例四、本发明实施例提供了一种网络管理设备,如图6所示,所述设备包括处理器101。所述处理器101,用于确定子网中的根设备。所述处理器101,还用于获取所述子网中每一个设备的MAC转发表和/或ARP表。所述处理器101,还用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层至第N层网络拓扑设备,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的不同接口的设备,所述M取I至N。所述处理器101,还用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备。所述处理器101,还用于根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。可选的,所述设备还包括发送器102。所述处理器101,还用于将指示信息发送所述发送器102,所述指示信息用于指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。所述发送器102,用于接收所述处理器101的指示信息,并将所述指示信息发送给所述子网中的根设备。可选的,所述指示信息具体用于指示所述根设备向所述子网中其它设备发送Ping命令。可选的,所述处理器101,还用于若所述子网中存在第二网路拓扑设备,则创建虚拟hub设备,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接;将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,将所述虚拟hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相
连。 可选的,所述处理器101确定子网中的根设备具体包括所述网络管理设备遍历向所述子网中的设备发送telnet测试;直至发现与所述网络管理设备telnet连接成功,则将所述与所述网络管理设备telnet连接成功的设备确定为根设备;若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备。可选的,所述处理器101,具体用于将所述子网中的任一设备确定为根设备。具体的,所述子网中至少包括有以下类型设备中的一种路由器、交换机、防火墙、服务器、hub和个人计算机。可选的,所述处理器101,还用于确定要进行网络拓扑发现的设备,所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备;根据要进行网络拓扑发现的设备的接口,确定所述要进行网络拓扑发现的子网。可选的,所述处理器101,还用于遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路。其中,所述第一链路为任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的链路,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路。所述处理器101,还用于根据所述网络管理设备确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路。所述处理器101,还用于根据确定的所述子网包括的链路,获取所述子网的网络拓扑结构。具体的,所述网络管理设备进行网络拓扑发现的过程,可参见实施例一和实施例二的描述,本发明实施例在此不再赘述。本发明实施例提供的网络管理设备,该网络管理设备能够根据获取的所述子网中每一个设备的MAC转发表和/或ARP表,通过其MAC地址和所述根设备的MAC地址,是否不存储在所述子网中除根设备至第M-1层网络拓扑设备外的同一设备的不同接口中,确定该是否为第M层网络拓扑设备,进而通过不同接口是否分别存储有所述根设备的MAC地址和所述第M+1层网络拓扑设备的MAC地址,确定是否为与第M+1层网络拓扑设备物理连接的与第M层网络拓扑设备直连的第M-1层网路拓扑设备,故根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,能够获取所述子网的网络拓扑结构。由于在该方法中,不区分设备类型,如二层设备、三层设备或PC等终端,仅是根据子网中所有设备的MAC转发表和/或ARP表获取该子网的网络拓扑结构,因此采用该方法能够实现对不同类型设备混合的网络进行网络拓扑发现。可选地,上述处理器101可以为中央处理器(Central ProcessingUnit,CPU)。上述发送器102可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transf erMode, ATM)接口。上述发送器102和处理器101可以集成为一个或多个独立的电路或硬件,如专用集成电路(Application SpecificIntegratedCircuit, ASIC)。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种网络拓扑发现的方法,其特征在于,该方法包括 网络管理设备确定子网中的根设备; 所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表; 所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层至第N层网络拓扑设备,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的同一接口的设备,所述M取I至N ; 所述网络管理设备根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备; 所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。
2.根据权利要求1所述的方法,其特征在于,在所述网络管理设备获取所述子网中每一个设备的MAC转发表和/或ARP表之前,该方法还包括 所述网络管理设备指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。
3.根据权利要求2所述的方法,其特征在于,所述网络管理设备指示所述根设备触发所述子网中其它设备具体为 所述网络管理设备指示所述根设备向所述子网中其它设备发送Ping命令。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述网络管理设备根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构之后,该方法还包括 若所述子网中存在第二网路拓扑设备,则创建虚拟集线器hub设备,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接; 将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,与所述第二网络拓扑设备相连,并将所述虚拟hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相连。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述网络管理设备确定子网中的根设备具体包括 所述网络管理设备依次向所述子网中的每一设备发送telnet测试; 直至发现与所述网络管理设备telnet连接成功,则将与所述网络管理设备telnet连接成功的设备确定为根设备; 若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备;或 所述网络管理设备确定子网中的根设备具体包括所述网络管理设备将所述子网中的任一设备确定为根设备。
6.根据权利要求1-5任一项所述的方法,其特征在于,在网络管理设备确定子网中的根设备之前,该方法还包括所述网络管理设备确定要进行网络拓扑发现的设备,所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备; 所述网络管理设备根据要进行网络拓扑发现的设备的接口,确定所述要进行网络拓扑发现的子网。
7.根据权利要求1-6任一项所述的方法,其特征在于,该方法还包括 遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路; 其中,所述第一链路为任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的链路,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路; 在所述获取所述子网的网络拓扑结构之前,该方法还包括 根据所述网络管理设备确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路; 所述获取所述子网的网络拓扑结构具体包括 根据确定的所述子网包括的链路,获取所述子网的网络拓扑结构。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述子网中至少包括有以下类型设备中的一种 路由器、交换机、防火墙、服务器、hub和个人计算机。
9.一种网络管理设备,其特征在于,所述设备包括 第一确定单元,用于确定子网中的根设备; 第一获取单兀,用于获取所述子网中每一个设备的MAC转发表和/或ARP表; 第一发现单元,用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现所述子网的第一层网络拓扑设备至第N层网络拓扑设备,N为所述子网的网络拓扑层数,其中第M层网络拓扑设备为其MAC地址和所述根设备的MAC地址,存储在所述子网中第M+1层网络拓扑设备至第N层网络拓扑设备中的同一设备的不同接口的设备,所述M取I至N ; 第二发现单元,用于根据所述子网中每一个设备的MAC转发表和/或ARP表,发现与第M层网络拓扑设备直连的第M-1层网路拓扑设备,所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备为不同接口分别存储有所述根设备的MAC地址和所述第M层网络拓扑设备的MAC地址的设备; 第二获取单元,用于根据确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取所述子网的网络拓扑结构。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括 指示单元,用于指示所述根设备触发所述子网中其它设备,以使得所述子网中的设备更新各自的MAC转发表和/或ARP表。
11.根据权利要求10所述的设备,其特征在于,所述指示单元,具体用于指示所述根设备向所述子网中其它设备发送Ping命令。
12.根据权利要求9-11任一项所述的设备,其特征在于,所述设备还包括创建单元,用于若所述子网中存在第二网路拓扑设备,则创建虚拟集线器hub设备,所述第二网路拓扑设备的同一接口和两个以上的设备的接口存在物理连接; 第二确定单元,用于将所述虚拟hub设备确定为所述第二网络拓扑设备的下一层网络拓扑设备,将所述虚拟Hub设备分别与和所述第二网络拓扑设备的接口存在物理连接的两个以上设备相连。
13.根据权利要求9-12任一项所述的设备,其特征在于,所述第一确定单元具体包括 发送模块,用于依次向所述子网中的每一设备发送telnet测试; 确定模块用于 若发现与所述网络管理设备telnet连接成功的设备,将与所述网络管理设备telnet连接成功的设备确定为根设备; 若所述网络管理设备和所述子网中的所有设备telnet连接不成功,则将所述子网中的任一设备确定为根设备;或 所述第一确定单元,具体用于将所述子网中的任一设备确定为根设备。
14.根据权利要求9-13任一项所述的设备,其特征在于,该设备还包括 第三确定单元,用于确定要进行网络拓扑发现的设备,所述要进行网络拓扑发现的设备为所述网络管理设备管理的至少一个设备; 第四确定单元,用于根据要进行网络拓扑发现的设备的接口,确定所述要进行网络拓扑发现的子网。
15.根据权利要求9-14任一项所述的设备,其特征在于,该设备还包括 第五确定单元,用于遍历所述网络管理设备存储的所有链路,将第一链路、第二链路和第三链路确定为所述要进行网络拓扑发现的子网的链路; 其中,所述第一链路为任一设备的IP地址和掩码计算获得的子网掩码与所述要进行网络拓扑发现的子网一致的链路,所述第二链路为任意两个相连的设备上都有属于同一子网的链路,所述第三链路为任意两个相连的设备,其中一端的设备的IP地址和对端的设备的接口的MAC地址属于同一子网的链路; 更新单元,用于根据所述网络管理设备确定的N层网络拓扑设备及所述与第M层网络拓扑设备直连的第M-1层网路拓扑设备,以及所述确定的第一链路、第二链路和第三链路确定所述子网包括的链路; 第二获取单元,具体用于确定的所述子网包括的链路,获取所述子网的网络拓扑结构。
16.根据权利要求9-15任一项所述的设备,其特征在于,所述子网中至少包括有以下类型设备中的一种 路由器、交换机、防火墙、服务器、hub和个人计算机。
全文摘要
本发明实施例提供了一种网络拓扑发现的方法和网络管理设备,能够实现对不同类型设备混合的网络进行网络拓扑发现。该方法包括网络管理设备确定子网中的根设备;获取子网中每一个设备的MAC转发表和/或ARP表;根据子网中每一个设备的MAC转发表和/或ARP表,发现子网的第一层至第N层网络拓扑设备,以及与第M层网络拓扑设备直连的第M-1层网路拓扑设备;根据确定的N层网络拓扑设备及与第M层网络拓扑设备直连的第M-1层网路拓扑设备,获取子网的网络拓扑结构。本发明涉及计算机网络领域。
文档编号H04L12/24GK103036725SQ20121054646
公开日2013年4月10日 申请日期2012年12月17日 优先权日2012年12月17日
发明者鲍明先 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1