一种网络配置方法和装置与流程

文档序号:16671790发布日期:2019-01-18 23:37阅读:149来源:国知局
一种网络配置方法和装置与流程

本申请涉及网络通信技术,特别涉及一种网络配置方法和装置。



背景技术:

网络配置(netconf)是一种基于可扩展标记语言(xml)的配置协议。在netconf客户端和netconf服务端之间建立netconf连接后,netconf客户端通过netconf连接向netconf服务端下发网络配置,这实现了更为灵活和方便的网络配置。这里的网络配置可为开放流(openflow)配置,端口配置,服务质量(qos)配置,防火墙策略等。在应用中,netconf客户端可为控制器,netconf服务端可为防火墙,负载均衡器,交换设备等。

但是,在netconf客户端下发网络配置的过程中常因为netconf连接异常导致netconf客户端仅下发部分网络配置至netconf服务端后就无法继续下发剩余网络配置。比如netconf客户端需向netconf服务端下发5条网络配置(配置1至配置5),netconf客户端按照顺序从起始位置开始逐条向netconf服务端下发网络配置,可能会出现netconf客户端下发完配置3后因netconf连接异常导致无法继续向netconf服务端下发剩余两条网络配置(配置4、配置5)。而在上述netconf连接恢复正常后,netconf客户端会重新从起始位置开始下发,这会导致netconf服务端收到重复的网络配置。仍以上述5条配置为例,则在上述netconf连接恢复正常后,netconf客户端按照顺序重新从起始位置开始逐条向netconf服务端下发网络配置,就会导致netconf服务端收到重复的配置1至配置3。



技术实现要素:

本申请提供了网络配置方法和装置,以防止netconf服务端收到重复的网络配置。

本申请提供的技术方案包括:

一种网络配置方法,该方法应用于网络配置netconf客户端,所述netconf客户端与netconf服务端之间建立了netconf连接,该方法包括:

在通过netconf连接向netconf服务端下发网络配置的过程中,为下发的每一条网络配置生成对应的配置日志并记录至指定存储介质,并在所述netconf连接异常时,结束网络配置下发;配置日志包括网络配置标识id、网络配置下发结果,网络配置下发结果用于表示网络配置是否下发成功;

在检测到netconf连接从异常恢复为正常时,依据指定存储介质记录的配置日志定位目标网络配置,目标网络配置为所述netconf客户端在所述netconf连接异常前成功下发的最后一条网络配置,从目标网络配置的下一条网络配置开始继续执行网络配置下发,直至所有网络配置下发完成。

一种网络配置装置,该装置应用于网络配置netconf客户端,所述netconf客户端与netconf服务端之间建立了netconf连接,该装置包括:

配置单元,用于通过netconf连接向netconf服务端下发网络配置,并在所述netconf连接异常时,结束网络配置下发;

日志单元,用于所述配置单元在通过netconf连接向netconf服务端下发网络配置的过程中,为下发的每一条网络配置生成对应的配置日志并记录至指定存储介质;配置日志包括网络配置标识id、网络配置下发结果,网络配置下发结果用于表示网络配置是否下发成功;

定位单元,用于在检测到netconf连接从异常恢复为正常时,依据指定存储介质记录的配置日志定位目标网络配置,目标网络配置为所述netconf客户端在所述netconf连接异常前成功下发的最后一条网络配置,以触使所述配置单元从目标网络配置的下一条网络配置开始继续执行网络配置下发,直至所有网络配置下发完成。

由以上技术方案可以看出,本申请中,netconf客户端通过为下发的网络配置生成配置日志,基于配置日志可以直接定位netconf客户端在netconf连接异常前成功下发的最后一条网络配置(即上述的目标网络配置),然后从目标网络配置的下一条网络配置开始继续执行网络配置下发,这实现了netconf客户端在netconf连接恢复正常后不会重复下发之前已下发的网络配置,避免了netconf服务端收到重复的网络配置。

进一步地,本申请基于配置日志可以直接定位netconf客户端在netconf连接异常前成功下发的最后一条网络配置(即上述的目标网络配置),而非从netconf服务端获取netconf服务端已有的网络配置,以及对比网络配置序列中的网络配置与netconf服务端已有的网络配置,节省资源,提高了网络配置从netconf客户端平滑至netconf服务端的效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本申请提供的方法流程图;

图2为本申请提供的步骤101实现流程图;

图3为本申请实施例提供的应用示意图;

图4为本申请提供的装置结构示意图。

具体实施方式

在具体应用中,netconf客户端会提前获取网络配置序列表并记录。网络配置序列表包括基于业务应用定义的网络配置。在一个例子中,网络配置序列表可预先配置在netconf客户端。比如通过硬编码的方式编码并记录至netconf客户端。在另一个例子中,netconf客户端可通过对外接口获取网络配置序列表并记录。本申请并不具体网络配置序列表的获取方式。

在本申请中,网络配置可为openflow配置,端口配置,qos配置,防火墙策略等。

在具体实现时,netconf客户端会先与netconf服务端相互协商建立netconf连接。之后,netconf客户端通过netconf连接按顺序从起始位置开始逐条向netconf服务端下发网络配置。

netconf客户端在通过netconf连接向netconf服务端下发网络配置的过程中常会出现netconf连接异常,而当netconf连接异常,则netconf客户端就无法下发网络配置,网络配置下发失败。

之后,netconf客户端根据异常恢复检测方式(比如保活检测机制、连接重建机制、netconf客户端所处的控制器重启等机制)检测到netconf连接恢复正常,则会继续下发网络配置。

其中,如背景技术最后描述的内容,netconf客户端在netconf连接恢复正常后仍按照顺序重新从起始位置开始逐条向netconf服务端下发网络配置,这会导致netconf服务端收到重复的网络配置。比如netconf客户端需向netconf服务端下发5条网络配置(配置1至配置5),netconf客户端按照顺序从起始位置开始逐条向netconf服务端下发网络配置,下发完配置3后因netconf连接异常导致无法继续向netconf服务端下发剩余两条网络配置(配置4、配置5)。而在上述netconf连接恢复正常后,netconf客户端按照顺序重新从起始位置开始逐条向netconf服务端下发网络配置,就会导致netconf服务端收到重复的配置1至配置3。

为了防止netconf服务端收到重复的网络配置,则需要netconf客户端在netconf连接恢复正常后首先确定出netconf连接异常前的网络配置下发进度,然后根据该网络配置下发进度决定哪些网络配置需要补充下发。

目前,常用的一种实现方式为:netconf客户端在netconf连接恢复正常后,从netconf服务端通过netconf连接获取netconf服务端已有的网络配置,比较本地记录的网络配置序列中的网络配置与netconf服务端已有的网络配置,将本地记录的网络配置序列中与netconf服务端已有的网络配置不同的其他所有网络配置确定为需要下发的网络配置,按照顺序将该确定的需要下发的网络配置通过netconf连接下发至netconf服务端。

但是,上述方式存在以下缺陷:netconf客户端从netconf服务端通过netconf连接获取netconf服务端已有的网络配置需要消耗大量网络带宽;netconf客户端比较本地记录的网络配置序列中的网络配置与netconf服务端已有的网络配置会消耗大量的cpu和内存等资源,性能差,效率低。

为了解决上述问题且避免上述缺陷,本申请提供了如图1所示的方法。

参见图1,图1为本申请提供的方法流程图。该方法应用于netconf客户端。在具体实现时,netconf客户端可为控制器。

在图1所示的流程执行之前,netconf客户端与netconf服务端之间会建立netconf连接。这里建立netconf连接的方式类似现有netconf连接的建立方式,本申请并不具体限定。在具体实现时,netconf服务端可为防火墙,负载均衡器,交换设备等。

如图1所示,该流程可包括以下步骤:

步骤101,在通过所述netconf连接向所述netconf服务端下发网络配置的过程中,为下发的每一条网络配置生成对应的配置日志并记录至指定存储介质,并在所述netconf连接异常时,结束网络配置下发。

这里,配置日志可至少包括网络配置标识(id)、网络配置下发结果。

在本申请中,网络配置下发结果用于表示网络配置是否下发成功。需要说明的是,这里的netconf连接异常可由netconf连接本身故障引起,也可由netconf客户端所承载的控制器重启引起,还可由导致不能正常向netconf服务端下发网络配置的其他故障引起,本申请并不具体限定。

之后,netconf客户端会根据已设的异常恢复检测方式(比如保活检测机制、连接重建机制、netconf客户端所处的控制器重启等机制)检测netconf连接是否恢复正常,当检测到netconf连接从异常恢复为正常时,则执行步骤102。

步骤102,netconf客户端在检测到netconf连接从异常恢复为正常时,依据指定存储介质记录的配置日志定位目标网络配置,目标网络配置为所述netconf客户端在所述netconf连接异常前成功下发的最后一条网络配置,从目标网络配置的下一条网络配置开始继续执行网络配置下发,直至所有网络配置下发完成。

至此,完成图1所示流程。

从图1所示流程可以看出,在本申请中,netconf客户端通过为下发的网络配置生成配置日志,基于配置日志可以直接定位netconf客户端在netconf连接异常前成功下发的最后一条网络配置(即上述的目标网络配置),然后从目标网络配置的下一条网络配置开始继续执行网络配置下发,这实现了netconf客户端在netconf连接恢复正常后不会重复下发之前已下发的网络配置,避免了netconf服务端收到重复的网络配置。

进一步地,本申请基于配置日志可以直接定位netconf客户端在netconf连接异常前成功下发的最后一条网络配置(即上述的目标网络配置),而非从netconf服务端获取netconf服务端已有的网络配置,以及对比网络配置序列中的网络配置与netconf服务端已有的网络配置,节省资源,提高了网络配置从netconf客户端平滑至netconf服务端的效率。

在图1所示流程中,作为一个实施例,步骤101中为下发的每一条网络配置生成对应的配置日志并记录至指定存储介质可包括图2所示流程:

参见图2,图2为本申请提供的步骤101实现流程图。如图2所示,该流程可包括以下步骤:

步骤201,在通过所述netconf连接向netconf服务端下发每一条网络配置前,先生成与网络配置对应的配置日志并记录至指定存储介质,之后通过netconf连接向netconf服务端下发网络配置。

在一个例子中,这里的指定存储介质可为持久化存储介质,比如文件、数据库等。

如上描述,配置日志包括网络配置id、网络配置下发结果。这里的网络配置id可唯一标识网络配置,不同网络配置的id不同。

需要说明的是,在本实施例中,配置日志还可包括网络配置信息(其具体可为以soap格式表示的netconf消息内容)。下述表1举例示出了配置日志的格式:

表1

在本实施例中,步骤201中配置日志中的网络配置下发结果取值为用于指示网络配置下发失败的第一值。这里的第一值可自定义,比如为false。

步骤202,判断所述网络配置是否成功下发至netconf服务端,若是,继续通过netconf连接向netconf服务端下发下一条网络配置,并将所述配置日志中的网络配置下发结果从第一值修改为用于指示网络配置下发成功的第二值,否则,结束通过所述netconf连接向netconf服务端下发下一条网络配置,并维持所述配置日志中的网络配置下发结果为第一值。

在一个例子中,判断所述网络配置是否成功下发至netconf服务端可包括:在下发网络配置后的设定时间内检查是否接收到netconf服务端返回的用于响应所述网络配置的配置成功消息,若是,确定所述网络配置成功下发至所述netconf服务端,否则,确定所述网络配置下发失败。

至此,通过图2所示流程即可实现netconf客户端为下发的每一条网络配置生成对应的配置日志并记录至指定存储介质。

下面通过一个实施例对图1、图2所示流程进行描述:

参见图3,图3为本申请实施例提供的示意图。如图3所示,netconf客户端与netconf服务端之间建立了netconf连接。netconf客户端本地记录了网络配置序列表,该网络配置序列表包括100条网络配置(记为配置301至配置401)。

假若需要向netconf服务端下发网络配置,则netconf客户端从网络配置序列表中选择第一条网络配置(记为配置301)。

netconf客户端在通过netconf连接下发配置301之前,先生成与配置301对应的配置日志并记录至指定存储介质。配置日志中至少包括:配置301的id、网络配置下发结果。此时网络配置下发结果取值为用于指示配置301下发失败的第一值比如false。

之后,netconf客户端通过netconf连接向netconf服务端下发配置301。

netconf客户端在下发配置301后的设定时间内检查是否接收到netconf服务端返回的用于响应配置301的配置成功消息。

本实施例以netconf客户端在上述设定时间内接收到netconf服务端返回的配置成功消息为例,则netconf客户端确定配置301成功下发至netconf服务端。此时,netconf客户端将配置301对应的配置日志中的网络配置下发结果从第一值修改为第二值,第二值用于指示配置301下发成功,比如为true。

netconf客户端继续按顺序从网络配置序列表中选择下一条网络配置(记为配置302),然后按照类似配置301的方式处理,以此类推。

在一个例子中,有可能出现:假若netconf客户端按顺序成功下发了50条配置后,再下发第51条配置(记配置351)时,结果发现在下发配置351后的设定时间内未接收到netconf服务端返回的用于响应配置351的配置成功消息,则确定配置351下发失败。此时netconf连接异常,netconf客户端结束网络配置下发。执行到此时,netconf客户端继续维持配置351对应的配置日志中的网络配置下发结果为第一值。

在本实施例中,在netconf连接异常后,netconf客户端会实时或周期检测netconf连接是否恢复正常,当netconf客户端检测到netconf连接从异常恢复为正常后,netconf客户端从指定存储介质记录的配置日志中查找到目标配置日志,目标配置日志是指netconf客户端在所述netconf连接异常前生成的最后一条配置日志,在本实施例中,目标配置日志为满足以下条件的配置日志:网络配置下发结果为第一值,基于上面描述,此时目标配置日志为配置351对应的配置日志。

netconf客户端从已记录的网络配置序列表中查找到目标配置日志中的网络配置id对应的网络配置(即上述的配置351),将查找到网络配置的上一条网络配置(即配置350)确定为目标网络配置。

netconf客户端从目标网络配置(即配置350)的下一条网络配置(即配置351)开始继续执行网络配置下发,这里执行网络配置下发的方式类似上述配置301的处理方式,以此类推,直至所有网络配置下发完成。

在另一个例子中,也有可能出现:netconf客户端按顺序成功下发了50条配置后,在尚未开始第51条配置(记配置351)的下发时,结果发现netconf连接异常。此时,netconf客户端结束网络配置下发。截止到此时,指定存储介质记录的各配置日志中的网络配置下发结果均为第二值。

基于此,在本实施例中,在netconf连接异常后,netconf客户端会实时或周期检测netconf连接是否恢复正常,当netconf客户端检测到netconf连接从异常恢复为正常后,netconf客户端从指定存储介质记录的配置日志中查找到目标配置日志,此时的目标配置日志是指netconf客户端在所述netconf连接异常前生成的最后一条配置日志,在本实施例中,目标配置日志为满足以下条件的配置日志:网络配置下发结果为第二值的配置日志,基于上面描述,此时目标配置日志为配置350对应的配置日志。

netconf客户端从已记录的网络配置序列表中查找到目标配置日志中的网络配置id对应的网络配置(即上述的配置350),将查找到网络配置(即配置350)确定为目标网络配置。

netconf客户端从目标网络配置(即配置350)的下一条网络配置(即配置351)开始继续执行网络配置下发,这里执行网络配置下发的方式类似上述配置301的处理方式,以此类推,直至所有网络配置下发完成。

至此,完成图3所示实施例的描述。

从图3所示实施例可以看出,在本申请中,netconf客户端通过为下发的网络配置生成配置日志,基于配置日志可以直接定位netconf客户端在netconf连接异常前成功下发的最后一条网络配置(即上述的目标网络配置),然后从目标网络配置的下一条网络配置开始继续执行网络配置下发,这实现了netconf客户端在netconf连接恢复正常后不会重复下发之前已下发的网络配置,避免了netconf服务端收到重复的网络配置。

进一步地,本申请基于配置日志可以直接定位netconf客户端在netconf连接异常前成功下发的最后一条网络配置(即上述的目标网络配置),而非从netconf服务端获取netconf服务端已有的网络配置,以及对比网络配置序列中的网络配置与netconf服务端已有的网络配置,节省资源,提高了网络配置从netconf客户端平滑至netconf服务端的效率。

以上对本申请提供的方法进行了描述,下面对本申请提供的装置进行描述:

参见图4,图4为本申请提供的装置结构图。该装置应用于netconf客户端,所述netconf客户端与netconf服务端之间建立了netconf连接,该装置包括:

配置单元,用于通过netconf连接向netconf服务端下发网络配置,并在所述netconf连接异常时,结束网络配置下发;

日志单元,用于所述配置单元在通过netconf连接向netconf服务端下发网络配置的过程中,为下发的每一条网络配置生成对应的配置日志并记录至指定存储介质;配置日志包括网络配置标识id、网络配置下发结果,网络配置下发结果用于表示网络配置是否下发成功;

定位单元,用于在检测到netconf连接从异常恢复为正常时,依据指定存储介质记录的配置日志定位目标网络配置,目标网络配置为所述netconf客户端在所述netconf连接异常前成功下发的最后一条网络配置,以触使所述配置单元从目标网络配置的下一条网络配置开始继续执行网络配置下发,直至所有网络配置下发完成。

在一个例子中,所述日志单元用于所述配置单元在通过所述netconf连接向所述netconf服务端下发每一条网络配置前,先生成与所述网络配置对应的配置日志并记录至指定存储介质,所述配置日志中的网络配置下发结果取值为用于指示网络配置下发失败的第一值;以及,

在所述配置单元通过所述netconf连接向netconf服务端下发所述网络配置后,判断所述网络配置是否成功下发至netconf服务端,若是,触使所述配置单元继续通过所述netconf连接向所述netconf服务端下发下一条网络配置,并将所述配置日志中的网络配置下发结果从所述第一值修改为用于指示网络配置下发成功的第二值,否则,触使所述配置单元结束通过所述netconf连接向netconf服务端下发下一条网络配置,并维持所述配置日志中的网络配置下发结果为第一值。

在一个例子中,所述定位单元从所述指定存储介质记录的配置日志中查找到目标配置日志,所述目标配置日志是指所述netconf客户端在所述netconf连接异常前生成的最后一条配置日志;依据所述目标配置日志从已记录的网络配置序列表中定位出所述目标网络配置。

在一个例子中,所述目标配置日志中的网络配置下发结果为第一值;所述定位单元依据目标配置日志从已记录的网络配置序列表中定位出所述目标网络配置包括:从已记录的网络配置序列表中查找到与所述目标配置日志中的网络配置id对应的网络配置,将查找到网络配置的上一条网络配置确定为所述目标网络配置;或者,

所述目标配置日志中的网络配置下发结果为第二值;所述定位单元依据目标配置日志从已记录的网络配置序列表中定位出所述目标网络配置包括:从已记录的网络配置序列表中查找到与所述目标配置日志中的网络配置id对应的网络配置,将查找到网络配置确定为所述目标网络配置。

至此,完成本申请提供的装置结构描述。

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

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