CN112311607B - Cli配置验证方法、装置、控制器及可读存储介质 - Google Patents

Cli配置验证方法、装置、控制器及可读存储介质 Download PDF

Info

Publication number
CN112311607B
CN112311607B CN202011306667.6A CN202011306667A CN112311607B CN 112311607 B CN112311607 B CN 112311607B CN 202011306667 A CN202011306667 A CN 202011306667A CN 112311607 B CN112311607 B CN 112311607B
Authority
CN
China
Prior art keywords
configuration
cli
pseudo
network
cli configuration
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
CN202011306667.6A
Other languages
English (en)
Other versions
CN112311607A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN202011306667.6A priority Critical patent/CN112311607B/zh
Publication of CN112311607A publication Critical patent/CN112311607A/zh
Application granted granted Critical
Publication of CN112311607B publication Critical patent/CN112311607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

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

Abstract

本申请提供一种CLI配置验证方法、装置、控制器及可读存储介质,方法包括:向网络设备发送网络配置,在收到网络设备针对该网络配置已生成CLI配置的回应消息时,依据预先获取到的转换关系自主产生相应的伪CLI配置。进而在需要进行CLI配置验证时,获取该网络设备所有的CLI配置,并将控制器中与该网络设备对应的伪CLI配置逐行与该网络设备的CLI配置进行比对验证,从而在任一行伪CLI配置在所述网络设备的CLI配置中不存在时(此时即表明该行伪CLI配置对应的CLI配置在网络设备中丢失),重新向网络设备下发该行伪CLI配置所对应的网络配置,实现对于网络设备中配置的修复,保证网络功能的正常。

Description

CLI配置验证方法、装置、控制器及可读存储介质
技术领域
本申请涉及通信技术领域,具体而言,涉及一种命令行界面配置验证方法、装置、控制器及可读存储介质。
背景技术
SD-WAN(软件定义广域网)是将SDN(Software Defined Network,软件定义网络)技术应用到广域网场景中所形成的一种服务,目前已成功在多个行业和领域场景,得到了广泛应用。
Overlay(叠加)网络是SD-WAN网络中关键特性。通过业务网络模块可以实现Overlay隧道建立、网络流量采集、智能调度,QoS(Quality of Service,服务质量)策略处理。叠加网络会根据底层网络类型的差异,生成不同的业务网络配置并下发到网络设备上。
与传统的网络配置不同,业务网络配置是一种抽象的、用户容易理解的网络配置。而网络设备需要的配置仍然是各种网络模块的配置,例如OSPF(Open Shortest PathFirst,开放式最短路径优先)模块、ACL(Access Control List,访问控制列表)模块的配置等。这些网络模块的网络配置的组合实现了业务网络配置。从业务网络配置到网络模块的网络配置有一个转换过程。这个转换的过程是用户不可见的、不可控的。同时控制器经过南向协议(如NETCONF(NetworkConfiguration Protocol,网络配置协议)、SNMP(SimpleNetwork Management Protocol,简单网络管理协议)等)将装换后的配置发送到设备,在设备上直接可见的配置为CLI(Command Line Interface,命令行界面)配置。但是,如果出现用户直接通过CLI修改了自动下发的配置的情况,将会导致网络功能失常,需要及时发现并自动进行修复。
发明内容
本申请实施例的目的在于提供一种CLI配置验证方法、装置、控制器及可读存储介质,用以实现对于网络设备的配置有效性的检测。
本申请实施例提供了一种网络设备的CLI配置验证方法,包括:向网络设备发送网络配置;在接收到所述网络设备针对所述网络配置已生成CLI配置的回应消息时,根据预先获取到的所述网络设备的转换关系,生成所述网络配置对应的伪CLI配置;在预设触发条件被触发时,获取所述网络设备所有的CLI配置,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行验证,根据验证结果确定是否重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
在上述实现过程中,通过预先获取到网络模块的转换关系,从而在向网络设备发送网络配置,并收到网络设备针对该网络配置已生成CLI配置的回应消息时,依据该转换关系自主产生相应的伪CLI配置。进而在需要进行CLI配置验证时,可以获取该网络设备所有的CLI配置,并将控制器中与该网络设备对应的伪CLI配置逐行与该网络设备的CLI配置进行比对验证,从而在网络设备中出现某一CLI配置丢失或被用户擅自更改的情况时(此时对应的伪CLI配置在网络设备的CLI配置中会不存在),可以快速确定出对应需修复的CLI配置,从而快速地重新下发相应的网络配置给网络设备,实现对于网络设备中配置的修复,保证网络功能的正常。
进一步地,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,包括:逐行计算各伪CLI配置相对于所述网络设备的CLI配置的可信度;在任一行伪CLI配置对应的可信度小于等于预设可信度阈值时,确定该行伪CLI配置在所述网络设备的CLI配置不存在,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
应理解的是,在实际应用过程中,网络设备在根据网络配置生成CLI配置时,往往除了会转化得到必要的配置参数外,还可能会添加一些可选参数,从而导致控制器根据相同网络配置转换得到的伪CLI配置,和网络设备中生成的CLI配置并不完全一致,但此时该伪CLI配置实质与添加有可选参数的CLI配置是属于相同的配置。为此,在本申请实施例中通过计算各行伪CLI配置相对于所述网络设备的CLI配置的可信度,从而通过各行伪CLI配置的可信度实现对于伪CLI配置是否在存在于网络设备的CLI配置中的确定,方案实现简单,可信度高。
进一步地,针对每一行伪CLI配置,计算该行伪CLI配置相对于所述网络设备的CLI配置的可信度,包括:将该行伪CLI配置在所述网络设备的所有CLI配置中进行查找;
在查找到与该行伪CLI配置完全一致的CLI配置时,确认该行伪CLI配置对应的可信度为100%;
在查找到与该行伪CLI配置部分一致的CLI配置时,根据该行伪CLI配置与所述部分一致的CLI配置之间的相同部分占所述部分一致的CLI配置的比例,确定该行伪CLI配置对应的可信度值。
进一步地,所述与该行伪CLI配置部分一致的CLI配置为:除包含该行伪CLI配置的所有内容外,还具有其它内容的CLI配置。
在实际应用过程中,通常控制器仅会根据网络模块的转换关系,将网络配置转化得到必要的配置参数,而不会向伪CLI配置中添加可选参数。在上述实现过程中,定义除包含伪CLI配置的所有内容外,还具有其它内容的CLI配置,才为与该伪CLI配置部分一致的CLI配置,从而可以提高对于伪CLI配置的查找门槛,从而提高对于网络设备中配置修复的敏感性,保证网络功能的正常。
进一步地,在查找到与该行伪CLI配置部分一致的CLI配置时,根据该行伪CLI配置与所述部分一致的CLI配置之间的相同部分占所述部分一致的CLI配置的比例,确定该行伪CLI配置对应的可信度值,包括:在未查找到与该行伪CLI配置完全一致的CLI配置,但查找到多个与该行伪CLI配置部分一致的CLI配置时,确定根据所述相同部分占所述部分一致的CLI配置的比例最高的CLI配置,所确定的可信度为该行伪CLI配置对应的可信度。
应理解,在实际应用过程中,若控制器在转化得到伪CLI配置时,向伪CLI配置中添加了某些可选参数,但是网络设备中又没有添加可选参数或添加了不同的可选参数,那么该伪CLI配置在网络设备中对应的CLI配置,就会仅与该伪CLI配置的部分内容一致。而此情况下,除了存在该伪CLI配置对应的CLI配置是与该伪CLI配置部分一致的以外,还可能存在有其余的CLI配置也与该伪CLI配置部分一致。但是,通常这类不与该伪CLI配置对应的CLI配置,其由于实现的是其余的业务功能,因此相较于与该伪CLI配置对应的CLI配置而言,与该伪CLI配置的相同部分所占的比例会低很多。因此,通过确定根据相同部分占部分一致的CLI配置的比例最高的CLI配置,所确定的可信度为该行伪CLI配置对应的可信度,在大多数情况下能够准确反映出该行伪CLI配置在网络设备中是否存在(在不存在时,由于用于确定可信度的CLI配置也不是该行伪CLI配置实际对应的CLI配置,因此其确定出的可信度通常会较低,从而会小于等于预设可信度阈值)。
进一步地,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,包括:逐行检测各伪CLI配置在所述网络设备的所有CLI配置中,是否存在完整包含所述伪CLI配置的全部内容的CLI配置;若针对任一行伪CLI配置,在所述网络设备的所有CLI配置中,不存在完整包含该行伪CLI配置的全部内容的CLI配置,则确定该行伪CLI配置在所述网络设备的CLI配置中不存在。
在实际应用过程中,可以配置控制器仅根据网络模块的转换关系,将网络配置转化得到必要的配置参数,而不向伪CLI配置中添加可选参数。这样,即可通过检查各行伪CLI配置,确定在网络设备的所有CLI配置中,是否存在完整包含该行伪CLI配置的全部内容的CLI配置,从而区分出伪CLI配置在网络设备的CLI配置中,是否存在对应的CLI配置。
进一步地,所述方法还包括:获取所述网络设备的配置模型;从所述配置模型中提取出所述转换关系。
在本申请实施例中,网络设备可以通过配置模型,定义网络配置到CLI配置的转换关系。而控制器可以通过预先获取配置模型,从而从中提取的方式预先获取到转换关系,从而保证本申请方案的正常执行。
进一步地,从所述配置模型中提取出所述转换关系,包括:识别所述配置模型中的关键字段;在识别到表征所述转换关系的目标关键字段时,提取所述目标关键字段所对应的模型内容;所述目标关键字段所对应的模型内容包含所述转换关系。
在本申请实施例中,根据关键字段识别的方式,可以有效从配置模型中定位出转换关系,从而可以实现对于转换关系的有效提取。
进一步地,所述方法还包括:在提取出所述转换关系后,关联保存转换关系与所述网络设备的唯一标识,或将所述转换关系保存在与所述网络设备对应的区域。
在本申请实施例中,通过将提取出的转换关系与网络设备的唯一标识关联保存,或将提取出的转换关系在与网络设备对应的区域,这样就可以使得在需要针对某一网络设备进行CLI配置验证时,可以基于该网络设备的唯一标识或者对应区域,实现对于该网络设备的转换关系快速获取,保证了方案的可靠性。
本申请实施例还提供了一种网络设备的CLI配置验证装置,包括:发送模块、生成模块和校验模块;所述发送模块,用于向网络设备发送网络配置;所述生成模块,用于在接收到所述网络设备针对所述网络配置已生成CLI配置的回应消息时,根据预先获取到的所述网络设备的转换关系,生成所述网络配置对应的伪CLI配置;所述校验模块,用于在预设触发条件被触发时,获取所述网络设备所有的CLI配置,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,并在任一行伪CLI配置在所述网络设备的CLI配置中不存在时,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
进一步地,所述校验模块具体用于,逐行计算各伪CLI配置相对于所述网络设备的CLI配置的可信度;在任一行伪CLI配置对应的可信度小于等于预设可信度阈值时,确定该行伪CLI配置对应的所述网络设备的CLI配置存在,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
通过上述实现过程,可以在网络设备中出现某一CLI配置丢失或被用户擅自更改的情况时,快速确定出对应需修复的CLI配置,从而快速地重新下发相应的网络配置给网络设备,实现对于网络设备中配置的修复,保证网络功能的正常。
本申请实施例还提供了一种控制器,包括:处理器、存储器及通信总线;所述通信总线用于实现所述处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的网络设备的CLI配置验证方法。
本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的网络设备的CLI配置验证方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种CLI配置验证方法的基本流程示意图;
图2为本申请实施例提供的一种进行业务配置的示意图;
图3为本申请实施例提供的一种CLI配置验证装置的结构示意图;
图4为本申请实施例提供的一种车辆的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
SDN技术引入网络后,控制器会创建叠加(Overlay)网络并下发相关配置到网络设备,例如会下发隧道配置、BGP(Border Gateway Protocol,边界网关协议)路由配置、调度配置、QoS配置等。配置以CLI命令行呈现给运维人员。这些配置的组合具有提升网络通信质量等作用。但是如果运维人员不慎修改了控制器下发的配置,那么就会导致Overlay网络配置失效,严重时会导致网络流量丢失。为此,本申请实施例中提供了一种CLI配置验证方法,参见图1所示,包括:
S101:向网络设备发送网络配置。
本申请实施例中的CLI配置验证方法,可以应用于Overlay网络的控制器中。
用户可以通过控制器进行业务网络配置操作,从而使得控制器根据用户的业务网络配置操作,拆解转换形成相应网络设备的网络模块的网络配置,发送给相应的网络设备。
需要理解的是,本申请实施例中,用户可以通过抽象可见的配置输入形式,实现向控制器进行业务网络配置的操作。示例性的,用户可以通过浏览器执行配置操作,在浏览器的配置界面中选择相应的业务配置选项,从而实现对业务网络配置的确定。
需要理解的是,用户输入的业务网络配置是一种抽象的、用户容易理解的网络配置。而网络若要实现该业务网络配置,则需要将其转换为各种网络设备的网络模块的配置(即网络配置),例如OSPF(Open Shortest Path First,开放式最短路径优先)模块、ACL(Access Control List,访问控制列表)模块的配置等。这些网络配置的组合才能最终实现业务网络配置。
在本申请实施例中,可以采用已有方式实现从业务网络配置到网络模块的配置的拆解和转换,在本申请实施例中不做赘述。
在本申请实施例中,控制器中可以配置南向协议,比如可以配置NETCONF(NetworkConfiguration Protocol,网络配置协议)、SNMP(Simple Network Management Protocol,简单网络管理协议)等协议。从而可以通过所配置的南向协议与网络设备连接,将网络配置发送给网络设备。
S102:在接收到该网络设备针对该网络配置已生成CLI配置的回应消息时,根据预先获取到的该网络设备的转换关系,生成该网络配置对应的伪CLI配置。
在本申请实施例中,网络模块内可以设置有配置模型,如YANG模型、MIB(Management Information Base,管理信息库)文件等。配置模型中定义网络配置到CLI配置的转换关系,该转换关系记录有配置模型与CLI命令的对应关系。网络设备在收到控制器下发的网络配置后,即可根据配置模型生成相应的CLI配置,并保存。
需要理解的是,CLI配置是命令行配置,其是网络设备最终存储的配置,且是一种用户在登录设备后可查阅的配置。而与之相应的,网络配置对于用户是不可见的,用户可以通过修改CLI配置实现对于网络配置的修改。
在本申请实施例中,控制器可以预先从网络设备中获取配置模型,进而从配置模型中提取出转换关系并保存。
在本申请实施例中,控制器可以通过关键字段识别等方式实现从配置模型中提取出转换关系。
示例性的,控制器可以识别配置模型中的关键字段。在识别到表征转换关系的目标关键字段(比如“cliTemplate”、“$”等)时,即可提取该目标关键字段所对应的模型内容。这样,即可实现对转换关系的提取。
需要理解的是,在实际应用过程中,控制器所连接的网络设备往往有很多。因此在保存网络设备的转换关系时,可以通过关联保存转换关系与网络设备唯一标识的方式,或将不同网络设备的转换关系保存在不同的区域的方式,实现对于各网络设备的转换关系的区分保存。
在本申请实施例中,网络设备在成功将网络配置转换成了CLI配置后,即可向控制器返回一个表征已针对该网络配置已生成CLI配置的回应消息。
在本申请实施例中,控制器在接收到该相应消息后,即知晓了网络设备已经针对该网络配置生成了CLI配置,从而可以在本地根据该网络设备的转换关系,将网络配置转换成为伪CLI配置,并保存。
需要注意的是,在实际应用过程中,控制器所连接的网络设备往往有很多。因此在保存对应于不同网络设备的伪CLI配置时,可以通过关联保存伪CLI配置与网络设备唯一标识的方式,或将对应不同网络设备的伪CLI配置保存在不同的特定区域的方式,实现对于对应不同网络设备的伪CLI配置的区分保存。
S103:在预设触发条件被触发时,获取该网络设备所有的CLI配置,将控制器中与该网络设备对应的伪CLI配置,逐行与该网络设备的CLI配置进行比对验证。
应理解,由于CLI配置是可被用户修改的,而用户对CLI配置修改后,就可能导致网络功能失常。而用户何时修改是不可预测的。为此,在本申请实施例的一种可行实施方式中,可以根据CLI配置验证指令触发验证,也可以设置预设触发条件为预设周期时间,也即每间隔预设周期时间,控制器即会自动获取网络设备所有的CLI配置(后文称全量CLI配置),从而将本地保存的与该网络设备对应的伪CLI配置,逐行与该网络设备的全量CLI配置进行比对验证。
此外,在本申请实施例的又一种可行实施方式中,预设触发条件也可以为接收到用户的验证指令。也即,用户可以主动发出验证指令,请求控制器进行网络设备的CLI配置的验证。需要理解的是,验证指令中用户可以指定所需验证的网络设备,从而仅针对指定的网络设备进行验证。
还需要说明的是,预设触发条件可以由工程师根据实际需要进行设置,在本申请实施例中不做限定,且预设触发条件可以同时存在多个,比如可以同时具有间隔预设时长和接收到用户的验证指令这两种触发条件。在预设触发条件同时存在多个时,任一触发条件被触发时,控制器即会进行网络设备的CLI配置的验证。
S104:根据验证结果确定是否重新向该网络设备下发该行伪CLI配置所对应的网络配置。
应理解,由于伪CLI配置是在收到网络设备针对所述网络配置已生成CLI配置的回应消息时,根据该网络设备的转换关系和发给该网络设备的网络配置所生成的,因此该伪CLI配置应当与该网络设备根据该网络配置所生成的CLI配置相匹配。因此,若网络设备中根据该网络配置生成的CLI配置未被修改或丢失,那么伪CLI配置应当能够在网络设备的全量CLI配置中,找到相匹配的那一个CLI配置,也即伪CLI配置在该网络设备的CLI配置中应当存在。
因此,若任一行伪CLI配置在该网络设备的全量CLI配置中不存在时,即任一行伪CLI配置在该网络设备的全量CLI配置中找不到相匹配的CLI配置时,即可确认该伪CLI配置对应的CLI配置已丢失或已被修改。此时,可以重新向该网络设备下发该行伪CLI配置所对应的网络配置,从而使得该网络设备重新进行网络配置,从而实现对于网络设备中配置的修复,保证网络功能的正常。
在本申请实施例中,控制器可以逐行计算各伪CLI配置相对于网络设备的CLI配置的可信度,从而在任一行伪CLI配置对应的可信度小于等于预设可信度阈值时,确定该行伪CLI配置在所述网络设备的CLI配置中不存在。
需要理解的是,在本申请实施例中,针对每一行伪CLI配置的可信度确定过程都是一致的。
示例性的,在本申请实施例中,针对一行伪CLI配置,可以将该行伪CLI配置在所述网络设备的所有CLI配置中进行查找。此时存在以下情况:
情况1:查找到与该行伪CLI配置完全一致的CLI配置。此时即可以确认该行伪CLI配置对应的可信度为100%。
情况2:查找到与该行伪CLI配置部分一致的CLI配置。此时可以根据该行伪CLI配置与所述部分一致的CLI配置之间的相同部分占所述部分一致的CLI配置的比例,确定该行伪CLI配置对应的可信度值。
对于情况2,示例性的,比如伪CLI配置为:service timestamps debug datetime,而CLI配置为service timestamps debug datetime msec,那么相同部分占CLI配置的比例即为80%,可以确定该行伪CLI配置对应的可信度为80%。
需要说明的是,在实际应用过程中,网络设备在根据网络配置生成CLI配置时,往往除了会转化得到必要的配置参数外,还可能会添加一些可选参数,从而导致控制器根据相同网络配置转换得到的伪CLI配置,和网络设备中生成的CLI配置并不完全一致。由此导致可能会出现情况2的情况。
应理解,在实际应用过程中,通常控制器仅会根据网络模块的转换关系,将网络配置转化得到必要的配置参数,而不会向伪CLI配置中添加可选参数。
为此,在本申请实施例的一种可行实施方式中,可以定义除包含伪CLI配置的所有内容外,还具有其它内容的CLI配置,才为与该伪CLI配置部分一致的CLI配置,从而可以提高对于伪CLI配置的查找门槛,从而提高对于网络设备中配置修复的敏感性,保证网络功能的正常。
也即,工程师可以配置控制器仅根据网络模块的转换关系,将网络配置转化得到必要的配置参数,而不向伪CLI配置中添加可选参数。此时,控制器可以通过检查各行伪CLI配置,确定在网络设备的所有CLI配置中,是否存在完整包含该行伪CLI配置的全部内容的CLI配置(即查找是否存在与该行伪CLI配置完全一致的CLI配置,或者是否存在该行伪CLI配置为自身子集的CLI配置),从而区分出伪CLI配置在网络设备的CLI配置中,是否存在对应的CLI配置。
即,在任一行伪CLI配置,在该网络设备的全量CLI配置中,不存在完整包含该行伪CLI配置的全部内容的CLI配置时,则可以确定该行伪CLI配置在该网络设备的全量CLI配置中不存在。
需要说明的是,在实际应用过程中,若工程师设置控制器在生成伪CLI配置时,添加了某些可选参数。那么由于网络设备中没有添加可选参数或添加了不同的可选参数,那么就会导致该伪CLI配置在网络设备中对应的CLI配置(即网络设备中根据伪CLI配置对应的网络配置生成的CLI配置),仅与该伪CLI配置的部分内容一致。而此情况下,除了存在该伪CLI配置对应的CLI配置是与该伪CLI配置部分一致的以外,还可能存在有其余的CLI配置也与该伪CLI配置部分一致。
但是,通常这类不与该伪CLI配置对应的CLI配置,由于实现的是其余的业务功能,因此相较于与该伪CLI配置对应的CLI配置而言,与该伪CLI配置的相同部分所占的比例会低很多。
比如,伪CLI配置为:service timestamps debug datetime X,对应的CLI配置为:service timestamps debug datetime msec(该伪CLI配置实际对应的CLI配置),另一部分一致的CLI配置为:service timestamps log uptime(并非是该伪CLI配置实际对应的CLI配置)。其中,X和msec为添加的可选参数。那么可以得到实际对应的CLI配置所确定的可信度为80%,而另一部分一致的CLI配置所确定的可信度仅为50%。
据此,通过设置合理的可信度阈值,即可区分出该行伪CLI配置在网络设备的全量CLI配置中是否存在。
在本申请实施例中,可信度阈值可以由工程师根据大量实验值进行设定,或根据经验进行设定。
可选的,在本申请实施例中,对于可信度不为100%的CLI配置,可以提供给用户,由用户确定是否需要进行配置修复。
本申请实施例中提供的CLI配置验证方法,通过预先获取到网络模块的转换关系,从而在向网络设备发送网络配置,并收到网络设备针对该网络配置已生成CLI配置的回应消息时,依据该转换关系自主产生相应的伪CLI配置。进而在需要进行CLI配置验证时,可以获取该网络设备所有的CLI配置,并将控制器中与该网络设备对应的伪CLI配置逐行与该网络设备的CLI配置进行比对验证,从而在网络设备中出现某一CLI配置丢失或被用户擅自更改的情况时(此时对应的伪CLI配置在网络设备的CLI配置中会不存在),可以快速确定出对应需修复的CLI配置,从而快速地重新下发相应的网络配置给网络设备,实现对于网络设备中配置的修复,保证网络功能的正常。
实施例二:
本实施例在实施例一的基础上,以一种具体的CLI配置验证过程为例,对本申请的方案进行示例说明。
参见图2所示,本申请实施例的方案包括控制器和网络设备。
在控制器中:
业务网络模块,用于接收用户请求并生成业务网络配置。示例性的,用户可以通过浏览器等方式,选择所需的业务网络配置选项,并提交给控制器,从而由控制器生成业务网络配置。
配置下发模块,用于将业务网络配置转换成网络配置,并通过南向协议下发到网络设备中。
而在网络设备中:
设备协议处理模块,用于接收南向协议并将协议配置转交给设备业务模块。
设备业务模块,用于接收网络配置请求,并开展业务功能,同时生成CLI配置。
设备配置管理模块,用于存储设备业务模块的CLI配置、以及在控制器要求获取上传CLI配置,上传CLI配置。
需要说明的是,以上业务网络模块、配置下发模块、设备协议处理模块、设备业务模块和设备配置管理模块均是软件功能模块,相关模块的均是通过计算机程序的形式写入在控制器和网络设备中的,从而实现相应的功能。
本实施例中具体执行过程可参见以下描述:
1.准备阶段
a)配置控制器与网络设备之间通信采用南向协议,如NETCONF、SNMP等南向协议。
b)网络设备通过配置模型,如YANG模型、MIB文件等,定义网络配置到CLI配置的转换关系。
c)控制器获取配置模型,从而获取转换关系。
需要说明的是,转换关系中应记录配置模型与CLI命令的对应关系。
在本申请实施例中,控制器可以通过识别关键字段等方式提取出转换关系。
可选的,关键字段可以是“cliTemplate”或“$”等字段。
控制器在需要生成伪CLI配置时,根据网络配置填写转换关系中的变量,即可自动生成伪CLI配置。
2.下发阶段
a)用户在控制器上配置业务网络配置。
b)控制器将业务网络配置转换成网络配置。
c)控制器通过南向协议向网络设备下发网络配置。
需要理解的是,下发网络配置时,需要将不同网络配置发送给支持相应网络模块功能的网络设备。
d)网络设备收到网络配置后,由设备业务模块生成CLI配置。
e)控制器在收到网络设备返回的表征CLI配置生成成功的结果后,将该网络配置通过转换关系转换成伪CLI配置并保存。
3.对比阶段
a)如果收到需要确认配置是否发生变化指令,控制器从网络设备处获取全量CLI配置。
b)控制器依次遍历伪CLI配置与全量CLI配置进行比对验证,计算可信度。可信度计算方式为:
使用每行伪CLI配置在全量CLI配置中进行查找:
如果在全量CLI配置中找到与伪CLI配置完全一致的CLI配置,且该CLI配置唯一,那么确定可信度为100%,确认配置没有发生变化。
如果未查找到与伪CLI配置完全一致的CLI配置,但查找到与伪CLI配置部分一致的CLI配置(部分一致的CLI配置是指除包含该行伪CLI配置的所有内容外,还具有其它内容的CLI配置),根据该伪CLI配置与该部分一致的CLI配置之间的相同部分占部分一致的CLI配置的比例,确定该伪CLI配置对应的可信度。例如相同部分占部分一致的CLI配置的比例为80%,那么就认为可信度为80%。此时可以标记出该CLI配置,提供给用户确认。
如果未查找到与伪CLI配置完全一致的CLI配置,也未查找到与伪CLI配置部分一致的CLI配置,那么确定该配置在网络设备侧丢失,控制器行重新下发该伪CLI配置对应的网络配置给网络设备。
通过本实施例的方案,在配置YANG模型到CLI配置的转换关系之后,控制器可以自动根据网络配置映射生成伪CLI配置。通过伪CLI配置与真实CLI配置对比,检测网络设备侧的配置有效性。这种方式可以快速完成CLI配置的一致性检测,减少因CLI配置擅自改变带来的网络故障。
实施例三:
基于同一发明构思,本申请实施例中还提供了一种网络设备的CLI配置验证装置。请参阅图3所示,图3示出了与实施例一所示的方法对应的网络设备的CLI配置验证装置100。应理解,CLI配置验证装置100具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。CLI配置验证装置100包括至少一个能以软件或固件的形式存储于存储器中或固化在CLI配置验证装置100的操作系统中的软件功能模块。具体地:
参见图3所示,CLI配置验证装置100包括:发送模块101、生成模块102和校验模块103。其中:
所述发送模块101,用于向网络设备发送网络配置;
所述生成模块102,用于在接收到所述网络设备针对所述网络配置已生成CLI配置的回应消息时,根据预先获取到的所述网络设备的转换关系,生成所述网络配置对应的伪CLI配置;
所述校验模块103,用于在预设触发条件被触发时,获取所述网络设备所有的CLI配置,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,并在任一行伪CLI配置在所述网络设备的CLI配置中不存在时,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
在本申请实施例中,所述校验模块103具体用于逐行计算各伪CLI配置相对于所述网络设备的CLI配置的可信度;在任一行伪CLI配置对应的可信度小于等于预设可信度阈值时,确定该行伪CLI配置在所述网络设备的CLI配置中不存在,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
在本申请实施例的一种可行实施方式中,所述校验模块103具体用于将该行伪CLI配置在所述网络设备的所有CLI配置中进行查找;在查找到与该行伪CLI配置完全一致的CLI配置时,确认该行伪CLI配置对应的可信度为100%;在查找到与该行伪CLI配置部分一致的CLI配置时,根据该行伪CLI配置与所述部分一致的CLI配置之间的相同部分占所述部分一致的CLI配置的比例,确定该行伪CLI配置对应的可信度值。
在上述可行实施方式的一种可选方式中,在未查找到与该行伪CLI配置完全一致的CLI配置,但查找到多个与该行伪CLI配置部分一致的CLI配置时,校验模块103可以确定根据所述相同部分占所述部分一致的CLI配置的比例最高的CLI配置,所确定的可信度为该行伪CLI配置对应的可信度。
在上述可行实施方式的一种可选方式中,所述与该行伪CLI配置部分一致的CLI配置为:除包含该行伪CLI配置的所有内容外,还具有其它内容的CLI配置。
在本申请实施例中,所述校验模块103具体用于逐行检测各伪CLI配置在所述网络设备的所有CLI配置中,是否存在完整包含所述伪CLI配置的全部内容的CLI配置;若针对任一行伪CLI配置,在所述网络设备的所有CLI配置中,不存在完整包含该行伪CLI配置的全部内容的CLI配置,则确定该行伪CLI配置在所述网络设备的CLI配置中不存在。
在本申请实施例中,CLI配置验证装置100还可以包括提取模块,用于获取所述网络设备的配置模型,并从所述配置模型中提取出所述转换关系。
在本申请实施例中,提取模块具体用于,识别所述配置模型中的关键字段;在识别到表征所述转换关系的目标关键字段时,提取所述目标关键字段所对应的模型内容;所述目标关键字段所对应的模型内容包含所述转换关系。
在本申请实施例中,CLI配置验证装置100还可以包括保存模块,用于在提取模块提取出所述转换关系后,关联保存转换关系与所述网络设备的唯一标识,或将所述转换关系保存在与所述网络设备对应的区域。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种控制器,可以参见图4所示,其包括处理器401、存储器402及通信总线403。其中:
通信总线403用于实现处理器401和存储器402之间的连接通信。
处理器401用于执行存储器402中存储的一个或多个程序,以实现上述实施例一/二中的CLI配置验证方法。
可以理解,图4所示的结构仅为示意,控制器还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置,例如还可以具有输入/输出接口等部件。
本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一/二中的CLI配置验证方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种网络设备的CLI配置验证方法,其特征在于,包括:
向网络设备发送网络配置;
在接收到所述网络设备针对所述网络配置已生成命令行界面CLI配置的回应消息时,根据预先获取到的所述网络设备的转换关系,生成所述网络配置对应的伪CLI配置;
在预设触发条件被触发时,获取所述网络设备所有的CLI配置,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,根据验证结果确定是否重新向所述网络设备下发该验证结果对应的一行伪CLI配置所对应的网络配置;
将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,包括:
逐行计算各伪CLI配置相对于所述网络设备的CLI配置的可信度;
在任一行伪CLI配置对应的可信度小于等于预设可信度阈值时,确定该行伪CLI配置对应的所述网络设备的CLI配置中不存在,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
2.如权利要求1所述的网络设备的CLI配置验证方法,其特征在于,针对每一行伪CLI配置,计算该行伪CLI配置相对于所述网络设备的CLI配置的可信度,包括:
将该行伪CLI配置在所述网络设备的所有CLI配置中进行查找;
在查找到与该行伪CLI配置完全一致的CLI配置时,确认该行伪CLI配置对应的网络设备的CLI配置的可信度为100%;
在查找到与该行伪CLI配置部分一致的CLI配置时,根据该行伪CLI配置与所述部分一致的CLI配置之间的相同部分占所述部分一致的CLI配置的比例,确定该行伪CLI配置对应的网络设备的CLI配置的可信度值。
3.如权利要求1或2所述的网络设备的CLI配置验证方法,其特征在于,所述方法还包括:
获取所述网络设备的配置模型;
从所述配置模型中提取出所述转换关系。
4.如权利要求3所述的网络设备的CLI配置验证方法,其特征在于,从所述配置模型中提取出所述转换关系,包括:
识别所述配置模型中的关键字段;
在识别到所述转换关系的目标关键字段时,提取所述目标关键字段所对应的模型内容;所述目标关键字段所对应的模型内容包含所述转换关系。
5.如权利要求3所述的网络设备的CLI配置验证方法,其特征在于,所述方法还包括:
在提取出所述转换关系后,关联保存转换关系与所述网络设备的唯一标识,或将所述转换关系保存在与所述网络设备对应的区域。
6.一种网络设备的CLI配置验证装置,其特征在于,包括:发送模块、生成模块和校验模块;
所述发送模块,用于向网络设备发送网络配置;
所述生成模块,用于在接收到所述网络设备针对所述网络配置已生成命令行界面CLI配置的回应消息时,根据预先获取到的所述网络设备的转换关系,生成所述网络配置对应的伪CLI配置;
所述校验模块,用于在预设触发条件被触发时,获取所述网络设备所有的CLI配置,将控制器中与所述网络设备对应的伪CLI配置逐行与所述网络设备的CLI配置进行比对验证,根据验证结果确定是否重新向所述网络设备下发该验证结果对应的一行伪CLI配置所对应的网络配置;
所述校验模块具体用于,逐行计算各伪CLI配置相对于所述网络设备的CLI配置的可信度;在任一行伪CLI配置对应的可信度小于等于预设可信度阈值时,确定该行伪CLI配置对应的所述网络设备的CLI配置不存在,重新向所述网络设备下发该行伪CLI配置所对应的网络配置。
7.一种控制器,其特征在于,包括:处理器、存储器及通信总线;
所述通信总线用于实现所述处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个程序,以实现如权利要求1至5任一项所述的网络设备的CLI配置验证方法。
8.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至5任一项所述的网络设备的CLI配置验证方法。
CN202011306667.6A 2020-11-18 2020-11-18 Cli配置验证方法、装置、控制器及可读存储介质 Active CN112311607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011306667.6A CN112311607B (zh) 2020-11-18 2020-11-18 Cli配置验证方法、装置、控制器及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011306667.6A CN112311607B (zh) 2020-11-18 2020-11-18 Cli配置验证方法、装置、控制器及可读存储介质

Publications (2)

Publication Number Publication Date
CN112311607A CN112311607A (zh) 2021-02-02
CN112311607B true CN112311607B (zh) 2022-10-18

Family

ID=74336221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011306667.6A Active CN112311607B (zh) 2020-11-18 2020-11-18 Cli配置验证方法、装置、控制器及可读存储介质

Country Status (1)

Country Link
CN (1) CN112311607B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101569220A (zh) * 2006-10-19 2009-10-28 沃达方集团有限公司 控制电信网络中的接入点的使用
CN104170348A (zh) * 2012-05-10 2014-11-26 甲骨文国际公司 用于在网络环境中支持状态同步的系统和方法
CN111490893A (zh) * 2019-01-29 2020-08-04 华为技术有限公司 一种网络转发模型的建立方法、装置及系统
CN111756756A (zh) * 2020-06-28 2020-10-09 深圳市信锐网科技术有限公司 一种终端网络控制方法、装置及电子设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359975B1 (en) * 2000-03-17 2002-03-19 Lucent Technologies, Inc. Intelligent-networked telecommunication system which strategically creates and employs service-dependent pseudo calling line identities to eliminate redundant billing errors
AU2002366158A1 (en) * 2001-11-21 2003-06-10 Enterasys Networks, Inc. Translating configuration files among network devices
CN101540700A (zh) * 2009-04-10 2009-09-23 成都市华为赛门铁克科技有限公司 配置联动方法、系统、终端和网络设备管理服务器
CN103441867B (zh) * 2013-08-15 2016-12-28 国云科技股份有限公司 一种更新虚拟机内部网络资源配置的方法
US10057156B2 (en) * 2014-08-08 2018-08-21 At&T Intellectual Property I, L.P. Hierarchical network configuration
WO2017134488A1 (en) * 2016-02-05 2017-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for control plane to configure monitoring of differentiated service code point (dscp) and explicit congestion notification (ecn)
CN105634831B (zh) * 2016-03-11 2018-10-09 烽火通信科技股份有限公司 通信设备中一种定位源的智能翻译系统及方法
US10652102B2 (en) * 2017-06-19 2020-05-12 Cisco Technology, Inc. Network node memory utilization analysis
CN208782826U (zh) * 2018-09-21 2019-04-23 东莞市锦洋电子科技有限公司 一种用于交换机的监控系统
US11249979B2 (en) * 2018-11-30 2022-02-15 Hewlett Packard Enterprise Development Lp Systems and methods for live, on-device configuration validation
CN111723036B (zh) * 2019-03-22 2023-04-04 华为技术有限公司 数据处理方法、相关设备及计算机存储介质
CN111817905B (zh) * 2020-09-07 2020-12-15 腾讯科技(深圳)有限公司 一种网络配置方法、相关装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101569220A (zh) * 2006-10-19 2009-10-28 沃达方集团有限公司 控制电信网络中的接入点的使用
CN104170348A (zh) * 2012-05-10 2014-11-26 甲骨文国际公司 用于在网络环境中支持状态同步的系统和方法
CN111490893A (zh) * 2019-01-29 2020-08-04 华为技术有限公司 一种网络转发模型的建立方法、装置及系统
CN111756756A (zh) * 2020-06-28 2020-10-09 深圳市信锐网科技术有限公司 一种终端网络控制方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN112311607A (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
US11733991B2 (en) Data processing method based on intelligent contract, device, and storage medium
US8990368B2 (en) Discovery of network software relationships
US9940208B2 (en) Generating reverse installation file for network restoration
US8667096B2 (en) Automatically generating system restoration order for network recovery
US8079017B2 (en) Automated QS interface testing framework
US8719392B2 (en) Searching a managed network for setting and configuration data
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN110647580A (zh) 分布式容器集群镜像管理主节点、从节点、系统及方法
WO2019184164A1 (zh) 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
US8438625B2 (en) Management apparatus, control method, and storage medium
US20230060053A1 (en) Method and apparatus of deploying a cluster, and storage medium
CN110784495A (zh) 基于区块链的大数据集群系统的发现与配置信息管理方法
WO2020232859A1 (zh) 分布式存储系统、数据写入方法、装置和存储介质
CN112039868A (zh) 防火墙策略验证方法、装置、设备及存储介质
CN110677383A (zh) 防火墙开墙方法、装置、存储介质及计算机设备
WO2016070651A1 (zh) 软件中心系统
CN105072608B (zh) 一种管理认证令牌的方法及装置
WO2007086687A1 (en) Reporting information to a network
CN108696475A (zh) 一种带安全认证的配电自动化终端自动注册方法及装置
CN109858285B (zh) 区块链数据的处理方法、装置、设备和介质
CN101924794B (zh) 一种基于互联网实时监视软件运行总量的方法
CN112367186B (zh) 一种基于0penStack裸机的故障保护方法及装置
CN112905437B (zh) 一种测试用例的方法、装置及存储介质
CN112311607B (zh) Cli配置验证方法、装置、控制器及可读存储介质
US20190052632A1 (en) Authentication system, method and non-transitory computer-readable storage medium

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