一种网络拓扑建立方法及装置与流程

文档序号:19495466发布日期:2019-12-24 14:52阅读:181来源:国知局
一种网络拓扑建立方法及装置与流程

本发明涉及互联网技术领域,具体涉及一种网络拓扑建立方法及装置。



背景技术:

目前由于云端(如阿里云、腾讯云等)的便携性和实用性,已广泛应用到公司的各个业务中。然而,随着公司业务扩张,用到的云服务器的数量也在不停的增长,由于云服务器增长过快,管理流程的不规范,导致出现很多空置服务器和幽灵服务器,这些云服务器成为黑客攻击的目标,从而造成了极大的安全隐患和资源浪费。



技术实现要素:

本发明的目的是针对上述现有技术的不足提出的一种网络拓扑建立方法及装置,该目的是通过以下技术方案实现的。

本发明的第一方面提出了一种网络拓扑建立方法,所述方法应用于电子设备,所述方法包括:

从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息;

针对每个子网络,从所述云端获取该子网络中每个服务器的访问控制列表,并依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

优选的,所述确定每个子网络包括的服务器信息,包括:从所述云端获取本设备所拥有的服务器信息和每个子网络包括的服务器标识,所述服务器信息至少包括服务器标识;针对每个子网络,从所述服务器信息中查询与该子网络包括的服务器标识相对应的服务器信息,作为该子网络包括的服务器信息。

优选的,所述依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构,包括:为该子网络中的任意两个服务器建立无限制连通关系;针对每个服务器的访问控制列表,依据该访问控制列表查询与该服务器存在规则限制的其他服务器,并修改与所述其他服务器之间的无限制连通关系。

优选的,所述修改与所述其他服务器之间的无限制连通关系,包括:依据该访问控制列表确定与所述其他服务器之间的有限制连通关系;利用所述有限制连通关系修改与所述其他服务器之间的无限制连通关系。

本发明的第二方面提出了一种网络拓扑建立装置,所述装置应用于电子设备,所述装置包括:

获取模块,用于从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息;

建立模块,用于针对每个子网络,从所述云端获取该子网络中每个服务器的访问控制列表,并依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

优选的,所述获取模块,具体用于在确定每个子网络包括的服务器信息过程中,从所述云端获取本设备所拥有的服务器信息和每个子网络包括的服务器标识,所述服务器信息至少包括服务器标识;针对每个子网络,从所述服务器信息中查询与该子网络包括的服务器标识相对应的服务器信息,作为该子网络包括的服务器信息。

优选的,所述建立模块,具体用于依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构过程中,为该子网络中的任意两个服务器建立无限制连通关系;针对每个服务器的访问控制列表,依据该访问控制列表查询与该服务器存在规则限制的其他服务器,并修改与所述其他服务器之间的无限制连通关系。

优选的,所述建立模块,具体用于在修改与所述其他服务器之间的无限制连通关系过程中,依据该访问控制列表确定与所述其他服务器之间的有限制连通关系;利用所述有限制连通关系修改与所述其他服务器之间的无限制连通关系。

在本申请实施例中,通过从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息,然后针对每个子网络,再从云端获取该子网络中每个服务器的访问控制列表,并依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

基于上述描述可知,由于云端会实时监控各服务器的使用情况,因此从云端获取的数据,可以确保其准确性和及时性。又由于从云端获取数据不受服务器运行情况影响,因此可以无入侵式的获取数据,可以实现0流量建立网络拓扑结构。另外,依据服务器的访问控制列表建立的网络拓扑还可以向用户提供服务器之间的连通情况,进而发现服务器空置情况。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1a为本发明根据一示例性实施例示出的一种网络拓扑建立方法的实施例流程图;

图1b为本发明根据图1a所示实施例示出的一种云端架构示意图;

图1c为本发明根据图1a所示实施例示出的一种拓扑结构建立过程示意图;

图2为本申请根据一示例性实施例示出的一种电子设备的硬件结构图;

图3为本发明根据一示例性实施例示出的一种网络拓扑建立装置的实施例流程图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

目前针对空置服务器和幽灵服务器造成的资源浪费和安全隐患问题,有以下三种处理方法:

第一种为资产盘点:定期对服务器资产进行盘点,以了解公司内部服务器的分布和使用情况。但需要整个公司的业务部分、运维部门、安全部门共同推荐,比较耗费人力和物力。

第二种为运维监控:通过将每个新部署的服务器实时加到运维监控服务里,以实现对运维资产实时掌握。但这种方式无法了解各个服务器间的关系。

基于此,本发明提出一种网络拓扑建立方法,通过从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息,然后针对每个子网络,再从云端获取该子网络中每个服务器的访问控制列表,并依据获取访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

基于上述描述可知,由于云端会实时监控各服务器的使用情况,因此从云端获取的数据,可以确保其准确性和及时性。又由于从云端获取数据不受服务器运行情况影响,因此可以无入侵式的获取数据,可以实现0流量建立网络拓扑结构。另外,依据服务器的访问控制列表建立的网络拓扑还可以向用户提供服务器之间的连通情况,进而发现服务器空置情况。

下面以具体实施例对本发明提出的网络拓扑建立方法进行详细阐述。

图1a为本发明根据一示例性实施例示出的一种网络拓扑建立方法的实施例流程图,所述网络拓扑建立方法可以应用于电子设备,该电子设备可以是任意具有网络功能的终端设备。

如图1a所示,所述网络拓扑建立方法包括如下步骤:

步骤101:从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息。

在一实施例中,电子设备可以通过调用云端提供的api(applicationprogramminginterface,应用程序编程接口),获取本设备所拥有的子网络。

其中,本设备所拥有的子网络指的是电子设备有权限操作的子网络。

如图1b所示的云端架构,云端可以是阿里云、腾讯云等,通过使用云端可以简化服务器和网络的运维和维护工作;api是一种接口工具,通过该api,用户可以获取到云端上创建的资源,并对资源进行增、删、改、查等操作,因此通过调用api,可以获取到本设备所拥有的子网络;云端架构中的每个子网络下可以包括多个服务器,这些服务器形成一个内网,在默认情况下,内网中各个服务器之间可以互相访问,也就是说,在未设置访问控制列表时,内网中的各个服务器的所有端口对内网中的其他服务器均开放,如果一个服务器被攻陷,那么内网中的所有服务器极大可能沦陷。

在一实施例中,针对确定每个子网络包括的服务器信息的过程,可以通过从云端获取本设备所拥有的服务器信息和每个子网络包括的服务器标识,并针对每个子网络,从服务器信息中查询与该子网络包括的服务器标识相对应的服务器信息,作为该子网络包括的服务器信息。

其中,由于从云端只能获取到电子设备拥有的所有服务器信息,以及每个子网络下包括的服务器标识,为了获得每个子网络下服务器的详细信息,需要利用子网络下的服务器标识从所有服务器信息中筛选相对应的服务器信息,从而后续再利用子网络包括的服务器信息建立的网络拓扑,用户通过拓扑结构即可了解到每个服务器的详细信息,无需进一步查询。

示例性的,电子设备可以通过将获取到的服务器信息存入关系数据库中,以便于后续通过关系式快速查找服务器信息。另外,电子设备也可以通过调用云端提供的api,获取每个子网络包括的服务器标识并存入关系数据库。

其中,服务器信息包括服务器标识和服务器详细描述信息,该服务器详细描述信息可以包括服务器的内网ip(internetprotocol,网际协议)、外网ip、机器名等信息。

在一实施例中,在确定出每个子网络包括的服务器信息之后,可以为每个子网络建立一个基于子网络的树形结构并存入图形数据库中,以便于用户查看。

步骤102:针对每个子网络,从云端获取该子网络中每个服务器的访问控制列表,并依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

再如图1b所示,云端架构中的每个服务器上可以设置访问控制列表,该访问控制列表可以用于控制云端的网络流量进出,类似于防火墙,通过访问控制列表中的规则可以了解到云端的网络端口连通情况,因此,可以通过调用云端提供的api,获取子网络中每个服务器的访问控制列表。

在一实施例中,由于每个子网络属于一个内网,不同内网中的服务器之间无任何连通关系,因此电子设备可以通过遍历的方式,为每个子网络建立网络拓扑。

在一实施例中,针对依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构的过程,通过向为该子网络中的任意两个服务器建立无限制连通关系,然后针对每个服务器的访问控制列表,依据该访问控制列表查询与该服务器存在规则限制的其他服务器,并修改与其他服务器之间的无限制连通关系。

其中,无限制连通关系指的是两服务器之间实现互访,无任何限制条件。而如果有的服务器上设置有访问控制列表,则需要依据服务器上的访问控制列表修改与该服务器存在规则限制的其他服务器之间的连通关系。

在一实施例中,针对修改与其他服务器之间的无限制连通关系的过程,可以依据该访问控制列表确定与其他服务器之间的有限制连通关系,并利用该有限制连通关系修改与其他服务器之间的无限制连通关系。

其中,有限制连通关系指的是只能通过访问控制列表规定的方式实现访问其他服务器或被其他服务器访问。

需要说明的是,每个子网络的拓扑结构建立完成之后,可以将每个子网络的拓扑结构存入图形数据库,以便于用户查看。

在一示例性场景中,如图1c所示,子网络包括三个服务器a、b、c,初始时为任意两个服务器建立的是无限制连通关系,初始网络拓扑如(a)所示;假设服务器a和服务器c上未设置访问控制列表,服务器b上设置有访问控制列表,访问控制列表中的规则为a只能访问b的22端口,且b只能访问a的23端口,由该访问控制列表可以确定与服务器b存在规则限制的其他服务器为服务器a,且服务器b与服务器b之间双向均为有限制连通关系,需要删除服务器a与服务器b之间无限制连通关系,并建立有限制连通关系,即a→b为a只能访问b的22端口,a←b为b只能访问a的23端口,得到修改后的网络拓扑如(b)所示。

在本申请实施例中,通过从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息,然后针对每个子网络,再从云端获取该子网络中每个服务器的访问控制列表,并依据获取访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

基于上述描述可知,由于云端会实时监控各服务器的使用情况,因此从云端获取的数据,可以确保其准确性和及时性。又由于从云端获取数据不受服务器运行情况影响,因此可以无入侵式的获取数据,可以实现0流量建立网络拓扑结构。另外,依据服务器的访问控制列表建立的网络拓扑还可以向用户提供服务器之间的连通情况,进而发现服务器空置情况。

图2为本申请根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口201、处理器202、机器可读存储介质203和总线204;其中,通信接口201、处理器202和机器可读存储介质203通过总线204完成相互间的通信。处理器202通过读取并执行机器可读存储介质203中与网络拓扑建立方法的控制逻辑对应的机器可执行指令,可执行上文描述的网络拓扑建立方法,该方法的具体内容参见上述实施例,此处不再累述。

本申请中提到的机器可读存储介质203可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质203可以是ram(radomaccessmemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

图3为本发明根据一示例性实施例示出的一种网络拓扑建立装置的实施例流程图,所述网络拓扑建立装置可以应用于电子设备,如图3所示,所述网络拓扑建立装置包括:

获取模块310,用于从云端获取本设备所拥有的子网络,并确定每个子网络包括的服务器信息;

建立模块320,用于针对每个子网络,从所述云端获取该子网络中每个服务器的访问控制列表,并依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构。

在一可选实现方式中,所述获取模块310,具体用于在确定每个子网络包括的服务器信息过程中,从所述云端获取本设备所拥有的服务器信息和每个子网络包括的服务器标识,所述服务器信息至少包括服务器标识;针对每个子网络,从所述服务器信息中查询与该子网络包括的服务器标识相对应的服务器信息,作为该子网络包括的服务器信息。

在一可选实现方式中,所述建立模块320,具体用于依据获取的访问控制列表和该子网络包括的服务器信息建立该子网络的拓扑结构过程中,为该子网络中的任意两个服务器建立无限制连通关系;针对每个服务器的访问控制列表,依据该访问控制列表查询与该服务器存在规则限制的其他服务器,并修改与所述其他服务器之间的无限制连通关系。

在一可选实现方式中,所述建立模块320,具体用于在修改与所述其他服务器之间的无限制连通关系过程中,依据该访问控制列表确定与所述其他服务器之间的有限制连通关系;利用所述有限制连通关系修改与所述其他服务器之间的无限制连通关系。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1