一种网络设备管理方法及装置与流程

文档序号:15232813发布日期:2018-08-21 19:51阅读:137来源:国知局

本申请涉及网络技术领域,尤其涉及一种网络设备管理方法及装置。



背景技术:

网络资源包括网络中的各种设备资源,比如交换机、路由器、服务器、存储等,为了对网络资源进行合理协调利用,需要通过网络管理系统,也即网管软件来管理网络资源。

随着网络资源数量的增大,对网络管理系统的要求也越来越高。通过集群将网络管理系统部署在多台服务器上,每台服务器管理一部分网络资源,这样网络管理系统就可以管理更多的网络资源。网络管理系统通常包括多种组件,每种组件部署在服务器集群中的多台服务器上,对于这多台服务器,如何分配网络资源,会影响组件的工作效率。相关技术中主要采用随机分配的方式进行网络资源的管理分配。

在网络管理系统的多种组件中,拓扑组件的主要工作是进行链路计算,也即计算网络资源之间的连接关系。当在集群中多台服务器上部署好拓扑组件进程后,每个拓扑组件进程在进行链路计算时,通常需要与其它拓扑组件进程进行通信才能计算出链路信息。在链路计算过程中,拓扑组件进程之间的通信越多,计算效率就越低。



技术实现要素:

本申请实施例提供网络设备管理方法及装置,用以提高拓扑组件进程进行链路计算的效率。

第一方面,提供一种网络设备管理方法,应用于网络管理系统,该方法包括:

针对一网关,获取该网关保存的地址解析协议arp信息;

基于所述arp信息,确定所述网关所服务的网络设备信息;

为所述网关和所述网关所服务的网络设备分配同一拓扑组件进程,其中,所述拓扑组件进程用于计算该拓扑组件进程所管理的网络设备之间的链路信息。

第二方面,提供一种网络设备管理装置,包括:

处理器,和

存储有机器可执行指令的机器可读存储介质;

其中,所述处理器与所述机器可读存储介质通信,通过读取并执行所述机器可执行指令,所述处理器被使得:

针对一网关,获取该网关保存的地址解析协议arp信息;

基于所述arp信息,确定所述网关所服务的网络设备信息;

为所述网关和所述网关所服务的网络设备分配同一拓扑组件进程,其中,所述拓扑组件进程用于计算该拓扑组件进程所管理的网络设备之间的链路信息。

本申请实施例将同一网关所服务的网络设备及该网关分配给同一拓扑组件进程进行管理。由于具有链路连接关系的网络设备一般是同一网关服务下的网络设备,这样就可以为具有链路连接关系的网络设备分配同一个拓扑组件进程,该拓扑组件进程在计算网络设备之间的链路时,不需要向其它的网络设备请求链路信息,也即不需要与其它拓扑组件进程之间进行交互,从而提高了链路计算效率。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要的附图做简单的介绍。显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的网络设备管理方法;

图2为网络管理系统基于简单网络管理协议snmp获取各网络设备接口信息的示意图;

图3为本申请实施例一种可选实施方式提供的网络设备管理方法;

图4进行区域划分的示意图;

图5为本申请实施例提供的网络设备管理装置示意图。

具体实施方式

本申请实施例的基本思想是:为了减少拓扑组件进程之间的通信,提高链路计算效率,将可能具有链路连接关系的网络设备分配给同一拓扑组件进程进行管理。一般地,不同网关所服务的网络设备之间需要通过各自的网关相互通信,同一网关所服务的网络设备之间可能会具有链路连接关系,可以直接通信。本申请实施例将同一网关所服务的网络设备及该网关分配给同一拓扑组件进程进行管理,也即为具有链路连接关系的网络设备分配同一个拓扑组件进程,该拓扑组件进程在计算网络设备之间的链路连接关系时,不需要与其它拓扑组件进程之间进行交互,从而提高了链路计算效率。

下面通过具体的实施例对本申请思想作进一步说明。

如图1所示,为本申请实施例提供的网络设备管理方法,执行该网络设备管理方法的可以为网络管理系统,具体地,可以由网络管理系统内独立的进程执行,也可以由网络管理系统中的任一拓扑组件进程执行,或者由各个拓扑组件进程中的主进程执行,这里的主进程可以是按照预设的选举规则自动选举出的,比如选举出节点标识(identity,id)最小的拓扑组件进程作为主进程。

本实施例提供的网络设备管理方法包括以下步骤:

s101:针对一网关,获取该网关保存的arp信息。

在具体实施中,在获取网关的arp信息之前,网络管理系统可能已经存储有哪些网络设备是网关的信息,若网络管理系统中不存在网关的信息,则网络管理系统可以先确定哪些网络设备为网关。

一种可选的实施方式中,针对网络管理系统管理的每个网络设备,如图2所示,网络管理系统基于简单网络管理协议(simplenetworkmanagementprotocol,snmp),向网络设备请求该网络设备的管理信息库(managementinformationbase,mib)中的信息,其中mib中包含该网络设备的接口信息。网络管理系统若根据获取的接口信息,确定该网络设备的多个接口的ip地址不同,则确定该网络设备为网关,并基于snmp获取该网关保存的arp信息。

s102:基于所述arp信息,确定所述网关所服务的网络设备信息。

这里,通过网关保存的地址解析协议(addressresolutionprotocol,arp)信息来确认网关所服务的网络设备。在具体实施中,作为源节点的网络设备会通过发起arp请求来获取目的节点的媒体接入控制(mediaaccesscontrol,mac)地址,arp请求中携带了源节点的ip地址和mac地址,以及目的节点的ip地址,网关在接收到源节点发起的arp请求后,保存并维护与上述源节点相关的arp表项,其中包括源节点的ip地址和mac地址。因此,网关内保存的arp信息反映了该网关所服务的网络设备的信息,可选的,可以将网关所服务的网络设备的ip地址作为后续分配拓扑组件进程的依据。

s103:为所述网关和所述网关所服务的网络设备分配同一拓扑组件进程,其中,所述拓扑组件进程用于计算设备之间的链路连接关系。

在实际实施中,网络管理系统可以为多个网络设备集中进行拓扑组件进程的分配,也可以每新增一个待管理的网络设备,则为该网络设备确定管理该网络设备的拓扑组件进程。

在一种实施方式中:若是为多个网络设备统一进行拓扑组件进程的分配,则从这多个网络设备中查找出网关,为每个网关和该网关所服务的网络设备分配同一拓扑组件进程。

在另一种实施方式中:若网络管理系统确定该网络管理系统内新增了网络设备,则首先判断新增的网络设备是否为网关,若确定出新增的网络设备中存在网关,则网络管理系统获取该网关的arp信息,并查找已分配拓扑组件进程的网络设备(一开始,没有对应网关的网络设备可以先单独被分配一个临时拓扑组件进程)中,是否存在该网关所服务的网络设备,若不存在该网关所服务的网络设备,则为该网关分配一个拓扑组件进程,若存在该网关所服务的网络设备,则为该网关和该网关所服务的网络设备分配同一个拓扑组件进程。若判断出该新增的网络设备不是网关,则判断该网络设备是否是已分配拓扑组件进程的网关所服务的网络设备,若该网络设备是已分配拓扑组件进程的网关所服务的网络设备,则将该网络设备分配给所对应网关的拓扑组件进程进行管理,若不是已分配拓扑组件进程的网关所服务的网络设备,则为该网络设备分配临时拓扑组件进程。

需要说明的是,网关的arp信息可能会发生更新,比如若网络中增加或删除了某些网络设备,网关的arp信息也会相应发生变化。在网关的arp信息发生更新后,可以基于更新后的arp信息重新进行后续的拓扑组件进程的分配。

为了便于对本申请实施例的思想作进一步说明,下面引入区域划分的概念,本申请实施例可以理解为是将网关和该网关保存的arp信息所指示的网络设备划分到一个区域中,并为这一个区域分配同一个拓扑组件进程进行管理,这里的区域并非地理区域,可以理解为集合,也即将网关的ip地址和该网关保存的arp信息中的ip地址划分到一个集合中。在实际实施中,这里的区域划分可以是一个实际的操作,比如分配一个专门的区域id,也可以是一个隐式操作,比如,将网关ip地址默认为所属区域的区域id。以下会进行详细说明。

需要说明的是,这里,同一区域中的设备由一个拓扑组件进程进行管理,但一个拓扑组件进程可以管理一个或多个区域,也即拓扑组件进程与区域之间是一对一,或一对多的关系,只要保证同一区域内的设备不会分配给不同的拓扑组件进程管理即可。

在具体实施中,网络管理系统为所述网关和所述网关所服务的网络设备分配同一拓扑组件进程,也即建立该拓扑组件进程所管理的各个网络设备的ip地址(网关的ip地址及该网关保存的arp信息中的ip地址)和该拓扑组件进程的进程标识(identity,id)之间的映射关系。根据上面的描述,可选的,该映射关系中还可以加入一个专门的区域id。

在一种可选的实施方式中,在建立网关的ip地址、网关保存的arp信息中的ip地址、与拓扑组件进程的进程标识id之间的映射关系后,可以将该映射关系保存在共享存储中,以便每个拓扑组件进程在该共享存储中查找自身负责管理的各个网络设备的ip地址。这里的共享存储是指各个拓扑组件进程共享的存储,该共享存储可以是预设的存储设备,或者某存储设备中预设的一块存储空间,在一种实施方式中,该共享存储可以为分布式应用程序协调服务(zookeeper)服务器。

具体地,可以将上述映射关系保存在zookeeper服务器中,并向各个拓扑组件进程发送管理通知消息,用于通知每个拓扑组件进程通过在zookeeper服务器中查找与该拓扑组件进程的进程id对应的网络设备信息,并使得拓扑组件进程针对该网络设备信息进行网络设备管理,也即进行网络设备之间的链路计算。该管理通知消息可以是一个预设的消息(比如就用一个固定的符号),拓扑组件进程在识别出该预设的消息后,就会根据预先保存的存储位置信息(比如,创建拓扑组件进程时,在zookeeper服务器中设置的该拓扑组件进程的进程id所对应的位置)去zookeeper服务器中查找与该拓扑组件进程的进程id对应的网络设备信息;另外,该管理通知消息也可以是一个存储位置信息,其中指示了该拓扑组件进程的进程id对应的网络设备信息在zookeeper服务器中的存储位置。总之,本申请实施例中不对管理通知消息的具体消息内容做限定。

这里,每个拓扑组件进程启动后可以在zookeeper服务器中设置与该拓扑组件进程对应的进程id。基于上面介绍的方法确定每个网络设备所在的区域,将区域id和该区域内各网络设备的ip地址添加在对应的进程id下。这里的区域id可以是任何能够区分出不同区域的标识,比如可以是独立于进程id和网络设备标识(比如ip地址)之外的id,也可以采用区域内网关的ip地址来表示,不用额外设置id。网络管理系统为拓扑组件进程分配好管理的区域后,向该拓扑组件进程发送管理通知消息,以便该拓扑组件进程通过在zookeeper服务器中查找与该拓扑组件进程的进程id对应的网络设备的ip地址,对相应的网络设备进行管理。

由于不同网关之间是具有链路连接关系的,为进一步提高链路的计算效率。因此,可选的,本申请实施例中,作为上述步骤的补充,还可以将各个网关划分到同一区域中,如图3所示,还包括以下步骤:

s104:为管理的各个不同的网关分配同一拓扑组件进程。

这里,s104和s103中分配的拓扑组件进程可以是同一个,也可以是不同的。比如,针对一网关,为该网关和其服务的网络设备分配一个拓扑组件进程,再为该网关和其它网关分配一个拓扑组件进程,这两个拓扑组件进程可以相同也可以不同,只要保证不同的网关之间有相同的拓扑组件进程,一个网关和其服务的网络设备之间有相同的拓扑组件进程即可。

引用上述区域划分的概念,网络管理系统可以将管理的各个网关划分到同一区域,以下简称网关区域。在具体实施中,可以为上述网关区域分配一个单独的拓扑组件进程,或者,由管理其它区域的拓扑组件进程同时管理上述网关区域。具体地,可以建立上述网关区域id、该网关区域内各网络设备的ip地址、以及分配给该网关区域的拓扑组件进程的进程id之间的映射关系。这里,如果网关区域id采用独立于进程id和网关ip地址之外的id,则网关区域id可以是在划分区域时顺次获取的一个区域id,如果网关区域id采用区域内的网关ip地址来表示,则可以将网关区域内的各个网关的网关ip地址进行合并,来标识该网关区域,比如,网关区域内网关1的ip地址为192.168.1.1,网关2的ip地址为192.168.1.150,则网关区域的区域id可以表示为192.168.1.1.192.168.1.150。总之,这里不对区域id的生成规则进行限制。同理,可以采用zookeeper服务器保存上述网关区域的区域id、网关ip地址和拓扑组件进程的进程id之间的映射关系,并向该拓扑组件进程发送管理通知消息,以便该拓扑组件进程通过在zookeeper服务器中查找与该拓扑组件进程的进程id对应的网关的ip地址,对相应的网关进行管理。

如图4所示,区域1~3为基于s101~s103进行区域划分的结果,区域4为基于s104划分出的网关区域。

可选的,在一种实施方式中,上述网络设备管理方法还可以包括:

s105:向管理的每个网络设备下发测试指令;其中,所述测试指令中携带有无效的目的ip地址。

s106:网络设备在接收到上述测试指令后,生成arp广播报文,其中携带有所述无效的目的ip地址、该网络设备的ip地址和mac地址,发送该arp广播报文,以便该网络设备的网关在接收到该arp广播报文后,更新存储的arp信息中与该网络设备关联的arp表项(其中包含该网络设备的ip地址和mac地址)的老化计时时间。

这里,为了防止网关的arp信息老化,影响网络设备管理,可以向管理的每个网络设备下发网际控制信息协议(internetcontrolmessageprotocol,icmp)测试指令,以触发arp信息更新。具体地,向任一网络设备下发的icmp测试指令中携带有至少一个无效的目的ip地址,该无效的目的ip地址与该任一网络设备的ip地址属于同一网段。每个网络设备在接收到该icmp测试指令后,通过广播的方式发送携带有上述无效的目的ip地址的arp广播报文,由于目的ip地址本身是无效的,因此该网络设备不会收到arp应答报文,但是,该网络设备的网关在接收到该arp广播报文后,会更新存储的arp信息中与该网络设备关联的arp表项的老化计时时间,这样就可以避免该arp表项的老化,方便对该网络设备进行区域划分。其中,arp信息一般会有老化周期,例如,每隔20分钟老化一次arp信息,即老化周期则为20分钟,老化计时时间则是距离上一次arp老化的时间,举例来说,若距离上一次arp信息老化已经有4分钟,即此时老化计时时间为4分钟,此时网关更新了存储的arp信息,则老化计时时间从0开始重新计时。

在具体实施中,网络管理系统在检测到之前下发的icmp测试指令中有无效的ip地址变为有效ip地址后,会重新配置无效的ip地址并通过icmp测试指令下发,以防止有些原本没有被使用的ip地址(也即无效的ip地址)后来被占用(也即变为有效的ip地址)。

另外,网络设备在接收到icmp测试指令后,可以周期性发送基于该icmp测试指令生成的arp广播报文,比如,网关的arp信息中各arp表项的老化周期为20分钟,为了防止arp信息老化,配置循环测试时间间隔为19分钟,也即,网络设备在接收到最新的icmp测试指令后,周期性发送arp广播报文,以触发网关更新arp信息中与该网络设备关联的arp表项的老化计时时间。其中,网络设备向网关周期性发送arp广播报文的周期小于网关的arp信息的老化周期。

采用本申请实施例的方案,可以为具有链路连接关系的网络设备分配同一个拓扑组件进程,该拓扑组件进程在计算网络设备之间的链路连接关系时,不需要向其它的网络设备请求链路信息,也即不需要与其它拓扑组件进程之间进行交互,从而提高了链路计算效率。

基于同一发明沟通,本申请实施例还提供了与上述网络设备管理方法对应的网络设备管理装置,由于该装置解决问题的原理与上述网络设备管理方法类似,关于该装置的具体实施可参见上述方法的说明。

如图5所示,为本申请实施例提供的一种网络设备管理装置示意图。该装置包括:处理器51,和存储有机器可执行指令的机器可读存储介质52;处理器51与机器可读存储介质52通信,通过读取并执行机器可读存储介质52中的机器可读指令,处理器51被使得:

针对一网关,获取该网关保存的地址解析协议arp信息;

基于所述arp信息,确定所述网关所服务的网络设备信息;

为所述网关和所述网关所服务的网络设备分配同一拓扑组件进程,其中,所述拓扑组件进程用于计算该拓扑组件进程所管理的网络设备之间的链路信息。

可选地,所述机器可执行指令还使得所述处理器:

为所述网络管理系统管理的各个不同的网关分配同一拓扑组件进程。

可选地,所述机器可执行指令还使得所述处理器:

向所述网络管理系统管理的每个网络设备下发测试指令;

其中,所述测试指令中携带有无效的目的ip地址,用于触发每个网络设备发送携带有所述无效的目的ip地址的arp广播报文,以便该网络设备的网关在接收到该arp广播报文后,更新存储的arp信息中与该网络设备关联的arp表项的老化计时时间。

可选地,为所述网关和所述网关所服务的网络设备所指示的网络设备分配同一拓扑组件进程时,所述机器可执行指令使得所述处理器:

建立所述网关的ip地址、所述arp信息中的ip地址、与所述拓扑组件进程的进程标识id之间的映射关系,并将该映射关系保存在共享存储中,以便每个拓扑组件进程在所述共享存储中查找管理的各个网络设备的ip地址。

可选地,获取网关保存的arp信息之前,所述机器可执行指令还使得所述处理器:

针对所述网络管理系统管理的每个网络设备,获取该网络设备的接口信息;

若根据获取的接口信息,确定该网络设备的多个接口的ip地址不同,则确定该网络设备为网关。

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

本申请实施例还提供了对应上述网络设备管理方法以及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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