首页 / 专利库 / 电信 / 节点 / 网络变更的方法及设备

网络变更的方法及设备

阅读:67发布:2021-04-14

专利汇可以提供网络变更的方法及设备专利检索,专利查询,专利分析的服务。并且本 申请 提供了一种网络变更方法及设备,在实现网络变更时可以获得包含至少一个变更步骤的变更方案,在获取每个变更步骤中的配置命令之后,可以按照变更步骤的顺序依次将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,依次完成每个变更步骤。由此,可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,同时整合监控告警能 力 ,快速 感知 故障并自动回滚。,下面是网络变更的方法及设备专利的具体信息内容。

1.一种网络变更方法,其中,该方法包括:
确定网络变更的变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤;
获取每个变更步骤中的配置命令;
按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。
2.根据权利要求1所述的方法,其中,确定网络变更的变更方案,包括:
根据网络变更的流程图确定变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤,所述流程图中的节点表示所述变更步骤,所述流程图中的连线表示变更步骤的顺序。
3.根据权利要求1所述的方法,其中,确定网络变更的变更方案,包括:
根据当前网络的第一网络模型和目标网络的第二网络模型中各个拓扑层的差异信息,确定变更方案,其中,所述网络模型包括多个拓扑层,所述拓扑层用于描述所述网络中的网络设备之间的拓扑关系信息,所述多个拓扑层之间的关联关系与进行数据传输时对数据逐层封装的依赖顺序对应,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤。
4.根据权利要求3所述的方法,其中,该方法还包括:
根据所述多个拓扑层之间的关联关系,确定对应于不同拓扑层的多个变更步骤的顺序。
5.根据权利要求1所述的方法,其中,在将同一变更步骤中对应的多个配置命令发送至网络设备时,将用于不同网络设备的配置命令并行发送至对应的网络设备。
6.根据权利要求1所述的方法,其中,按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤,包括:
按照变更步骤的顺序将所述变更方案中一个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行所述变更步骤对应的配置命令,实现网络变更;
对所述变更步骤对应的网络变更的结果进行校验,若通过校验,则确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
7.根据权利要求6所述的方法,其中,该方法还包括:
若未通过校验,则控制所述网络设备撤销所述变更步骤对应的网络变更。
8.根据权利要求7所述的方法,其中,所述变更步骤对应的配置命令至少包括加载命令、激活命令、检查命令、冻结命令和删除命令;
按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤,包括:
将变更步骤对应的加载命令、激活命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的加载命令、激活命令,实现网络变更;
将变更步骤对应的检查命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的检查命令,对网络变更的结果进行校验,若通过校验,则确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
若校验未通过,将变更步骤对应的冻结命令和删除命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的冻结命令和删除命令,撤销所述加载命令、激活命令实现的网络变更。
9.根据权利要求1所述的方法,其中,该方法还包括:
生成关于每个变更步骤的可视化视图,所述可视化视图用于表示所述变更步骤的完成情况;
向用户提供所述可视化视图。
10.根据权利要求9所述的方法,其中,生成关于每个变更步骤的可视化视图,包括:
获取有限元状态机的当前状态,其中,每个变更步骤的完成情况对应于所述有限元状态机中的一个状态,当一个变更步骤完成时所述有限元状态机进行状态的切换;
根据所述有限元状态机的当前状态生成关于每个变更步骤的可视化视图。
11.根据权利要求1所述的方法,其中,在变更步骤完成后,还包括:
监控与所述网络设备相关的业务指标信息;
在所述业务指标信息出现异常时,控制所述网络设备撤销所述变更步骤对应的网络变更。
12.一种网络变更设备,其中,该设备包括:
方案生成装置,用于确定网络变更的变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤;
配置获取装置,用于获取每个变更步骤中的配置命令;
配置下发装置,用于按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。
13.根据权利要求12所述的设备,其中,所述方案生成装置,用于根据当前网络的第一网络模型和目标网络的第二网络模型中各个拓扑层的差异信息,确定变更方案,其中,所述网络模型包括多个拓扑层,所述拓扑层用于描述所述网络中的网络设备之间的拓扑关系信息,所述多个拓扑层之间的关联关系与进行数据传输时对数据逐层封装的依赖顺序对应,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤。
14.根据权利要求12所述的设备,其中,所述配置下发装置,用于按照变更步骤的顺序将所述变更方案中一个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行所述变更步骤对应的配置命令,实现网络变更;以及对所述变更步骤对应的网络变更的结果进行校验,并在通过校验时,确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
15.根据权利要求14所述的设备,其中,所述配置下发装置,还用于在未通过校验时,控制所述网络设备撤销所述变更步骤对应的网络变更。
16.根据权利要求15所述的设备,其中,所述变更步骤对应的配置命令至少包括加载命令、激活命令、检查命令、冻结命令和删除命令;
所述配置下发装置,用于将变更步骤对应的加载命、激活命令令发送至网络设备,以使所述网络设备执行所述变更步骤对应的加载命令、激活命令,实现网络变更;将变更步骤对应的检查命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的检查命令,对网络变更的结果进行校验,并在通过校验时,确定完成所述变更步骤,并按照顺序处理下一个变更步骤;以及在校验未通过时,将变更步骤对应的冻结命令和删除命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的冻结命令和删除命令,撤销所述加载命令、激活命令实现的网络变更。
17.一种计算设备,包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至11中任一项所述的方法。

说明书全文

网络变更的方法及设备

技术领域

[0001] 本申请涉及信息技术领域,尤其涉及一种网络变更的方法及设备。

背景技术

[0002] 相比于服务器,存储或其它变更,网络变更的突出特征在于场景繁多,复杂度高,故障影响面极广且溯源困难。一旦变更导致网络故障,轻则导致业务指标下跌,重则导致机房离线,承载的业务陷入瘫痪。这种故障不仅造成直接或间接经济损失,甚至可能对产品和公司带来负面的社会影响。
[0003] 随着网络规模的快速增长,网络变更的需求也会随之激增,网络稳定性的保障和业务扩张的需求会直接转化为高频海量的网络变更。海量的网络变更需求给传统变更方法带来了极大挑战,从效率和稳定性两个方面暴露为以下问题:1、人工变更操作效率低下,变更过程依赖于网工的经验,无法对变更过程进行细粒度的控制,易出现误操作甚至引发故障。2、经验积累和操作规范全部线下维护,难以管理,缺乏强约束。3、网络变更的整个生命周期各阶段缺乏有效的管理。4、变更执行过程不可控,执行过程中基本处于黑盒状态,无法了解变更的执行情况。5、变更过程出现问题时缺乏快速定位和故障恢复能
[0004] 申请内容
[0005] 本申请的一个目的是提供一种网络变更的方法及设备,用以解决无法对变更过程进行细粒度的控制的问题。
[0006] 为实现上述目的,本申请提供了一种网络变更方法,该方法包括:
[0007] 确定网络变更的变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤;
[0008] 获取每个变更步骤中的配置命令;
[0009] 按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。
[0010] 本申请实施例还提供了一种网络变更设备,该设备包括:
[0011] 方案生成装置,用于确定网络变更的变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤;
[0012] 配置获取装置,用于获取每个变更步骤中的配置命令;
[0013] 配置下发装置,用于按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。
[0014] 此外,本申请实施例还提供了一种计算设备,包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的网络变更方法。
[0015] 本申请提供的一种网络变更方案中,在实现网络变更时可以获得包含至少一个变更步骤的变更方案,在获取每个变更步骤中的配置命令之后,可以按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。由此,可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,减小网络变更带来的的影响和险。附图说明
[0016] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0017] 图1为本申请实施例提供的一种网络变更方法的处理流程图
[0018] 图2为本申请实施例中配置网络时当前网络和目标网络的示意图;
[0019] 图3为本申请实施例中配置网络时的变更方案的示意图;
[0020] 图4为本申请实施例中在配置过程中进行检查时的处理流程图;
[0021] 图5为本申请实施例中按照变更步骤的顺序完成每个变更步骤过程中的处理流程图;
[0022] 图6为本申请实施例的网路变更方法所提供的一种可视化视图的示意图;
[0023] 图7为本申请实施例提供中生成网络模型的处理流程图;
[0024] 图8为本申请实施例的网络中物理拓扑层的拓扑图;
[0025] 图9为本申请实施例的网络中逻辑拓扑层的拓扑图;
[0026] 图10为本申请实施例的网络中BGP协议拓扑层的拓扑图;
[0027] 图11为本申请实施例提供的一种网络变更设备的结构示意图;
[0028] 图12为本申请实施例提供的一种计算设备的结构示意图;
[0029] 附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

[0030] 下面结合附图对本申请作进一步详细描述。
[0031] 在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0032] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0033] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0034] 本申请实施例提供了一种网络变更方法,该方法能够获得包含至少一个变更步骤的变更方案,在进行网络变更时可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,减小网络变更带来的的影响和风险。在本申请实施例中,上述方法的执行主体可以包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
[0035] 图1示出了本申请实施例提供的一种网络变更方法,其中,该方法包括:
[0036] 步骤S101,确定网络变更的变更方案。所述当前网络是指在进行网络变更之前的网络,而目标网络是网络变更完成之后预期的网络,本方法的目的在于通过向网络设备下发配置命令,使得当前网络变更为目标网络。
[0037] 在本申请的一种实施例中,可以根据网络变更的流程图确定变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤。所述流程图可以由节点和节点之间的带方向的连线组成,其中,所述节点表示所述变更步骤,而连线表示变更步骤的顺序。例如,节点A和节点B之间可以分别表示两个变更步骤,而节点A和节点B之间的连线可以是带箭头的连线,若其箭头方向由节点A指向节点B,则表示两个变更步骤的顺序为先执行节点A对应的变更步骤,再执行节点B对应的变更步骤,而当变更方案中仅有一个变更步骤时,所述流程图可以仅由一个节点组成,而不包含表示变更步骤的顺序的连线。
[0038] 由于网络变更时确定变更方案的传统思路是将复杂的变更SOP(Standard Operating Procedure,标准操作程序)以脚本或程序的形式实现,但操作人员的实际平差异较大的客观现状决定了这种方法使用户学习曲线十分陡峭,也很难维护和扩展。而本实施例的方案中,在确定变更方案时可以根据网络变更的流程图确定变更方案,由此可以规范变更方案的制定过程。例如,可以向网络变更的操作人员提供流程图的编辑功能,使得操作人员可以使用编辑功能将变更SOP以一种流程图的形式输入,通过对流程图中涉及的变更步骤以及顺序,实现为变更方案。相对传统的方案,具备可读性强,易于维护,和灵活扩展的优势,可以大幅提升获得变更方案的效率。
[0039] 在本申请的一种实施例中,可以根据当前网络的第一网络模型和目标网络的第二网络模型中各个拓扑层的差异信息,确定变更方案。其中,第一和第二网络模型包括多个拓扑层,所述拓扑层用于描述所述网络中的网络设备之间的拓扑关系信息,所述多个拓扑层之间的关联关系与进行数据传输时对数据逐层封装的依赖顺序对应,因此基于所述网络模型可以快速准确地确定当前网络和目标网络之间的差异信息,这些差异信息即对应本次网络变更时配置命令中所需要使用到与网络设备相关的配置变量。
[0040] 而所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤。为便于说明,以其中一个拓扑层为例,图2示出了网络模型中对应于BGP(Border Gateway Protocol,边界网关协议)的拓扑层的拓扑关系,其中的节点WAN、DCA和DCB分别表示的网络设备,210表示当前网络的网络模型中的BGP协议拓扑层,220表示目标网络的网络模型中的BGP协议拓扑层,通过比较拓扑层210和拓扑层220,可以确定进行网络变更前后该拓扑层的差异信息,从而确定出变更方案。所述变更方案包括了将当前网络变更至目标网络所需的至少一个变更步骤,仍以该拓扑层为例,可以包含如图3所示的三个变更步骤Step1、Step2和Step3。
[0041] 在此,本领域技术人员应当理解,在BGP协议对应的拓扑层发生变化的同时,其它拓扑层也可能需要发生相应的变更。具体变更的内容与实际网络的构架相关,例如LACP(Link Aggregation Control Protocol,链路汇聚控制协议)对应的拓扑层需要改变链路的聚合策略、Segment Routing协议拓扑层中的转发路径可能也会发生相应的变化等,其它拓扑层的变化也会有对应的变更步骤。
[0042] 步骤S102,获取每个变更步骤中的配置命令。每个步骤中所需要使用的配置命令与每个变更步骤完成前后的网络模型的差异信息相关,该差异信息即为每个变更步骤对应的配置变量,可以用于生成配置命令。
[0043] 例如以图2为例,由于需要加入新的节点MAN,并且节点WAN和DCA、DCB之间拓扑关系会发生改变,因此在第一网络模型和第二网络模型中,BGP协议拓扑层会产生差异,例如自治系统的划分、邻居关系需要发生变化、路由策略需要改变等,这些发生变化的差异信息需要通过配置的改变来实现,由此会有对应的配置变量。
[0044] 在实际场景中,由于不同厂商之间会有不同的标准,不同厂商的网络设备在实现相同的配置操作时,其配置命令可能会不同,因此可以预先存储各个厂商的配置命令模版,当需要生成关于某一厂商的设备的配置命令时,根据所述配置变量对应的网络设备,获取与所述网络设备的厂商相关的配置命令模版,然后将所述配置命令模版中的变量值替换为所述待变更的配置变量,由此可以快速生成与所述网络设备的厂商相关的配置命令。
[0045] 步骤S103,按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。
[0046] 变更方案中,对应于同一拓扑层的各个变更步骤在执行时需要按照特定顺序,以保证网络变更能够顺利、平滑地完成,例如图3所示的三个变更步骤Step1、Step2和Step3。而对于对应于不同拓扑层的多个变更步骤,则可以根据所述多个拓扑层之间的关联关系,确定对应于不同拓扑层的多个变更步骤的顺序。例如,对于LACP和BGP的拓扑层,两者分别为二层和三层的协议,数据封装时先封装TCP包头再封装IP包头,数据封装时的依赖顺序相邻,因此BGP拓扑层与LACP拓扑层会与存在关联关系。由此,关于LACP拓扑层和BGP拓扑层的变更步骤,一般会根据协议之间的关联关系,先执行下层协议的拓扑层对应的变更步骤,再执行上层协议的拓扑层对应的变更步骤。
[0047] 以图3所示的变更方案为例,可以先将变更步骤Step1对应的配置命令发送给网络设备,使得网络设备执行,从而完成变更步骤Step1,此时该网络中BGP拓扑层的拓扑关系会变化为220。在实际场景中,一个变更步骤中会包含多个拓扑层的变更,根据拓扑层之间的关联关系先后或者同步进行,例如依赖于BGP协议的其它协议对应的拓扑层,需要在BGP协议拓扑层变更完成之后或者同步进行,由于每个拓扑层对应的网络变更的方式类似,下发相应的配置命令由网络设备执行即可,因此此处不再赘述。
[0048] 在完成变更步骤Step1后,将变更步骤Step2对应的配置命令发送给网络设备,使得网络设备执行,从而完成变更步骤Step2,此时该网络中BGP拓扑层的拓扑关系会变化为230,进而变更步骤Step4之后该网络中BGP拓扑层的拓扑关系变化为目标网络中的中BGP拓扑层240。由此,逐步由当前网络过渡至目标网络,可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,减小网络变更带来的的影响和风险。
[0049] 本申请实施例提供的方法中,在将同一变更步骤中对应的多个配置命令发送至网络设备时,可以将用于不同网络设备的配置命令并行发送至对应的网络设备,以使不同网络设备的配置变更任务可以并发执行。例如在图3中,在将拓扑关系由210变更至220的过程中,会涉及4个网络设备,分别为节点WAN、MAN、DCA和DCB,每个网络设备都需要进行执行相应的配置命令才可以将拓扑关系由210变更至220。此时,可以将相应的配置命令并行发送至节点WAN、MAN、DCA和DCB,使其可以并发地执行。相较于人工方式进行网络变更时,操作人员需要登陆网络设备,输入配置命令,因此同一操作人员的动作必然是串行操作,在保证了精细控制的同时,极大提升变更的执行效率。
[0050] 在按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤的过程中,若其中一个变更步骤出现问题,例如某一个网络设备的某项配置未修改成功,此时后续的变更步骤将无法进行。因此,可以在每个步骤完成时对过渡状态的网络进行检查,以确保每一个变更步骤都正确的完成。图4示出了在配置过程中进行检查的处理流程,包括以下的处理步骤:
[0051] 步骤S401,按照变更步骤的顺序将所述变更方案中一个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行所述变更步骤对应的配置命令。例如,例如首先发送第一个变更步骤Step1对应的配置命令,在网络设备执行并通过检查之后,再发送第二个变更步骤Step2对应的配置命令,以此类推直至发送完所有变更步骤对应的配置命令。
[0052] 步骤S402,对所述变更步骤对应的网络变更的结果进行校验。
[0053] 步骤S403,若通过校验,则确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
[0054] 步骤S404,若未通过校验,则控制所述网络设备撤销所述变更步骤对应的网络变更。
[0055] 在本申请的一种实施例中,对网络变更的结果进行校验时,可以采用如下的方式:先获取执行配置命令后当前网络的第三网络模型,例如图3中变更步骤Step1实际完成后会形成过渡状态的网络,可以在配置命令执行完成之后获取该网络对应的第三网络模型,该第三网络模型可以表示实际网络变更的结果。
[0056] 而在理想状态下,若变更步骤Step1顺利完成将会形成一个预期的网络变更的结果,该结果对应的网络模型可以记为第四网络模型。将所述第三网络模型与所述变更步骤完成后预期的第四网络模型进行比较。若所述第三网络模型和所述第四网络模型一致,则表示变更步骤中的配置命令已经顺利执行,由此可以确定完成所述变更步骤,并按照顺序重新由步骤S401开始处理下一个变更步骤,直至完成所有变更步骤。
[0057] 若所述第三网络模型和所述第四网络模型不一致,则表示变更步骤中的配置命令未顺利执行,此时可以控制所述网络设备撤销所述变更步骤对应的配置命令,以恢复到变更前的初始状态。此时,可以选择重新执行配置命令,尝试继续完成配置命令对应的网络变更。由此,通过在每个变更步骤之后进行检查的方式,可以保证每一个变更步骤的原子性,避免因部分变更出现问题而导致网络变更不可控。
[0058] 由于在实际场景中,部署于网络中的各类业务会依赖于网络所提供的互联环境,因此网络变更的过程中有可能会对各类业务的对外服务产生影响,例如造成业务指标异常等。由此,本申请实施例的方案中,还可以监控与所述网络设备相关的业务指标信息,若在某一个变更步骤完成之后所述业务指标信息出现异常,则表示该变更步骤会影响到依赖于网络设备的业务,控制所述网络设备撤销所述变更步骤对应的网络变更。
[0059] 为了确保每个变更步骤的原子性,在生成配置命令时即可获得包括加载命令(do)、激活命令(activate)、冻结命令(deactivate)、删除命令(undo)和检查命令(check)在内的5个配置命令。例如,以BGP协议为例,对一个网络设备进行BGP路由的配置时,加载命令(do)可以是如下命令,用于在网络设备中加载这些配置信息并处于未生效的状态。
[0060] Router bgp${Local ASN}
[0061] neighbor${PeerIP}peer-group
[0062] neighbor${PeerIP}remote-as${PeerASN}
[0063] neighbor${PeerIP}route-policy${PeerName}_IN in
[0064] neighbor${PeerIP}route-policy${PeerName}_OUT out
[0065] 激活命令(activate)可以是如下命令,用于让加载的配置生效。
[0066] neighbor${PeerIP}activate
[0067] 冻结命令(deactivate)可以是如下命令,用于让已生效的配置失效。
[0068] no neighbor${PeerIP}activate
[0069] 删除命令(undo)可以是如下命令,用于删除已加载的配置,确保网络设备的配置恢复到配置加载之前的初始状态。
[0070] Router bgp${Local ASN}
[0071] no neighbor${PeerIP}peer-group
[0072] 检查命令(check)可以是如下命令,用于对已经生效的配置进行校验,检查配置是否正确。
[0073] show ipbgp neighbors${PeerIP}
[0074] 其中,${}表示配置命令中的配置变量,通过生成上述的配置命令,可以保证任何一个变更步骤对应的配置命令在生成时覆盖了所有关键功能,能够在网络变更的配置生效之后进行检查,并且在故障发生时利用无需仓促寻找回滚方案,在变更执行前就保证了变更方案的完整性和故障恢复能力。
[0075] 由此,本申请实施例的网络变更方法在按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤的过程中,可以采用如图5所示的处理流程:
[0076] 步骤S501,将变更步骤对应的加载命令、激活命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的加载命令、激活命令,实现网络变更。
[0077] 步骤S502,将变更步骤对应的检查命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的检查命令,对网络变更的结果进行校验。
[0078] 步骤S503,若通过校验,则确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
[0079] 步骤S504,若校验未通过,将变更步骤对应的冻结命令和删除命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的冻结命令和删除命令,撤销所述加载命令、激活命令实现的网络变更。
[0080] 在传统的网络变更方式中,操作人员需要同时登陆多个网络设备进行配置命令的操作和状态检查,同时关注多个工具平台,以便在变更触发故障时快速感知并回滚。在网络变更任务较为复杂情况下,这种方式极易引入人为错误,如拷贝粘贴命令出错,忽略关键报警信息等。另一方面,若网络变更的任务全部依赖脚本程序来执行,会使得变更过程对操作人员来说成为一个黑盒系统,无法感知每次变更过程中的风险。
[0081] 为解决上述问题,本申请实施例提供的一种网络变更方法中,还可以生成关于每个变更步骤的可视化视图,并向用户提供所述可视化视图。所述可视化视图用于表示变更步骤的完成情况,以一次网络变更的变更方案为例,其中包含N个变更步骤,该可视化视图中则可以包含N个对应与每个变更步骤的可视化框体,例如图6即为一种可视化视图的部分内容,其中包含两个可视化框体610、620,分别对两个应变更步骤“自动化任务【14】流量恢复及流量检查”、“自动化任务【15】打开monitor-link和OPS”。当其中可视化框体610对应的变更步骤完成之后,该可视化框体可以改变显示的内容(例如增加完成的标记、改变色彩等),使得用户可以明确地获知变更步骤的完成情况。
[0082] 在可视化视图时,可以利用FSM(Finite State Machine,有限元状态机),使得每个变更步骤的完成情况对应于所述有限元状态机中的一个状态,当一个变更步骤完成时所述有限元状态机进行状态的切换,由此可以通过FSM的状态变化来自动跟踪变更方案的完成情况。本申请实施例中,在生成关于每个变更步骤的可视化视图时,可以先获取有限元状态机的当前状态,然后根据所述有限元状态机的当前状态生成关于每个变更步骤的可视化视图。以图6的可视化视图为例,FSM的状态1-15分别表示变更方案中前1-15个变更步骤都完成的情况,此时若第14个变更步骤“自动化任务【14】流量恢复及流量检查”已完成,所述有限元状态机会进行状态的切换,由状态13切换至状态14,由此可以获取有限元状态机的当前状态为状态14。根据该当前状态,生成的可视化视图中可视化框体610可以改变显示的内容,表示该可视化框体610对应的变更步骤“自动化任务【14】流量恢复及流量检查”已完成。
[0083] 此外,在本申请实施例的方案中,获取当前网络的第一网络模型时,可以通过获取当前网络中各个网络设备的配置信息,进而基于这些配置信息和预设的规则来自动生成第一网络模型。而目标网络的第二网络模型,可以由网络管理员在第一网络模型的基础上直接修改获得,也可以基于需要的目标网络的配置信息和预设的规则来自动生成。
[0084] 基于网络的配置信息和预设的规则来自动生成网络模型时,可以采用如图7所示的处理流程,包括以下步骤:
[0085] 步骤S701,获取网络的配置信息。在实际场景中,网络内会包含多个网络设备,所述网络设备是指在网络中用于实现数据互联的设备,例如可以包括中继器、网桥、路由器、网关、防火墙、交换机等,其数量根据网络规模的大小而定,对于大规模的网络,其包含的网络设备的数量亦会十分庞大。
[0086] 在获取网络的配置信息时,可以先获取网络中每个网络设备的配置文本。配置文本一般会以配置文件的形式保存,由此可以向每个网络设备调取其当前的配置文件,或者可以由同一保存网络中每个网络设备配置文件的数据库(例如网络的配置中心)中调取这些配置文件,进而从配置文件中读取相应的配置文本。由于配置信息会以特定格式形成配置文本,因此在读取到配置文件之后,可以解析所述配置文本,获取每个网络设备的配置信息。例如,配置文本中某部分的内容如下:
[0087] IPADDR=192.168.0.110
[0088] NETMASK=255.255.255.0
[0089] BROADCAST=192.168.0.255
[0090] GATEWAY=192.168.0.1
[0091] DNS1=202.202.202.222
[0092] DNS2=222.222.222.222
[0093] 其具有一定格式,例如“IPADDR=”之后“X.X.X.X”形式的内容为IP地址,“NETMASK=”之后“X.X.X.X”形式的内容为子网掩码。由此,通过解析该部分配置文本可以获知,该网络设备相关配置信息:IP地址为192.168.0.110、子网掩码为255.255.255.0、广播地址为192.168.0.255,网关地址为192.168.0.1,域名系统地址为202.202.202.222和
222.222.222.222。在此,本领域技术人员应当理解,上述配置文本中包含的内容仅为举例,实际场景中配置文本将包含更多的内容,并且由于不同网络设备在网络中起到的作用不同,不同网络设备对应的配置文本中包含的内容也会有所不同。
[0094] 在解析获得配置信息之后,可以关联所述网络设备,从而获取所述获取网络的配置信息。在关联所述网络设备时,可以利用配置信息中能够描述各个网络设备之间关联关系的信息,例如通过路由表可以确定一个网络设备在接收到数据包时会将该数据包发送至哪个网络设备,由此可以确定两个网络设备之间会存在关联。通过关联网络内的网络设备,可以组合各个网络设备的配置信息,进而获得这些网络设备所在的整个网络的配置信息。
[0095] 步骤S702,根据所述网络的配置信息,确定所述网络对应的网络模型中的多个拓扑层。
[0096] 在实际场景中,所述拓扑层至少包括物理拓扑层和协议拓扑层,为了可以生成物理拓扑层和协议拓扑层,网络的配置信息中至少需要包括网络设备之间的物理链路、所述网络设备之间进行数据传输所使用的协议、所述网络设备之间关于所述协议的连接路径和所述协议的属性,由此,可以根据所述网络设备之间的物理链路确定物理拓扑层,并根据所述网络设备之间进行数据传输所使用的协议、所述网络设备之间关于所述协议的连接路径和所述协议的属性,确定多个协议拓扑层。其中,所述物理拓扑层用于描述所述网络设备之间在物理链路上的拓扑关系信息,例如两个网络设备是否通过通信线缆连接,而所述协议拓扑层用于描述所述网络设备之间关于对应协议的拓扑关系信息,例如两个网络设备是否为协议上的邻居关系(Neighbor),每个拓扑层包含的信息可以采用拓扑图的方式来表示。
[0097] 对于物理拓扑层,网络设备之间在物理链路上的拓扑关系信息包括网络设备的节点标识以及网络设备之间连接的物理链路。例如,图8为物理拓扑层的拓扑图,其中,网络设备的节点标识为节点WAN、DCA和DCB,分别表示三个网络设备,两个节点之间的连线表示两个网络设备之间存在的物理链路,例如通过网线连接了两个网络设备。其中,节点WAN和节点DCA之间具有两条物理链路,两端的物理端口分别为eth1和eth2,节点WAN和节点DCB之间具有一条物理链路,两端的物理端口为eth3,节点DCA和节点DCB之间具有一条物理链路,两端的物理端口为eth4,由此可知节点WAN、DCA和DCB两两之间均存在连接的物理链路。
[0098] 图9和图10为两个协议拓扑层。其中图9对应LACP(Link Aggregation Control Protocol,链路汇聚控制协议),节点WAN、DCA和DCB分别表示三个网络设备,两个节点之间的连线表示两个网络设备之间存在的逻辑链路,因此LACP对应的协议拓扑层也可以称为逻辑拓扑层。图10对应BGP(Border Gateway Protocol,边界网关协议),节点WAN、DCA和DCB分别表示三个网络设备,对应三个AS(Autonomous System,自治系统),节点WAN和节点DCA之间的连线以及节点WAN和节点DCB之间的连线,表示两者之间分别为邻居关系。
[0099] 对于协议拓扑层,所述网络设备之间关于对应协议的拓扑关系信息可以包括网络设备的节点标识以及网络设备之间关于对应协议的连接路径。例如图9中,节点WAN和节点DCA之间具有一条逻辑链路,该条逻辑链路的PC(port channel,端口隧道)汇聚了两个物理端口eth1和eth2,聚合为一个逻辑端口,由此将两条物理链路汇聚为一条逻辑链路,该条逻辑链路即为节点WAN和节点DCA之间关于LACP的连接路径。该条逻辑链路两端的逻辑端口所汇聚的物理端口以及IP地址分别为192.168.0.1和192.168.0.0,即为LACP的属性。节点WAN和节点DCB之间具有一条逻辑链路,对应一条物理链路,逻辑端口和物理端口一一对应,两端的端口IP地址分别为192.168.1.1和192.168.1.0。类似地,节点DCA和节点DCB之间同样具有一条逻辑链路。
[0100] 图10中,节点WAN、DCA和DCB所对应三个AS的ASN(Autonomous System Number,自治系统号)分别为100、300和400。节点WAN和节点DCA之间的连线以及节点WAN和节点DCB之间的连线,表示两者分别为邻居关系,并且包含了数据接收和发送时的路由策略,该路由策略为BGP的属性,例如对于节点WAN,“IN=allow prefix-list DCB.net”为BGP协议在该节点上的入方向策略,表示节点WAN允许接收DCB.net这条路由的数据。而“OUT=allow prefix-list agg=10.0.0.0/8”为BGP协议在该节点上的出方向策略,表示节点WAN允许发送10.0.0.0/8这条路由的数据。类似地,对于节点DCB,“IN==allow prefix-list agg=10.0.0.0/8”为BGP协议在该节点上的入方向策略,表示节点DCB允许接收10.0.0.0/8这条路由的数据,而“OUT=allow prefix-list DCB.net”为BGP协议在该节点上的出方向策略,表示节点DCB允许发送DCB.net这条路由的数据。
[0101] 步骤S703,根据数据传输时对数据逐层封装的依赖顺序,确定所述多个拓扑层之间的关联关系,由此可以生成分层的网络模型,以用于实现网络变更。
[0102] 由于数据在传输时需要添加相应的包头来进行封装,为相关协议的工作提供信息,例如BGP协议工作时需要依赖IP包头。数据在添加包头时会存在一定的依赖关系,例如“数据|TCP包头|IP包头|MPLS包头”为数据封装时的一种依赖顺序,即数据在发送时会先在头部加上添加TCP包头,包含TCP相关的四层协议工作所需的信息,然后在TCP包头之外再添加IP包头,包含IP相关的三层协议工作所需的信息,IP包头之外还可以添加MPLS包头,使得数据包可以利用标记(label)进行数据转发。在实际场景中,根据网络构架的不同,IP包头之外还可以添加MAC包头,为二层协议工作提供必要的信息。
[0103] 在确定所述多个拓扑层之间的关联关系时,物理拓扑层会与二层协议对应的协议拓扑层之间的关联关系,例如LACP的协议拓扑层(逻辑拓扑层),而对于协议拓扑层,仅有数据封装的依赖顺序相邻的协议拓扑层之间会存在关联关系,例如BGP协议拓扑层与LACP协议拓扑层会与存在关联关系,若节点DCA的配置信息中存在多个VRF(Virtual Routing Forwarding),则BGP协议拓扑层中的多个节点会关联到LACP协议拓扑层中的一个节点。而赖顺序相邻的协议拓扑层之间则不会存在关联关系,例如BGP协议拓扑层不会跨过LACP协议拓扑层,而直接与物理拓扑层进行存在关联关系。
[0104] 基于同一发明构思,本申请实施例中还提供了网络变更设备,所述设备对应的方法是前述实施例中的网络变更方法,并且其解决问题的原理与所述方法相似。
[0105] 本申请实施例提供了一种网络变更设备,该设备在实现网络变更时可以获得包含至少一个变更步骤的变更方案,在进行网络变更时可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,减小网络变更带来的的影响和风险。在本申请实施例中,上述设备可以包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
[0106] 图11示出了本申请实施例提供的一种网络变更设备,其中,该设备包括方案生成装置1110、配置获取装置1120和配置下发装置1130。其中,方案生成装置1110用于确定网络变更的变更方案。所述当前网络是指在进行网络变更之前的网络,而目标网络是网络变更完成之后预期的网络,本设备的目的在于通过向网络设备下发配置命令,使得当前网络变更为目标网络。
[0107] 在本申请的一种实施例中,方案生成装置可以根据网络变更的流程图确定变更方案,其中,所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤,所述流程图可以由节点和节点之间的带方向的连线组成,其中,所述节点表示所述变更步骤,而连线表示变更步骤的顺序。例如,节点A和节点B之间可以分别表示两个变更步骤,而节点A和节点B之间的连线可以是带箭头的连线,若其箭头方向由节点A指向节点B,则表示两个变更步骤的顺序为先执行节点A对应的变更步骤,再执行节点B对应的变更步骤,而当变更方案中仅有一个变更步骤时,所述流程图可以仅由一个节点组成,而不包含表示变更步骤的顺序的连线。
[0108] 由于网络变更时确定变更方案的传统思路是将复杂的变更SOP(Standard Operating Procedure,标准操作程序)以脚本或程序的形式实现,但操作人员的实际水平差异较大的客观现状决定了这种方法使用户学习曲线十分陡峭,也很难维护和扩展。而本实施例的方案中,在确定变更方案时可以根据网络变更的流程图确定变更方案,由此可以规范变更方案的制定过程。例如,可以向网络变更的操作人员提供流程图的编辑功能,使得操作人员可以使用编辑功能将变更SOP以一种流程图的形式输入,通过对流程图中涉及的变更步骤以及顺序,实现为变更方案。相对传统的方案,具备可读性强,易于维护,和灵活扩展的优势,可以大幅提升获得变更方案的效率。
[0109] 在本申请的一种实施例中,方案生成装置可以根据当前网络的第一网络模型和目标网络的第二网络模型中各个拓扑层的差异信息,确定变更方案。其中,第一和第二网络模型包括多个拓扑层,所述拓扑层用于描述所述网络中的网络设备之间的拓扑关系信息,所述多个拓扑层之间的关联关系与进行数据传输时对数据逐层封装的依赖顺序对应,因此基于所述网络模型可以快速准确地确定当前网络和目标网络之间的差异信息,这些差异信息即对应本次网络变更时配置命令中所需要使用到与网络设备相关的配置变量。
[0110] 而所述变更方案包括将当前网络变更至目标网络所需的至少一个变更步骤。为便于说明,以其中一个拓扑层为例,图2示出了网络模型中对应于BGP(Border Gateway Protocol,边界网关协议)的拓扑层的拓扑关系,其中的节点WAN、DCA和DCB分别表示的网络设备,210表示当前网络的网络模型中的BGP协议拓扑层,220表示目标网络的网络模型中的BGP协议拓扑层,通过比较拓扑层210和拓扑层220,可以确定进行网络变更前后该拓扑层的差异信息,从而确定出变更方案。所述变更方案包括了将当前网络变更至目标网络所需的至少一个变更步骤,仍以该拓扑层为例,可以包含如图3所示的三个变更步骤Step1、Step2和Step3。
[0111] 在此,本领域技术人员应当理解,在BGP协议对应的拓扑层发生变化的同时,其它拓扑层也可能需要发生相应的变更。具体变更的内容与实际网络的构架相关,例如LACP(Link Aggregation Control Protocol,链路汇聚控制协议)对应的拓扑层需要改变链路的聚合策略、Segment Routing协议拓扑层中的转发路径可能也会发生相应的变化等,其它拓扑层的变化也会有对应的变更步骤。
[0112] 配置获取装置1120用于获取每个变更步骤中的配置命令。每个步骤中所需要使用的配置命令与每个变更步骤完成前后的网络模型的差异信息相关,该差异信息即为每个变更步骤对应的配置变量,可以用于生成配置命令。
[0113] 例如以图2为例,由于需要加入新的节点MAN,并且节点WAN和DCA、DCB之间拓扑关系会发生改变,因此在第一网络模型和第二网络模型中,BGP协议拓扑层会产生差异,例如自治系统的划分、邻居关系需要发生变化、路由策略需要改变等,这些发生变化的差异信息需要通过配置的改变来实现,由此会有对应的配置变量。
[0114] 在实际场景中,由于不同厂商之间会有不同的标准,不同厂商的网络设备在实现相同的配置操作时,其配置命令可能会不同,因此可以预先存储各个厂商的配置命令模版,当需要生成关于某一厂商的设备的配置命令时,根据所述配置变量对应的网络设备,获取与所述网络设备的厂商相关的配置命令模版,然后将所述配置命令模版中的变量值替换为所述待变更的配置变量,由此可以快速生成与所述网络设备的厂商相关的配置命令。
[0115] 配置下发装置1130用于按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。
[0116] 变更方案中,对应于同一拓扑层的各个变更步骤在执行时需要按照特定顺序,以保证网络变更能够顺利、平滑地完成,例如图3所示的三个变更步骤Step1、Step2和Step3。而对于对应于不同拓扑层的多个变更步骤,则可以根据所述多个拓扑层之间的关联关系,确定对应于不同拓扑层的多个变更步骤的顺序。例如,对于LACP和BGP的拓扑层,两者分别为二层和三层的协议,数据封装时先封装TCP包头再封装IP包头,数据封装时的依赖顺序相邻,因此BGP拓扑层与LACP拓扑层会与存在关联关系。由此,关于LACP拓扑层和BGP拓扑层的变更步骤,一般会根据协议之间的关联关系,先执行下层协议的拓扑层对应的变更步骤,再执行上层协议的拓扑层对应的变更步骤。
[0117] 以图3所示的变更方案为例,可以先将变更步骤Step1对应的配置命令发送给网络设备,使得网络设备执行,从而完成变更步骤Step1,此时该网络中BGP拓扑层的拓扑关系会变化为220。在实际场景中,一个变更步骤中会包含多个拓扑层的变更,根据拓扑层之间的关联关系先后或者同步进行,例如依赖于BGP协议的其它协议对应的拓扑层,需要在BGP协议拓扑层变更完成之后或者同步进行,由于每个拓扑层对应的网络变更的方式类似,下发相应的配置命令由网络设备执行即可,因此此处不再赘述。
[0118] 在完成变更步骤Step1后,将变更步骤Step2对应的配置命令发送给网络设备,使得网络设备执行,从而完成变更步骤Step2,此时该网络中BGP拓扑层的拓扑关系会变化为230,进而变更步骤Step4之后该网络中BGP拓扑层的拓扑关系变化为目标网络中的中BGP拓扑层240。由此,逐步由当前网络过渡至目标网络,可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,减小网络变更带来的的影响和风险。
[0119] 本申请实施例提供的设备中,配置下发装置在将同一变更步骤中对应的多个配置命令发送至网络设备时,可以将用于不同网络设备的配置命令并行发送至对应的网络设备,以使不同网络设备的配置变更任务可以并发执行。例如在图3中,在将拓扑关系由210变更至220的过程中,会涉及4个网络设备,分别为节点WAN、MAN、DCA和DCB,每个网络设备都需要进行执行相应的配置命令才可以将拓扑关系由210变更至220。此时,可以将相应的配置命令并行发送至节点WAN、MAN、DCA和DCB,使其可以并发地执行。相较于人工方式进行网络变更时,操作人员需要登陆网络设备,输入配置命令,因此同一操作人员的动作必然是串行操作,在保证了精细控制的同时,极大提升变更的执行效率。
[0120] 在按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤的过程中,若其中一个变更步骤出现问题,例如某一个网络设备的某项配置未修改成功,此时后续的变更步骤将无法进行。因此,可以在每个步骤完成时对过渡状态的网络进行检查,以确保每一个变更步骤都正确的完成。图4示出了在配置过程中配置下发装置1130进行检查的处理流程,包括以下的处理步骤:
[0121] 步骤S401,按照变更步骤的顺序将所述变更方案中一个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行所述变更步骤对应的配置命令。例如,例如首先发送第一个变更步骤Step1对应的配置命令,在网络设备执行并通过检查之后,再发送第二个变更步骤Step2对应的配置命令,以此类推直至发送完所有变更步骤对应的配置命令。
[0122] 步骤S402,对所述变更步骤对应的网络变更的结果进行校验。
[0123] 步骤S403,若通过校验,则确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
[0124] 步骤S404,若未通过校验,则控制所述网络设备撤销所述变更步骤对应的网络变更。
[0125] 在本申请的一种实施例中,配置下发装置对网络变更的结果进行校验时,可以采用如下的方式:先获取执行配置命令后当前网络的第三网络模型,例如图3中变更步骤Step1实际完成后会形成过渡状态的网络,可以在配置命令执行完成之后获取该网络对应的第三网络模型,该第三网络模型可以表示实际网络变更的结果。
[0126] 而在理想状态下,若变更步骤Step1顺利完成将会形成一个预期的网络变更的结果,该结果对应的网络模型可以记为第四网络模型。配置下发装置会将所述第三网络模型与所述变更步骤完成后预期的第四网络模型进行比较。若所述第三网络模型和所述第四网络模型一致,则表示变更步骤中的配置命令已经顺利执行,由此配置下发装置可以确定完成所述变更步骤,并按照顺序重新由步骤S401开始处理下一个变更步骤,直至完成所有变更步骤。
[0127] 若所述第三网络模型和所述第四网络模型不一致,则表示变更步骤中的配置命令未顺利执行,此时配置下发装置可以控制所述网络设备撤销所述变更步骤对应的配置命令,以恢复到变更前的初始状态。此时,配置下发装置可以选择重新执行配置命令,尝试继续完成配置命令对应的网络变更。由此,通过在每个变更步骤之后进行检查的方式,可以保证每一个变更步骤的原子性,避免因部分变更出现问题而导致网络变更不可控。
[0128] 由于在实际场景中,部署于网络中的各类业务会依赖于网络所提供的互联环境,因此网络变更的过程中有可能会对各类业务的对外服务产生影响,例如造成业务指标异常等。由此,本申请实施例的方案中,还可以监控与所述网络设备相关的业务指标信息,若在某一个变更步骤完成之后所述业务指标信息出现异常,则表示该变更步骤会影响到依赖于网络设备的业务,控制所述网络设备撤销所述变更步骤对应的网络变更。
[0129] 为了确保每个变更步骤的原子性,在生成配置命令时即可获得包括加载命令(do)、激活命令(activate)、冻结命令(deactivate)、删除命令(undo)和检查命令(check)在内的5个配置命令。例如,以BGP协议为例,对一个网络设备进行BGP路由的配置时,加载命令(do)可以是如下命令,用于在网络设备中加载这些配置信息并处于未生效的状态。
[0130] Router bgp${Local ASN}
[0131] neighbor${PeerIP}peer-group
[0132] neighbor${PeerIP}remote-as${PeerASN}
[0133] neighbor${PeerIP}route-policy${PeerName}_IN in
[0134] neighbor${PeerIP}route-policy${PeerName}_OUT out
[0135] 激活命令(activate)可以是如下命令,用于让加载的配置生效。
[0136] neighbor${PeerIP}activate
[0137] 冻结命令(deactivate)可以是如下命令,用于让已生效的配置失效。
[0138] no neighbor${PeerIP}activate
[0139] 删除命令(undo)可以是如下命令,用于删除已加载的配置,确保网络设备的配置恢复到配置加载之前的初始状态。
[0140] Router bgp${Local ASN}
[0141] no neighbor${PeerIP}peer-group
[0142] 检查命令(check)可以是如下命令,用于对已经生效的配置进行校验,检查配置是否正确。
[0143] show ipbgp neighbors${PeerIP}
[0144] 其中,${}表示配置命令中的配置变量,通过生成上述的配置命令,可以保证任何一个变更步骤对应的配置命令在生成时覆盖了所有关键功能,能够在网络变更的配置生效之后进行检查,并且在故障发生时利用无需仓促寻找回滚方案,在变更执行前就保证了变更方案的完整性和故障恢复能力。
[0145] 由此,本申请实施例的网络变更设备中,配置下发装置在按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤的过程中,可以采用如图5所示的处理流程:
[0146] 步骤S501,将变更步骤对应的加载命令、激活命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的加载命令、激活命令,实现网络变更。
[0147] 步骤S502,将变更步骤对应的检查命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的检查命令,对网络变更的结果进行校验。
[0148] 步骤S503,若通过校验,则确定完成所述变更步骤,并按照顺序处理下一个变更步骤。
[0149] 步骤S504,若校验未通过,将变更步骤对应的冻结命令和删除命令发送至网络设备,以使所述网络设备执行所述变更步骤对应的冻结命令和删除命令,撤销所述加载命令、激活命令实现的网络变更。
[0150] 在传统的网络变更方式中,操作人员需要同时登陆多个网络设备进行配置命令的操作和状态检查,同时关注多个工具平台,以便在变更触发故障时快速感知并回滚。在网络变更任务较为复杂情况下,这种方式极易引入人为错误,如拷贝粘贴命令出错,忽略关键报警信息等。另一方面,若网络变更的任务全部依赖脚本程序来执行,会使得变更过程对操作人员来说成为一个黑盒系统,无法感知每次变更过程中的风险。
[0151] 为解决上述问题,本申请实施例提供的一种网络变更设备中,还包括一可视化装置,用于生成关于每个变更步骤的可视化视图,并向用户提供所述可视化视图。所述可视化视图用于表示变更步骤的完成情况,以一次网络变更的变更方案为例,其中包含N个变更步骤,该可视化视图中则可以包含N个对应与每个变更步骤的可视化框体,例如图6即为一种可视化视图的部分内容,其中包含两个可视化框体610、620,分别对两个应变更步骤“自动化任务【14】流量恢复及流量检查”、“自动化任务【15】打开monitor-link和OPS”。当其中可视化框体610对应的变更步骤完成之后,该可视化框体可以改变显示的内容(例如增加完成的标记、改变色彩等),使得用户可以明确地获知变更步骤的完成情况。
[0152] 在可视化视图时,可视化装置可以利用FSM(Finite State Machine,有限元状态机),使得每个变更步骤的完成情况对应于所述有限元状态机中的一个状态,当一个变更步骤完成时所述有限元状态机进行状态的切换,由此可以通过FSM的状态变化来自动跟踪变更方案的完成情况。本申请实施例中,在生成关于每个变更步骤的可视化视图时,可视化装置可以先获取有限元状态机的当前状态,然后根据所述有限元状态机的当前状态生成关于每个变更步骤的可视化视图。以图6的可视化视图为例,FSM的状态1-15分别表示变更方案中前1-15个变更步骤都完成的情况,此时若第14个变更步骤“自动化任务【14】流量恢复及流量检查”已完成,所述有限元状态机会进行状态的切换,由状态13切换至状态14,由此可以获取有限元状态机的当前状态为状态14。根据该当前状态,生成的可视化视图中可视化框体610可以改变显示的内容,表示该可视化框体610对应的变更步骤“自动化任务【14】流量恢复及流量检查”已完成。
[0153] 此外,在本申请实施例的方案中,网络变更设备在获取当前网络的第一网络模型时,可以通过获取当前网络中各个网络设备的配置信息,进而基于这些配置信息和预设的规则来自动生成第一网络模型。而目标网络的第二网络模型,可以由网络管理员在第一网络模型的基础上直接修改获得,也可以基于需要的目标网络的配置信息和预设的规则来自动生成。
[0154] 基于网络的配置信息和预设的规则来自动生成网络模型时,可以采用如图7所示的处理流程,包括以下步骤:
[0155] 步骤S701,获取网络的配置信息。在实际场景中,网络内会包含多个网络设备,所述网络设备是指在网络中用于实现数据互联的设备,例如可以包括中继器、网桥、路由器、网关、防火墙、交换机等,其数量根据网络规模的大小而定,对于大规模的网络,其包含的网络设备的数量亦会十分庞大。
[0156] 在获取网络的配置信息时,可以先获取网络中每个网络设备的配置文本。配置文本一般会以配置文件的形式保存,由此可以向每个网络设备调取其当前的配置文件,或者可以由同一保存网络中每个网络设备配置文件的数据库(例如网络的配置中心)中调取这些配置文件,进而从配置文件中读取相应的配置文本。由于配置信息会以特定格式形成配置文本,因此在读取到配置文件之后,可以解析所述配置文本,获取每个网络设备的配置信息。例如,配置文本中某部分的内容如下:
[0157] IPADDR=192.168.0.110
[0158] NETMASK=255.255.255.0
[0159] BROADCAST=192.168.0.255
[0160] GATEWAY=192.168.0.1
[0161] DNS1=202.202.202.222
[0162] DNS2=222.222.222.222
[0163] 其具有一定格式,例如“IPADDR=”之后“X.X.X.X”形式的内容为IP地址,“NETMASK=”之后“X.X.X.X”形式的内容为子网掩码。由此,通过解析该部分配置文本可以获知,该网络设备相关配置信息:IP地址为192.168.0.110、子网掩码为255.255.255.0、广播地址为192.168.0.255,网关地址为192.168.0.1,域名系统地址为202.202.202.222和
222.222.222.222。在此,本领域技术人员应当理解,上述配置文本中包含的内容仅为举例,实际场景中配置文本将包含更多的内容,并且由于不同网络设备在网络中起到的作用不同,不同网络设备对应的配置文本中包含的内容也会有所不同。
[0164] 在解析获得配置信息之后,可以关联所述网络设备,从而获取所述获取网络的配置信息。在关联所述网络设备时,可以利用配置信息中能够描述各个网络设备之间关联关系的信息,例如通过路由表可以确定一个网络设备在接收到数据包时会将该数据包发送至哪个网络设备,由此可以确定两个网络设备之间会存在关联。通过关联网络内的网络设备,可以组合各个网络设备的配置信息,进而获得这些网络设备所在的整个网络的配置信息。
[0165] 步骤S702,根据所述网络的配置信息,确定所述网络对应的网络模型中的多个拓扑层。
[0166] 在实际场景中,所述拓扑层至少包括物理拓扑层和协议拓扑层,为了可以生成物理拓扑层和协议拓扑层,网络的配置信息中至少需要包括网络设备之间的物理链路、所述网络设备之间进行数据传输所使用的协议、所述网络设备之间关于所述协议的连接路径和所述协议的属性,由此,可以根据所述网络设备之间的物理链路确定物理拓扑层,并根据所述网络设备之间进行数据传输所使用的协议、所述网络设备之间关于所述协议的连接路径和所述协议的属性,确定多个协议拓扑层。其中,所述物理拓扑层用于描述所述网络设备之间在物理链路上的拓扑关系信息,例如两个网络设备是否通过通信线缆连接,而所述协议拓扑层用于描述所述网络设备之间关于对应协议的拓扑关系信息,例如两个网络设备是否为协议上的邻居关系(Neighbor),每个拓扑层包含的信息可以采用拓扑图的方式来表示。
[0167] 对于物理拓扑层,网络设备之间在物理链路上的拓扑关系信息包括网络设备的节点标识以及网络设备之间连接的物理链路。例如,图8为物理拓扑层的拓扑图,其中,网络设备的节点标识为节点WAN、DCA和DCB,分别表示三个网络设备,两个节点之间的连线表示两个网络设备之间存在的物理链路,例如通过网线连接了两个网络设备。其中,节点WAN和节点DCA之间具有两条物理链路,两端的物理端口分别为eth1和eth2,节点WAN和节点DCB之间具有一条物理链路,两端的物理端口为eth3,节点DCA和节点DCB之间具有一条物理链路,两端的物理端口为eth4,由此可知节点WAN、DCA和DCB两两之间均存在连接的物理链路。
[0168] 图9和图10为两个协议拓扑层。其中图9对应LACP(Link Aggregation Control Protocol,链路汇聚控制协议),节点WAN、DCA和DCB分别表示三个网络设备,两个节点之间的连线表示两个网络设备之间存在的逻辑链路,因此LACP对应的协议拓扑层也可以称为逻辑拓扑层。图10对应BGP(Border Gateway Protocol,边界网关协议),节点WAN、DCA和DCB分别表示三个网络设备,对应三个AS(Autonomous System,自治系统),节点WAN和节点DCA之间的连线以及节点WAN和节点DCB之间的连线,表示两者之间分别为邻居关系。
[0169] 对于协议拓扑层,所述网络设备之间关于对应协议的拓扑关系信息可以包括网络设备的节点标识以及网络设备之间关于对应协议的连接路径。例如图9中,节点WAN和节点DCA之间具有一条逻辑链路,该条逻辑链路的PC(port channel,端口隧道)汇聚了两个物理端口eth1和eth2,聚合为一个逻辑端口,由此将两条物理链路汇聚为一条逻辑链路,该条逻辑链路即为节点WAN和节点DCA之间关于LACP的连接路径。该条逻辑链路两端的逻辑端口所汇聚的物理端口以及IP地址分别为192.168.0.1和192.168.0.0,即为LACP的属性。节点WAN和节点DCB之间具有一条逻辑链路,对应一条物理链路,逻辑端口和物理端口一一对应,两端的端口IP地址分别为192.168.1.1和192.168.1.0。类似地,节点DCA和节点DCB之间同样具有一条逻辑链路。
[0170] 图10中,节点WAN、DCA和DCB所对应三个AS的ASN(Autonomous System Number,自治系统号)分别为100、300和400。节点WAN和节点DCA之间的连线以及节点WAN和节点DCB之间的连线,表示两者分别为邻居关系,并且包含了数据接收和发送时的路由策略,该路由策略为BGP的属性,例如对于节点WAN,“IN=allow prefix-list DCB.net”为BGP协议在该节点上的入方向策略,表示节点WAN允许接收DCB.net这条路由的数据。而“OUT=allow prefix-list agg=10.0.0.0/8”为BGP协议在该节点上的出方向策略,表示节点WAN允许发送10.0.0.0/8这条路由的数据。类似地,对于节点DCB,“IN==allow prefix-list agg=10.0.0.0/8”为BGP协议在该节点上的入方向策略,表示节点DCB允许接收10.0.0.0/8这条路由的数据,而“OUT=allow prefix-list DCB.net”为BGP协议在该节点上的出方向策略,表示节点DCB允许发送DCB.net这条路由的数据。
[0171] 步骤S703,根据数据传输时对数据逐层封装的依赖顺序,确定所述多个拓扑层之间的关联关系,由此可以生成分层的网络模型,以用于实现网络变更。
[0172] 由于数据在传输时需要添加相应的包头来进行封装,为相关协议的工作提供信息,例如BGP协议工作时需要依赖IP包头。数据在添加包头时会存在一定的依赖关系,例如“数据|TCP包头|IP包头|MPLS包头”为数据封装时的一种依赖顺序,即数据在发送时会先在头部加上添加TCP包头,包含TCP相关的四层协议工作所需的信息,然后在TCP包头之外再添加IP包头,包含IP相关的三层协议工作所需的信息,IP包头之外还可以添加MPLS包头,使得数据包可以利用标记(label)进行数据转发。在实际场景中,根据网络构架的不同,IP包头之外还可以添加MAC包头,为二层协议工作提供必要的信息。
[0173] 在确定所述多个拓扑层之间的关联关系时,物理拓扑层会与二层协议对应的协议拓扑层之间的关联关系,例如LACP的协议拓扑层(逻辑拓扑层),而对于协议拓扑层,仅有数据封装的依赖顺序相邻的协议拓扑层之间会存在关联关系,例如BGP协议拓扑层与LACP协议拓扑层会与存在关联关系,若节点DCA的配置信息中存在多个VRF(Virtual Routing Forwarding),则BGP协议拓扑层中的多个节点会关联到LACP协议拓扑层中的一个节点。而赖顺序相邻的协议拓扑层之间则不会存在关联关系,例如BGP协议拓扑层不会跨过LACP协议拓扑层,而直接与物理拓扑层进行存在关联关系。
[0174] 综上所述,本申请提供的一种网络变更方案中,在实现网络变更时可以获得包含至少一个变更步骤的变更方案,在获取每个变更步骤中的配置命令之后,可以按照变更步骤的顺序将所述变更方案中每个变更步骤对应的配置命令发送至网络设备,以使所述网络设备按照所述顺序执行每个变更步骤对应的配置命令,完成每个变更步骤。由此,可以将复杂的网络变更过程拆分为多个步骤,从而能够对变更过程进行细粒度的控制,使得变更过程更加平滑,减小网络变更带来的的影响和风险。
[0175] 另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一些实施例包括一个如图12所示的计算设备,该计算设备包括存储有计算机可读指令的一个或多个存储器1210和用于执行计算机可读指令的处理器1220,其中,当该计算机可读指令被该处理器执行时,使得所述设备执行基于前述本申请的多个实施例的方法和/或技术方案。
[0176] 此外,本申请的一种实施例实现了一套变更全生命周期管理系统,即网络变更中心,该系统采用前述网络变更方法实现网络的变更,相较于传统的网络变更方案,具有如下的优点:
[0177] 1、全新的流程图方式定义变更SOP。
[0178] 网络变更时确定变更方案的传统思路是将复杂的变更SOP(Standard Operating Procedure,标准操作程序)以脚本或程序的形式实现,但操作人员的实际水平差异较大的客观现状决定了这种方法使用户学习曲线十分陡峭,也很难维护和扩展。而本实施例的方案中,在确定变更方案时可以根据网络变更的流程图确定变更方案,由此可以规范变更方案的制定过程。例如,可以向网络变更的操作人员提供流程图的编辑功能,使得操作人员可以使用编辑功能将变更SOP以一种流程图的形式输入,通过对流程图中涉及的变更步骤以及顺序,实现为变更方案。相对传统的方案,具备可读性强,易于维护,和灵活扩展的优势,可以大幅提升获得变更方案的效率。
[0179] 2、自动化能力大幅提升变更效率
[0180] 人工变更受天然因素制约本质是串行操作,不能同时执行大规模的变更操作,而变更中心的每个变更步骤包含了可在网络设备上执行的自动化配置命令。不同网络设备的配置命令可批量并发执行互不干扰,由此,网络变更的任务可以大规模地并发执行,使变更效率得到数量级的提升。相对人工变更,本申请实施例中的网络变更中心实现相同的网络变更任务的时间可以大幅缩短。
[0181] 3、变更执行过程可视化。
[0182] 传统变更方式中,操作人员同时登陆多个设备进行命令操作和状态检查,同时关注多个工具平台,以便在变更触发故障时快速感知并回滚。在大任务压力下,这种方式极易引入人为错误,如拷贝粘贴命令出错,忽略关键报警信息等。另一方面,如果全部依赖脚本程序来执行,变更过程对网工来说是一个黑盒系统,无法感知风险。而本申请实施例的网络变更中心实现网络变更的过程中,每个变更方案的变更步骤可以由一个有限元状态机解释并翻译成与变更步骤对应的状态,状态之间可以按照预定义的逻辑跳转。整个变更方案的执行流程由统一的变更执行页面作为可视化视图,按变更步骤清晰展示,操作人员可以一目了然的掌握网络变更的进度,极大的提升了变更过程的可控性。
[0183] 4、变更方案自动生成和平滑变更
[0184] 网络变更中心可以结合网络模型对网络变更过程提供新的变更方式:1)影子步骤:在执行一个变更步骤时,可以先加载配置,然后激活配置(可以加载合并为一个命令),进而检查激活的配置是否生效,如有异常及时冻结配置(此时无需删除),并在必须全部回滚时删除配置。网络变更中心在获得配置命令时,可以规定每个变更步骤对应的配置命令必须由五个影子步骤构成,分别对应加载命令、激活命令、冻结命令、删除命令和检查命令,以保证任何一个变更步骤的配置命令在编写时就覆盖了所有关键功能,在配置发生故障时无需仓促寻找回滚方案,在执行前就保证了方案的完整性和故障恢复能力。2)平滑变更:无论是人工或自动变更都可能中断网络或应用服务,而网络变更中可以将复杂的变更场景抽象为标准化的变更步骤,并基于网络模型提供一定的自动生成平滑变更方案的能力,最小化变更的影响和风险。如图2和图3所示,描述了一个BGP协议拓扑层的变更需求和自动生成的平滑变更方案。目标是在DC1、DC2和WAN之间插入MAN层,并切断DC1、DC2和WAN之间的邻居状态。网络变更中心可以根据当前网络和目标网络的网络模型,获得整个变更流程的所有变更步骤,结合每个变更步骤的影子步骤,从而控制变更过程,减少潜在风险。
[0185] 5、主动监控和快速故障恢复能力。
[0186] 在传统的人工变更方案中,变更执行过程依赖监控工具从各个维度监视网络或业务是否出现告警,告警是否与变更有直接或间接关联。如确定关联必须紧急回滚,以少业务影响。然而,这些周边监控工具往往以分散的形式存在,不能有效解决变更过程监控的痛点。而网络变更中心可以针对不同场景预先设定关键监控依赖信息,例如网络巡检的信息(配置,状态变化),路由变化的信息(发布,撤销),网络告警的信息(SYSLOG,SNMP,NETFLOW)以及来自应用侧的业务指标信息(业务指标下跌、中断等)。而在获得上述关键监控依赖信息之后,若判断出现故障,网络变更中心可以控制所述网络设备撤销相应变更步骤对应的网络变更,从而提供快速故障恢复能力。
[0187] 需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0188] 对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈