发明内容
本发明实施例提供一种SDN中控制传输资源的方法及设备,用以解决传输资源利用率较低的问题。
本发明实施例提供的具体技术方案如下:
第一方面,提供了一种SDN中控制传输资源的方法,包括:
网络功能虚拟化管理和编排NFVM&O装置接收SDN控制器和/或SDN交换机发送的与传输资源的控制有关的消息;
根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源;
向SDN控制器发送携带有确定结果的传输资源控制指示。
优选地,所述与传输资源的控制有关的消息的发送方为SDN控制器,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源,包括:
根据所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源。
优选地,所述与传输资源的控制有关的消息的发送方为SDN交换机,所述与传输资源的控制有关的消息为所述SDN交换机的状态提供消息;
所述根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源,包括:
根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源。
优选地,所述待维护数据传输路径信息包括待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作;
根据所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源,包括:
根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,判断是否存在不能执行对应操作的SDN交换机;
若存在不能执行对应操作的SDN交换机,则确定不能执行对应操作的SDN交换机的标识,并确定所述SDN控制器不能控制待维护数据传输路径所占用的传输资源;
若不存在不能执行对应操作的SDN交换机,则确定所述SDN控制器能控制待维护数据传输路径所占用的传输资源。
优选地,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置中存储了已达到最大容量的SDN交换机的标识列表;
根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源,包括:
将当前时刻的容量与第一设定值进行比较;
若当前时刻的容量大于第一设定值,则确定SDN控制器不能控制该发送状态提供消息的SDN交换机的传输资源;
若当前时刻的容量小于第一设定值,则判断该发送状态提供消息的SDN交换机的标识是否存储在已达到最大容量的SDN交换机的标识列表中,若判断结果为是,则确定SDN控制器能控制该发送状态提供消息的SDN交换机的传输资源;
其中,所述状态提供消息是SDN交换机在当前时刻的容量不小于第一设定值时或者在当前时刻的容量小于第一设定值且当前时刻的上一时刻的容量不小于第一设定值时发送的,所述第一设定值小于等于所述SDN交换机的最大容量。
优选地,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述方法还包括:
将当前时刻的容量与第二设定值进行比较;
在当前时刻的容量小于第二设定值时,针对该发送状态提供消息的SDN交换机执行缩小容量的操作;
所述状态提供消息是SDN交换机在当前时刻的容量小于第二设定值时发送的,所述第二设定值小于所述SDN交换机的最大容量。
优选地,根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,判断是否存在不能执行对应操作的SDN交换机,包括:
根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定经过的各SDN交换机中不存在需要增加容量的SDN交换机或者存在需要增加容量的SDN交换机但该需要增加容量的SDN交换机的当前时刻的容量没有达到最大值时,判断不存在不能执行对应操作的SDN交换机;在确定经过的各SDN交换机中存在需要增加容量的SDN交换机且该需要增加容量的SDN交换机的当前时刻的容量已达到最大值时,判断存在不能执行对应操作的SDN交换机。
第二方面,提供了一种SDN中控制传输资源的方法,包括:
SDN控制器向网络功能虚拟化管理和编排NFVM&O装置发送与传输资源的控制有关的消息;
接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示;
根据所述传输资源控制指示,对SDN交换机的传输资源进行控制。
优选地,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示,包括:
接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示;
或
接收NFVM&O装置发送的携带有能否控制指定SDN交换机的传输资源的传输资源控制指示。
优选地,接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示,包括:
接收NFVM&O装置发送的携带有SDN交换机的标识的传输资源控制指示或者接收NFVM&O装置发送的携带有能控制待维护数据传输路径所占用的传输资源的传输资源控制指示。
第三方面,提供了一种NFVM&O装置,包括:
接收单元,用于接收SDN控制器和/或SDN交换机发送的与传输资源的控制有关的消息;
确定单元,用于根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源;
发送单元,用于向SDN控制器发送携带有确定结果的传输资源控制指示。优选地,所述与传输资源的控制有关的消息的发送方为SDN控制器,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述确定单元,具体用于根据所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源。
优选地,所述与传输资源的控制有关的消息的发送方为SDN交换机,所述与传输资源的控制有关的消息为所述SDN交换机的状态提供消息;
所述确定单元,具体用于根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源。
优选地,所述待维护数据传输路径信息包括待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作;
所述确定单元,具体用于根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,判断是否存在不能执行对应操作的SDN交换机;若存在不能执行对应操作的SDN交换机,则确定不能执行对应操作的SDN交换机的标识,并确定所述SDN控制器不能控制待维护数据传输路径所占用的传输资源;若不存在不能执行对应操作的SDN交换机,则确定所述SDN控制器能控制待维护数据传输路径所占用的传输资源。
优选地,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置还包括存储单元;
所述存储单元,用于存储已达到最大容量的SDN交换机的标识列表;
所述确定单元,具体用于将当前时刻的容量与第一设定值进行比较;若当前时刻的容量大于第一设定值,则确定SDN控制器不能控制该发送状态提供消息的SDN交换机的传输资源;若当前时刻的容量小于第一设定值,则判断该发送状态提供消息的SDN交换机的标识是否存储在已达到最大容量的SDN交换机的标识列表中,若判断结果为是,则确定SDN控制器能控制该发送状态提供消息的SDN交换机的传输资源;其中,所述状态提供消息是SDN交换机在当前时刻的容量不小于第一设定值时或者在当前时刻的容量小于第一设定值且当前时刻的上一时刻的容量不小于第一设定值时发送的,所述第一设定值小于等于所述SDN交换机的最大容量。
优选地,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置还包括:
比较单元,用于将当前时刻的容量与第二设定值进行比较;
缩容单元,用于在当前时刻的容量小于第二设定值时,针对该发送状态提供消息的SDN交换机执行缩小容量的操作;所述状态提供消息是SDN交换机在当前时刻的容量小于第二设定值时发送的,所述第二设定值小于所述SDN交换机的最大容量。
优选地,所述确定单元,具体用于根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定经过的各SDN交换机中不存在需要增加容量的SDN交换机或者存在需要增加容量的SDN交换机但该需要增加容量的SDN交换机的当前时刻的容量没有达到最大值时,判断不存在不能执行对应操作的SDN交换机;在确定经过的各SDN交换机中存在需要增加容量的SDN交换机且该需要增加容量的SDN交换机的当前时刻的容量已达到最大值时,判断存在不能执行对应操作的SDN交换机。
第四方面,提供了一种SDN控制器,包括:
发送单元,用于向网络功能虚拟化管理和编排NFVM&O装置发送与传输资源的控制有关的消息;
接收单元,用于接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示;
控制单元,用于根据所述传输资源控制指示,对SDN交换机的传输资源进行控制。
优选地,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述接收单元,具体用于接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示;或接收NFVM&O装置发送的携带有能否控制指定SDN交换机的传输资源的传输资源控制指示。
优选地,所述接收单元,具体用于接收NFVM&O装置发送的携带有SDN交换机的标识的传输资源控制指示或者接收NFVM&O装置发送的携带有能控制待维护数据传输路径所占用的传输资源的传输资源控制指示。
基于上述技术方案,本发明实施例中,使用虚拟网络功能设计SDN控制器和SDN交换机,利用SDN控制器和SDN交换机向NFVM&O装置发送与传输资源的控制有关的消息,SDN控制器根据NFVM&O装置发送的携带有能否控制指定传输资源的传输资源控制指示进行传输资源的控制,提高了传输资源的利用率。
具体实施方式
本发明实施例中,本发明实施例中,使用虚拟网络功能设计SDN控制器和SDN交换机,利用SDN控制器和SDN交换机向NFVM&O装置发送与传输资源的控制有关的消息,SDN控制器根据NFVM&O装置发送的携带有能否控制指定传输资源的传输资源控制指示进行传输资源的控制,提高了传输资源的利用率。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了清楚地说明本发明实施例的方案,这里首先对支持OpenFlow协议的SDN交换机(也可称为OpenFlow交换机)以及工作原理进行说明,然后对网络功能虚拟化(NetworkFunctionVirtualization,NFV)系统架构进行说明,最后对SDN和NFV协同工作的原理进行说明。
如图2所示,为OpenFlow交换机的结构示意图,OpenFlow交换机包括一个或多个流表(flowtable),一个组表(grouptable)和一个安全通道(securitychannel)。其中,流表和组表负责处理数据,安全通道连接OpenFlow交换机和SDN控制器。SDN控制器通过OpenFlow协议增加,更新或删除流表中的记录,实现控制和管理交换机的数据转发行为。流表由匹配字段和命令等信息组成,其中匹配字段包括以太网类型,源IP地址,目的IP地址,端口号等信息,命令字段指的是对该数据包执行的操作,例如转发至下一个流表,将数据包转发到特定的出端口,转发至组表处理和将数据包转发至SDN控制器等。如果一个数据包与流表的某条记录的匹配字段相匹配,则OpenFlow交换机根据该记录的命令处理该数据包。当OpenFlow交换机向SDN控制器发送数据包(例如和流表匹配失败的数据包)时,OpenFlow交换机将数据包发送至安全通道(securechannel)进行封装,然后发送给SDN控制器。
如图3所示,为NFV系统架构示意图,主要包括:虚拟网络功能(VirtualisedNetworkFunction,VNF),网元管理系统(ElementManagementSystem,EMS),NFV基础设施(NFVInfrastructure,NFVI)以及NFV管理和编排(NFVManagementandOrchestration,NFVM&O)组成。
VNF是传统非虚拟化网络中的网络功能,例如3GPPEPC(EvolvedPacketCore,演进型分组核心网)网络中的网元MME(MobilityManagementEntity,移动管理实体)、SGW(ServingGateWay,服务网关)或PGW(PacketDataNetworkGateWay,分组数据网网关)。VNF和PNF(PhysicalNetworkFunction,物理网络功能)的行为和外部接口相同,虚拟化不会影响网络功能的行为和状态。一个VNF可以部署在多台VM(VirtualMachine,虚拟机)之上,也可以部署在一台VM之上。
EMS(ElementManagementSystem,网络组件管理系统)负责管理VNF,包括配置管理,容错管理,计费管理,性能管理和安全管理。
NFVI(NetworkFunctionVirtualInfrastructure,网络功能虚拟基础设施)由硬件资源,虚拟层和虚拟资源组成,为VNF提供部署,管理和运行的环境。其中,硬件资源包括计算,存储和网络资源。虚拟层对物理资源进行抽象和逻辑划分,向VNF软件提供虚拟资源。虚拟层对硬件资源的抽象,实现了VNF软件和底层硬件的解耦,使VNF可运行于各种物理硬件之上。NFV架构不限制虚拟层的实现方案,只要求虚拟层能够支持标准的特征以及开放的参考点。虚拟资源包括虚拟计算,虚拟存储和虚拟网络。Hypervisor(系统管理程序)+VM是实现虚拟计算和虚拟存储资源的典型方案。虚拟网络指的是组成VNF的不同VMs之间的连接和/或不同VNF之间的连接的虚拟化,实现虚拟网络的技术很多,例如VLAN,VxLAN等。
NFVM&O由虚拟基础设施管理者(VirtualisedInfrastructureManager,VIM),编排器(Orchestrator)和VNF管理者(VNFManager,VNFM)组成。VIM负责管理和分配NFVI中的资源(软件,计算,存储和网络资源)。编排器对NFVI和软件资源进行编排和管理,实现网络业务运行于NFVI之上。VNFM管理VNF的生命周期,例如实例化,更新,扩容,缩容和终止等。
图3中的运营支撑系统(OperationSystemSupport,OSS)/业务支撑系统(BusinessSystemSupport,BSS)是运营商的OSS/BSS系统。
当使用控制网络功能虚拟化技术实现SDN网络时,SDN架构图中的应用层(applicationlayer)中的应用,SDN控制器以及受SDN控制器控制的SDN交换机以及防火墙等设备都是图3中的一个VNF。这些设备均可通过虚拟化的方式运行于通用的硬件设备之上。
SDN和NFV协同工作:
SDN技术和NFV技术虽然是独立发展的,但是二者之间也可协同工作,以实现更好的网络控制。基于OpenFlow的SDN和NFV协同工作的方法如图4所示。
从图4可以看出,NFV的编排功能调用OpenFlow控制器的北向接口向其发送控制命令,OpenFlow控制器根据接收到的命令控制OpenFlow交换机。图5中的网络设备是OpenFlow交换机,其可以是虚拟设备也可以是物理设备。
下面先以NFVM&O装置为执行主体对本发明实施例的SDN控制传输资源的方法进行描述,再以SDN控制器为执行主体对本发明实施例的SDN控制传输资源的方法进行描述,然后结合具体的例子对本发明实施例提供的SDN控制传输资源的方法进行描述。
参见图5,为NFVM&O装置侧SDN中控制传输资源的方法的流程图,包括以下步骤:
步骤501:NFVM&O装置接收SDN控制器和/或SDN交换机发送的与传输资源的控制有关的消息;
所述与传输资源的控制有关的消息为对指定传输资源的控制的请求信息、占用指定传输资源以进行路径维护的路径请求信息以及对传输资源的可控性制造成影响的参数信息和事件信息,例如:建立数据传输路径的请求信息、修改数据传输路径的请求信息、删除数据传输路径的请求信息、SDN交换机的状态信息(例如:SDN交换机的流表数目是否达到设定门限值)、传输资源的使用条件信息等;
步骤502:根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源;
步骤503:向SDN控制器发送携带有确定结果的传输资源控制指示。
图5中所示的控制传输资源的方法包括:
1)NFVM&O装置接收到SDN控制器发送与传输资源的控制有关的消息时的控制传输资源的方法;
2)NFVM&O装置接收到SDN交换机发送与传输资源的控制有关的消息时的控制传输资源的方法;
3)NFVM&O装置接收到SDN交换机和SDN控制器发送的与传输资源的控制有关的消息时的控制传输资源的方法;下面分别对这三种方法进行说明。
针对方法1):
参见图6,包括以下步骤:
步骤601:NFVM&O装置接收SDN控制器发送的携带有待维护数据传输路径信息的路径维护请求消息;
步骤601中对传输路径的维护可以是新建传输路径、修改传输路径或者删除传输路径等。
步骤602:根据所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源;
步骤603:向所述SDN控制器发送携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示。
具体的,上述步骤601中所述待维护数据传输路径信息可包括待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作;
例如:在SDN控制器确定需要建立SDN交换机1和SDN交换机2之间的数据传输路径时,此时的待维护数据传输路径信息可以为SDN交换机1(标识)、SDN交换机1增加一条流记录(SDN交换机1需要执行的对应操作)、SDN交换机2(标识)、SDN交换机2增加一条流记录(SDN交换机2需要执行的对应操作)。
此时,所述上述步骤602具体为:
步骤A:根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,判断是否存在不能执行对应操作的SDN交换机;若判断结果为是时,则执行步骤B;若判断结果为否时,则执行步骤C;
这里不能执行对应操作的原因通常有以下3种:
1、SDN交换机出现故障;
2、SDN交换机不能执行相关信令;
3、SDN交换机的当前时刻的容量已接近或达到最大容量,处理能力已经到达极限,如果SDN控制器继续通过该SDN交换机建立数据传输路径,该SDN交换机将进入拥塞状态。
在进行判断是否存在不能执行对应操作的SDN交换机时,可根据上述3种原因中的部分或全部以及SDN交换机执行的操作对各所述SDN交换机逐一进行判断。
步骤B:确定不能执行对应操作的SDN交换机的标识,并确定所述SDN控制器不能控制待维护数据传输路径所占用的传输资源;
这里确定不能执行对应操作的SDN交换机的标识的目的是使所述SDN控制器在重新进行数据传输路径的维护时,将该标识所表示的SDN交换机作为避免数据传输路径经过的SDN交换机;
步骤C:确定所述SDN控制器能控制待维护数据传输路径所占用的传输资源。
较佳的,上述步骤A具体包括:根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定经过的各SDN交换机中不存在需要增加容量的SDN交换机或者存在需要增加容量的SDN交换机但该需要增加容量的SDN交换机的当前时刻的容量没有达到最大值时,判断不存在不能执行对应操作的SDN交换机;在确定经过的各SDN交换机中存在需要增加容量的SDN交换机且该需要增加容量的SDN交换机的当前时刻的容量已达到最大值时,判断存在不能执行对应操作的SDN交换机。
较佳的,根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定存在需要缩小容量的SDN交换机时,所述方法还包括:针对该需要缩小容量的SDN交换机执行缩小容量的操作;
缩小容量包括纵向缩容(scaledown)和横向缩容(scalein)。纵向缩容指的是为系统中的一个节点减少资源,例如减小一台计算机或虚拟机的CPUs或内存。横向缩容指的是减少系统所包括的节点,例如为虚拟机增加新的功能组件。
根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定存在需要增加容量的SDN交换机但该需要增加容量的SDN交换机的当前时刻的容量没有达到最大值时,所述方法还包括:针对该需要增加容量的SDN交换机执行扩大容量的操作。
扩大容量包括纵向扩容(scaleup)和横向扩容(scaleout)。纵向扩容指的是为系统中的一个节点增加资源,例如为一台计算机或虚拟机增加CPUs或内存。横向扩容指的是在系统中增加节点,例如增加新的计算机或虚拟机。
需要说明的是,当采用虚拟化的形式实现SDN交换机时,对SDN交换机执行扩容操作的示例为增加CPU数量,增加内存,增加网卡能力等。对SDN交换机执行缩容操作的示例为减少CPU数量,减小内存,减小网卡能力等。上述方案通过一系列的判断操作,对SDN交换机执行扩容或缩容的操作,实现了根据实际需要动态调整SDN交换机的容量,实现了传输资源进行最大化利用。
在实际实施过程中,可以但不局限于通过以下步骤a1至步骤a7来实现方法1)中较佳的方案:
步骤a1:所述NFVM&O装置根据所述路径维护请求消息判断待维护数据传输路径经过的SDN交换机中是否存在需要改变容量的SDN交换机;若是,则分别针对每一需要改变容量的SDN交换机执行步骤a2;若否,则执行步骤a5;
步骤a2、判断所述改变容量是否为增加容量,若是,则执行步骤a3;若否,则执行步骤a6;
步骤a3:判断该需要增加容量的SDN交换机的当前时刻的容量是否已经达到最大值;若是,则执行步骤a4;若否,则执行步骤a7;
步骤a4、确定所述SDN交换机不能执行对应操作;
步骤a5、确定所述SDN交换机能执行对应操作;
步骤a6、在所述改变容量为缩小容量时,针对所述SDN控制器执行缩小容量的操作,更新记录的该SDN交换机的流表的大小(例如流表中包括的记录的条数),并执行a5;
步骤a7、针对所述SDN控制器执行扩大容量的操作,更新记录的该SDN交换机的流表的大小(例如流表中包括的记录的条数),并执行a5。
上述步骤a2至步骤a7是针对每一需要改变容量的SDN交换机分别来执行的;
上述方法1)中,NFVM&O装置根据SDN控制器发送的路径维护请求消息,可通过对SDN交换机的当前时刻的容量进行调整并为SDN控制器发送能否进行待维护传输路径的传输资源控制指示,实现了对资源的优化配置和最大化利用。
方法2):如图7所示,包括以下步骤:
步骤701:NFVM&O装置接收SDN交换机发送的SDN交换机的状态提供消息;
步骤702:NFVM&O装置根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源;
步骤703:NFVM&O装置向所述SDN控制器发送携带有能够控制所述SDN交换机的传输资源的传输资源控制指示。
较佳的,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置中存储了已达到最大容量的SDN交换机的标识列表;
根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源,包括:
将当前时刻的容量与第一设定值进行比较;
若当前时刻的容量大于第一设定值,则确定SDN控制器不能控制该发送状态提供消息的SDN交换机的传输资源;
此时,NFVM&O装置即可将携带有该发送状态提供消息的SDN交换机的传输资源的传输资源控制指示发送给SDN控制器,所述SDN控制器收到该携带有该发送状态提供消息的SDN交换机的传输资源的传输资源控制指示,后续在新建或修改数据传输路径时,可避免将数据传输路径经过该发送状态提供消息的SDN交换机;
若当前时刻的容量小于第一设定值,则判断该发送状态提供消息的SDN交换机的标识是否存储在已达到最大容量的SDN交换机的标识列表中,若判断结果为是,则确定SDN控制器能控制该发送状态提供消息的SDN交换机的传输资源;
由于当前时刻的容量小于第一设定值是在发送状态提供消息的SDN交换机的当前容量大于第一设定值之后的首次小于第一设定值,若确定该发送状态提供消息的SDN交换机的标识是否存储在已达到最大容量的SDN交换机的标识列表中,则表明NFVM&O装置之前已经通知SDN控制器不能对该发送状态提供消息的SDN交换机的传输资源进行控制,因此,这里需要通知SDN控制器能启动控制该发送状态提供消息的SDN交换机的传输资源,以使所述SDN控制器在新建或修改数据传输路径时,将该发送状态提供消息的SDN交换机不作为避免数据传输路径经过的SDN交换机;
其中,所述状态提供消息是SDN交换机在当前时刻的容量不小于第一设定值时或者在当前时刻的容量小于第一设定值且当前时刻的上一时刻的容量不小于第一设定值时发送的,所述第一设定值小于等于所述SDN交换机的最大容量。
较佳的,在当前时刻的容量大于第一设定值时,所述方法还包括:
将该发送第一状态信息的SDN交换机的标识存储在已达到最大容量的SDN交换机的标识列表中;
在当前时刻的容量小于第一设定值时,在该发送状态提供消息的SDN交换机的标识存储在已达到最大容量的SDN交换机的标识列表中时,所述方法还包括:
从该标识列表中删除该发送状态提供消息的SDN交换机的标识。
较佳的,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述方法还包括:
将当前时刻的容量与第二设定值进行比较;
在当前时刻的容量小于第二设定值时,针对该发送状态提供消息的SDN交换机执行缩小容量的操作;
所述状态提供消息是SDN交换机在当前时刻的容量小于第二设定值时发送的,所述第二设定值小于所述SDN交换机的最大容量。
所述第二设定值小于所述第一设定值。
上述方法2)中,通过SDN交换机向NFVM&O装置发送状态提供消息,主动进行状态上报,使得NFVM&O装置及时准确地获知SDN交换机的当前时刻的容量,针对该SDN交换机的容量进行调整(扩容或缩容),以及向SDN控制器提供调整后的SDN交换机的容量信息,进而实现对资源的优化配置和高效的最大化利用。
针对方法3):
参见图8所示,包括以下步骤:
步骤801:NFVM&O装置接收SDN交换机发送的状态提供消息和SDN控制器发送的携带有待维护数据传输路径信息的路径维护请求消息;
步骤802:根据所述SDN交换机的状态提供消息和所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源和能否控制所述SDN交换机的传输资源;
步骤803:NFVM&O装置向所述SDN控制器发送携带有能否控制待维护数据传输路径所占用的传输资源和能否控制所述SDN交换机的传输资源的传输资源控制指示。
上述步骤801至步骤803的具体实现过程与方法1)和方法2)中的类似,可将上述两种方法进行有机结合,例如:可先根据SDN状态提供消息对SDN交换机的传输资源能否利用以及容量进行调整,然后再判断能否控制待维护数据传输路径所占用的传输资源,这里不再赘述。
参见图9,为以SDN控制器为执行主体的SDN控制传输资源的方法流程图,包括以下步骤:
步骤901:SDN控制器向网络功能虚拟化管理和编排NFVM&O装置发送与传输资源的控制有关的消息;
步骤902:接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示;
步骤903:根据所述传输资源控制指示,对SDN交换机的传输资源进行控制。
本步骤903中,对SDN交换机的传输资源进行控制的实质也就是进行数据传输路径的维护。
较佳的,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示,包括:
接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示;
或
接收NFVM&O装置发送的携带有能否控制指定SDN交换机的传输资源的传输资源控制指示。
较佳的,接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示,包括:
接收NFVM&O装置发送的携带有SDN交换机的标识的传输资源控制指示或者接收NFVM&O装置发送的携带有能控制待维护数据传输路径所占用的传输资源的传输资源控制指示。
较佳的,在接收到NFVM&O装置发送的携带有SDN交换机的标识的传输资源控制指示时,向NFVM&O装置发送数据传输路径不经过所述标识所表示的SDN交换机的待维护数据传输路径信息的路径维护请求消息。
此外,对于已达到最大容量的SDN交换机,当SDN控制器从该SDN交换机删除的数据传输路径达到N条(N大于等于1)时,NFVM&O装置从本地存储的已达到最大容量的SDN交换机的标识列表中删除该SDN交换机的标识,并向SDN控制器通知可建立通过该交换机的数据传输路径,SDN控制器从本地存储的已达到最大容量的交换机标识列表中删除该交换机的标识。
参见图10,为包括1个SDN控制器和3个SDN交换机(以下简称交换机)的SDN网络结构示意图,图10中的黑色点画线表示的是控制器和交换机之间的控制消息,例如OpenFlow控制消息,图10中的黑色直线表示的是交换机之间的物理连接。此时网络中没有任何数据连接,控制器希望在交换机1和交换机3之间建立一条数据传输路径(如下图10中带双向箭头的黑色直线所示)。
利用本发明实施例的方案,建立数据传输路径的过程如图11所示。
图11中包括以下步骤:
步骤1101:SDN控制器向NFVM&O装置发送路径维护请求,消息中包括交换机1,增加1条流记录,交换机3,增加1条流记录;
步骤1102:NFVM&O装置决定不需要改变交换机1和3的容量,其只更新交换机1和交换机3的流表的流记录条数。
步骤1103:返回能维护数据传输路径的传输资源控制指示。
需要说明的是,NFVM&O装置由多个实体组成,本发明不限定M&O内部实现该操作的方法,判断是否需要改变交换机容量以及维护交换机的流记录的数量可以由VNFM实现,也可以由NFVO实现。
步骤1104:SDN控制器使用OpenFlow协议在交换机1上增加新的流记录;
步骤1105:SDN控制器使用OpenFlow协议在交换机3上增加新的流记录。
上述步骤1104和步骤1105的具体实现过程可参考OpenFlow交换机规范版本1.4.0(OpenFlowSwitchSpecificationVersion1.4.0)。
下面基于图10和图11所示的建立数据传输路径的过程,介绍对SDN交换机的扩容过程。
假设经过多次数据传输路径的建立,此时,交换机1中共有300条流记录(交换机1最多可支持350条流记录),交换机3中共有100条流记录。SDN控制器希望在交换机1和交换机2之间新建一条数据传输路径,建立该数据传输路径,需要在交换机1和交换机2的流表中分别增加1条流记录。此时交换机1的容量只能处理300条流记录,当增加新的数据传输路径时,NFVM&O装置需要对交换机1进行扩容。具体过程如图12所示。包括以下步骤:
步骤1201:SDN控制器向NFVM&O装置发送路径维护请求,消息中包括交换机1,增加1条流记录,交换机2,增加1条流记录;
步骤1202:NFVM&O装置决定对交换机1进行扩容,不改变交换机2的容量。扩容操作结束之后,NFVM&O装置更新交换机1和交换机2的流表的流记录条数。
需要说明的是NFVM&O装置由多个实体组成,本发明实施例不限定M&O内部实现该操作的方法,判断是否需要改变交换机容量以及维护交换机的流记录的数量可以由VNFM实现,也可以由NFVO实现。
步骤1203:返回能维护数据传输路径的传输资源控制指示。
步骤1204:SDN控制器使用OpenFlow协议在交换机1上增加新的流记录;
步骤1205:SDN控制器使用OpenFlow协议在交换机2上增加新的流记录。
下面基于图12所示的扩容过程,描述交换机达到最大容量的场景。
在该场景中,交换机1的中的流记录的数量达到350条(即已达到交换机1的最大容量),交换机2中的流记录数量为150条。SDN控制器希望在交换机1和交换机2之间新建一条数据传输路径,此时由于交换机1已达到最大容量,无法继续扩容,因此无法在二者之间建立数据传输路径。具体过程如图13所示,包括以下步骤:
步骤1301:SDN控制器向NFVM&O装置发送路径维护请求,消息中包括交换机1,增加1条流记录,交换机2,增加1条流记录;
步骤1302:NFVM&O装置判断出交换机1已达到最大容量,无法继续扩容。
步骤1303:NFVM&O装置向SDN控制器返回能携带有消息参数的传输资源控制指示,消息参数表明交换机1已达最大容量。NFVM&O装置在本地存储交换机1已达最大容量。
步骤1304:SDN控制器接收到携带有消息参数的传输资源控制指示之后,在本地存储交换机1已达最大容量的信息。
步骤1305:SDN控制器重新制定数据传输路径,然后重新发起路径维护请求。
基于图13所示的交换机达到最大容量的场景,图14描述交换机从达到最大容量恢复到可工作状态的场景。
在该场景中,当应用结束,数据传输路径不再传输数据时,SDN控制器进行删除该数据传输路径的操作,该操作减小交换机中流表的记录的数量。假设经过多次删除流记录,此时交换机1中的流记录数目为341条。当SDN控制器第10次从已达到最大容量的交换机1中删除流表记录时,NFVM&O装置认为控制器交换机1已具有可用容量,控制器可通过该交换机1建立新的数据传输路径。
如图14所示为NFVM&O装置向SDN控制器通知该事件的过程,包括以下步骤:
步骤1401:SDN控制器向NFVM&O装置发送路径维护请求,消息中包括交换机1,删除1条流记录,交换机2,删除1条流记录;
步骤1402:NFVM&O装置删除交换机1已达最大容量的信息,并向SDN控制器返回能维护数据传输路径的传输资源控制指示。
由于此时NFVM&O装置中存储的交换机1的流记录数目为341条,执行此次删除操作之后,交换机1中的流记录数目为340条,交换机1此时具有足够的容量处理新的数据传输路径,因此NFVM&O装置删除交换机1已达最大容量的信息,并向SDN控制器返回数据维护消息,在消息中携带交换机1具有可用容量。
步骤1403:SDN控制器接收到该能维护数据传输路径的传输资源控制指示之后,从本地删除交换机1达到最大容量的信息。
步骤1404:SDN控制器使用OpenFlow协议从交换机1上删除流记录;
步骤1405:SDN控制器使用OpenFlow协议从交换机2上删除流记录。
下面介绍交换机上报状态提供消息:
假设交换机1中的配置信息为:
第一设定值:流记录为300条;
第二设定值:流记录为200条;
最大容量:流记录为350条;
SDN控制器通过OpenFlow协议在交换机1中不断地增加流记录的数目。当交换机1监测到流记录数目达到300条时,交换机1将该事件通知给NFVM&O装置(需要说明的是,NFVM&O装置中包括多个实体,交换机1可将该事件通知给VNFM)。NFVM&O装置可以对交换机1执行扩容操作,也可以不执行扩容操作,并需要该事件通知给SDN控制器,确定SDN控制器在没有收到能控制交换机1的传输资源的资源控制指示前将避免通过交换机1建立数据传输路径。
SDN控制器继续在交换机1中增加流记录,当交换机1监测到流记录数目逐步增加(大于330条,例如达到350条时),交换机1将该事件通知给NFVM&O装置。NFVM&O装置发现交换机1的容量已达到最大值,不能继续扩容。NFVM&O装置将该事件通知给SDN控制器。确定SDN控制器在没有收到能控制交换机1的传输资源的资源控制指示前将避免通过交换机1建立数据传输路径。
NFVM&O装置和SDN控制器中均存储有交换机1已达到最大容量的信息。
下面在上述NFVM&O装置和SDN控制器中均存储有交换机1已达到最大容量的信息这一情况的基础上描述可重新通过交换机1建立数据传输路径的过程。
随着SDN控制器删除数据传输路径的操作,交换机1中的流记录数目逐渐减少。当交换机1监测到当前流记录的数目小于300条时,交换机1将该事件作为状态提交消息通知给NFVM&O装置,NFVM&O装置发现该事件之前交换机1已达到超过第一设定值(300条),由于交换机1的流记录数目已减小到小于第一设定值(300条),控制器可通过交换机1建立新的数据传输路径。NFVM&O装置向SDN控制器通知可通过交换机1建立数据传输路径。
该过程结束之后,NFVM&O装置和SDN控制器均删除其存储的交换机1已达到最大容量的信息。
基于同一发明构思,本发明实施例中,提供了一种NFVM&O装置和SDN控制器,该NFVM&O装置和SDN控制器的具体实施可参见上述方法实施例部分关于NFVM&O装置的描述,重复之处不再赘述。
所述NFVM&O装置既可以用硬件来实现,也可以用软件实现,本发明并不对此进行限定,下面对所述NFVM&O装置进行描述:
如图15所示,为NFVM&O装置的结构示意图,主要包括:接收单元151、确定单元152和发送单元153;其中:
接收单元151,用于接收SDN控制器和/或SDN交换机发送的与传输资源的控制有关的消息;
确定单元152,用于根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源;
发送单元153,用于用于向SDN控制器发送携带有确定结果的传输资源控制指示。
较佳的,所述与传输资源的控制有关的消息的发送方为SDN控制器,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述确定单元152,具体用于根据所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源。
较佳的,所述与传输资源的控制有关的消息的发送方为SDN交换机,所述与传输资源的控制有关的消息为所述SDN交换机的状态提供消息;
所述确定单元152,具体用于根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源。
较佳的,所述待维护数据传输路径信息包括待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作;
所述确定单元152,具体用于根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,判断是否存在不能执行对应操作的SDN交换机;若存在不能执行对应操作的SDN交换机,则确定不能执行对应操作的SDN交换机的标识,并确定所述SDN控制器不能控制待维护数据传输路径所占用的传输资源;若不存在不能执行对应操作的SDN交换机,则确定所述SDN控制器能控制待维护数据传输路径所占用的传输资源。
较佳的,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置还包括存储单元154;
所述存储单元154,用于存储已达到最大容量的SDN交换机的标识列表;
所述确定单元152,具体用于将当前时刻的容量与第一设定值进行比较;若当前时刻的容量大于第一设定值,则确定SDN控制器不能控制该发送状态提供消息的SDN交换机的传输资源;若当前时刻的容量小于第一设定值,则判断该发送状态提供消息的SDN交换机的标识是否存储在已达到最大容量的SDN交换机的标识列表中,若判断结果为是,则确定SDN控制器能控制该发送状态提供消息的SDN交换机的传输资源;其中,所述状态提供消息是SDN交换机在当前时刻的容量不小于第一设定值时或者在当前时刻的容量小于第一设定值且当前时刻的上一时刻的容量不小于第一设定值时发送的,所述第一设定值小于等于所述SDN交换机的最大容量。
较佳的,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置还包括:
比较单元155,用于将当前时刻的容量与第二设定值进行比较;
缩容单元156,用于在当前时刻的容量小于第二设定值时,针对该发送状态提供消息的SDN交换机执行缩小容量的操作;所述状态提供消息是SDN交换机在当前时刻的容量小于第二设定值时发送的,所述第二设定值小于所述SDN交换机的最大容量。
较佳的,所述确定单元152,具体用于根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定经过的各SDN交换机中不存在需要增加容量的SDN交换机或者存在需要增加容量的SDN交换机但该需要增加容量的SDN交换机的当前时刻的容量没有达到最大值时,判断不存在不能执行对应操作的SDN交换机;在确定经过的各SDN交换机中存在需要增加容量的SDN交换机且该需要增加容量的SDN交换机的当前时刻的容量已达到最大值时,判断存在不能执行对应操作的SDN交换机。
如图16所示,为NFVM&O装置的另一结构示意图,主要包括处理器1601、存储器1602以及收发机1603,其中:
所述收发机1603,用于接收SDN控制器和/或SDN交换机发送的与传输资源的控制有关的消息,以及向所述SDN控制器发送所述传输资源控制指示。
所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:根据接收的所述与传输资源的控制有关的消息,确定SDN控制器能否控制指定传输资源;
较佳的,所述与传输资源的控制有关的消息的发送方为SDN控制器,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:根据所述路径维护请求消息,确定所述SDN控制器能否控制待维护数据传输路径所占用的传输资源。
较佳的,所述与传输资源的控制有关的消息的发送方为SDN交换机,所述与传输资源的控制有关的消息为所述SDN交换机的状态提供消息;
所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:
根据所述SDN交换机的状态提供消息,确定SDN控制器能否控制所述SDN交换机的传输资源。
较佳的,所述待维护数据传输路径信息包括待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作;
所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:
根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,判断是否存在不能执行对应操作的SDN交换机;
若存在不能执行对应操作的SDN交换机,则确定不能执行对应操作的SDN交换机的标识,并确定所述SDN控制器不能控制待维护数据传输路径所占用的传输资源;
若不存在不能执行对应操作的SDN交换机,则确定所述SDN控制器能控制待维护数据传输路径所占用的传输资源。
较佳的,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述NFVM&O装置中存储了已达到最大容量的SDN交换机的标识列表;
所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:
将当前时刻的容量与第一设定值进行比较;
若当前时刻的容量大于第一设定值,则确定SDN控制器不能控制该发送状态提供消息的SDN交换机的传输资源;
若当前时刻的容量小于第一设定值,则判断该发送状态提供消息的SDN交换机的标识是否存储在已达到最大容量的SDN交换机的标识列表中,若判断结果为是,则确定SDN控制器能控制该发送状态提供消息的SDN交换机的传输资源;
其中,所述状态提供消息是SDN交换机在当前时刻的容量不小于第一设定值时或者在当前时刻的容量小于第一设定值且当前时刻的上一时刻的容量不小于第一设定值时发送的,所述第一设定值小于等于所述SDN交换机的最大容量。
较佳的,所述SDN交换机的状态提供消息中包括当前时刻的容量;所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:
将当前时刻的容量与第二设定值进行比较;
在当前时刻的容量小于第二设定值时,针对该发送状态提供消息的SDN交换机执行缩小容量的操作;
所述状态提供消息是SDN交换机在当前时刻的容量小于第二设定值时发送的,所述第二设定值小于所述SDN交换机的最大容量。
较佳的,所述处理器1601用于读取存储器1602中的程序,按照该程序执行以下过程:
根据待维护数据传输路径经过的SDN交换机的标识和经过的各SDN交换机为维护所述待维护数据传输路径需要执行的对应操作,在确定经过的各SDN交换机中不存在需要增加容量的SDN交换机或者存在需要增加容量的SDN交换机但该需要增加容量的SDN交换机的当前时刻的容量没有达到最大值时,判断不存在不能执行对应操作的SDN交换机;在确定经过的各SDN交换机中存在需要增加容量的SDN交换机且该需要增加容量的SDN交换机的当前时刻的容量已达到最大值时,判断存在不能执行对应操作的SDN交换机。
如图17所示,为SDN控制器的结构示意图,主要包括:发送单元171、接收单元172和控制单元173;其中:
发送单元171,用于向网络功能虚拟化管理和编排NFVM&O装置发送与传输资源的控制有关的消息;
接收单元172,用于接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示;
控制单元173,用于根据所述传输资源控制指示,对SDN交换机的传输资源进行控制。
较佳的,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述接收单元172,具体用于接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示;或接收NFVM&O装置发送的携带有能否控制指定SDN交换机的传输资源的传输资源控制指示。
较佳的,所述接收单元172,具体用于接收NFVM&O装置发送的携带有SDN交换机的标识的传输资源控制指示或者接收NFVM&O装置发送的携带有能控制待维护数据传输路径所占用的传输资源的传输资源控制指示。
如图18所示,为SDN控制器的另一结构示意图,主要包括处理器1801、存储器1802以及收发机1803,其中:
所述收发机1803,用于向网络功能虚拟化管理和编排NFVM&O装置发送与传输资源的控制有关的消息;以及接收NFVM&O装置发送的携带有能否控制指定传输资源信息的传输资源控制指示;
所述处理器1801用于读取存储器1802中的程序,按照该程序执行以下过程:根据所述传输资源控制指示,对SDN交换机的传输资源进行控制。
较佳的,所述与传输资源的控制有关的消息为携带有待维护数据传输路径信息的路径维护请求消息;
所述收发机1803,具体用于接收NFVM&O装置发送的携带有能否控制待维护数据传输路径所占用的传输资源的传输资源控制指示;或接收NFVM&O装置发送的携带有能否控制指定SDN交换机的传输资源的传输资源控制指示。
较佳的,所述收发机1803,具体用于接收NFVM&O装置发送的携带有SDN交换机的标识的传输资源控制指示或者接收NFVM&O装置发送的携带有能控制待维护数据传输路径所占用的传输资源的传输资源控制指示。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。