一种用于配置业务的方法和装置与流程

文档序号:17305083发布日期:2019-04-05 19:21阅读:198来源:国知局
一种用于配置业务的方法和装置与流程

本发明涉及通信技术领域,具体涉及一种用于配置业务的方法和装置。



背景技术:

软件定义网络(Software Defined Network,SDN)是一种新型网络架构,可大致划分为以下三层:上层应用,如云(cloud)、跃顶(over-the-top,OTT)等,中间层的控制器(Controller),底层的物理网络设备,如交换机、路由器等。

目前,在为上层应用配置实现具体业务的底层物理网络设备时,网络管理人员需要获得上层应用涉及的业务以及业务需求,还需要获得物理网络设备所能实现的功能。网络管理人员可根据物理网络设备所能实现的功能,选择出与业务需求相匹配的物理网络设备。网络管理人员将业务配置给选择出的物理网络设备。这样,对网络设备的业务配置较为复杂,工作效率较为低下。若上层应用类型增多和功能增强,则对网络设备的业务配置的复杂程度会增加,工作效率会降低。



技术实现要素:

本发明实施例提供的用于配置业务的方法和装置,有助于实现业务的自动配置和提高效率。

为此,本发明实施例提供如下技术方案:

第一方面,提供了一种用于配置业务的方法,包括:

NaaS设备获得业务的契约,所述契约包括标识信息和条件,所述标识信息用于标识第一设备组,所述第一设备组包括提供所述业务的设备,所述条件为所述业务对应的通信需求;

所述NaaS设备根据所述标识信息和所述条件,获得网络设备组的信息;

所述NaaS设备根据所述条件,获得第一转发规则,所述第一转发规则对应于所述网络设备组;

所述NaaS设备向控制器发送所述第一转发规则和所述网络设备组的信息。

在上述第一方面的第一种可能的实现方式中,所述标识信息为第一标识,所述条件为接入所述第一标识所标识的设备组的通信需求,所述NaaS设备根据所述标识信息和所述条件,获得网络设备组的信息包括:

所述NaaS设备获得所述第一标识对应的第二设备组,所述第二设备组包括第一设备,所述第一设备满足所述通信需求的设备;

所述NaaS设备根据所述接入所述第一标识所标识的设备组的通信需求,从所述第二设备组中选取所述第一设备;

所述NaaS设备获得所述第一设备的信息,所述第一设备的信息包括所述第一设备的标识和所述第一设备的接口。

结合上述第一方面的第一种可能的实现方式,还提供了第一方面的第二种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则包括:

所述NaaS设备从所述条件中获得第一匹配域和第一动作,所述第一匹配域对应于接入所述第一标识所标识的设备组的通信需求,所述第一动作对应于接入操作;

所述NaaS设备根据所述第一匹配域和所述第一动作,生成所述第一设备的转发规则。

结合上述第一方面的第二种可能的实现方式,还提供了第一方面的第三种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则还包括:

所述NaaS设备利用所述第一设备的转发规则与第二转发规则进行冲突校验,所述第二转发规则为所述第一设备上已配置的转发规则;

如果所述第一设备的转发规则与所述第二转发规则冲突,则所述NaaS设备获得校正后的第一设备的转发规则。

结合上述第一方面的第二种或第三种可能的实现方式,还提供了第一方面的第四种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则还包括:

所述NaaS设备判断所述第一设备的转发规则是否与所述第二设备组内的第二设备的转发规则形成传输异常;

如果所述第一设备的转发规则与所述第二设备组内的第二设备的转发规则形成传输异常,则所述NaaS设备获得第三转发规则,所述第三转发规则是校正后的第二设备的转发规则。

在上述第一方面的第五种可能的实现方式中,所述标识信息包括第二标识和第三标识,所述条件为所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,所述NaaS设备根据所述标识信息和所述条件,获得网络设备组的信息包括:

所述NaaS设备获得所述第二标识对应的第三设备组和所述第三标识对应的第四设备组,所述第三设备组包括作为源节点的设备,所述第四设备组包括作为目的节点的设备;

所述NaaS设备根据所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,从所述第三设备组中选取第三设备,所述第三设备为所述源节点;

所述NaaS设备根据所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,从所述第四设备组中选取第四设备,所述第四设备为所述目的节点;

所述NaaS设备获得所述第三设备的信息和所述第四设备的信息,所述第三设备的信息包括所述第三设备的标识和所述第三设备的接口,所述第四设备的信息包括所述第四设备的标识和所述第四设备的接口。

结合上述第一方面的第五种可能的实现方式,还提供了第一方面的第六种可能的实现方式,所述NaaS设备根据所述条件获得第一转发规则包括:

所述NaaS设备从所述条件获得第二匹配域和第二动作,所述第二匹配域对应于所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,所述第二动作对应于所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信;

所述NaaS设备根据所述第二匹配域和所述第二动作,生成所述第三设备的转发规则和所述第四设备的转发规则。

结合上述第一方面的第六种可能的实现方式,还提供了第一方面的第七种可能的实现方式,所述NaaS设备根据所述条件获得第一转发规则还包括:

所述NaaS设备利用所述第三设备的转发规则与第四转发规则进行冲突校验,所述第四转发规则为所述第三设备上已配置的转发规则;

如果所述第三设备的转发规则与所述第四转发规则冲突,则所述NaaS设备获得校正后的第三设备的转发规则。

结合上述第一方面的第六种或第七种可能的实现方式,还提供了第一方面的第八种可能的实现方式,所述NaaS设备根据所述条件获得第一转发规则还包括:

所述NaaS设备利用所述第四设备的转发规则与第五转发规则进行冲突校验,所述第五转发规则为所述第四设备上已配置的转发规则;

如果所述第四设备的转发规则与所述第五转发规则冲突,则所述NaaS设备获得校正后的第四设备的转发规则。

结合上述第一方面的第六种至第八种中的任一种可能的实现方式,还提供了第一方面的第九种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则还包括:

所述NaaS设备判断所述第三设备的转发规则是否会与所述第三设备组内的第五设备的转发规则形成传输异常;

如果所述第三设备的转发规则与所述第三设备组内的第五设备的转发规则形成传输异常,则所述NaaS设备获得第六转发规则,所述第六转发规则是校正后的第五设备的转发规则。

结合上述第一方面的第六种至第九种中的任一种可能的实现方式,还提供了第一方面的第十种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则还包括:

所述NaaS设备判断所述第四设备的转发规则是否会与所述第四设备组内的第六设备的转发规则形成传输异常;

如果所述第四设备的转发规则会与所述第四设备组内的第六设备的转发规则形成传输异常,则所述NaaS设备获得第七转发规则,所述第七转发规则是校正后的第六设备的转发规则。

在上述第一方面的第十一种可能的实现方式中,所述标识信息为第四标识和第五标识,所述条件为所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,所述NaaS设备根据所述标识信息和所述条件,获得网络设备组的信息包括:

所述NaaS设备获得所述第四标识对应的第五设备组,所述第五设备组包括与所述第四标识所标识的设备通信的设备;

所述NaaS设备根据所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,从所述第五设备组中选取第七设备,所述第七设备与所述第四标识所标识的设备组通信;

所述NaaS设备获得所述第七设备的信息,所述第七设备的信息包括所述第七设备的标识和所述第七设备的接口。

结合上述第一方面的第十一种可能的实现方式,还提供了第一方面的第十二种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则包括:

所述NaaS设备从所述条件获得第三匹配域和第三动作,所述第三匹配域对应于所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,所述第三动作对应于组播操作;

所述NaaS设备根据所述第三匹配域和所述第三动作,生成所述第七设备的转发规则。

结合上述第一方面的第十二种可能的实现方式,还提供了第一方面的第十三种可能的实现方式,所述NaaS设备根据所述条件,获得第一转发规则还包括:

所述NaaS设备利用所述第七设备的转发规则与第八转发规则进行冲突校验,所述第八转发规则为所述第七设备上已配置的转发规则;

如果所述第七设备的转发规则与所述第八转发规则冲突,则所述NaaS设备获得校正后的第七设备的转发规则。

结合上述第一方面的第十二种或第十三种可能的实现方式,还提供了第一方面的第十四种可能的实现方式,获得第一转发规则还包括:

所述NaaS设备判断所述第七设备的转发规则是否会与所述第五设备组内的第八设备的转发规则形成传输异常;

如果形成传输异常,则所述NaaS设备获得第九转发规则,所述第九转发规则是校正后的第八设备的转发规则。

结合上述第一方面或第一方面的任意一种可能的实现方式,还提供了第一方面的第十五种可能的实现方式,所述方法还包括:

所述NaaS设备根据所述第一转发规则和所述网络设备组的信息,获得检测报文,所述检测报文用于从所述网络设备组获得检测结果,所述检测结果是对所述网络设备组根据第一转发规则所进行的通信进行检测所获得的结果;

所述NaaS设备向所述控制器发送所述检测报文;

所述NaaS设备接收所述控制器发送的所述检测结果;

如果所述检测结果与预设条件相符,所述NaaS设备根据所述检测结果调整所述契约。

在上述第一方面的第十六种可能的实现方式中,所述契约还包括所述业务的类型,所述业务的类型为接入、路由或组播。

第二方面,提供了一种用于配置业务的装置,包括:

契约获得单元,用于获得业务的契约,所述契约包括标识信息和条件,所述标识信息用于标识第一设备组,所述第一设备组包括提供所述业务的设备,所述条件为所述业务对应的通信需求;

网络设备组获得单元,用于根据所述标识信息和所述条件,获得网络设备组的信息;

规则获得单元,用于根据所述条件,获得第一转发规则,所述第一转发规则对应于所述网络设备组;

第一发送单元,用于向控制器发送所述第一转发规则和所述网络设备组的信息。

在上述第二方面的第一种可能的实现方式中,所述标识信息为第一标识,所述条件为接入所述第一标识所标识的设备组的通信需求;

所述网络设备组获得单元具体用于获得所述第一标识对应的第二设备组,所述第二设备组包括第一设备,所述第一设备满足所述通信需求的设备;

所述网络设备组获得单元具体用于根据所述接入所述第一标识所标识的设备组的通信需求,从所述第二设备组中选取所述第一设备;

所述网络设备组获得单元具体用于获得所述第一设备的信息,所述第一设备的信息包括所述第一设备的标识和所述第一设备的接口。

结合上述第二方面的第一种可能的实现方式,还提供了第二方面的第二种可能的实现方式,所述规则获得单元具体用于从所述条件中获得第一匹配域和第一动作,所述第一匹配域对应于接入所述第一标识所标识的设备组的通信需求,所述第一动作对应于接入操作;

所述规则获得单元具体用于根据所述第一匹配域和所述第一动作,生成所述第一设备的转发规则。

结合上述第二方面的第二种可能的实现方式,还提供了第二方面的第三种可能的实现方式,所述规则获得单元还用于利用所述第一设备的转发规则与第二转发规则进行冲突校验,所述第二转发规则为所述第一设备上已配置的转发规则;

如果所述第一设备的转发规则与所述第二转发规则冲突,则所述规则获得单元用于获得校正后的第一设备的转发规则。

结合上述第二方面的第二种或第三种可能的实现方式,还提供了第二方面的第四种可能的实现方式,所述规则获得单元还用于判断所述第一设备的转发规则是否与所述第二设备组内的第二设备的转发规则形成传输异常;

如果所述第一设备的转发规则与所述第二设备组内的第二设备的转发规则形成传输异常,则所规则获得单元用于获得第三转发规则,所述第三转发规则是校正后的第二设备的转发规则。

在上述第二方面的第五种可能的实现方式中,所述标识信息包括第二标识和第三标识,所述条件为所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求;

所述网络设备组获得单元具体用于获得所述第二标识对应的第三设备组和所述第三标识对应的第四设备组,所述第三设备组包括作为源节点的设备,所述第四设备组包括作为目的节点的设备;

所述网络设备组获得单元具体用于根据所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,从所述第三设备组中选取第三设备,所述第三设备为所述源节点;

所述网络设备组获得单元具体用于根据所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,从所述第四设备组中选取第四设备,所述第四设备为所述目的节点;

所述网络设备组获得单元具体用于获得所述第三设备的信息和所述第四设备的信息,所述第三设备的信息包括所述第三设备的标识和所述第三设备的接口,所述第四设备的信息包括所述第四设备的标识和所述第四设备的接口。

结合上述第二方面的第五种可能的实现方式,还提供了第二方面的第六种可能的实现方式,所述规则获得单元具体用于从所述条件获得第二匹配域和第二动作,所述第二匹配域对应于所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,所述第二动作对应于所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信;

所述规则获得单元具体用于根据所述第二匹配域和所述第二动作,生成所述第三设备的转发规则和所述第四设备的转发规则。

结合上述第二方面的第六种可能的实现方式,还提供了第二方面的第七种可能的实现方式,所述规则获得单元还用于利用所述第三设备的转发规则与第四转发规则进行冲突校验,所述第四转发规则为所述第三设备上已配置的转发规则;

如果所述第三设备的转发规则与所述第四转发规则冲突,则所述规则获得单元用于获得校正后的第三设备的转发规则。

结合上述第二方面的第六种或第七种可能的实现方式,还提供了第二方面的第八种可能的实现方式,所述规则获得单元还用于利用所述第四设备的转发规则与第五转发规则进行冲突校验,所述第五转发规则为所述第四设备上已配置的转发规则;

如果所述第四设备的转发规则与所述第五转发规则冲突,则所述规则获得单元用于获得校正后的第四设备的转发规则。

结合上述第二方面的第六种至第八种中的任一种可能的实现方式,还提供了第二方面的第九种可能的实现方式,所述规则获得单元还用于判断所述第三设备的转发规则是否会与所述第三设备组内的第五设备的转发规则形成传输异常;

如果所述第三设备的转发规则与所述第三设备组内的第五设备的转发规则形成传输异常,则所述规则获得单元用于获得第六转发规则,所述第六转发规则是校正后的第五设备的转发规则。

结合上述第二方面的第六种至第九种中的任一种可能的实现方式,还提供了第二方面的第十种可能的实现方式,所述规则获得单元还用于判断所述第四设备的转发规则是否会与所述第四设备组内的第六设备的转发规则形成传输异常;

如果所述第四设备的转发规则与所述第四设备组内的第六设备的转发规则形成传输异常,则所述规则获得单元获得第七转发规则,所述第七转发规则是校正后的第六设备的转发规则。

在上述第二方面的第十一种可能的实现方式中,所述标识信息为第四标识和第五标识,所述条件为所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求;

所述网络设备组获得单元具体用于获得所述第四标识对应的第五设备组,所述第五设备组包括与所述第四标识所标识的设备通信的设备;

所述网络设备组获得单元具体用于根据所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,从所述第五设备组中选取第七设备,所述第七设备与所述第四标识所标识的设备组通信;

所述网络设备组获得单元具体用于获得所述第七设备的信息,所述第七设备的信息包括所述第七设备的标识和所述第七设备的接口。

结合上述第二方面的第十一种可能的实现方式,还提供了第二方面的第十二种可能的实现方式,所述规则获得单元具体用于从所述条件获得第三匹配域和第三动作,所述第三匹配域对应于所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,所述第三动作对应于组播操作;

所述规则获得单元具体用于根据所述第三匹配域和所述第三动作,生成所述第七设备的转发规则。

结合上述第二方面的第十二种可能的实现方式,还提供了第二方面的第十三种可能的实现方式,所述规则获得单元还用于利用所述第七设备的转发规则与第八转发规则进行冲突校验,所述第八转发规则为所述第七设备上已配置的转发规则;

如果所述第七设备的转发规则与所述第八转发规则冲突,则所述规则获得单元用于获得校正后的第七设备的转发规则。

结合上述第二方面的第十二种或第十三种可能的实现方式,还提供了第二方面的第十四种可能的实现方式,所述规则获得单元还用于判断所述第七设备的转发规则是否会与所述第五设备组内的第八设备的转发规则形成传输异常;

如果所述第七设备的转发规则与所述第五设备组内的第八设备的转发规则形成传输异常,则所述规则获得单元用于获得第九转发规则,所述第九转发规则是校正后的第八设备的转发规则。

结合上述第二方面或第二方面的任意一种可能的实现方式,还提供了第二方面的第十五种可能的实现方式,还包括:

检测报文获得单元,用于根据所述第一转发规则和所述网络设备组的信息,获得检测报文,所述检测报文用于从所述网络设备组获得检测结果,所述检测结果是对所述网络设备组根据第一转发规则所进行的通信进行检测所获得的结果;

第二发送单元,用于向所述控制器发送所述检测报文;

接收单元,用于接收所述控制器发送的所述检测结果;

调整单元,用于在所述检测结果与预设条件相符时,根据所述检测结果调整所述契约。

在上述第二方面的第十六种可能的实现方式中,所述契约还包括所述业务的类型,所述业务的类型为接入、路由或组播。

本发明实施例的用于配置业务的方法和装置,NaaS设备获得与用户通信需求对应的契约,NaaS设备即可自动将契约中的条件转换成第一转发规则,并结合标识信息和条件选取出满足契约要求的网络设备组的信息,NaaS设备将第一转发规则和网络设备组的信息发送至控制器。本发明实施例的用于配置业务的方法和装置,不仅有助于实现业务的自动配置,而且有助于提高业务的配置效率。

附图说明

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

图1是本发明实施例提供的用于配置业务的方法的流程图;

图2是本发明实施例提供的的网络架构示意图;

图3是本发明实施例提供的实现访问过滤业务的场景示意图;

图4为本发明实施例提供的实现带宽通信需求业务的场景示意图;

图5是本发明实施例提供的实现VPN业务的场景示意图;

图6是本发明实施例提供的实现组播业务的场景示意图;

图7是本发明实施例提供的用于配置业务的装置的示意图;

图8是本发明实施例提供的用于配置业务的装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。

本发明实施例提供的用于配置业务的方法可应用于网络即服务(network architecture as a service,NaaS)设备,所述NaaS设备可以是具备NaaS功能的设备,例如:所述NaaS设备可以是一台与Controller通信的网络设备,所述NaaS设备可以是集成了NaaS功能的Controller,或者所述NaaS设备所具备的NaaS功能可由多台不同的网络设备共同实现,即将NaaS功能拆分到所述多台不同的网络设备上,通过分布式方式实现NaaS功能。本发明实施例对NaaS设备在网络中的存在形式不做具体限定。本发明的下述实施例以NaaS设备为例进行说明,不再对不同形式的NaaS设备进行赘述。

参见图1,本发明实施例提供的用于配置业务的方法可包括:

101,NaaS设备获得业务的契约,所述契约包括标识信息和条件,所述标识信息用于标识第一设备组,所述第一设备组包括提供所述业务的设备,所述条件为所述业务对应的通信需求。

举例来说,所述业务(service)为用户需求的业务。所述契约可用于表示两个用户组(user group,USG)之间通信的条件。所述契约可表示为<USGx,USGy,service type,service contract>,其中,所述USGx和所述USGy可以是所述契约包括的所述标识信息;所述service type为所述业务的类型,所述service type为可选项,所述service type可用于确定所述契约的类型;所述service contract可以是所述契约包括的所述条件。本发明实施例中所述契约可以为接入契约、路由契约或组播契约,例如,接入契约可表示为<USG1,USG outside,access,access contract>,路由契约可表示为<USG2,USG3,routing,routing contract>,组播契约可表示为<USG4,USG multicast,multicast,multicast contract>,但所述契约的形式并不局限于上述几种形式。

举例来说,具有相同通信需求的一台或多台设备可属于一个设备组,或者,具有相同通信能力的一台或多台设备可属于一个设备组,本发明实施例中可将所述设备组称为USG。所述USG还可称为终端组(Endpoint Group,EPG)。参见图2所示网络构架图,NaaS设备可分别与用户(user)和Controller通信。NaaS设备可根据用户输入的信息获得所述业务的契约。用户输入的信息可包括:条件和标识信息。NaaS设备可接收用户通过命令行、Web界面等方式输入的契约。或者,NaaS设备还可预先定义一些契约的描述模型,NaaS设备可根据用户输入的参数和预定义的描述模型获得契约,本发明实施例对NaaS设备获得契约的具体方式可不做具体限定。

举例来说,接入契约可以用来表示USG1所标识的设备组接入USG2所标识的设备组的条件。USG1所标识的设备组为具有相同通信需求的设备的集合,USG2所标识的设备组为能够满足USG1通信需求的设备的集合。USG2所标识的设备组中包括至少一台能满足USG1通信需求的设备。NaaS设备获得的所述接入契约可为<USG2,access contract>、<USG2,access,access contract>、<USG2,USG1,access contract>、<USG2,USG outside,access,access contrat>或<USG2,USG1,access,access contract>等形式,在此不再逐一举例说明。所述USGoutside可表示从外部接入USG2的设备组。若所述接入契约为<USG2,access contract>或<USG2,access,access contract>,则所述标识信息包括所述USG2;若所述接入契约为<USG2,USG1,access contract>或<USG2,USG1,access,access contract>,则所述标识信息包括USG2和USG1;若所述接入契约为<USG2,USG outside,access,access contrat>,则所述标识信息包括所述USG2和所述USG outside。所述access用于标识所述契约为所述接入契约。所述access contract包括所述接入契约中的条件,即所述access contract包括所述USG1接入所述USG2的通信需求,例如,接入所述USG2的通信需求可包括:端口号为80、协议类型为传输控制协议(Transmission Control Protocol,TCP)等。

举例来说,路由契约可以用来表示USG3所标识的设备组与USG4所标识的设备组间的通信需求。NaaS设备获得的路由契约可为<USG3,USG4,routing contract>或<USG3,USG4,routing,routing contract>。所述USG3和所述USG4属于所述路由契约包括的标识信息,所述routing用于标识所述契约为所述路由契约,所述routing contract包括路由契约中的条件,即所述routing contract包括所述USG3所标识的设备组和所述USG4所标识的设备组间的通信需求,例如所述routing contract包括的所述通信需求可为:带宽为10G。所述routing contract中还可设置所述USG3和所述USG4间的路由的方向,比如设置所述路由为单向或双向,若所述路由为单向,则所述routing contract可包括路由的源节点和路由的目的节点间的通信需求,若所述路由为双向,所述routing contract可包括提供所述路由功能的两个设备的工作模式,比如单工模式、半双工模式或双工模式。

举例来说,组播契约可以用来表示USG5加入USG multicast的组播通信需求。所述USG5所标识的设备组为请求加入所述USG multicast的设备的集合,USG multicast用于标识组播组。NaaS设备获得的组播契约可为<USG5,USG multicast,multicast contract>或<USG5,USG multicast,multicast,multicast contract>。所述USG5和所述USG multicast为所述组播契约包括的标识信息,所述USG5可用于标识组播源或组播的接收设备,所述multicast用于标识所述契约为所述组播契约,所述multicast contract包括所述组播契约中的条件,即所述multicast contract包括所述USG5所标识的设备组加入所述USG multicast所标识的组播组的组播通信需求。若所述USG multicast用于表示地址为225.1.1.1的组播组,则所述multicast contract包括的所述通信需求可以为USG5所标识的设备组请求加入组播组225.1.1.1。

102,所述NaaS设备根据所述标识信息和所述条件,获得网络设备组的信息。

举例来说,如果所述契约为接入契约或路由契约,NaaS设备可根据所述标识信息获得备选设备组,所述NaaS设备可以根据所述条件从所述备选设备组中获得所述网络设备组。或者NaaS设备可直接获得本地保存的所述备选设备组,所述NaaS设备可以根据所述条件和所述标识信息,从所述备选设备组中获得所述网络设备组。所述备选设备组包括能满足所述条件的网络设备。如果所述契约为组播契约,所述NaaS设备可以根据所述标识信息和所述条件,获得所述网络设备组。

举例来说,所述NaaS设备可在选取网络设备组的同时或之后,获取网络设备组的信息。即所述NaaS设备所获得的备选设备组是以设备的信息表示的集合,所述NaaS设备获得所述网络设备组的同时,就获得了网络设备组的信息。所述网络设备组的信息包括:所述网络设备组中每台设备的标识和所述网络设备组中每台设备的属性,比如设备的标识可以是设备的地址、设备的编号、设备的名称或设备的身份标识等可用来标识设备的信息,设备的属性可以是设备的接口,所述接口可以表示为interface。或者,根据实际应用的需要,所述网络设备组的信息还可进一步包括:二层网络(L2network)、子网(subnet)等等能用于定位所述网络设备组中每台设备的信息,本发明实施例对此可不做具体限定。

举例来说,所述标识信息用于标识所述第一设备组,所述NaaS设备可以预先在本地保存与所述第一设备组对应的备选设备组,或者在本地保存与所述标识信息对应的备选设备组;所述NaaS设备可根据所述标识信息,以从本地读取的方式获得与所述标识信息对应的备选设备组。或者,所述NaaS设备还可根据所述标识信息,从外界获得与所述标识信息对应的备选设备组,如所述标识信息中还包括Controller的标识(identifier,ID),所述NaaS设备可与所述Controller ID对应的Controller通信,从与所述Controller ID对应的Controller获得与所述Controller ID对应的备选设备组。或者,所述NaaS设备保存有所述Controller ID与备选设备组的对应关系。所述NaaS设备接收用户输入的Controller ID,根据所述用户输入的Controller ID获得对应的备选设备组。本发明实施例对NaaS设备获得备选设备组的方式可不做具体限定。

举例来说,所述NaaS设备可获得备选设备组包括的设备的网络资源模型。所述备选设备组包括的设备的网络资源模型可以表示所述设备具有的能力。设备的网络资源模型可包括:所述设备的标识和所述设备的属性。网络资源模型还可以包括:所述设备所属的网络层级,所述网络层级可以为2层、3层、或者其它层级,2层可以是开放式系统互联(open systems interconnection,OSI)模型中的数据链路层,3层可以是OSI模型中的网络层,其它层级可以是OSI模型中的传输层等层级;网络资源模型还可以包括:所述设备的功能,所述设备的功能可以为过滤功能、组播功能等等。

举例来说,所述NaaS设备从备选设备组中选取所述网络设备组的方法可以包括:如果所述备选设备组包括多台满足所述条件的设备,则从中选取任意一台设备作为所述网络设备组中的设备,或者,选取设备编号最小的设备或设备编号最大的设备作为所述网络设备组中的设备。

可选地,在本发明实施例的所述备选设备组包括多台满足所述条件的设备时,所述NaaS设备可根据设备所属的网络层级选取所述网络设备组。举例来说,所述NaaS设备判断多台满足所述条件的设备的网络层级是否相同,如果所述网络层级不同,则所述NaaS设备从所述多台满足所述条件的设备中选取网络层级最低的设备作为所述网络设备组中的设备,有助于降低业务对网络资源的要求。如果所述网络层级相同,则所述NaaS设备可随机选取一台设备作为所述网络设备组中的设备。或者在所述网络层级相同时,所述NaaS设备可选取设备编号最小的一台设备或设备编号最大的一台设备作为所述网络设备组中的设备。

可选地,本发明实施例的NaaS设备还可在所述备选设备组包括多台网络层级相同的设备或存在多台网络层级最低的设备时,向Controller发送所述多台设备的ID,从Controller获得所述设备的负载情况,比如所述设备承载的负载数量、所述设备的CPU利用率等。NaaS设备可根据负载均衡技术和所述设备的负载情况,选取所述网络设备组。

可选地,本发明实施例的NaaS设备可接收由Controller实时获得的设备的负载情况,或者接收由Controller在预设时间段内获得设备的负载情况,本发明实施例可不做具体限定。

103,所述NaaS设备根据所述条件,获得第一转发规则,所述第一转发规则对应于所述网络设备组。

举例来说,所述NaaS设备可将所述条件转换成所述网络设备组中的设备的转发规则,所述网络设备组中的设备就可根据转发规则,为用户提供满足其通信需求的业务。本发明实施例中的第一转发规则可体现为图2中示出的参数组,所述参数组包括规则(rule)和动作(action),所述参数组可表示为(rule,action)。

举例来说,所述NaaS设备可以先获得网络设备组的信息,再获得第一转发规则;或者,NaaS设备也可以先获得第一转发规则,再获得网络设备组的信息;或者,NaaS设备还可以同时执行上述两个操作,本发明实施例对此可不做具体限定。

104,所述NaaS设备向控制器发送所述第一转发规则和所述网络设备组的信息。

举例来说,所述NaaS设备与Controller间可采用二者支持的协议进行通信,比如开放流(open flow)协议,所述NaaS设备与Controller间还可采用其它协议进行通信,在此不再逐一举例说明。

可选地,所述NaaS设备向控制器发送所述第一转发规则和所述网络设备组的信息之前,所述Nass设备可对Controller进行选择。以Controller管理物理网络中的设备为例,所述Nass设备对Controller进行选择可为以下三种方式:

若物理网络存在一个Controller,所述Controller用于管理所述物理网络中的设备,则所述NaaS设备可将第一转发规则和网络设备组的信息发送给所述Controller,由所述Controller将第一转发规则下发至所述网络设备组。

若物理网络中存在至少两个Controller,例如第一Controller和第二Controller,所述第一Controller和所述第二Controller管理物理网络中的不同区域内的设备,则所述网络设备组的信息中还可包括Controller ID。所述NaaS设备可根据Controller ID查找到管理所述网络设备组的Controller。所述NaaS设备将第一转发规则和所述网络设备组的信息发送给Controller ID对应的Controller,所述Controller ID对应的Controller将第一转发规则下发至所述网络设备组。

若物理网络中存在至少三个Controller,例如第三Controller、第四Controller和第五Controller,所述第三Controller管理物理网络中的某一区域内的设备,所述第四Controller管理物理网络中的另一区域的设备,所述第三Controller与所述第四Controller管理的区域不完全相同,所述第五Controller可对所述第三Controller和所述第四Controller进行管理,则所述NaaS设备可将第一转发规则和所述网络设备组的信息发送给所述第五Controller。所述第五Controller可下发第一转发规则至网络设备组;或者,所述第五Controller查找管理所述网络设备组的Controller,比如所述第四Controller,将第一转发规则和所述网络设备组的信息转发给所述第四Controller,所述第四Controller可将第一转发规则下发至所述网络设备组。

举例来说,若所述NaaS设备获得的所述网络设备组的信息对应物理网络设备,则Controller可根据所述NaaS设备发送的所述网络设备组的信息,确定其管理的物理网络设备中的一台或多台设备。若所述NaaS设备获得的所述网络设备组的信息对应虚拟网络设备,则Controller需要先进行虚实映射,获得所述虚拟网络设备对应的物理网络设备。

本发明实施例对Controller管理网络中设备的方式和Controller进行虚实映射的过程等等均可不做具体限定,只要NaaS设备能将根据契约得到的第一转发规则和网络设备组的信息,通过Controller发送给相应的网络设备即可。

本发明实施例中,用户只需要向NaaS设备提供反映其通信需求的契约或参数,所述NaaS设备可获得契约中的标识信息和条件,并根据所述标识信息和条件获得网络设备组的信息。所述NaaS设备可通过下发根据所述条件获得的第一转发规则,实现将业务配置到选取出的网络设备组上,有助于简化操作和提高配置效率。另外,所述NaaS设备还可根据设备的成本、设备的负载情况等选择所述网络设备组,有助于降低设备成本以及提高业务的运行效率。

可选地,103之后,本发明实施例提供的方法还可包括:所述NaaS设备对第一转发规则进行规则校验。所述规则校验可以是所述网络设备组自身的规则校验,或者是所述网络设备组与备选设备组内的其它设备间的规则校验。当所述规则校验是所述网络设备组自身的规则校验,如果第一转发规则通过规则校验,则所述NaaS设备向Controller发送第一转发规则和网络设备组的信息;如果第一转发规则没有通过规则校验,则所述NaaS设备可对第一转发规则进行校正处理,向Controller发送网络设备组的信息和校正后的第一转发规则。当所述规则校验是所述网络设备组与备选设备组内的其它设备间的规则校验,如果第一转发规则通过规则校验,则所述NaaS设备向Controller发送第一转发规则和网络设备组的信息;如果第一转发规则没有通过规则校验,则所述NaaS设备可对第一转发规则进行校正处理,向Controller发送发送网络设备组的信息和校正后的第一转发规则,或者所述NaaS设备对所述备选设备组内的其它设备的规则进行校正处理,向Controller发送发送网络设备组的信息和第一转发规则。

可选地,103之后,本发明实施例提供的方法还可包括:所述NaaS设备根据所述第一转发规则和所述网络设备组的信息,获得检测报文,所述检测报文用于从所述网络设备组获得检测结果,所述检测结果是所述网络设备组根据第一转发规则进行通信的结果;所述NaaS设备向所述控制器发送所述检测报文。所述控制器根据所述检测报文包括的所述网络设备组的信息,向所述网络设备组发送所述检测报文。

可选地,所述NaaS设备向所述控制器发送所述检测报文之后还包括:所述NaaS设备接收所述控制器发送的所述检测结果;如果所述检测结果与预设条件相符,所述NaaS设备根据所述检测结果调整所述契约。举例来说,NaaS设备可通过比较的方式,判断所述检测结果是否与所述预设条件相符。

下面分别以上文所举接入契约、路由契约、组播契约为例,对本发明实施例的业务配置过程进行解释说明。

实施例一

实施例一是与接入契约相关的实施例。实施例一的应用场景可以是数据中心场景。数据中心的设备可根据所具有的通信能力,被划分为以下USG:公网USG、私网USG、网络(Web)USG、应用(application,App)USG、数据(database,DB)USG等等。实施例一以公网USG接入Web USG时的访问过滤业务为例进行说明。

1.用户根据通信需要,确定公网USG和Web USG。

用户可获得终端访问Web服务器的接入条件,并将需要访问Web服务器的一台或多台终端确定为一个USG,形成公网USG。

用户根据使用的数据中心网络包括的Web服务器来确定Web USG,本示例中Web USG为第一标识。举例来说,Web USG所标识的设备组可为图3中区域A所包含的设备的集合,即Web USG所标识的设备组中包括Web服务器。Web USG所标识的设备组还可为图3中区域B所包含的设备的集合,即Web USG所标识的设备组中包括Web服务器和接入路由器1。或者Web USG所标识的设备组还可为数据中心网络所包含的设备的集合。本发明实施例对Web USG所标识的设备组的具体构成可不做具体限定,本发明实施例中的Web USG所标识的设备组中至少包含Web服务器。

2.NaaS设备获得接入契约。

举例来说,NaaS设备可接收用户通过命令行、Web界面等方式输入的接入契约。或者,NaaS设备还可预先定义一些接入契约的描述模型,NaaS设备可根据用户输入的参数和预定义的描述模型生成接入契约,本发明实施例对NaaS设备获得接入契约的具体方式可不做具体限定。

举例来说,图3对应的实施例中,接入契约可表示为<USG2,access contract>,USG2可包括Web USG的ID。USG2还可包括Web USG所标识的设备组中包括的设备的ID。可选的,USG2还可包括Web USG包括的设备对应的Controller的ID。所述Web USG所标识的设备组中包括的设备的ID可以是图3中的Web1和Web2。access contract为接入Web USG所标识的设备组的通信需求,可包括rule和action,rule可包括端口为22和协议为安全外壳协议(Secure Shell,SSH),action可包括允许接入。

3.NaaS设备获得网络设备组的信息。

举例来说,NaaS设备获得网络设备组的信息可包括:NaaS设备获得Web USG对应的第二设备组;NaaS设备可根据条件从第二设备组中选取第一设备;NaaS设备获得所述第一设备的信息。或者,NaaS设备获得网络设备组的信息可包括:NaaS设备读取本地保存的第二设备组;NaaS设备可遍历第二设备组,从第二设备组中选取满足Web USG和条件的所述第一设备;NaaS设备获得所述第一设备的信息。所述第二设备组属于所述备选设备组,所述第一设备属于所述网络设备组。

举例来说,NaaS设备可根据Web USG获得第二设备组。第二设备组可为图3中区域C所包含的设备的集合,区域D所包含的设备的集合,或者数据中心网络所包含的设备的集合,本发明实施例对第二设备组的构成可不做具体限定,第二设备组中至少包含能实现过滤功能的设备。

下面分别以图3中区域C或区域D作为第二设备组为例,对本发明实施例中NaaS设备获得网络设备组的信息的过程进行解释说明。

如果第二设备组为区域C所包含的设备的集合,即区域C包含2个出口路由器,分别为R1和R2,则NaaS设备获得网络设备组的信息可包括:

(1)获得满足接入契约的条件的设备。

举例来说,本实施例中接入契约包括的条件是公网USG访问Web USG的接入条件,即所述网络设备组需具有过滤功能。NaaS设备可获知区域C包括的设备的功能,确定R1和R2均具有过滤功能。

(2)从满足接入契约的条件的设备中选择所述第一设备,获得所述第一设备的信息。

举例来说,NaaS从R1和R2中选择任意一台设备作为所述第一设备。

可选地,NaaS设备可选择网络层级较低的设备为所述第一设备,即根据R1和R2所属的网络层级进行选择。若R1和R2均为3层设备时,NaaS设备可选择其中的任意一个设备作为所述第一设备。若R1为3层设备,R2为4层设备时,NaaS设备可选择R1作为所述第一设备,有助于降低业务对网络资源的要求。

可选地,NaaS设备还可根据R1和R2所承载的负载数量进行选择。若R2所承载的负载数量少于R1所承载的负载数量,NaaS可选择R2作为所述第一设备。NaaS设备可在R1和R2处于同一网络层级时,进一步根据R1和R2承载的负载数量进行选择,即R1和R2均为3层设备,R2承载的负载数量相对较少,NaaS设备可选择R2作为所述第一设备,有助于提高业务的运行效率。

可选地,NaaS设备可在确定R1和R2具有过滤功能后,或者在获知R1和R2的网络层级相同后,选择编号较小或编号较大的出口路由器作为第一设备。

举例来说,NaaS设备可获得所选取的第一设备的标识和接口,比如获得第一设备的node ID和interface。NaaS设备可将获得的标识和接口作为第一设备的信息。

如果第二设备组为区域D所包含的设备的集合,即区域D包含2个出口路由器,比如R1和R2,2个防火墙设备,比如FW1和FW2,2个汇聚路由器,比如R3和R4,则NaaS设备获得网络设备组的信息可包括:

(1)根据接入契约包括的条件,选择具有过滤功能的设备。

举例来说,区域D包括的设备中,R3和R4不具有过滤功能,NaaS设备从区域D中选择R1、R2、FW1和FW2。

(2)从R1、R2、FW1和FW2中选取所述第一设备,获得所述第一设备的信息。

举例来说,NaaS设备可从R1、R2、FW1和FW2中选择网络层级较低的设备。若R1和R2的网络层级为3层,FW1和FW2的网络层级为4层,则NaaS设备可选择R1和R2。NaaS设备可从R1和R2中选择任意一个设备作为所述第一设备,或者NaaS设备可从R1和R2中选择负载数量较少的设备作为所述第一设备。

可选地,NaaS设备可在确定R1、R2、FW1和FW2具有过滤功能后,或者在获知R1和R2的网络层级相同后,选择编号较小或编号较大的设备作为所述第一设备。

举例来说,NaaS设备可获得所选取的第一设备的标识和接口,并将标识和接口作为所述第一设备的信息。

可选地,在选择具有过滤功能的设备之前,NaaS设备获得所述网络设备组的信息还可包括:判断第二设备组中是否有与Web1或Web2相连的网络设备,如果不存在与Web1或Web2相连的网络设备,则NaaS设备按照(1)中的方法遍历第二设备组,选择具有过滤功能的设备。若存在与Web1或Web2相连的网络设备,则NaaS设备可从与Web1或Web2相连的网络设备中获得具有过滤功能的设备,有助于缩小查找的范围。

4.NaaS设备获得第一转发规则。

举例来说,NaaS设备获得第一转发规则可包括:NaaS设备从所述接入契约的条件中获得第一匹配域和第一动作,所述第一匹配域对应接入所述第一标识所标识的设备组的通信需求,所述第一动作与接入操作对应;NaaS设备根据所述第一匹配域和所述第一动作,生成所述第一设备的转发规则。所述第一设备的转发规则为所述第一转发规则。

举例来说,第一匹配域与接入契约中的条件相对应,可包括端口、协议、IP地址和MAC地址中的至少一个。例如,端口为22,协议为SSH。第一动作与接入操作相对应,可包括允许接入、禁止接入、重定向和镜像中的至少一个。

在本发明实施例中,第一设备的转发规则可以是ACL(Access Control List,访问控制列表),ACL可以是NaaS设备对接入契约中的条件进行转换后获得的。举例来说,若所述access contract中的rule可包括端口为22和SSH协议,所述access contract中的action可包括允许接入,则NaaS设备获得的ACL可表示为:rule permit protocol SSH dport 22,其中dport 22表示目的端口为22。

5.NaaS设备向Controller下发第一转发规则和网络设备组的信息。

举例来说,若选取的第一设备的信息包括R1和interface1,ACL为rule permit protocol SSH dport 22,则NaaS设备向Controller下发的(node、interface、rule、action)可表示为(R1、interface1、rule permit protocol SSH dport 22),其中,interface 1可用于标识R1的接口,dport 22可为R1接收到的报文中携带的目的端口。

可选地,在NaaS设备获得第一设备的转发规则后,还可对获得的第一设备的转发规则进行规则校验。举例来说,本发明实施例可通过下述两种实现方式对第一设备的转发规则进行规则校验。

第一种实现方式,对第一设备的转发规则进行规则校验。对第一设备的转发规则进行规则校验可以是在第一设备上进行规则校验,或者是在第一设备与第二设备组中的其它设备之间进行规则校验。

(1)在第一设备上进行规则校验包括:

NaaS设备利用所述第一设备的转发规则与第二转发规则进行冲突校验,所述第二转发规则为所述第一设备上已配置的转发规则。如果存在冲突,即所述第一设备的转发规则没有通过所述规则校验,则NaaS设备获得校正后的第一设备的转发规则,并向Controller发送校正后的第一设备的转发规则和第一设备的信息。如果不存在冲突,即所述第一设备的转发规则通过所述规则校验,则NaaS设备向Controller发送所述第一设备的转发规则和第一设备的信息。

例如,针对研发部门的接入业务,设备S0上设置了如下已配置转发规则:研发部门服务器不能访问外部网络,所有研发部门的员工可以通过设备S1访问公司的内部网络。与此同时,针对归属于研发部门的预研小组,NaaS设备在进行接入业务的自动配置时,选取出的网络设备组为所述设备S0,获得的第一转发规则为:预研小组服务器不能访问SSH服务,预研小组员工可以通过设备S2访问外部网络。这种情况下,NaaS设备可按如下方法对第一转发规则进行规则校正。

(a)针对设备S0上已配置的转发规则“研发部门服务器不能访问外部网络,所有研发部门的员工可以通过设备S1访问公司的内部网络”,其中,研发部门员工的IP地址位于网段10.0.0.0/8,即网段10.0.0.1~10.255.255.255,“\”表示除了,研发部门服务器的IP地址为10.0.0.1,∪表示或者,端口80用于访问外部网络,->{S1}表示通过设备S1。已配置的转发规则可以描述为:SrcAddr:10.0.0.0/8\(SrcAddr:10.0.0.1∪DstPort:80)->{S1}。NaaS设备可分解已配置的转发规则获得三条第一规则:

(a1)研发部门服务器10.0.0.1不能通过设备S1访问外部网络。

第一规则A1:SrcAddr:10.0.0.1:{}。其中,{}中的内容为空,表示丢弃的意思。其中,本发明实施例中的丢弃即为不执行已配置的转发规则中的所有动作,如已配置的转发规则的动作为去往设备S1,第一规则A1中的丢弃动作则为不去往设备S1。

(a2)研发部门员工不能通过设备S1访问外部网络。

第一规则A2:DstPort:80:{}。

(a3)研发部门员工通过设备S1访问内部网络。

第一规则A3:SrcAddr:10.0.0.0/8:{S1}。其中,{S1}表示去往设备S1。

(b)针对第一转发规则“预研小组服务器不能访问SSH服务,预研小组员工可以通过设备S2访问外部网络”,其中,预研小组员工的IP地址位于网段10.2.0.0/16,即网段10.2.0.1~10.2.255.255,“\”表示除了,预研服务器的IP地址为10.2.0.1,∪表示或者,端口22用于访问SSH服务,->{S2}表示通过设备S2。如此,第一转发规则可以描述为:SrcAddr:10.2.0.0/16\(SrcAddr:10.2.0.1∪DstPort:22)->{S2}。NaaS设备可分解第一转发规则获得三条第二规则:

(b1)预研服务器10.2.0.1不能通过设备S2访问SSH服务。

第二规则B1:SrcAddr:10.2.0.1:{}。其中,{}中的内容为空,表示丢弃的意思。

(b2)预研员工不能通过设备S2访问SSH服务。

第二规则B2:DstPort:22:{}。

(b3)预研员工通过设备S2访问外部网络。

第二规则B3:SrcAddr:10.2.0.0/16:{S2}。

可以理解的是,由已配置的转发规则的描述可知,第一规则的优先级由高到低依序为A1>A2>A3。由第一转发规则的描述可知,第二规则的优先级由高到低依序为B1>B2>B3。

可选地,为了达到完全覆盖的效果,可在第一规则和第二规则中均新增一条优先级最低的匹配规则,所述匹配规则的匹配域为通配符,动作为丢弃。例如,新增第一匹配规则作为第一规则A4:*:{},所述第一规则A4可表示为:凡是没和第一规则A1、A2以及A3的匹配域匹配的报文都进行丢弃。新增第二匹配规则作为第二规则B4:*:{},所述第二规则B4可表示为:凡是没和第二规则B1、B2以及B3的匹配域匹配的报文都进行丢弃。

(c)NaaS设备对第一规则取反以得到第一反规则。其中,对第一规则取反即令第一规则的匹配域不变、第一规则的动作取反。

第一反规则C1:SrcAddr:10.0.0.1:{S1}。其中,{S1}表示去往设备S1。

第一反规则C2:DstPort:80:{S1}。

第一反规则C3:SrcAddr:10.0.0.0/8:其中,表示不去往设备S1。

第一反规则C4:*:{S1}。

(d)NaaS设备对第二规则取反以得到第二反规则。其中,对第二规则取反即令第二规则的匹配域不变、第二规则的动作取反。

第二反规则D1:SrcAddr:10.2.0.1:{S2}。其中,{S2}表示去往设备S2。

第二反规则D2:DstPort:22:{S2}。

第二反规则D3:SrcAddr:10.2.0.0/16:其中,表示不去往设备S2。

第二反规则D4:*:{S2}。

每条第一反规则的优先级与相应的第一规则的优先级相同,每条第二反规则的优先级与相应的第二规则的优先级相同。

(e)NaaS设备按照规则合成原则,对第一反规则与第二反规则进行两两组合,生成16条第一执行规则。

(e1)第一执行规则的优先级按照合成该第一执行规则的两条反规则的优先级进行排序。举例来说,若已配置的转发规则的优先级高于第一转发规则,NaaS设备则可按照已配置的转发规则分解得到的第一反规则的优先级进行排序。当第一反规则优先级相同时,可按照第一转发规则分解得到第二反规则的优先级进行排序。举例来说,NaaS设备获得的第一执行规则为C1D1、C1D2、C2D1、C3D2、C3D4和C4D1,则优先级由高到低,第一执行规则可排序为C1D1>C1D2>C2D1>C3D2>C3D4>C4D1。

(e2)NaaS设备可以将每条第一反规则作为一个元素,并按照第一反规则的优先级顺序,排列构成第一矩阵所述第一矩阵为列矩阵。NaaS设备将每条第二反规则作为一个元素,并按照第二反规则的优先级顺序,排列构成第二矩阵所述第二矩阵为行矩阵。举例来说,可将优先级高的规则形成的矩阵作为列矩阵。

(e3)NaaS设备对第一矩阵和第二矩阵进行相乘处理,得到第一执行规则矩阵。

(e4)NaaS设备计算获得第一执行规则矩阵后,可按照规则合成原则获得第一执行规则。

所述规则合成原则可包括:如果第一反规则的匹配域与第二反规则的匹配域是同一种类型,则继续判断第一反规则的匹配域与第二反规则的匹配域之间是否有交集。如果第一反规则的匹配域与第二反规则的匹配域之间没有交集,该第一反规则和第二反规则合成的规则为无效规则。如果第一反规则的第一匹配域与第二反规则的第二匹配域之间存在交集,则由第一反规则的匹配域与第二反规则的匹配域之间的交集,以及第一反规则的动作与第二反规则的动作的交集组成有效的第一执行规则。如果第一反规则的匹配域与第二反规则的匹配域不是同一种类型,则由第一反规则的匹配域与第二反规则的匹配域的并集,以及第一反规则的动作与第二反规则的动作的交集组成有效的第一执行规则。可选地,在其它应用实施例中,所述规则合成原则还可包括:若第一反规则的动作与第二反规则的动作的交集的取反没有交集,则将第一反规则和第二反规则合成的规则也作为无效规则。

对于C1D1来说,第一反规则C1为:SrcAddr:10.0.0.1:{S1},第二反规则D1为:SrcAddr:10.2.0.1:{S2}。C1的匹配域为IP地址10.0.0.1,D1的匹配域为IP地址10.2.0.1,二者是同一类型,但没有交集,所以,C1D1为无效规则。

对于C1D2来说,第一反规则C1为:SrcAddr:10.0.0.1:{S1},第二反规则D2为:DstPort:22:{S2}。C1的匹配域为IP地址10.0.0.1,D2的匹配域为端口地址22,二者是不同类型,所以,C1D2取C1的匹配域与D2的匹配域的并集以及C1的动作与D2的动作的交集,C1D2为10.0.0.1,22:{S1∩S2}。

对于C1D3来说,第一反规则C1为:SrcAddr;10.0.0.1;{S1},第二反规则D3为:SrcAddr;10.2.0.0/16;C1的匹配域为IP地址10.0.0.1,D3的匹配域为10.2.0.0/16,即10.2.0.1~10.2.255.255,二者是同一类型,但没有交集,所以,C1D3为无效规则。

对于C1D4来说,第一反规则C1为:SrcAddr;10.0.0.1;{S1},第二反规则D4为:*;{S2}。C1的匹配域为IP地址10.0.0.1,D4的匹配域为通配符*,二者是同一类型,所以,C1D4取C1的匹配域与D4的匹配域的交集以及C1的动作与D4的动作的交集,C1D4为10.0.0.1:{S1∩S2}。

对于C2D1来说,第一反规则C2为:DstPort:80:{S1},第二反规则D1为:SrcAddr:10.2.0.1:{S2}。C2的匹配域为端口地址80,D1的匹配域为IP地址10.2.0.1,二者是不同类型,所以,C2D1取C2的匹配域与D1的匹配域的并集以及C2的动作与D1的动作的交集,C2D1为10.2.0.1,80:{S1∩S2}。

对于C2D2来说,第一反规则C2为:DstPort:80:{S1},第二反规则D2为:DstPort:22:{S2}。C2的匹配域为端口地址80,D2的匹配域为端口地址22,二者是同一类型,但没有交集,所以,C2D2为无效规则。

对于C2D3来说,第一反规则C2为:DstPort:80:{S1},第二反规则D3为:SrcAddr:10.2.0.0/16:C2的匹配域为端口地址80,D3的匹配域为10.2.0.0/16,即10.2.0.1~10.2.255.255,二者是同一类型,所以,C2D3取C2的匹配域与D3的匹配域的并集以及C2的动作与D3的动作的交集,C2D3为10.2.0.0/16,80:

对于C2D4来说,第一反规则C2为:DstPort:80:{S1},第二反规则D4为:*:{S2}。C2的匹配域为端口地址80,D4的匹配域为通配符*,二者是同一类型,所以,C2D4取C2的匹配域与D4的匹配域的交集以及C2的动作与D4的第二动作的交集,C2D4为80:{S1∩S2}。

对于C3D1来说,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D1为:SrcAddr:10.2.0.1:{S2}。C3的匹配域为网段地址10.0.0.0/8,即10.0.0.0~10.255.255.255,D1的匹配域为IP地址10.2.0.1,二者是同一类型,且存在交集,所以,C3D1取C3的匹配域与D1的匹配域的交集以及C3的动作与D1的动作的交集,C3D1为10.2.0.1:

对于C3D2来说,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D2为:DstPort:22:{S2}。C3的匹配域为网段地址10.0.0.0/8,即10.0.0.0~10.255.255.255,D2的匹配域为端口地址22,二者是不同类型,所以,C3D2取C3的匹配域与D2的匹配域的并集以及C3的动作与D2的动作的交集,C3D2为10.0.0.0/8,22:

对于C3D3来说,第一反规则C3为:SrcAddr;10.0.0.0/8:第二反规则D3为:SrcAddr;10.2.0.0/16:C3的匹配域为网段地址10.0.0.0/8,即10.0.0.0~10.255.255.255,D3的匹配域为10.2.0.0/16,即10.2.0.1~10.2.255.255,二者是同一类型,且存在交集,所以,C3D3取C3的匹配域与D3的匹配域的交集以及C3的动作与D3的动作的交集,C3D3为10.2.0.0/16:

对于C3D4来说,第一反规则C3为:SrcAddr:10.0.0.0/8:第二反规则D4为:*:{S2}。C3的匹配域为网段地址10.0.0.0/8,即10.0.0.0~10.255.255.255,D4的匹配域为通配符*,二者是同一类型,所以,C3D4取C3的匹配域与D4的匹配域的交集以及C3的动作与D4的动作的交集,C3D4为10.0.0.0/8:

对于C4D1来说,第一反规则C4为:*:{S1},第二反规则D1为:SrcAddr:10.2.0.1:{S2}。C4的匹配域为通配符*,D1的匹配域为IP地址10.2.0.1,二者是同一类型,且存在交集,所以,C4D1取C4的匹配域与D1的匹配域的交集以及C4的动作与D1的动作的交集,C4D1为10.2.0.1:{S1∩S2}。

对于C4D2来说,第一反规则C4为:*:{S1},第二反规则D2为:DstPort:22:{S2}。C4的匹配域为通配符*,D2的匹配域为端口地址22,二者是同一类型,所以,C4D2取C4的匹配域与D2的匹配域的交集以及C4的动作与D2的动作的交集,C4D2为22:{S1∩S2}。

对于C4D3来说,第一反规则C4为:*:{S1},第二反规则D3为:SrcAddr:10.2.0.0/16:C4的匹配域为通配符*,D3的匹配域为10.2.0.0/16,即10.2.0.1~10.2.255.255,二者是同一类型,所以,C4D3取C4的匹配域与D3的匹配域的交集以及C4的动作与D3的动作的交集,C4D3为10.2.0.0/16:

对于C4D4来说,第一反规则C4为:*:{S1},第二反规则D4为:*:{S2}。C4的匹配域为通配符*,D4的匹配域为通配符*,二者是同一类型,所以,C4D4取C4的匹配域与D4的匹配域的交集以及C4的动作与D4的动作的交集,C4D4为*:{S1∩S2}。

(f)NaaS设备删除无效规则,并将剩余的第一执行规则作为有效第一执行规则,将每条有效第一执行规则取反后根据设备S0支持的协议转化为设备S0对应的转发表项。

举例来说,对有效第一执行规则取反即令匹配域不变、动作取反。

例如,

在(e)中形成的第一执行规则矩阵中:

由于C1D1是无效规则,将C1D1删除,故不需对C1D1进行取反。

对C1D2(10.0.0.1,22:{S1∩S2})进行取反,获得10.0.0.1,22:其中,所以,第一执行规则的取反可简化表示为10.0.0.1,22:{}。

由于C1D3是无效规则,将C1D3删除,故不需对C1D3进行取反。

对C1D4(10.0.0.1:{S1∩S2})进行取反,获得10.0.0.1:其中,所以,第一执行规则的取反可简化表示为10.0.0.1:{}。

对于C2D1(10.2.0.1,80:{S1∩S2})进行取反,获得10.2.0.1,80:其中,所以,第一执行规则的取反可简化表示为10.2.0.1,80:{}。

由于C2D2是无效规则,将C2D2删除,故不需对C2D2进行取反。

对C2D3(10.2.0.0/16.80;)进行取反,获得10.2.0.0/16,80;其中,所以,第一执行规则的取反可简化表示为10.2.0.0/16,80:{S2}。

对C2D4(80:{S1∩S2})进行取反,获得80:其中,所以,第一执行规则的取反可简化表示为80:{}。

对于C3D1(10.2.0.1:)进行取反,获得10.2.0.1:其中,所以,第一执行规则的取反可简化表示为10.2.0.1:{S1}。

对C3D2(10.0.0.0/8,22:)进行取反,获得10.0.0.0/8,22:其中,所以,第一执行规则的取反可简化表示为10.0.0.0/8,22:{S1}。

对C3D3(10.2.0.0/16:)进行取反,获得10.2.0.0/16:其中,所以,第一执行规则的取反可简化表示为10.2.0.0/16:{S1,S2}。

对C3D4(10.0.0.0/8:)进行取反,获得10.0.0.0/8:其中,所以,第一执行规则的取反可简化表示为10.0.0.0/8:{S1}。

对C4D1(10.2.0.1:{S1∩S2})进行取反,获得10.2.0.1:其中,所以,第一执行规则的取反可简化表示为10.2.0.1:{}。

对C4D2(22:)进行取反,获得22:其中,所以,第一执行规则的取反可简化表示为22:{}。

对C4D3(10.2.0.0/16:)进行取反,获得10.2.0.0/16:其中,所以,第一执行规则的取反可简化表示为10.2.0.0/16:{S2}。

对C4D4(*:{S1∩S2})进行取反,获得*:其中,所以,第一执行规则的取反可简化表示为*:{}。

NaaS设备将有效第一执行规则的取反后,根据设备S0支持的协议转化为相应的转发表项,以使设备S0根据所述转发表项进行报文转发。可选地,所述转发表项的优先级可与其相应的第一执行规则的优先级顺序相同,设备S0接收到报文后,可以根据与所述报文匹配的转发表项中优先级最高的转发表项,将所述报文转发给其他转发设备,例如转发给设备S1或设备S2。这样,将存在冲突的无效规则删除,就可避免已配置的转发规则和第一转发规则间的规则冲突,使得设备S0既能执行已配置的转发规则又能执行第一转发规则。

(2)在第一设备与第二设备组中的其它设备之间进行规则校验包括:

NaaS设备判断第一设备的转发规则是否会与所述第二设备组内的第二设备的转发规则形成传输异常。如果形成传输异常,NaaS设备获得第三转发规则,NaaS设备向Controller发送所述第一设备的转发规则和第一设备的信息。如果未形成传输异常,则NaaS设备向Controller发送所述第一设备的转发规则和第一设备的信息。举例来说,所述第三转发规则可以是校正后的第二设备的转发规则,例如所述NaaS设备可对所述第二设备的转发规则进行校正,获得校正后的第二设备的转发规则。所述第二设备可以与所述第一设备直接通信,或者,所述第二设备可以与所述第一设备间接通信。

该规则校验用于检测第二设备组中是否会出现传输异常,如果存在传输异常,则说明报文无法正确转发至目的节点,需要进行规则校正。其中,传输异常可以是环路或黑洞,还可以是其它传输异常,在此不再逐一赘述。在进行规则校验时,NaaS设备可进行环路检测和黑洞检测中的至少一种检测。

若第二设备组为图3中区域D所包含的设备的集合,下面分别以环路和黑洞检测为例,对第一设备的转发规则的校验过程进行解释说明。

关于环路检测的示例

例如,区域D中的出口路由器为R1和R2,汇聚路由器为R3和R4。在区域D中,R1的接口1连接R3,R3的接口2连接接入路由器1,接入路由器1可与Web服务器通信。NaaS设备可获知区域D包括的所有设备所配置的转发规则。R1上配置的转发规则为:通过出接口接口1进行报文转发;R3上配置的转发规则为:通过出接口接口2进行报文转发。所述报文为R1根据第一设备的转发规则过滤后的报文。基于R1和R2配置的转发规则,结合图3所示的网络,R1根据第一设备的转发规则获得所述报文后,所述报文可经过R1的接口1和R3的接口2,到达接入路由器1,第二设备组中不会出现异常传输,即所述报文可正确发送至连接Web服务器的接入路由器1,所述第一设备的转发规则通过了规则校验。

在区域D中,R1的接口1连接R3,R3的接口3连接R4,R4的接口2连接R1。R1上配置的转发规则为:通过接口1进行报文转发;R3上配置的转发规则为:通过接口3进行报文转发;R4上配置的转发规则为:通过接口2进行报文转发。所述报文为R1根据第一设备的转发规则过滤后的报文。基于R1、R3和R4上已配置的转发规则,结合图3所示的网络,R1根据第一设备的转发规则获得所述报文后,所述报文可经过R1的接口1和R3的接口3,到达R4。R4会将来自R3的报文,通过R4的接口2发送至R1。R4可导致区域D内形成环路,所述报文无法到达连接Web服务器的接入路由器1,即第一设备的转发规则未通过规则校验。NaaS可校正R4上配置的转发规则,如,将R4上配置的转发规则校正为通过接口3发送所述报文。

关于黑洞检测的示例

出现环路、黑洞等传输异常最终都会导致报文无法被正确转发至目的节点,所不同的是,出现环路时报文会被不断的循环转发;出现黑洞时报文则无法被转发至其它节点。

例如,区域D中的出口路由器为R1和R2,汇聚路由器为R3和R4。在区域D中,R1的接口1连接R3,R3的接口3连接R4,R4的接口2连接R1。R1上配置的转发规则为:通过接口1进行报文转发;R3上配置的转发规则为:通过接口3进行报文转发;R4上未配置转发规则。所述报文为R1根据第一设备的转发规则过滤后的报文。基于R1和R3上已配置的转发规则,结合图3所示的网络,R1根据第一设备的转发规则获得所述报文后,所述报文可经过R1的接口1和R3的接口3,到达R4。由于R4未配置转发规则,R4无法将所述报文正确转发至接入路由器1。R4导致区域D内形成黑洞,即第一设备的转发规则未通过规则校验。NaaS设备需要校正R4的转发规则,如,NaaS设备可在R4上配置通过接口3进行报文转发的转发规则。

可选地,第二设备组中的其它设备也可导致传输异常,如R3,在此不再逐一举例说明。

可选地,本发明实施例中传输异常检测,可以针对第二设备组中的所有设备,也可针对第二设备组中的部分指定设备,还可针对第二设备组中当前正在配置转发规则的设备,本发明实施例对此可不做具体限定。其中,当前正在配置转发规则的设备至少可以理解为以下两种情况:

情况一,接入契约中的条件包括至少两种接入通信需求,如,第一种接入通信需求包括:第一rule和第一action,第一rule包括端口为22和SSH协议,第一action为允许接入;第二种接入通信需求包括:第二rule和第二action,第二rule包括端口为80和超文本传输协议(HTTP-Hypertext transfer protocol,HTTP),第二action为允许接入。NaaS设备可根据本发明实施例中的101至104的方法,对于每种接入通信需求,分别获得与该种通信需求对应的第一转发规则和网络设备组的信息。

情况二,NaaS设备当前接收到至少两个用户输入的接入契约,如,用户1输入的接入契约1,且接入契约1中的条件包括:第一rule和第一action,第一rule包括端口为22和SSH协议,第一action为允许接入;用户2输入的接入契约2,且接入契约2中的条件包括:第二rule和第二action,第二rule包括端口为80和HTTP协议,第二action为允许接入。NaaS设备可根据本发明实施例中的101至104的方法,获得与契约1对应的第一转发规则和网络设备组的信息,获得与契约2对应的第一转发规则和网络设备组的信息。

可选地,为了实现业务的正确配置,NaaS设备还可对用户输入的契约进行重名检测,避免不同用户采用相同名称来定义契约。

第二种实现方式,利用第一设备的转发规则对物理网络中的设备的业务运行情况进行实测,以发现业务异常或进行故障定位。

作为一种示例,本发明实施例中的实测至少可体现为以下三方面中的至少一个:规则有效性、连通性和服务质量(Quality of Service,QoS)。

(1)规则有效性

举例来说,NaaS设备获得第一设备的转发规则和第一设备的信息后,可将第一设备的转发规则和第一设备的信息发送至Controller。Controller可将第一设备的转发规则下发至第一设备。NaaS设备将第一设备的转发规则和第一设备的信息发送至Controller之后,还可对第一设备配置第一设备的转发规则的状态进行实测,以确保第一设备正确配置了第一设备的转发规则,即第一设备的转发规则已在第一设备上生效。

举例来说,第一设备接收到Controller下发的第一设备的转发规则后,会记录第一设备的转发规则的配置状态。NaaS设备可按以下方式进行规则有效性检测:NaaS设备构造第一检测报文,向第一设备发送所述第一检测报文,如NaaS设备可通过Controller下发第一检测报文至第一设备。其中,第一检测报文用于请求第一设备上报第一设备的转发规则的配置状态,配置状态可为已生效或未生效。第一设备接收到所述第一检测报文后,根据第一检测报文获得第一设备的转发规则的配置状态。第一设备可根据所述配置状态,获得第一检测结果报文。第一设备向NaaS设备发送第一检测结果报文,如第一设备通过Controller发送第一检测结果报文至NaaS设备。

(2)连通性

NaaS设备还可在图3所示的数据中心网络中进行连通性检测,对网络中的设备进行故障定位。作为一种示例,本发明实施例中的连通性检测可体现为环路检测和/或黑洞检测。

具体地,NaaS设备可通过头部空间分析(Header Space Analysis,HSA)技术计算可达地址空间及路径集合,基于可达地址空间及路径集合进行环路检测和/或黑洞检测。其中,该实施例中,NaaS设备对数据中心网络进行环路检测和/或黑洞检测;环路检测可采用所述规则校验过程中的环路检测方法,在此不再赘述;黑洞检测可采用所述规则校验过程中的黑洞检测,在此不再赘述。可选地,如果NaaS设备获知数据中心网络中存在环路,NaaS设备还可构造第二检测报文,并向存在环路的路径下发所述第二检测报文;如果NaaS设备获知数据中心网络中存在黑洞,NaaS设备还可构造第三检测报文,并向存在黑洞的路径下发所述第三检测报文。其中,NaaS设备可通过Controller下发第二检测报文或第三检测报文,通过实测方式确认网络中是否存在环路和/或黑洞。

(2)QoS

NaaS设备还可在图3所示的数据中心网络中,对网络中的任两台设备间的通信进行QoS检测。作为一种示例,本发明实施例中的QoS检测可包括带宽、时延、抖动和丢包率中的至少一种。

下面以时延检测为例,对本发明实施例的QoS检测过程进行解释说明。

NaaS设备构造用于检测R1到接入路由器1之间时延的第四检测报文,并通过Controller将第四检测报文转发至R1。对应地,R1接收Controller发送的第四检测报文,并向接入路由器1发送第四检测报文。R1向接入路由器1发送的第四检测报文可包括R1记录的发送时间戳,接入路由器1接收到第四检测报文后还可记录接收时间戳,接入路由器1根据发送时间戳和接收时间戳计算时延。接入路由器1获得第四检测结果报文,所述第四检测结果报文包括所述时延,接入路由器1通过Controller,向NaaS设备发送第四检测结果报文。

带宽、抖动和丢包率等参数的检测可参照时延检测方法,生成相应的检测报文,通过相应的检测报文获得检测结果,此处不再一一举例说明。

此外,针对第二实现方式,本发明实施例还可做如下说明:NaaS设备得到检测结果后,可直接将检测结果反馈给用户,如,向用户反馈第一设备的转发规则已生效、哪台设备导致了黑洞、网络中任两台设备间的QoS等等,由用户根据检测结果进行后续处理。或者,NaaS设备还可根据检测结果和所述预设调整条件对接入契约进行联动处理,下面对联动处理过程进行解释说明。

(a)针对规则有效性检测,所述预设调整条件可为第一设备的转发规则未生效。若NaaS设备接收到的第一检测结果报文表示第一设备的转发规则未生效,NaaS设备则可判定检测结果与所述预设调整条件相符,需要对所述接入契约进行联动处理。例如,NaaS设备可根据检测结果和所述预设调整条件生成参数组<event,condition,action>,并利用所述参数组调整所述接入契约。其中,event表示联动处理的事件,本示例中可为规则有效性;condition表示联动处理的条件,即所述预设调整条件,本示例中可为第一设备的转发规则未生效;action表示联动处理的动作,本示例中可为:重新选取网络设备组的信息,例如选取图3中的R2作为第一设备,则向Controller发送第一设备的转发规则和R2的信息;或者,重新向Controller发送第一设备的转发规则和第一设备的信息,例如上述示例中第一设备为图3中的R1,则向Controller发送第一设备的转发规则和R1的信息。

(b)针对连通性检测,以通过第二检测报文进行环路检测为例。所述预设调整条件可为出现环路,若NaaS设备接收到的第二检测结果报文表示网络中存在环路,NaaS设备则可判定检测结果与所述预设调整条件相符,需要对所述接入契约进行联动处理。例如,NaaS设备可根据检测结果和所述预设调整条件生成参数组<event,condition,action>,并利用所述参数组调整所述接入契约。其中,event表示联动处理的事件,本示例中可为环路;condition表示联动处理的条件,即所述预设调整条件,本示例中可为存在环路;action表示联动处理的动作,本示例中可为修改出现环路的设备的转发规则,例如,修改图3所示网络中R4的转发规则。

需要说明的是,黑洞的联动处理过程与环路的联动处理过程相似,此处不再详述。针对黑洞生成参数组中,event可为黑洞,condition可为存在黑洞;action可为给出现黑洞的设备配置转发规则。

(c)针对QoS检测,以通过第四检测报文进行时延检测为例。所述预设调整条件可为大于预设时延值,若NaaS设备接收到的第四检测结果报文表示实测时延值大于预设时延值,NaaS设备则可判定检测结果与所述预设调整条件相符,需要对所述接入契约进行联动处理。例如,NaaS设备可根据检测结果和所述预设调整条件生成参数组<event,condition,action>,并利用所述参数组调整所述接入契约。其中,event表示联动处理的事件,本示例中可为时延;condition表示联动处理的条件,即所述预设调整条件,本示例中可为大于预设时延值;action表示联动处理的动作,本示例中可为将预设时延值调整至实测时延值。

需要说明的是,带宽、抖动和丢包率等参数的联动处理与时延的联动处理方法相似,此处不再详述。针对丢包率生成参数组中,event可为丢包率,condition可为大于预设丢包率;action可为将预设丢包率调整至实测丢包率;针对抖动生成参数组中,event可为抖动,condition可为大于预设抖动值;action可为将预设抖动值调整至实测抖动值;针对带宽生成参数组中,event可为带宽,condition可为小于预设带宽;action可为将预设带宽调整至实测带宽。

另外,需要说明的是,NaaS设备可以在检测结果符合所述预设调整条件的要求时,就对所述接入契约进行调整,以实现联动处理;或者,NaaS设备还可将检测结果显示给用户查看,并在接收到用户指示后,才对所述接入契约进行调整;或者,NaaS设备还可根据用户设定的用于进行联动处理的指示,在检测结果符合预设调整条件时,自动对所述接入契约进行调整。作为一种示例,用户可在向NaaS设备输入所述接入契约时,设定用于进行联动处理的指示,例如,所述用于进行联动处理的指示为coordination参数。具体地,coordination参数值为Y表示需要进行联动处理,coordination参数值为N表示不需进行联动处理。或者,所述接入契约中包括所述coordination参数表示需要进行联动处理,所述接入契约中不包括coordination参数表示不需进行联动处理。本发明实施例对NaaS设备进行联动处理的条件、用户设定用于进行联动处理的指示的方式等可不做具体限定。

实施例二

实施例二是与路由契约相关的实施例。实施例二的应用场景可以是数据中心互联场景。数据中心互联场景中的设备可根据所具有的通信能力,划分为以下USG:site USG、公有云USG等等。如图4所示,site1USG、site2USG和site3USG可两两通信,site3USG可与公有云USG通信。实施例二以实现site1USG与site2USG之间的通信需求为例进行说明。本示例中的通信需求可为路径的传输需求。

1.用户根据通信需要,确定site1USG和site2USG。

举例来说,用户可结合图3所示的数据中心确定本示例中的site1USG、site2USG。如图4所示,用户将数据中心1包含的部分或全部设备定义为site1USG,本示例中site1USG可为第二标识;用户将数据中心2包含的部分或全部设备定义为site2USG,本示例中site2USG可为第三标识。图4中并未完整示出数据中心1、2的网络构架,其余部分可参照图3所示。

2.NaaS设备获得路由契约。

举例来说,图4对应的实施例中,路由契约可表示为<USG3,USG4,routing contract>。USG3可包括site1USG的ID。USG3还可包括site1USG所标识的设备组包括的设备的ID。可选的,USG3还可包括site1USG所表示的设备组对应的Controller的ID。USG4可包括site2USG的ID和site2USG所标识的设备组包括的设备的ID。可选的,USG4还可包括site2USG包括的设备对应的Controller的ID。routing contract为site1USG所标识的设备组与site2USG所标识的设备组间的通信需求,可包括rule和action,rule可包括带宽为10G和时延为10ms,action可包括设置QoS。

举例来说,NaaS设备可接收用户通过命令行、Web界面等方式输入的路由契约。或者,NaaS设备还可预先定义一些路由契约的描述模型,NaaS设备可根据用户输入的参数和预定义的描述模型自动生成路由契约,本发明实施例对NaaS设备获得路由契约的具体方式可不做具体限定。

举例来说,用户输入的命令行中的us可以是user的缩写。NaaS设备可通过用户输入的如下命令行,获得路由契约:

(1)Creat Classifier

neutron classifier-create Routing-Control--ingress site1USG--egress site2USG

(2)Create Routing Contract using the Classifier

neutron contract-create Routing-Control-Contract--classifier Routing-Control--action QoS--bandwidth 10G--delay 10ms--coordination Y

(3)Create USG providing the Contract

neutron usg-create site1USG--consumes-contract Routing-Control-Contract

(4)Create User in site1USG

neutron us-create--usg site1USG

(5)Create USG providing the Contract

neutron usg-create site2USG--consumes-contract Routing-Control-Contract

(6)Create User in site2USG

neutron us-create--usg site2USG

3.NaaS设备获得网络设备组的信息。

举例来说,NaaS设备获得网络设备组的信息可包括:NaaS设备获得site1USG对应的第三设备组,所述第三设备组包括作为源节点的设备;NaaS设备根据所述条件,从所述第三设备组中选取第三设备,所述第三设备为所述源节点;NaaS设备获得所述第三设备的信息。NaaS设备获得site2USG对应的第四设备组,所述第四设备组包括作为目的节点的设备;NaaS设备根据所述条件,从所述第四设备组中选取第四设备,所述第四设备为所述目的节点;NaaS设备获得所述第四设备的信息。举例来说,本示例中的源节点可为第三设备组与第四设备组之间路径的源节点,目的节点可为所述路径的目的节点;或者本示例中的源节点可以为发送报文的节点,目的节点可以为接收所述报文的节点。

或者,NaaS设备获得网络设备组的信息可包括:NaaS设备读取本地保存的第三设备组;NaaS设备可遍历所述第三设备组,从所述第三设备组中选取满足site1USG和条件的第三设备;NaaS设备获得所述第三设备的信息。NaaS设备读取本地保存的第四设备组;NaaS设备可遍历所述第四设备组,从所述第四设备组中选取满足site2USG和条件的第四设备;NaaS设备获得所述第四设备的信息。

本示例中,所述第三设备组和所述第四设备组属于所述备选设备组,所述第三设备和所述第四设备属于所述网络设备组。

举例来说,NaaS设备可根据site1USG获得第三设备组,根据site2USG获得第四设备组。本发明实施例对第三设备组和第四设备组的构成可不做具体限定,第三设备组中至少包含能与数据中心1之外的设备通信的设备,第四设备组中至少包含能与数据中心2之外的设备通信的设备。NaaS设备获得第三设备组和第四设备组的方式,可参照实施例一获得第二设备组的实现方式,此处不再赘述。

NaaS设备获得所述第三设备组后,可根据条件,从所述第三设备组中选取第三设备。NaaS设备选取所述第三设备的方式,可参照实施例一选取第一设备的实现方式,此处不再赘述。举例来说,NaaS设备可获得所选取的第三设备的标识和第三设备的接口,将获得的标识和接口作为第三设备的信息。

NaaS设备获得所述第四设备组后,可根据条件,从所述第四设备组中选取第四设备。NaaS设备选取所述第四设备的方式,可参照实施例一选取第一设备的实现方式,此处不再赘述。举例来说,NaaS设备可获得所选取的第四设备的标识和第四设备的接口,将获得的标识和接口作为第四设备的信息。

4.NaaS设备获得第一转发规则。

举例来说,NaaS设备从所述路由契约的条件获得第二匹配域和第二动作,所述第二匹配域对应所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,所述第二动作对应于所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信对应;所述NaaS设备根据所述第二匹配域和所述第二动作,生成所述第三设备的转发规则和所述第四设备的转发规则。所述第一转发规则包括所述第三设备的转发规则和所述第四设备的转发规则。

举例来说,第二匹配域与所述路由契约中的条件相对应,可包括QoS、虚拟专用网络(Virtual Private Network,VPN)标签、约定访问速率(Committed Access Rate,CAR)中的至少一个。例如,带宽为10M,所述带宽属于QoS。第二动作与通信操作相对应,可包括设置QoS和设置VPN中的至少一个。

举例来说,若路由契约中的条件为第三设备组与第四设备组间的带宽需求,则第三设备的转发规则和第四设备的转发规则可表示为:启用MPLS-TE配置,mpls te bandwidth max-reservable-bandwidth 100000000。可选地,若选取的第三设备的信息包括R11和interface 1,第三设备的转发规则还可表示为:启用MPLS-TE配置,interface1上启用带宽约束配置,mpls te bandwidth max-reservable-bandwidth 100000000。若选取的第四设备的信息包括R22和interface1,第四设备的转发规则还可表示为:启用MPLS-TE配置,interface1上启用带宽约束配置,mpls te bandwidth max-reservable-bandwidth 100000000。

5.NaaS设备向Controller下发第一转发规则和网络设备组的信息。

本示例中,NaaS设备向Controller下发的(node、interface、rule、action)参数组可表示为(R11;interface1;启用MPLS-TE配置,mpls te bandwidth max-reservable-bandwidth 100000000;set QoS)和(R22;interface1;启用MPLS-TE配置,mpls te bandwidth max-reservable-bandwidth 100000000;set QoS)。

可选地,Controller接收到NaaS设备发送的第一转发规则和网络设备组的信息后,可获得源节点R11与目的节点R22之间的路径,并根据带宽要求,对路径中的节点进行带宽配置。例如路径上还包含转发节点R3和R4,则Controller可分别对R11、R22、R3和R4进行带宽约束配置。

可选地,本发明实施例还提供了两种规则校验的实现方式,下面进行举例说明。

第一种实现方式,对第一转发规则进行规则校验。对第一转发规则进行规则校验可以是在网络设备组上进行规则校验,或者是在网络设备组与备选设备组中的其它设备之间进行规则校验。

(1)在网络设备组上进行规则校验包括:

(a)NaaS设备利用第三设备的转发规则与第四转发规则进行冲突校验,所述第四转发规则为所述第三设备上已配置的转发规则。如果存在冲突,即所述第三设备的转发规则没有通过所述规则校验,则NaaS设备校正第三设备的转发规则,获得校正后的第三设备的转发规则。第一转发规则包括第四设备的转发规则和校正后的第三设备的转发规则。

(b)NaaS设备利用第四设备的转发规则与第五转发规则进行冲突校验,所述第五转发规则为所述第四设备上已配置的转发规则。如果存在冲突,即所述第四设备的转发规则没有通过所述规则校验,则NaaS设备校正第四设备的转发规则,获得校正后的第四设备的转发规则。第一转发规则包括第三设备的转发规则和校正后的第四设备的转发规则。

(c)NaaS设备按照(a)所示方法对第三设备的转发规则进行规则校验,还按照(b)所示方法对第四设备的转发规则进行规则校验。若第三设备的转发规则和第四设备的转发规则均没有通过所述规则校验,则NaaS设备校正第三设备的转发规则和第四设备的转发规则。第一转发规则可包括校正后的第三设备的转发规则和校正后的第四设备的转发规则。

举例来说,本示例中的规则冲突可为:针对第三设备R11,若第四转发规则为报文经由interface2转发到路由器R3,第三设备的转发规则为报文经由interface1转发到路由器R3。应用过程中可能还会存在其它规则冲突的情况,此处不再一一举例说明。NaaS设备解决规则冲突的方法,可参照上文第一设备的转发规则与第二转发规则之间冲突时采用的方法,此处不再赘述。

(2)在网络设备组与备选设备组中的其它设备之间进行规则校验包括:

(a)NaaS设备判断第三设备的转发规则是否会与第三设备组内的第五设备的转发规则形成传输异常,如果形成传输异常,NaaS设备获得第六转发规则,NaaS设备向Controller发送所述第三设备的转发规则和第三设备的信息。如果未形成传输异常,则NaaS设备向Controller发送所述第三设备的转发规则和第三设备的信息。举例来说,所述第六转发规则可以是NaaS设备对所述第五设备的转发规则进行校正后获得的转发规则。所述第五设备可以与所述第三设备直接通信,或者,所述第五设备可以与所述第三设备间接通信。

(b)NaaS设备判断第四设备的转发规则是否会与第四设备组内的第六设备的转发规则形成传输异常,如果形成传输异常,NaaS设备获得第七转发规则,NaaS设备向Controller发送所述第四设备的转发规则和第四设备的信息。如果未形成传输异常,则NaaS设备向Controller发送所述第四设备的转发规则和第四设备的信息。举例来说,所述第七转发规则可以是NaaS设备对所述第六设备的转发规则进行校正后获得的转发规则。所述第六设备可以与所述第四设备直接通信,或者,所述第六设备可以与所述第四设备间接通信。

(c)NaaS设备按照(a)所示方法在第三设备组内进行规则校验,还按照(b)所示方法在第四设备组内进行规则校验,如果第三设备组内和第四设备组内均存在传输异常,NaaS设备分别获得第六转发规则和第七转发规则。

举例来说,传输异常可为环路或黑洞等无法将报文正确转发至目的节点的情况,传输异常的检测方式,可参照上文在第二设备组内进行环路检测和黑洞检测的过程,此处不再赘述。

第二种实现方式,利用第一转发规则对物理网络中的设备的业务运行情况进行实测,以发现业务异常或进行故障定位。

作为一种示例,本发明实施例中的实测至少可体现为以下三方面中的至少一个:规则有效性、连通性和QoS。

(1)规则有效性

(a)NaaS设备构造第五检测报文,通过Controller下发第五检测报文至第三设备。其中,第五检测报文用于请求第三设备上报第三设备的转发规则的配置状态,配置状态可为已生效或未生效。第三设备接收到所述第五检测报文后,根据第五检测报文获得第三设备的转发规则的配置状态。第三设备可根据所述配置状态,获得第五检测结果报文,并通过Controller向NaaS设备发送第五检测结果报文。

(b)NaaS设备构造第六检测报文,通过Controller下发第六检测报文至第四设备。其中,第六检测报文用于请求第四设备上报第四设备的转发规则的配置状态,配置状态可为已生效或未生效。第四设备接收到所述第六检测报文后,根据第六检测报文获得第四设备的转发规则的配置状态。第四设备可根据所述配置状态,获得第六检测结果报文,并通过Controller向NaaS设备发送第六检测结果报文。

(c)NaaS设备按照(a)所示方法对第三设备的转发规则进行有效性检测,还按照(b)所示方法对第四设备的转发规则进行有效性检测。

(2)连通性

NaaS设备还可在图4所示的网络中进行连通性检测,对网络中的设备进行故障定位。作为一种示例,本发明实施例中的连通性检测可为环路检测和/或黑洞检测。本示例中的连通性检测方法,可参照实施例一对图3所示数据中心网络进行连通性检测时采用的方法,此处不再赘述。本示例中,NaaS设备可对数据中心1、数据中心2和互联网络中的至少一个网络进行连通性检测。

(2)QoS

NaaS设备还可在图4所示的网络中,对出口路由器R11、出口路由器R22以及互联网络中的任两台设备之间进行QoS检测。作为一种示例,本发明实施例中的QoS检测可包括带宽、时延、抖动和丢包率中的至少一种。本示例中的QoS检测方法,可参照实施例一对图3所示数据中心网络进行QoS检测时采用的方法,此处不再赘述。

可选地,NaaS设备获得检测结果后,还可利用检测结果和预设条件条件对路由契约进行联动处理。NaaS设备对路由契约进行联动处理的方法,可参照实施例一中联动处理的实现方式,此处不再赘述。

实施例三

实施例三是与路由契约相关的另一实施例。实施例三的应用场景可以是带宽智能业务场景。宽带智能业务网络的设备可根据所具有的通信能力,划分为以下USG:用户群USG、公网USG等等。如图5所示,用户群1USG可以与公网USG通信,用户群2USG可以与所述公网USG通信。实施例三以实现用户群1USG与用户群2USG间的通信为例进行说明。本示例中通信需求可为创建VPN。

1.NaaS设备获得路由契约。

举例来说,图5对应的实施例中,路由契约可表示为<USG3,USG4,routing contract>。USG3可包括用户群1USG的ID。USG3还可包括用户群1USG所标识的设备组包括的设备的ID。可选的,USG3还可包括用户群1USG包括的设备对应的Controller的ID。USG4可包括用户群2USG的ID。USG4还可包括用户群2USG所标识的设备组包括的设备的ID。可选的,USG4还可包括用户群2USG包括的设备对应的Controller的ID。routing contract可包括rule和action,rule可包括VPN标签为100,action可包括设置VPN。

举例来说,NaaS设备可接收用户通过命令行、Web界面等方式输入的路由契约。或者,NaaS设备还可预先定义一些路由契约的描述模型,NaaS设备可根据用户输入的参数和预定义的描述模型自动生成路由契约,本发明实施例对NaaS设备获得路由契约的具体方式可不做具体限定。

举例来说,用户输入的命令行中的us可以是user的缩写。NaaS设备可通过用户输入的如下命令行,获得路由契约:

(1)Creat Classifier

neutron classifier-create VPN-Control--ingress用户群1USG--egress用户群2USG

(2)Create Routing Contract using the Classifier

neutron contract-create VPN-Control-Contract--classifier VPN-Control--action MARK--vpnlable 100

(3)Create USG providing the Contract

neutron usg-create用户群1USG--consumes-contract VPN-Control-Contract

(4)Create User in用户群1USG

neutron us-create--usg用户群1USG

(5)Create USG providing the Contract

neutron usg-create用户群2USG--consumes-contract VPN-Control-Contract

(6)Create User in用户群2USG

neutron us-create--usg用户群2USG

2.NaaS设备获得网络设备组的信息。

举例来说,NaaS设备获得网络设备组的信息可包括:NaaS设备根据所述路由契约中的用户群1USG和用户群2USG,获得备选设备组;NaaS设备根据所述路由契约中的条件,从所述备选设备组中选取网络设备组;所述NaaS设备获得所述网络设备组的信息。

NaaS设备获得所述备选设备组的方式,可参照实施例二获得第三设备组和第四设备组的实现方式,此处不再赘述。NaaS设备选取所述网络设备组的方式,可参照实施例二选取第三设备和第四设备的实现方式,此处不再赘述。NaaS设备获得所述网络设备组的信息的方式,可参照实施例二获得第三设备的信息和第四设备的信息的实现方式,此处不再赘述。

举例来说,选取出的网络设备组的信息(node、interface)可表示为:(R1、interface1)和(R2、interface1)。

3.NaaS设备获得第一转发规则。

在本发明实施例中,第一转发规则可以是对路由契约中的条件进行转换后获得的。

举例来说,第一转发规则可表示为VPN配置。第一转发规则可包括针对R1的转发规则和针对R2的转发规则。针对R1的转发规则可为:启用VPN全局配置,mpls static-l2vc destination用户群2USG transmit-vpn-label 100receive-vpn-label 100;针对R2的转发规则可为:启用VPN全局配置,mpls static-l2vc destination用户群1USG transmit-vpn-label 100receive-vpn-label100。可选地,针对R1的转发规则还可表示为启用VPN全局配置,interface 1上启用VPN标签,mpls static-l2vc destination用户群2USG transmit-vpn-label 100receive-vpn-label 100;针对R2的转发规则可表示为:启用VPN全局配置,interface 1上启用VPN标签,mpls static-l2vc destination用户群1USG transmit-vpn-label 100receive-vpn-label 100。

4.NaaS设备向Controller下发第一转发规则和网络设备组的信息。

本示例中,NaaS设备向Controller下发的(node、interface、rule、action)可表示为(R1;interface1;启用VPN全局配置,mpls static-l2vc destination用户群2USG transmit-vpn-label 100receive-vpn-label 100;set VPN)和(R2;interface1;启用VPN全局配置,mpls static-l2vc destination用户群2USG transmit-vpn-label 100receive-vpn-label 100;set VPN)。

可选地,在NaaS设备获得第一转发规则后,还可对获得的第一转发规则进行规则校验。举例来说,本发明实施例可通过两种实现方式对第一转发规则进行规则校验。第一种实现方式,NaaS设备对第一转发规则进行规则校验;第二种实现方式,NaaS设备利用第一转发规则对物理网络中的设备的业务运行情况进行实测。规则校验方法,可参照实施例一和实施例二中规则校验的实现方式,此处不再赘述。

实施例四

实施例四是与组播契约相关的实施例。实施例四的应用场景可以是企业网络场景。可根据网段将企业网络中的设备划分为以下USG:子网USG、组播USG等等。举例来说,可通过部门、办公区域等方式来划分网段。如图6所示,子网1USG可与组播USG通信,子网2USG可与所述组播USG通信。实施例四以实现子网1USG加入组播USG的通信需求为例进行说明。本示例中,子网1USG可为第四标识,组播USG可为第五标识。

1.NaaS设备获得组播契约。

举例来说,图6对应的实施例中,组播契约可表示为<USG5,USG multicast,multicast contract>。USG5可包括子网1USG的ID。USG5还包括子网1USG所标识的设备组包括的设备的ID。可选的,USG5还可包括子网1USG包括的设备对应的Controller的ID。USG multicast用于标识组播组,例如标识地址为225.1.1.1的组播组。multicast contract为子网1USG加入组播组的通信需求,可包括rule和action,rule可包括组播组地址为225.1.1.1,action可包括加入组播组。

举例来说,NaaS设备可接收用户通过命令行、Web界面等方式输入的组播契约。或者,NaaS设备还可预先定义一些组播契约的描述模型,NaaS设备可根据用户输入的参数和预定义的描述模型自动生成组播契约,本发明实施例对NaaS设备获得组播契约的具体方式可不做具体限定。

举例来说,用户输入的命令行中的us可以是user的缩写。NaaS设备可通过用户输入的如下命令行,获得组播契约:

(1)Create Classifier

neutron classifier-create Multicast--direction BI

(2)Create action

neutron policy-action-create allow--action-type allow

(3)Create rule

neutron policy-rule-create allow-muticast--classifier Multicast--action allow

(4)Create contract

neutron contract-create Multicast-contract--policy-rules allow-muticast

(5)Create USG providing the Contract

neutron usg-create 225.1.1.1--provides-contract Multicast-Contract

neutron use-create子网1USG--consumed-contract Multicast-Contract

(6)Create User in子网1USG

neutron us-create us1-usg子网1USG

neutron us-create us2-usg子网1USG

neutron us-create us3-usg子网1USG

neutron us-create us4-usg子网1USG

2.NaaS设备获得网络设备的信息。

举例来说,NaaS设备获得网络设备组的信息可包括:NaaS设备获得子网1USG对应的第五设备组,所述第五设备组包括与子网1USG所标识的设备组通信的设备;NaaS设备根据条件,从所述第五设备组中选取第七设备,所述第七设备与所述第四标识所标识的设备组通信;NaaS设备获得所述第七设备的信息。或者,NaaS设备获得网络设备组的信息可包括:NaaS设备读取本地保存的第五设备组;NaaS设备可遍历所述第五设备组,从所述第五设备组中选取满足子网1USG和条件的第七设备;NaaS设备获得所述第七设备的信息。所述第五设备组属于所述备选设备组,所述第七设备属于所述网络设备组。

举例来说,NaaS设备可根据子网1USG获得第五设备组。第五设备组可包含图6所示网络中的转发设备R1和R2,或者,第五设备组可包含图6所示网络中的转发设备R1、R2、R3和R4,或者,第五设备组可包含图6所示网络中的所有设备。本发明实施例对第五设备组的构成可不做具体限定,本发明实施例中第五设备组中至少包含能与子网1USG所标识的设备组通信的设备。

NaaS设备获得所述第五设备组后,可根据条件,从所述第五设备组中选取第七设备。NaaS设备选取所述第七设备的方式,可参照实施例一选取第一设备的实现方式,此处不再赘述。举例来说,NaaS设备可获得第七设备的标识和第七设备的接口,将获得的标识和接口作为第七设备的信息。举例来说,结合图7所示网络,第七设备的信息(node、interface)可表示为:(R1、interface2)、(R1、interface1)、(R1、interface3)和(R2、interface1)。

3.NaaS设备获得第一转发规则。

举例来说,NaaS设备获得第一转发规则可包括:NaaS设备从所述条件获得第三匹配域和第三动作,所述第三匹配域对应所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,所述第三动作与组播操作对应;NaaS设备根据所述第三匹配域和所述第三动作,生成所述第七设备的转发规则。

举例来说,第三匹配域与所述组播契约中的条件相对应,可包括组播组地址,例如,组播组地址为225.1.1.1。第三动作与组播操作相对应,可包括加入组播组或者退出组播组。

举例来说,第七设备的转发规则可表示为组播使能配置。第七设备的转发规则可包括针对R1的转发规则和针对R2的转发规则。针对R1的转发规则可表示为:在R1上使能组播功能,将R1静态加入组播组225.1.1.1;针对R2的转发规则可为:在R2上使能组播功能,将R2静态加入组播组225.1.1.1。可选地,针对R1的转发规则还可表示为:在R1上使能组播功能,在interface1、2、3和4上使能PIM-SM(Protocol Independent Multicast-Sparse Mode,稀疏模式独立组播协议)功能,在连接终端的interface1、2和3上使能IGMP(Internet Group Management Protocol,Internet组管理协议)功能,将R1的interface1、2和3静态加入组播组225.1.1.1;针对R2的转发规则还可表示为:在R2上使能组播功能,在interface1和3上使能PIM-SM功能,在连接终端的interface1上使能IGMP功能,将R2的interface1静态加入组播组225.1.1.1。

4.NaaS设备向Controller下发第一转发规则和网络设备组的信息。

本示例中,NaaS设备向Controller下发的(node、interface、rule、action)可表示为(R1;interface2;在R1上使能组播功能,将R1静态加入组播组225.1.1.1;join multicast group)、(R1;interface1;在R1上使能组播功能,将R1静态加入组播组225.1.1.1;join multicast group)、(R1;interface3;在R1上使能组播功能,将R1静态加入组播组225.1.1.1;join multicast group)和(R2;interface1;在R2上使能组播功能,将R2静态加入组播组225.1.1.1;join multicast group)。所述join multicast group表示加入组播组。

可选地,在NaaS设备获得第七设备的转发规则后,还可对获得的第七设备的转发规则进行规则校验。举例来说,本发明实施例可通过下述两种实现方式对第七设备的转发规则进行规则校验。

第一种实现方式,NaaS设备对第七设备的转发规则进行规则校验。对第七设备的转发规则进行规则校验可以是在第七设备上进行规则校验,或者是在第七设备与第五设备组中的其它设备之间进行规则校验。

(1)在第七设备上进行规则校验包括:

NaaS设备利用所述第七设备的转发规则与第八转发规则进行冲突校验,所述第八转发规则为所述第七设备上已配置的转发规则。如果存在冲突,即所述第七设备的转发规则没有通过所述规则校验,则NaaS设备获得校正后的第七设备的转发规则,并向Controller发送校正后的第七设备的转发规则和第七设备的信息。如果不存在冲突,即所述第七设备的转发规则通过所述规则校验,则NaaS设备向Controller发送所述第七设备的转发规则和第七设备的信息。

(2)在第七设备与第五设备组中的其它设备之间进行规则校验包括:

NaaS设备判断第七设备的转发规则是否会与所述第五设备组内的第八设备的转发规则形成传输异常。如果形成传输异常,NaaS设备获得第九转发规则,NaaS设备向Controller发送所述第七设备的转发规则和第七设备的信息。如果未形成传输异常,则NaaS设备向Controller发送所述第七设备的转发规则和第七设备的信息。举例来说,所述第九转发规则可以是校正后的第八设备的转发规则,例如所述NaaS设备可对所述第八设备的转发规则进行校正,获得校正后的第八设备的转发规则。所述第八设备可以与所述第七设备直接通信,或者,所述第八设备可以与所述第七设备间接通信。

举例来说,传输异常可为环路或黑洞等无法将报文正确转发至目的节点的情况,传输异常的检测方式,可参照上文在第二设备组内进行环路检测和黑洞检测的过程,此处不再赘述。

第二种实现方式,NaaS设备利用第七设备的转发规则对物理网络中的设备的业务运行情况进行实测,以发现业务异常或进行故障定位。

作为一种示例,本发明实施例中的实测至少可体现为以下三方面中的至少一个:规则有效性、连通性和QoS。实测过程,可参照上文实施例一中实测的实现方式,此处不再赘述。

可选地,NaaS设备获得检测结果后,还可利用检测结果和预设条件条件对组播契约进行联动处理。NaaS设备对组播契约进行联动处理的方法,可参照实施例一中联动处理的实现方式,此处不再赘述。

可选地,本发明的上述实施例中,若所述契约还包括service type,则NaaS设备接收到契约后,可根据所述service type标识的类型,确定所述契约的类型。例如:所述service type为access,则所述契约为所述接入契约;所述service type为routing,则所述契约为所述路由契约;所述service type为multicast,则所述契约为所述组播契约。所述service type还可是其它可扩展的类型,在此不再逐一举例说明。

与图1所示方法相对应地,本发明实施例还提供了一种用于配置业务的装置。所述用于配置业务的装置可设于Naas设备或Controller上,还可设置于其它设备上,在此不再逐一举例说明。所述用于配置业务的装置可执行图1至图6对应的实施例中任意一个实施例提供的方法。如图7所示,所述装置可包括:

契约获得单元201,用于获得业务的契约,所述契约包括标识信息和条件,所述标识信息用于标识第一设备组,所述第一设备组包括提供所述业务的设备,所述条件为所述业务对应的通信需求;

网络设备组获得单元202,用于根据所述标识信息和所述条件,获得网络设备组的信息;

规则获得单元203,用于根据所述条件,获得第一转发规则,所述第一转发规则与所述网络设备组对应;

第一发送单元204,用于向控制器发送所述第一转发规则和所述网络设备组的信息。

可选地,所述标识信息为第一标识,所述条件为接入所述第一标识所标识的设备组的通信需求;

所述网络设备组获得单元具体用于获得所述第一标识对应的第二设备组,所述第二设备组包括满足所述通信需求的设备;

所述网络设备组获得单元具体用于根据所述接入所述第一标识所标识的设备组的通信需求,从所述第二设备组中选取第一设备;

所述网络设备组获得单元具体用于获得所述第一设备的信息,所述第一设备的信息包括所述第一设备的标识和所述第一设备的接口。

可选地,所述规则获得单元具体用于从所述条件中获得第一匹配域和第一动作,所述第一匹配域对应接入所述第一标识所标识的设备组的通信需求,所述第一动作与接入操作对应;

所述规则获得单元具体用于根据所述第一匹配域和所述第一动作,生成所述第一设备的转发规则。

可选地,所述规则获得单元还用于利用所述第一设备的转发规则与第二转发规则进行冲突校验,所述第二转发规则为所述第一设备上已配置的转发规则;

如果所述第一设备的转发规则与所述第二转发规则冲突,则所述规则获得单元用于校正所述第一设备的转发规则,获得校正后的第一设备的转发规则。

可选地,所述规则获得单元还用于判断所述第一设备的转发规则是否会与所述第二设备组内的第二设备的转发规则形成传输异常;

如果所述第一设备的转发规则与所述第二设备组内的第二设备的转发规则形成传输异常,则所规则获得单元用于获得第三转发规则,所述第三转发规则是对所述第二设备的转发规则进行校正后获得的转发规则。

可选地,所述标识信息包括第二标识和第三标识,所述条件为所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求;

所述网络设备组获得单元具体用于获得所述第二标识对应的第三设备组和所述第三标识对应的第四设备组,所述第三设备组包括作为源节点的设备,所述第四设备组包括作为目的节点的设备;

所述网络设备组获得单元具体用于根据所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,从所述第三设备组中选取第三设备,所述第三设备为所述源节点;

所述网络设备组获得单元具体用于根据所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,从所述第四设备组中选取第四设备,所述第四设备为所述目的节点;

所述网络设备组获得单元具体用于获得所述第三设备的信息和所述第四设备的信息,所述第三设备的信息包括所述第三设备的标识和所述第三设备的接口,所述第四设备的信息包括所述第四设备的标识和所述第四设备的接口。

可选地,所述规则获得单元具体用于从所述条件获得第二匹配域和第二动作,所述第二匹配域对应所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信需求,所述第二动作与所述第二标识所标识的设备组与所述第三标识所标识的设备组间的通信对应;

所述规则获得单元具体用于根据所述第二匹配域和所述第二动作,生成所述第三设备的转发规则和所述第四设备的转发规则。

可选地,所述规则获得单元还用于利用所述第三设备的转发规则与第四转发规则进行冲突校验,所述第四转发规则为所述第三设备上已配置的转发规则;

如果所述第三设备的转发规则与所述第四转发规则冲突,则所述规则获得单元用于校正所述第三设备的转发规则,获得所述校正后的第三设备的转发规则。

可选地,所述规则获得单元还用于利用所述第四设备的转发规则与第五转发规则进行冲突校验,所述第五转发规则为所述第四设备上已配置的转发规则;

如果所述第四设备的转发规则与所述第五转发规则冲突,则所述规则获得单元用于校正所述第四设备的转发规则,获得所述校正后的第四设备的转发规则。

可选地,所述规则获得单元还用于判断所述第三设备的转发规则是否会与所述第三设备组内的第五设备的转发规则形成传输异常;

如果所述第三设备的转发规则与所述第三设备组内的第五设备的转发规则形成传输异常,则所述规则获得单元用于获得第六转发规则,所述第六转发规则是对所述第五设备的转发规则进行校正后获得的转发规则。

可选地,所述规则获得单元还用于判断所述第四设备的转发规则是否会与所述第四设备组内的第六设备的转发规则形成传输异常;

如果所述第四设备的转发规则与所述第四设备组内的第六设备的转发规则形成传输异常,则所述规则获得单元获得第七转发规则,所述第七转发规则是对所述第六设备的转发规则进行校正后获得的转发规则。

可选地,所述标识信息为第四标识和第五标识,所述条件为所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求;

所述网络设备组获得单元具体用于获得所述第四标识对应的第五设备组,所述第五设备组包括与所述第四标识所标识的设备通信的设备;

所述网络设备组获得单元具体用于根据所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,从所述第五设备组中选取第七设备,所述第七设备与所述第四标识所标识的设备组通信;

所述网络设备组获得单元具体用于获得所述第七设备的信息,所述第七设备的信息包括所述第七设备的标识和所述第七设备的接口。

可选地,所述规则获得单元具体用于从所述条件获得第三匹配域和第三动作,所述第三匹配域对应所述第四标识所标识的设备组加入所述第五标识所标识的组播组的通信需求,所述第三动作与组播操作对应;

所述规则获得单元具体用于根据所述第三匹配域和所述第三动作,生成所述第七设备的转发规则。

可选地,所述规则获得单元还用于利用所述第七设备的转发规则与第八转发规则进行冲突校验,所述第八转发规则为所述第七设备上已配置的转发规则;

如果所述第七设备的转发规则与所述第八转发规则冲突,则所述规则获得单元用于校正所述第七设备的转发规则,获得校正后的第七设备的转发规则。

可选地,所述规则获得单元还用于判断所述第七设备的转发规则是否会与所述第五设备组内的第八设备的转发规则形成传输异常;

如果所述第七设备的转发规则与所述第五设备组内的第八设备的转发规则形成传输异常,则所述规则获得单元用于获得第九转发规则,所述第九转发规则是对所述第八设备的转发规则进行校正后获得的转发规则。

可选地,所述装置还包括:

检测报文获得单元,用于根据所述第一转发规则和所述网络设备组的信息,获得检测报文,所述检测报文用于从所述网络设备组获得检测结果,所述检测结果是所述网络设备组根据第一转发规则进行通信的结果;

第二发送单元,用于向所述控制器发送所述检测报文;

接收单元,用于接收所述控制器发送的所述检测结果;

调整单元,用于在所述检测结果与预设调整条件相符时,根据所述检测结果调整所述契约。

可选地,所述契约还包括所述业务的类型,所述业务的类型为接入、路由或组播。

对应地,本发明实施例还提供了一种用于配置业务的装置,所述用于配置业务的装置可设于Naas设备或Controller上,还可设置于其它设备上,在此不再逐一举例说明。所述用于配置业务的装置可执行图1至图6对应的实施例中任意一个实施例提供的方法。如图8所示,所述用于配置业务的装置可包括:处理器301、存储器302和通信接口303。其中,处理器301、存储器302和通信接口303可通过通信总线304连接。存储器302用于存储程序,处理器301根据从存储器302中读取的程序所包括的可执行指令执行具体操作。

可选地,图7中的契约获得单元201和第一发送单元204可由图8中的通信接口303实现,通信接口303可以包括至少一个物理接口;图7中的网络设备组获得单元202和规则获得单元203可由图8中的处理器301根据存储器302存储的可执行指令实现,处理器301可以包括至少一个物理处理器。

可选地,图7对应的实施例中的第二发送单元和接收单元也可由图8中的通信接口303实现,图7对应的实施例中的检测报文获得单元和调整单元也可由图8中的处理器301根据存储器302存储的可执行指令实现。

需要说明的是,图7所示的用于配置业务的装置和图8所示的用于配置业务的装置可以是同一个装置,可以认为,图8是从物理的角度显示了一个用于配置业务的装置包括的内容,而图7则是从逻辑的角度显示了一个用于配置业务的装置包括的内容。

图8所示用于配置业务的装置中,所述处理器301,用于读取存储器302中存储的指令和数据,执行以下操作:

所述处理器301通过所述通信接口303获得业务的契约,所述契约包括标识信息和条件,所述标识信息用于标识第一设备组,所述第一设备组包括提供所述业务的设备,所述条件为所述业务对应的通信需求;

所述处理器301根据所述标识信息和所述条件,获得网络设备组的信息;

所述处理器301根据所述条件,获得第一转发规则,所述第一转发规则对应于所述网络设备组;

所述处理器301通过所述通信接口303向控制器发送所述第一转发规则和所述网络设备组的信息。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(Read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本发明的可选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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