CN107404441A - 一种切片网络中数据流分流的方法及设备 - Google Patents

一种切片网络中数据流分流的方法及设备 Download PDF

Info

Publication number
CN107404441A
CN107404441A CN201610338232.7A CN201610338232A CN107404441A CN 107404441 A CN107404441 A CN 107404441A CN 201610338232 A CN201610338232 A CN 201610338232A CN 107404441 A CN107404441 A CN 107404441A
Authority
CN
China
Prior art keywords
vnf modules
vnf
modules
target
data flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610338232.7A
Other languages
English (en)
Other versions
CN107404441B (zh
Inventor
张伟
王恩博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610338232.7A priority Critical patent/CN107404441B/zh
Priority to PCT/CN2017/080606 priority patent/WO2017198019A1/zh
Publication of CN107404441A publication Critical patent/CN107404441A/zh
Application granted granted Critical
Publication of CN107404441B publication Critical patent/CN107404441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities

Abstract

本发明公开了一种切片网络中数据流分流的方法及设备。该方法包括:切片网络控制器确定第一VNF模块为过载VNF模块和流经第一VNF模块的数据流,过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;切片网络控制器根据第一VNF模块的类型,确定至少一个目标VNF模块,其中,目标VNF模块是指与第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;切片网络控制器确定采用至少一个目标VNF模块分流流经第一VNF模块的数据流的流规则,并将流规则发送至网络转发平台,实现了数据流动态分流,优化了网络资源的使用。

Description

一种切片网络中数据流分流的方法及设备
技术领域
本发明涉及网络技术领域,尤其涉及一种切片网络中数据流分流的方法及设备。
背景技术
目前,网络切片技术能够实现在物理设施上构建一个个支持不同业务特性的逻辑网络,其中,每个逻辑网络中包含一组功能实例及其连接的集合。
具体的,在支持切片技术的网络中,将网络功能划分为多个虚拟网络功能(virtual network function,VNF)模块,每个VNF模块可以用来执行不同的网络功能,例如排序、分段、加解密等功能,通过将VNF模块动态地部署到网络中,可以形成一个个网络切片。此时,网络基础设施是VNF模块的容器,网络架构问题转化为VNF模块的编排和连接问题,不同的切片就可以实现不同的业务特性和规格。
因此,在网络切片技术实现后,当前的网络架构将不再是传统蜂窝网的“一刀切”形式,而是可以为不同业务定制相关的功能模块,甚至网络切片将成为一种新式网络和业务运营模式。因此采用网络切片技术能够为运营商可量身定制网络、云和管理,满足消费者和企业对服务的个性化需求,同时借助网络资源自动化和动态业务流程,确保高效运营。
现有技术中,在数据包进入切片网络时,切片网络控制器就已经为该数据包对应的数据流规划好了需要经过的网络切片中的VNF模块组合,即数据流路径,由于单个VNF模块的计算能力和存储资源都存在上限,因此一旦出现数据流流量激增,就可能导致某个VNF模块出现处理瓶颈问题,此时将不能满足当前数据流的处理需要,由于无法针对当前的规划进行动态调整,因此将会导致丢包。
发明内容
本发明实施例的目的是提供一种切片网络中数据流分流的方法及设备,以解决数据流处理流程中的丢包问题。
本发明实施例的目的是通过以下技术方案实现的:
第一方面,一种切片网络中数据流分流的方法,包括:
切片网络控制器确定第一虚拟网络功能VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,所述过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;所述切片网络控制器根据所述第一VNF模块的类型,确定至少一个目标VNF模块,其中,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;所述切片网络控制器确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台。
因此,切片网络控制器能够实现数据流动态分流,优化了网络资源的使用。
在一个可能的设计中,切片网络控制器确定第一VNF模块为过载VNF模块,包括:
所述切片网络控制器接收数据面网元上报的流量信息,所述流量信息携带流经所述第一VNF模块的数据流流量值和所述第一VNF模块的标识;所述切片网络控制器确定流经所述第一VNF模块的数据流流量值大于所述流量阈值时,确定所述第一VNF模块的标识对应的第一VNF模块为过载VNF模块,所述数据面网元为基站或网关。
因此,切片网络控制器根据数据面网元对各个VNF模块进行流量监控的结果,确定过载VNF模块。
在一个可能的设计中,切片网络控制器确定第一VNF模块为过载VNF模块,包括:
所述切片网络控制器接收数据面网元上报的所述第一VNF模块的标识,并将所述第一VNF模块的标识对应的第一VNF模块作为过载VNF模块。
因此,切片网络控制器根据数据面网元上报的过载VNF模块的标识直接确定过载VNF模块。
在一个可能的设计中,所述切片网络控制器根据所述第一VNF模块的类型,确定至少一个目标VNF模块,包括:
所述切片网络控制器将所述第一VNF模块所属的网络切片上与所述第一VNF模块的类型相同且资源使用情况低于所述资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
因此,切片网络控制器能够利用过载VNF模块所在切片上的空闲资源,提高了网络资源的使用效率。
在一个可能的设计中,所述切片网络控制器根据所述第一VNF模块的类型,确定至少一个目标VNF模块,包括:
所述切片网络控制器利用所述第一VNF模块所属的网络切片上的空闲资源新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值;或者,所述切片网络控制器将除所述第一VNF模块所属的网络切片外的其他网络切片上的空闲资源转移到所述第一VNF模块所属的网络切片,并在转移资源后所述第一VNF模块所属的网络切片上新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值。
因此,切片网络控制器能够利用其他切片上的空闲资源,提高了网络资源的使用效率。
在一个可能的设计中,所述切片网络控制器确定流规则之前,还包括:
当所述流经所述第一VNF模块的数据流的数目为1时,确定每个目标VNF模块对应的目标数据流的流量值与所述流经所述第一VNF模块的数据流的流量值的比例作为分流策略;
所述方法还包括:所述切片网络控制器将所述分流策略发送至分流VNF模块,使得所述分流VNF模块执行所述分流策略;所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
因此,切片网络控制器将分流策略发送至分流VNF模块,使分流VNF模块对流经过载VNF模块的数据流进行分流处理。
在一个可能的设计中,所述流规则用于指示所述网络转发平台将所述第一VNF模块在所述流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的所述流经第一VNF模块的数据流发往所述分流VNF模块,将从所述分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,将从每个目标VNF模块发出的对应的目标数据流发往所述第一VNF模块在所述流经所述第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
因此,切片网络控制器确定分流策略并生成对应的流规则,发送至网络转发平台,使网络转发平台能够根据分流策略对应的流规则对流经过载VNF模块的数据流进行转发。
在一个可能的设计中,所述切片网络控制器确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台,包括:
当确定所述流经所述第一VNF模块的数据流的数目大于1时,确定所述至少一个目标VNF模块与至少一个选定数据流的对应关系,所述选定数据流为任一一个流经所述第一VNF模块的数据流,所述选定数据流的数目小于等于所述流经所述第一VNF模块的数据流的数目,所述目标VNF模块的数目小于等于所述选定数据流的数目;
所述切片网络控制器根据所述至少一个目标VNF模块与至少一个选定数据流的对应关系生成采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台。
因此,针对待分流数据流的数目大于1的情形,切片网络控制器不需要再将分流策略发送分流VNF模块,而是直接生成分流策略对应的流规则,实现将通过过载VNF模块的多个数据流中分出至少一个数据流,实现了数据流的动态分流,优化了网络资源的使用。
在一个可能的设计中,所述流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示所述网络转发平台将所述第一VNF模块在所述第i个选定数据流中对应的原数据流路径中的上一跳VNF模块发出的所述第i个选定数据流发往对应的目标VNF模块,并将所述对应的目标VNF模块发出的所述第i个选定数据流发往所述第一VNF模块在所述第i个选定数据流对应的原数据流路径中的下一跳VNF模块。
因此,切片网络控制器确定分流策略并生成对应的流规则,发送至网络转发平台,使网络转发平台能够根据分流策略对应的流规则对流经过载VNF模块的数据流进行转发。
第二方面,一种切片网络中数据流分流的方法,包括:
分流VNF模块接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;其中,所述分流策略至少包括每个目标数据流的流量值与所述流经第一VNF模块的数据流的流量值的比例,所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流;所述分流VNF模块确定接收到所述流经第一VNF模块的数据流,则将所述流经第一VNF模块的数据流根据所述分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;所述分流VNF模块将得到的每个目标数据流发送至网络转发平台。
因此,分流VNF模块能够实现将流经第一VNF模块的数据流根据分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,实现数据流的动态分流,优化网络资源的使用。
第三方面,一种切片网络中数据流分流的装置,包括:
处理单元,用于确定第一虚拟网络功能VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,所述过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;
以及根据所述第一VNF模块的类型,确定至少一个目标VNF模块,其中,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
收发单元,用于采用所述处理单元确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台。
在一个可能的设计中,所述收发单元,还用于接收数据面网元上报的流量信息,所述流量信息携带流经所述第一VNF模块的数据流流量值和所述第一VNF模块的标识;
所述处理单元,用于确定流经所述第一VNF模块的数据流流量值大于所述流量阈值时,确定所述第一VNF模块的标识对应的第一VNF模块为过载VNF模块,所述数据面网元为基站或网关。
在一个可能的设计中,所述收发单元,还用于接收数据面网元上报的所述第一VNF模块的标识;
所述处理单元,用于将所述第一VNF模块的标识对应的第一VNF模块作为过载VNF模块。
在一个可能的设计中,根据所述第一VNF模块的类型,确定至少一个目标VNF模块时,所述处理单元,具体用于:
将所述第一VNF模块所属的网络切片上与所述第一VNF模块的类型相同且资源使用情况低于所述资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
在一个可能的设计中,根据所述第一VNF模块的类型,确定至少一个目标VNF模块时,所述处理单元,具体用于:
利用所述第一VNF模块所属的网络切片上的空闲资源新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值;或者,
将除所述第一VNF模块所属的网络切片外的其他网络切片上的空闲资源转移到所述第一VNF模块所属的网络切片,并在转移资源后所述第一VNF模块所属的网络切片上新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值。
在一个可能的设计中,所述处理单元,还用于:
在确定流规则之前,当所述流经所述第一VNF模块的数据流的数目为1时,确定每个目标VNF模块对应的目标数据流的流量值与所述流经所述第一VNF模块的数据流的流量值的比例作为分流策略;
所述收发单元,还用于将所述分流策略发送至分流VNF模块,使得所述分流VNF模块执行所述分流策略;
所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
在一个可能的设计中,所述流规则用于指示所述网络转发平台将所述第一VNF模块在所述流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的所述流经第一VNF模块的数据流发往所述分流VNF模块,将从所述分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,将从每个目标VNF模块发出的对应的目标数据流发往所述第一VNF模块在所述流经所述第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
在一个可能的设计中,所述处理单元,具体用于:
当确定所述流经所述第一VNF模块的数据流的数目大于1时,确定所述至少一个目标VNF模块与至少一个选定数据流的对应关系,所述选定数据流为任一一个流经所述第一VNF模块的数据流,所述选定数据流的数目小于等于所述流经所述第一VNF模块的数据流的数目,所述目标VNF模块的数目小于等于所述选定数据流的数目;
以及根据所述至少一个目标VNF模块与至少一个选定数据流的对应关系生成采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则通过所述收发单元发送至网络转发平台。
在一个可能的设计中,所述流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示所述网络转发平台将所述第一VNF模块在所述第i个选定数据流中对应的原数据流路径中的上一跳VNF模块发出的所述第i个选定数据流发往对应的目标VNF模块,并将所述对应的目标VNF模块发出的所述第i个选定数据流发往所述第一VNF模块在所述第i个选定数据流对应的原数据流路径中的下一跳VNF模块。
第四方面,一种切片网络中数据流分流的装置,包括:
收发单元,用于接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;
其中,所述分流策略至少包括每个目标数据流的流量值与所述流经第一VNF模块的数据流的流量值的比例,所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流;
处理单元,用于确定接收到所述流经第一VNF模块的数据流,则将所述流经第一VNF模块的数据流根据所述分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
所述收发单元,还用于将得到的每个目标数据流发送至网络转发平台。
第五方面,一种切片网络中数据流分流的设备,包括:
收发器;
存储器,用于存储指令;和
处理器,与所述存储器和所述收发器分别相连,用于执行所述指令,以在执行所述指令时执行如下步骤:
确定第一VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,所述过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;
根据所述第一VNF模块的类型,确定至少一个目标VNF模块,其中,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则通过所述收发器发送至网络转发平台。
在一个可能的设计中,所述处理器在执行所述指令时执行如下步骤:确定第一VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,具体包括:
通过所述收发器接收数据面网元上报的流量信息,所述流量信息携带流经所述第一VNF模块的数据流流量值和所述第一VNF模块的标识;
确定流经所述第一VNF模块的数据流流量值大于所述流量阈值时,确定所述第一VNF模块的标识对应的第一VNF模块为过载VNF模块,所述数据面网元为基站或网关。
在一个可能的设计中,所述处理器在执行所述指令时执行如下步骤:确定第一VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,具体包括:
通过所述收发器接收数据面网元上报的所述第一VNF模块的标识;
将所述第一VNF模块的标识对应的第一VNF模块作为过载VNF模块。
在一个可能的设计中,所述处理器在执行所述指令时执行如下步骤:根据所述第一VNF模块的类型,确定至少一个目标VNF模块,具体包括:
将所述第一VNF模块所属的网络切片上与所述第一VNF模块的类型相同且资源使用情况低于所述资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
在一个可能的设计中,所述处理器在执行所述指令时执行如下步骤:根据所述第一VNF模块的类型,确定至少一个目标VNF模块,具体包括:
利用所述第一VNF模块所属的网络切片上的空闲资源新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值;或者,
将除所述第一VNF模块所属的网络切片外的其他网络切片上的空闲资源转移到所述第一VNF模块所属的网络切片,并在转移资源后所述第一VNF模块所属的网络切片上新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值。
在一个可能的设计中,所述处理器在执行所述指令时还执行如下步骤:
在确定流规则之前,当所述流经所述第一VNF模块的数据流的数目为1时,确定每个目标VNF模块对应的目标数据流的流量值与所述流经所述第一VNF模块的数据流的流量值的比例作为分流策略;
通过所述收发器将所述分流策略发送至分流VNF模块,使得所述分流VNF模块执行所述分流策略;
所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
在一个可能的设计中,所述流规则用于指示所述网络转发平台将所述第一VNF模块在所述流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的所述流经第一VNF模块的数据流发往所述分流VNF模块,将从所述分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,将从每个目标VNF模块发出的对应的目标数据流发往所述第一VNF模块在所述流经所述第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
在一个可能的设计中,所述处理器在执行所述指令时还执行如下步骤:
当确定所述流经所述第一VNF模块的数据流的数目大于1时,确定所述至少一个目标VNF模块与至少一个选定数据流的对应关系,所述选定数据流为任一一个流经所述第一VNF模块的数据流,所述选定数据流的数目小于等于所述流经所述第一VNF模块的数据流的数目,所述目标VNF模块的数目小于等于所述选定数据流的数目;
根据所述至少一个目标VNF模块与至少一个选定数据流的对应关系生成采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则通过所述收发器发送至网络转发平台。
在一个可能的设计中,所述流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示所述网络转发平台将所述第一VNF模块在所述第i个选定数据流中对应的原数据流路径中的上一跳VNF模块发出的所述第i个选定数据流发往对应的目标VNF模块,并将所述对应的目标VNF模块发出的所述第i个选定数据流发往所述第一VNF模块在所述第i个选定数据流对应的原数据流路径中的下一跳VNF模块。
第六方面,一种切片网络中数据流分流的设备,包括:
收发器;
存储器,用于存储指令;和
处理器,与所述存储器和所述收发器分别相连,用于执行所述指令,以在执行所述指令时执行如下步骤:
通过所述收发器接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;其中,所述分流策略至少包括每个目标数据流的流量值与所述流经第一VNF模块的数据流的流量值的比例,所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流;
接收到所述流经第一VNF模块的数据流时,将所述流经第一VNF模块的数据流根据所述分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
通过所述收发器将得到的每个目标数据流发送至网络转发平台。
本发明实施例还提供了一种数据面网元流量监测上报方法,包括:
数据面网元检测流经每个VNF模块的数据流的流量值,所述数据面网元为基站或网关;所述数据面网元向切片网络控制器上报针对每个VNF模块的数据流流量信息,其中,所述数据流流量信息至少包括每个VNF模块的标识和流经对应VNF模块的数据流的流量值。
本发明实施例还提供了一种数据面网元流量监测上报方法,包括:
数据面网元检测流经每个VNF模块的数据流的流量值,所述数据面网元为基站或网关;所述数据面网元确定第一VNF模块对应的流量值大于预设阈值,则判断所述第一VNF模块为过载VNF,并则将所述第一VNF模块的标识上报至切片网络控制器。
通过扩展OpenFlow协议实现切片网络控制器的接收上报切片网络控制器消息功能,具体是扩展OpenFlow协议的Packet-In消息:1)对于此消息里的reason字段,其值是枚举类型enum ofp_packet_in_reason中的一个,为enumofp_packet_in_reason添加一个新的常量值OFPR_METER,其中OFPR_METER的值不同于现有OpenFlow协议里的enum ofp_packet_in_reason现有值;2)为Packet-In消息增加一个字段用于指明计量器的描述信息,其字段类型是现有的struct ofp_meter_desc结构,或修改现有Packet-In消息中uint8_t data[0]字段含义,当reason类型是OFPR_METER时,uint8_t data[0]字段含义是触发此消息的计量器的描述信息,其具体内容是现有的struct ofp_meter_desc结构。
通过扩展OpenFlow协议实现切片网络控制器下发分流策略消息功能,具体是扩展OpenFlow协议的Modify Flow Entry消息:1)对于此消息里的structofp_instruction_header结构中的type字段,其值是枚举类型enumofp_instruction_type中的一个,为enum ofp_instruction_type添加一个新的常量值OFPIT_SPLIT_FLOW,其中OFPIT_SPLIT_FLOW的值不同于现有OpenFlow协议里的enum ofp_instruction_type现有值;2)为Modify Flow Entry消息增加一个字段用于指明分流策略信息,其字段类型是新增的structofp_instruction_split_flow结构,此结构包括类型、长度、分流的结果列表,分流的结果列表是一个变长的结构数组,数据元素是新增的structofp_subflow_header结构,此结构包括子数据流的比例数和子数据流的输出端口,数组长度是分流后子数据流的份数,通过struct ofp_instruction_split_flow结构中的长度字段、struct ofp_instruction_split_flow结构自身的长度、structofp_subflow_header结构自身的长度计算可得。
基于现有OpenFlow协议里定义的计量器功能,为计量器里的计量带增加一种类型:上报控制器OFPMBT_REPORT_CONTROLLER,其值不同于现有OpenFlow协议里的enum ofp_meter_band_type现有值,用于表示当流量感知上报模块检测到当前数据流的速率超过其计量带预设的目标速率时,数据面网元发送上报切片网络控制器消息告知切片网络控制器。
基于现有OpenFlow协议里定义的多流表机制,增加一种对数据包进行添加标签的功能,标签信息通过现有OpenFlow的“流水线匹配字段(PipelineMatch Fields)在流表之间进行传递。增加一种流水线匹配字段:OXM_OF_LABEL,长度为32比特(4字节),用于标识跨流表之间的数据包的标签信息。
综上所述,本发明实施例提供一种切片网络中数据流分流的方法,切片网络控制器确定第一VNF模块为过载VNF模块和流经第一VNF模块的数据流,过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块,即切片网络控制器首先确定过载VNF模块和流经过载VNF模块的数据流。切片网络控制器根据第一VNF模块的类型,确定至少一个目标VNF模块,其中,目标VNF模块是指与第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块。因此,切片网络控制器能够综合切片内部和切片间的资源使用,确定目标VNF模块。切片网络控制器确定采用至少一个目标VNF模块分流流经第一VNF模块的数据流的流规则,并将流规则发送至网络转发平台,实现数据流动态分流。因此,本发明实施例解决了数据流处理流程中的丢包问题,实现数据流动态分流,能够在切片网络中实现切片内部的甚至多个网络切片之间的资源动态调整和共享,实现切片网络的负载均衡,优化切片内部和切片间的资源使用。
附图说明
图1为本发明实施例中切片网络的结构示意图;
图2为本发明实施例中切片网络系统的结构示意图;
图3为本发明实施例中数据流1流经的路径示意图;
图4为本发明实施例中切片网络中数据流分流的概述流程图之一;
图5为本发明实施例中控制层实体与数据侧实体示意图;
图6为本发明实施例中切片网络中数据流分流的具体流程图;
图7(a)为本发明实施例中数据流1流经的原路径示意图;
图7(b)为本发明实施例中数据流1流经的新路径示意图;
图8为本发明实施例中切片网络中数据流分流的概述流程图之二;
图9为本发明实施例中切片网络中数据流分流的装置结构示意图之一;
图10为本发明实施例中切片网络中数据流分流的装置结构示意图之二;
图11为本发明实施例中切片网络中数据流分流设备的结构示意图;
图12为本发明实施例中切片网络中数据流分流设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1所示,在基础无线网络设施上,构建了内容分发、智能通信、海量机器与机器(Machine to Machine,M2M)连接、电子医疗(eHealth)和私人社交五个网络切片。每个网络切片上包含若干个VNF模块,每个VNF模块实现一种业务功能,不同网络切片就可以实现不同的业务特性。例如,网络切片1上包含两个VNF,其中,网络切片1中包含的VNF1模块和VNF2模块可以分别用于执行数据包分段和数据包排序。
参阅图2所示,本发明实施例的主要应用场景为切片网络系统,该系统中至少包括切片网络控制器、网络转发平台,各个网络切片以及各个网络切片上的VNF模块,须知上述系统为逻辑层面的划分。
如图2所示,图2中包含两个网络切片,分别为网络切片1和网络切片2。终端1将数据流1通过网络切片1上的VNF模块1和VNF模块2发送至终端2,终端3将数据流2通过网络切片2上的VNF模块3、VNF模块4和VNF模块5发送至终端5,终端4将数据流3通过网络切片2上的VNF模块3和VNF模块5发送至终端5。
其中,切片网络控制器用于为每个数据流规划需要经过的网络切片中的VNF模块组合并生成相应的流规则,以及将每个数据流和相应的流规则发送至网络转发平台。网络转发平台用于将收到的数据流根据相应的流规则转发至对应网络切片上的VNF模块。
具体的,在数据包传输之前,切片网络控制器首先确定数据流路径信息,即数据流需要经过的切片中的VNF模块组合及其连接关系,并获取到对应该数据流的特征信息。其中,该特征信息与上述的“切片中的VNF模块组合及其连接关系”存在映射关系。接着,切片网络控制器采用OpenFlow技术,将数据流路径信息和特征信息包含在流规则中下发到网络转发平台,同时切片网络控制器也将该特征信息下发到数据流发送端或网络中的标记节点,使得发送端发出去的数据包或者经标记节点标记后的数据包能够携带特征信息。在上述配置过程配置完成后,当数据包发送端发出带有特征信息的数据包后或者由网络中的标记节点将特征信息标记在数据包中发送后,网络转发平台就会识别出该数据包中的特征信息,并根据之前获得的流规则将数据包转发到对应的VNF模块,以及后续几跳的VNF模块,从而完成数据包的处理过程。
例如,参阅图2和图3所示,数据流1的数据流路径信息为数据流1需要依次流经网络切片1中VNF模块1、VNF模块2。切片网络控制器事先将根据数据流1的数据流路径信息和数据流1的特征信息生成的数据流1的流规则下发至网络转发平台。因此,在网络转发平台接收到数据流1时,识别出数据流1的特征信息,并匹配流规则确定将具有数据流1的特征信息的数据流转发至VNF1模块。在VNF模块1处理完数据流1后,将数据流1发送至网络转发平台,网络转发平台继续匹配流规则,确定将从VNF模块1发出的且具有数据流1的特征信息的数据流转发至VNF模块2。
参阅图4所示,本发明实施例提出一种切片网络中数据流分流的方法,针对流经第一VNF模块的数据流数目为1的情况,具体包括:
S400:数据面网元检测流经每个VNF模块的数据流的流量值,上报每个VNF模块的数据流的流量值至切片网络控制器或上报过载VNF模块的标识至切片网络控制器。
S410:切片网络控制器接收数据面网元上报的每个VNF模块的数据流的流量值或过载VNF模块的标识,根据每个VNF模块的数据流的流量值或过载VNF模块的标识确定第一VNF模块为过载VNF模块和流经第一VNF模块的数据流。过载VNF模块是指流经自身的数据流的流量值超过预设阈值的VNF模块。
S420:切片网络控制器根据第一VNF模块的类型,确定至少一个目标VNF模块。其中,目标VNF模块是指与第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块。
S430:当流经第一VNF模块的数据流数目为1时,切片网络控制器确定每个目标VNF模块对应的目标数据流的流量值与流经所述第一VNF模块的数据流的流量值的比例作为分流策略,并将分流策略发送至分流VNF模块。
S440:切片网络控制器确定分流策略对应的流规则,并将分流策略对应的流规则发送至网络转发平台。
S450:分流VNF模块接收切片网络控制器发送的分流策略,在分流VNF模块确定接收到流经第一VNF模块的数据流时,将流经第一VNF模块的数据流根据分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,并将得到的每个目标数据流发送至网络转发平台。
S460:网络转发平台接收切片网络控制器发送的分流策略对应的流规则以及分流VNF模块发送的目标数据流,根据分流策略对应的流规则将目标数据流发送至对应的目标VNF模块。
针对S410,可选地,在切片网络控制器确定第一VNF模块为过载VNF模块时,可以采用但不限于以下两种方法:
第一种方法:切片网络控制器接收数据面网元上报的流量信息,流量信息携带流经第一VNF模块的数据流流量值和第一VNF模块的标识,切片网络控制器确定流经第一VNF模块的数据流流量值大于流量阈值时,确定第一VNF模块为过载VNF模块。
其中,数据面网元为基站或网关,数据面网元检测流经每个VNF模块的数据流的流量值。具体的,数据面网元中包含多个流量感知上报模块,一个流量感知上报模块对应至少一个VNF模块,用于检测流经VNF模块的数据流的流量值。流量感知上报模块是以VNF模块为粒度检测并上报每个VNF模块的数据流的流量值。
第二种方法:切片网络控制器接收数据面网元上报的流量信息,流量信息携带第一VNF模块的标识,切片网络控制器确定第一VNF模块为过载VNF模块。
数据面网元检测流经每个VNF模块的数据流的流量值,数据面网元确定任一VNF模块对应的流量值大于流量阈值时,则判断该VNF模块为过载VNF,并则将该VNF模块的标识上报至切片网络控制器。
切片网络控制器能够方便地获取到切片上下文信息和数据流上下文信息,并根据数据流上下文信息获知流经第一VNF模块的数据流。
可选地,这些信息可以存储于切片网络控制器中的一个新增模块,或者一个现有模块,或者能与切片网络控制器进行通信的另一设备中的模块。其中,切片上下文信息是在网络切片建立时生成的,切片上下文信息中包含,本切片内的所有VNF模块的id信息,以及本切片内的所有数据流信息。而数据流上下文信息是在数据流接入切片时候就生成的,数据流上下文信息,包含数据流特征信息,如IP五元组,或者逻辑链路标识(logical channel id,LCID)、所属的切片id,该数据流需要经过的VNF模块的id,以及这些VNF模块之间的连接关系,即数据流在这些VNF模块之间跳转时,VNF模块的顺序信息。
针对S420,切片网络控制器在根据第一VNF模块的类型,确定至少一个目标VNF模块时,可以采用但不限于以下三种方法:
第一种方法:切片网络控制器根据第一VNF模块的标识确定第一VNF模块所属的网络切片,然后判断该网络切片上是否存在与第一VNF模块的类型相同且资源使用情况低于资源阈值的至少一个VNF模块,若存在则将该网络切片上与第一VNF模块的类型相同且资源使用情况低于资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
第二种方法:切片网络控制器利用第一VNF模块所属的网络切片的空闲资源在该网络切片上新建至少一个与第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块。
第三种方法:切片网络控制器将除第一VNF模块所属的网络切片外其他网络切片上的空闲资源转移到第一VNF模块所属的网络切片,在该网络切片上新建至少一个与第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块。
第一种方法可以为三种方法中优先选择的方法,以减少新建VNF模块所需的信令开销,第二种方法与第三种方法也可与第一种方法结合使用。
例如,切片网络控制器在确定VNF模块1为过载VNF模块后,进一步根据已知的切片上下文信息确定VNF模块1的类型,以及VNF模块1所在的网络切片,并判断VNF模块1所在的网络切片上是否存在与VNF模块1的类型相同且资源使用情况低于资源阈值的VNF模块,例如,VNF模块4满足上述条件,则将VNF模块4作为目标VNF模块。VNF模块4需与VNF模块1具有直接或间接的连接关系。例如,VNF模块1所在设备1和VNF模块4所在设备3直接相连,或者VNF模块1所在设备1与设备2相连,设备2与VNF模块4所在的设备3相连。
又例如,VNF模块1所在的网络切片不存在与VNF模块1的类型相同且资源使用情况低于资源阈值的VNF模块,则可根据VNF模块1所在的网络切片上的空闲资源新建至少一个满足条件的VNF模块,或从其他网络切片上移过来一部分空闲资源新建至少一个满足条件的VNF模块。
又例如,在VNF模块1所在的网络切片上只确定了一个目标VNF模块,则可采用第二种方法或第三种方法再确定至少一个目标VNF模块,共同作为针对VNF模块1的目标VNF模块。
针对S430,切片网络控制器确定每个目标VNF模块对应的目标数据流的特征信息的生成规则以及每个目标VNF模块对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例作为分流策略,并将分流策略发送至分流VNF模块,分流VNF模块用于执行分流策略。其中,目标数据流是指分流VNF将流经第一VNF模块的数据流根据分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
此外,切片网络控制器确定分流策略时,可以将该流经第一VNF模块的数据流分流至至少一个目标VNF模块以及第一VNF模块,即由各个目标VNF模块和第一VNF模块共同处理该流经第一VNF模块的数据流。因此,该分流策略中可以包括第一VNF模块对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例,即不更改流经第一VNF模块的数据流的特征信息,或者第一VNF模块对应的目标数据流的特征信息的生成规则以及第一VNF模块对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例。
例如,过载模块为VNF模块4,流经第一VNF模块的数据流为数据流1,目标VNF模块的数目为2,分别为VNF模块3、VNF模块6。VNF模块4对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签1,VNF模块4对应的目标数据流的流量值与数据流1的流量值的比例为40%,即分流VNF模块需将数据流1中40%的数据包添加标签1;VNF模块3对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签2,VNF模块4对应的目标数据流的流量值与数据流1的流量值的比例为30%,即分流VNF模块需将数据流1中30%的数据包添加标签2;VNF模块6对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签3,VNF模块4对应的目标数据流的流量值与数据流1的流量值的比例为30%,即分流VNF模块需将数据流1中30%的数据包添加标签3。因此,数据流1的分流比例为VNF模块4:VNF模块3:VNF模块6=4:3:3,分流VNF模块为该数据流1流经的头4个数据包添加标签1,再流经的3个数据包添加标签2,之后流经的3个数据包添加标签3,以此类推。
针对S440,由于流经第一VNF模块的数据流流经的VNF模块组合发生变化,加入了分流VNF和至少一个目标VNF,因此需要对针对流经第一VNF模块的数据流的流规则进行更新,发送分流策略对应的流规则,即新的流规则,并删除从过载VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块至过载VNF模块的流规则,以及从过载VNF模块至过载VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块的流规则。分流策略对应的流规则可以由Open Flow(OF)控制器生成,该OF控制器可以为切片网络控制器中的一个模块。
切片网络控制器根据分流策略和流经第一VNF模块的数据流对应的原数据流路径生成分流策略对应的流规则,并将流规则发送至网络转发平台。
其中,流经第一VNF模块的数据流对应的原数据流路径可由流经第一VNF模块的数据流的上下文信息获得,流经第一VNF模块的数据流的上下文信息为切片网络控制已知的信息。
具体的,流规则是根据第一VNF模块id,至少一个目标VNF模块id,分流VNF模块id、根据流经第一VNF模块的数据流对应的原数据流路径获得的第一VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块id和第一VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块id,以及分流策略生成的。
流规则用于指示网络转发平台将第一VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的流经第一VNF模块的数据流发往分流VNF模块,并将从分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,并将从每个目标VNF模块发出的对应的目标数据流发往第一VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
此外,在将流经第一VNF模块的数据流分流至第一VNF模块和至少一个目标VNF模块时,流规则还包括指示网络转发平台将从分流VNF模块发出的第一VNF模块对应的目标数据流发往第一VNF模块,并将从第一VNF模块发出的对应的目标数据流发往第一VNF模块在流经第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
参阅图5和图6所示,下面以一个具体实施例说明切片网络中针对流经第一VNF模块的数据流只有一个的情形如何进行数据流分流的具体流程。
图5中,控制侧实体包括OF控制器和分流决策模块,可以均位于切片网络控制器中。其中,分流决策模块用于确定过载VNF模块、流经过载VNF模块的数据流,过载VNF模块对应的至少一个标VNF模块,以及生成分流策略发送至OF控制器。OF控制器用于根据分流策略和流经过载VNF模块的数据流的上下文信息生成分流策略对应的流程则发送至网络转发平台。
分流决策模块可以与OF控制器连接。
数据侧实体包括流量感知上报模块、分流执行模块、网络转发平台,以及各个VNF(未画出),可均位于数据面网元中,其中,流量感知上报模块对应至少一个VNF模块,用于检测流经VNF模块的数据流的流量值,并将各个VNF模块的流量值上报至分流决策模块或将确定为过载VNF模块的标识上报至分流决策模块。分流执行模块为具有分流执行功能的VNF模块,用于执行分流策略,将流经过载VNF模块的数据流分成多个目标数据流。网络转发平台用于将收到的数据流根据相应的流规则转发至对应网络切片上的VNF模块。其中,分流执行模块能够与网络转发平台进行通信。网络转发平台可以与OF控制器进行通信,流量感知上报模块和分流执行模块均可以与分流决策模块进行通信。
其中,VNF模块2在网络切片1上,该数据流1流经网络切片1上的VNF模块组合顺序为:VNF模块1-VNF模块2-VNF模块3-VNF模块4。
S601:分流决策模块在网络切片1建立时保存网络切片1的上下文信息,以及经过网络切片1的数据流1的上下文信息。
S602:流量感知上报模块检测VNF模块2的流量值超过流量阈值,上报VNF模块2的标识。
S603:分流决策模块确定VNF模块2为过载VNF模块,确定流经VNF模块2的数据流为数据流1、至少一个目标VNF模块以及分流策略。
S604:分流决策模块通过OF控制器发送分流策略至分流执行模块。
S605:OF控制器根据分流策略和数据流1的上下文信息生成分流策略对应的流规则。
S606:OF控制器将分流策略对应的流规则发送至网络转发平台。
S607:OF控制器发送分流确认消息至分流决策模块。分流确认消息用于指示分流决策模块更新自身存储的网络切片1的上下文信息和经过网络切片1的数据流1的上下文信息。
S608:分流决策模块根据分流确认消息更新自身存储的网络切片1的上下文信息和经过网络切片1的数据流1的上下文信息。
S609:根据分流确认消息更新自身存储的网络切片1的上下文信息和经过网络切片1的数据流1的上下文信息。
在执行S603时,切片网络控制器根据已知的数据流1上下文信息,确定经过VNF模块2的数据流为数据流1。
分流决策模块根据已知的切片上下文信息确定VNF模块2所在的网络切片,并分析确定在该网络切片上的与VNF模块2类型相同、且资源使用情况低于资源阈值、且与VNF模块2连接的目标VNF模块,为VNF模块5、VNF模块7、VNF模块8。
参阅图7(a)所示,由数据流1的上下文信息可知,该数据流1原来流经VNF模块1、VNF模块2、VNF模块3、VNF模块4,参阅图7(b)所示,现要针对数据流1在流经VNF模块2时进行分流,将在数据流1从VNF模块1发送至网络转发平台后,网络转发平台将其发往分流执行模块,并由分流执行模块分至VNF模块2、VNF模块5、VNF模块7、VNF模块8进行处理,然后再将VNF模块2、VNF模块5、VNF模块7、VNF模块8发送至网络转发平台的目标数据流汇合发送至VNF模块3。
分流决策模块生成分流策略包括:
VNF模块2对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签1,VNF模块2对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例为10%,即分流执行模块需将数据流1中40%的数据包添加标签1;
VNF模块5对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签2,VNF模块5对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例为20%,即分流执行模块需将数据流1中20%的数据包添加标签2;
VNF模块7对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签3,VNF模块7对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例为30%,即分流执行模块需将数据流1中30%的数据包添加标签3确定分流策略;
VNF模块8对应的目标数据流的特征信息生成规则为数据流1的数据包中增加标签4,VNF模块8对应的目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例为40%,即分流执行模块需将数据流1中40%的数据包添加标签4。
在执行S604时,分流执行模块根据分流策略在接收到数据流1时,对10%的数据包添加标签1获得VNF模块2对应的目标数据流,对20%的数据包添加标签2获得VNF模块5对应的目标数据流,对30%的数据包添加标签3获得VNF模块7对应的目标数据流,对40%的数据包添加标签4获得VNF模块8对应的目标数据流。
在执行S605时,分流策略对应的流规则包括:
1、指示网络转发平台将从VNF模块1发出的数据流1发往分流执行模块;
2、指示网络转发平台将从分流执行模块发出的具有标签1的目标数据流发往VNF模块2;
3、指示网络转发平台将从分流执行模块发出的具有标签2的目标数据流发往VNF模块5;
4、指示网络转发平台将从分流执行模块发出的具有标签3的目标数据流发往VNF模块7;
5、指示网络转发平台将从分流执行模块发出的具有标签4的目标数据流发往VNF模块8;
6、指示网络转发平台将从VNF模块2发出的具有标签1的目标数据流发往VNF模块3;
7、指示网络转发平台将从VNF模块5发出的将具有标签2的目标数据流发往VNF模块3;
8、指示网络转发平台将从VNF模块7发出的具有标签3的目标数据流发往VNF模块3;
9、指示网络转发平台将从VNF模块8发出的具有标签4的目标数据流发往VNF模块3。
基于与上述图4~图7(a)和图7(b)所对应的实施例同样的发明构思,参阅图8所示,本发明实施例还提供了一种切片网络中数据流分流的方法,针对流经第一VNF模块的数据流数目大于1的情况,本实施例中与图4~图7(a)和图7(b)所对应的实施例重复的内容不再赘述。
S800:数据面网元检测流经每个VNF模块的数据流的流量值,上报每个VNF模块的数据流的流量值至切片网络控制器或上报过载VNF模块的标识至切片网络控制器。
S810:切片网络控制器接收数据面网元上报的每个VNF模块的数据流的流量值或过载VNF模块的标识,根据每个VNF模块的数据流的流量值或过载VNF模块的标识确定第一VNF模块为过载VNF模块和流经第一VNF模块的数据流。过载VNF模块是指流经自身的数据流的流量值超过预设阈值的VNF模块。
S820:切片网络控制器根据第一VNF模块的类型,确定至少一个目标VNF模块。其中,目标VNF模块是指与第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块。
S830:当流经第一VNF模块的数据流数目大于1时,切片网络控制器确定至少一个目标VNF模块与至少一个选定数据流的对应关系作为分流策略。
S840:切片网络控制器确定分流策略对应的流规则,并将分流策略对应的流规则发送至网络转发平台。
S850:网络转发平台接收切片网络控制器发送的分流策略对应的流规则,根据分流策略对应的流规则将接收到的选定数据流发送至对应的目标VNF模块。
针对S830,选定数据流为任一一个流经第一VNF模块的数据流,选定数据流的数目小于等于流经第一VNF模块的数据流的数目,目标VNF模块的数目小于等于选定数据流的数目。
具体的,由于此时有多个数据流经第一VNF模块,因此,可以随机选择或按照预设次序选择流经第一VNF模块的至少一个数据流作为选定数据流。
例如,切片网络控制器确定过载VNF模块为VNF模块1,流经VNF模块1的数据流为3个,即流经第一VNF模块的数据流的数目为3,分别数据流1、数据流2、数据流3,此时可选择数据流1和数据流2为选定数据,数据流3仍由VNF模块1处理,进一步确定目标VNF模块为VNF模块3和VNF模块5,则分流策略可以为数据流1对应VNF模块3,数据流2对应VNF模块5,或者数据流1对应VNF模块5,数据流2对应VNF模块3。这里的确定对应关系的方法可以为随机指定,也可根据现有的预设算法。
针对S840,切片网络控制器根据分流策略和每个选定数据流流经路径生成分流策略对应的流规则,并发送至网络转发平台。
分流策略对应的流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示网络转发平台将第一VNF模块在第i个选定数据流对应的原数据流路径中的上一跳VNF模块发出的第i个选定数据流发往对应的目标VNF模块,并将对应的目标VNF模块发出的第i个选定数据流发往第一VNF模块在第i个选定数据流中对应的原数据流路径中的下一跳VNF模块。
例如,假设数据流1经过的VNF模块组合的顺序为VNF模块1-VNF模块2-VNF模块3-VNF模块4,数据流2经过的VNF模块组合的顺序为VNF模块1-VNF模块3-VNF模块5-VNF模块6,假设VNF模块3为过载模块,则可随机选择将数据流2作为选定数据流,并为确定一个目标VNF模块为VNF模块8,则分流策略为数据流2对应VNF模块8。因此,此时数据流2经过的VNF模块组合的顺序需更改为VNF模块1-VNF模块8-VNF模块5-VNF模块6,在针对数据流2更新流规则时,指示网络转发平台将从VNF模块1发出的数据流1发往VNF模块8,并将从VNF模块8发出的数据流1发往VNF模块5。
基于同一发明构思,本发明实施例中还提供了一种切片网络中数据流分流的装置,该装置可以为图4和图8所示实施例中的切片网络控制器,可以用于执行上述图4和图8对应的方法实施例,因此本发明实施例提供的切片网络中数据流分流的装置的实施方式可以参见该方法的实施方式,重复之处不再赘述。
参阅图9所示,本发明实施例提供一种切片网络中数据流分流的装置90,包括:
处理单元91,用于确定第一VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,所述过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;
以及根据所述第一VNF模块的类型,确定至少一个目标VNF模块,其中,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
收发单元92,用于采用所述处理单元91确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台。
在一个可能的设计中,所述收发单元92,还用于接收数据面网元上报的流量信息,所述流量信息携带流经所述第一VNF模块的数据流流量值和所述第一VNF模块的标识;
所述处理单元91,用于确定流经所述第一VNF模块的数据流流量值大于所述流量阈值时,确定所述第一VNF模块的标识对应的第一VNF模块为过载VNF模块,所述数据面网元为基站或网关。
在一个可能的设计中,所述收发单元92,还用于接收数据面网元上报的所述第一VNF模块的标识;
所述处理单元91,用于将所述第一VNF模块的标识对应的第一VNF模块作为过载VNF模块。
在一个可能的设计中,根据所述第一VNF模块的类型,确定至少一个目标VNF模块时,所述处理单元91,具体用于:
将所述第一VNF模块所属的网络切片上与所述第一VNF模块的类型相同且资源使用情况低于所述资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
在一个可能的设计中,根据所述第一VNF模块的类型,确定至少一个目标VNF模块时,所述处理单元91,具体用于:
利用所述第一VNF模块所属的网络切片上的空闲资源新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值;或者,
将除所述第一VNF模块所属的网络切片外的其他网络切片上的空闲资源转移到所述第一VNF模块所属的网络切片,并在转移资源后所述第一VNF模块所属的网络切片上新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值。
在一个可能的设计中,所述处理单元91,还用于:
在确定流规则之前,当所述流经所述第一VNF模块的数据流的数目为1时,确定每个目标VNF模块对应的目标数据流的流量值与所述流经所述第一VNF模块的数据流的流量值的比例作为分流策略;
所述收发单元92,还用于将所述分流策略发送至分流VNF模块,使得所述分流VNF模块执行所述分流策略;
所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
在一个可能的设计中,所述流规则用于指示所述网络转发平台将所述第一VNF模块在所述流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的所述流经第一VNF模块的数据流发往所述分流VNF模块,将从所述分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,将从每个目标VNF模块发出的对应的目标数据流发往所述第一VNF模块在所述流经所述第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
在一个可能的设计中,所述处理单元91,具体用于:
当确定所述流经所述第一VNF模块的数据流的数目大于1时,确定所述至少一个目标VNF模块与至少一个选定数据流的对应关系,所述选定数据流为任一一个流经所述第一VNF模块的数据流,所述选定数据流的数目小于等于所述流经所述第一VNF模块的数据流的数目,所述目标VNF模块的数目小于等于所述选定数据流的数目;
以及根据所述至少一个目标VNF模块与至少一个选定数据流的对应关系生成采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则通过所述收发单元92发送至网络转发平台。
在一个可能的设计中,所述流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示所述网络转发平台将所述第一VNF模块在所述第i个选定数据流中对应的原数据流路径中的上一跳VNF模块发出的所述第i个选定数据流发往对应的目标VNF模块,并将所述对应的目标VNF模块发出的所述第i个选定数据流发往所述第一VNF模块在所述第i个选定数据流对应的原数据流路径中的下一跳VNF模块。
基于同一发明构思,本发明实施例中还提供了一种切片网络中数据流分流的装置,该装置可以为图4所示实施例中的分流VNF模块,可以用于执行上述图8对应的方法实施例,因此本发明实施例提供的切片网络中数据流分流的装置的实施方式可以参见该方法的实施方式,重复之处不再赘述。
参阅图10所示,本发明实施例提供一种切片网络中数据流分流的装置1000,包括:
收发单元1010,用于接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;
其中,所述分流策略至少包括每个目标数据流的流量值与所述流经第一VNF模块的数据流的流量值的比例,所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流;
处理单元1020,用于确定接收到所述流经第一VNF模块的数据流,则将所述流经第一VNF模块的数据流根据所述分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
所述收发单元1010,还用于将得到的每个目标数据流发送至网络转发平台。
需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一发明构思,本发明实施例中还提供了一种切片网络中数据流分流的设备,该切片网络中数据流分流的设备可以为图4和图8所示实施例中的切片网络控制器,为图9所示实施例的装置,因此本发明实施例提供的切片网络控制器的实施方式可以参见图4和图8所示实施例的实施方式,重复之处不再赘述。
参阅图11所示,本发明实施例提供一种切片网络中数据流分流的设备1100,包括:
收发器1101;
存储器1103,用于存储指令;和
处理器1102,与存储器1103和收发器1101分别相连,用于执行指令,以在执行指令时执行如下步骤:
确定第一VNF模块为过载VNF模块和流经第一VNF模块的数据流,过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;
根据第一VNF模块的类型,确定至少一个目标VNF模块,其中,目标VNF模块是指与第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
确定采用至少一个目标VNF模块分流流经第一VNF模块的数据流的流规则,并将流规则通过收发器1101发送至网络转发平台。
需要说明的是图11所示的各部分之间的连接方式仅为一种可能的示例,也可以是,收发器1101与存储器1103均与处理器1102连接,且收发器1101与存储器1103之间没有连接,或者,也可以是其他可能的连接方式。
基于同一发明构思,本发明实施例中还提供了一种切片网络中数据流分流的设备,该切片网络中数据流分流的设备可以为基站,分流VNF模块位于该基站中,该设备包含图4所示实施例中的分流VNF模块,为图10所示实施例的装置,因此本发明实施例提供的切片网络控制器的实施方式可以参见图4所示实施例的实施方式,重复之处不再赘述。
参阅图12所示,本发明实施例提供一种切片网络中数据流分流的设备1200,该设备可以为基站,分流VNF模块位于该设备中,包括:
收发器1201;
存储器1203,用于存储指令;和
处理器1202,与存储器1203和收发器1201分别相连,用于执行指令,以在执行指令时执行如下步骤:
通过收发器1201接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;其中,分流策略至少包括每个目标数据流的流量值与流经第一VNF模块的数据流的流量值的比例,目标数据流是指分流VNF将流经第一VNF模块的数据流根据分流策略进行分流处理后得到数据流;
接收到流经第一VNF模块的数据流时,将流经第一VNF模块的数据流根据分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,目标VNF模块是指与第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
通过收发器1201将得到的每个目标数据流发送至网络转发平台。
需要说明的是图12所示的各部分之间的连接方式仅为一种可能的示例,也可以是,收发器1201与存储器1203均与处理器1202连接,且收发器1201与存储器1203之间没有连接,或者,也可以是其他可能的连接方式。
参阅图11、图12所示,上述实施例中的存储器,用于存储处理器执行的程序代码,可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器(flashmemory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是上述存储器的组合。
参阅图11、图12所示,上述实施例中的处理器,可以是一个中央处理单元(central processing unit,CPU)。
综上所述,本发明实施例提供一种切片网络中数据流分流的方法,解决了数据流处理流程中的丢包问题,实现数据流动态分流,能够在切片网络中,实现切片内部的甚至多个网络切片之间的资源动态调整和共享,实现切片网络的负载均衡,优化切片内部和切片间的资源使用。
实现上述实施例需要针对OpenFlow协议进行扩展,这里的OpenFlow协议为OpenFlow协议1.3版即可,另外,若上述实施例应用的OpenFlow协议低于1.3版,则在增加“计量器(Meter)”功能后,也可以应用于本发明实施例中。
下面以对最新的OpenFlow协议1.5.1版扩展为例,说明如何通过扩展该协议实现本发明实施例的技术效果。
数据侧实体包括流量感知模块、OF交换模块以及分流执行模块。这里的流量感知模块、OF交换模块和分流执行模块分布于数据面网元中,流量感知模块和分流执行能够与OF交换模块进行通信。这里的分流执行模块可以为上述实施例中的分流VNF模块。
控制侧实体包括OF控制器和分流决策模块,OF控制器和分流决策模块可包含于切片网络控制器。
现有的OpenFlow协议里定义的“计量器(Meter)”功能,可以将计量器附着到一条或多条流条目(flow entries)上,从而测量和控制数据侧对应数据流的速率。每个计量器带有一个或多个“计量带(Meter Bands)”,每个计量带指定一个“目标速率”和“当数据流速率超过目标速率时所执行的处理”,当计量器对应的数据流的速率超过某个计量带的目标速率时会执行此计量带对应的处理。故现有的OpenFlow协议具备了上述实施例所需的“流量感知”功能,即检测每个VNF模块的预设流量参数,以及确定过载VNF模块。然而现有的OpenFlow协议中计量带所支持的处理只有两种类型:1、丢包(drop);2、增加IP包头的DSCP字段的丢包优先级(dscp remark);定义如下:
enum ofp_meter_band_type{
OFPMBT_DROP=1,/*Drop packet.*/
OFPMBT_DSCP_REMARK=2,/*Remark DSCP in the IP header.*/
OFPMBT_EXPERIMENTER=0xFFFF/*Experimenter meter band.*/
};
以上两种处理不能满足本实施例的需求,即针对每个VNF模块的数据流流量信息或上报过载VNF模块的标识进行上报,故需对OpenFlow协议在数据面网元上的流量感知模块的计量器功能进行扩展,使其具备“上报功能”:
具体的,增加一种计量带类型:上报控制器,定义为:OFPMBT_REPORT_CONTROLLER=3,/*Report to controller.*/。
上述新增的计量带类型的具体的值不要求为3,仅仅是按现有的定义值顺序排下来而已,这里只要与现有的定义里的值不同便可,定义为其他值不影响本专利的实施,同理变量名也不要求非得为OFPMBT_REPORT_CONTROLLER,只要与现有变量名能够区分即可。
通过扩展上述计量带类型,流量感知模块在需要针对每个VNF模块的数据流流量信息或过载VNF模块的标识进行上报时,采用新增的计量带类型执行上报功能,通过OF交换模块发送上报控制器消息告知控制器。这里的控制器可以为具有OF控制器的切片网络控制器或具有OF控制器的设备,现有OpenFlow协议里的“Packet-In消息”(消息类型:OFPT_PACKET_IN),用于将数据包的控制转移到控制器,可对此消息进行扩展作为本实施例所需的上报控制器消息。现有OpenFlow协议里此消息的reason字段指明数据包发往控制器的原因,为enum ofp_packet_in_reason中的一种,定义如下:
enum ofp_packet_in_reason{
OFPR_TABLE_MISS=0,/*No matching flow(table-miss flow entry).*/
OFPR_APPLY_ACTION=1,/*Output to controller in apply-actions.*/
OFPR_INVALID_TTL=2,/*Packet has invalid TTL.*/
OFPR_ACTION_SET=3,/*Output to controller in action set.*/
OFPR_GROUP=4,/*Output to controller in group bucket.*/
OFPR_PACKET_OUT=5,/*Output to controller in packet-out.*/
};
上述原因均无法描述本实施例所需的上报原因,使得控制侧无法做出相应处理,故本实施例对OpenFlow协议的Packet-In消息进行以下扩展:
1)增加一种enum ofp_packet_in_reason类型:OFPR_METER=6,/*Outputto controller in meter band.*/,用于指明触发此消息的原因是计量器;
具体的值不要求为6,仅仅是按现有的定义值顺序排下来而已,这里只要与现有的定义里的值不同便可,定义为其他值不影响本专利的实施,同理变量名也不要求非得为OFPR_METER,只要与现有变量名能够区分即可。
2)Packet-In消息需要一个字段指明计量器的描述信息,此处有两种方法:
第一,在Packet-In消息里增加一个struct ofp_meter_desc字段,指明此计量器的描述信息;
第二,修改原Packet-In消息中uint8_t data[0]字段含义,当reason类型为OFPR_METER时,uint8_t data[0]字段含义为触发此消息的计量器的描述信息,其具体内容为struct ofp_meter_desc结构;其中struct ofp_meter_desc结构为现有OpenFlow协议中已有的结构,定义如下:
struct ofp_meter_desc{
uint16_t length;/*Length of this entry.*/
uint16_t flags;/*All OFPMF_*that apply.*/
uint32_t meter_id;/*Meter instance.*/
struct ofp_meter_band_header bands[0];/*The bands length is inferred fromthe length field.*/
};
其中struct ofp_meter_band_header定义如下:
struct ofp_meter_band_header{
uint16_t type;/*One of OFPMBT_*.*/
uint16_t len;/*Length in bytes of this band.*/
uint32_t rate;/*Rate for this band.*/
uint32_t burst_size;/*Size of bursts.*/
};
即:当reason类型为OFPR_METER,Packet-in消息带有struct ofp_meter_desc结构,用于指明计量器的描述信息。
此外,还需将现有OpenFlow协议进行控制以实现控制侧对上报控制器消息的处理。例如,OF控制器接收到本实施例扩展后的Packet-in消息,若检测到消息里reason字段的值是OFPR_METER,得知这是来自计量器的“因数据流速率超过目标速率而上报控制器”的消息。但是现有的OF控制器不能处理这种消息,因此需要对OpenFlow协议做以下扩展:
根据消息里的struct ofp_meter_desc字段或data字段得知计量器的描述信息,同时根据现有OpenFlow控制器所掌握的网络拓扑信息、链路统计信息等,将计量器的描述信息、网络拓扑信息、链路统计信息等提供给分流决策模块。然后从分流决策模块获知第一分流策略,再根据现有的Packet-in消息里的structofp_match match字段得到此计量器控制器所附着的流条目的匹配规则,结合第一分流策略和流条目的匹配规则生成下发更新流规则。
进一步地,分流决策模块通过OF控制器获取计量器的描述信息、网络拓扑信息、链路统计信息等,根据预设算法做出具体的第一分流策略,其中,一种分流策略表示方法为:(R1,P1),(R2,P2),…,(Rn,Pn),其含义为:设m=R1+R2+…+Rn,则(Rk,Pk),其中1<=k<=n,表示为:将Rk/m比率的数据流输出到端口Pk。然后将第一分流策略提供给OF控制器。这里的端口Pk可以为上述实施例中的各个VNF模块。
现有的OpenFlow控制器通过“Modify Flow Entry消息”(消息类型:OFPT_FLOW_MOD)下发流规则,此消息带有OpenFlow指令structofp_instruction_header,现有OpenFlow协议中定义如下:
struct ofp_instruction_header{
uint16_t type;/*One of OFPIT_*.*/
uint16_t len;/*Length of this struct in bytes.*/
};
其中的指令类型字段type为enum ofp_instruction_type中的一种,在现有OpenFlow协议中定义如下:
enum ofp_instruction_type{
OFPIT_GOTO_TABLE=1,/*Setup the next table in the lookup pipeline*/
OFPIT_WRITE_METADATA=2,/*Setup the metadata field for use later inpipeline*/
OFPIT_WRITE_ACTIONS=3,/*Write the action(s)onto the datapath actionset*/
OFPIT_APPLY_ACTIONS=4,/*Applies the action(s)immediately*/
OFPIT_CLEAR_ACTIONS=5,/*Clears all actions from the datapath actionset*/
OFPIT_DEPRECATED=6,/*Deprecated(was apply meter)*/
OFPIT_STAT_TRIGGER=7,/*Statistics triggers*/
OFPIT_EXPERIMENTER=0xFFFF/*Experimenter instruction*/
};
上述指令类型里并没有“数据流分流”的指令类型,因此需要对OpenFlow指令进行扩展:
1)增加一种enum ofp_instruction_type指令类型:OFPIT_SPLIT_FLOW=8,/*Split flow*/;
这里具体的值不要求为8,仅仅是按现有的定义值顺序排下来而已,这里只要与现有的定义里的值不同便可,定义为其他值不影响本专利的实施,同理变量名也不要求非得为OFPIT_SPLIT_FLOW,只要与现有变量名能够区分即可。
2)增加一个结构struct ofp_instruction_split_flow,包含:类型、长度、分流的结果列表,此结构的一种参考定义如下:
struct ofp_instruction_split_flow{
uint16_t type;/*OFPIT_SPLIT_FLOW*/
uint16_t len;/*Length of this instruction.*/
struct ofp_subflow_header subflows[0];/*The subflows length is inferredfrom the length field.*/
};
其中struct ofp_subflow_header的参考定义如下:
struct ofp_subflow_header{
uint32_t ratio;/*The packet ratio of this subflow.*/
uint32_t port_no;/*The output port number of this subflow.*/
};
上述结构内各字段的顺序、数据类型均不影响本发明实施例的具体实施。
struct ofp_instruction_split_flow中的len字段可用于计算出subflows的份数,即:份数n=(len-sizeof(struct ofp_instruction_split_flow))/sizeof(structofp_subflow_header)。
即:当指令类型为OFPIT_SPLIT_FLOW时,Modify Flow Entry消息里带有struct ofp_instruction_split_flow结构,用于指明控制器的分流策略。
进一步地,在数据面网元中的OF交换模块接收到本实施例扩展后的ModifyFlow Entry消息后,若检测到消息里的struct ofp_instruction_header的中的类型字段(type)的值是OFPIT_SPLIT_FLOW,得知这是需要进行数据流分流的分流,根据struct ofp_instruction_split_flow字段得知控制侧的第一分流策略,设为(R1,P1),(R2,P2),…,(Rn,Pn),然后调用分流执行模块执行分流操作。
具体的,分流执行模块:循环执行如下操作:
将R1个数据包转发到端口P1;
将后续的R2个数据包转发到端口P2;
…;
将后续的Rk个数据包转发到端口Pk;
…;
将后续的Rn个数据包转发到端口Pn。
一种具体的实现方法为:利用OpenFlow协议里定义的多流表机制,增加一种对数据包进行添加标签的功能,标签信息通过现有OpenFlow的“流水线匹配字段(Pipeline Match Fields)在流表之间进行传递,然后再后续流表中通过原流条目的匹配规则加上标签信息进行匹配,将同时满足原匹配规则和标签信息的数据包转发到对应端口。其中现有OpenFlow协议中流水线匹配字段有如下几种:OXM_OF_IN_PORT、OXM_OF_IN_PHY_PORT、OXM_OF_METADATA、OXM_OF_TUNNEL_ID、OXM_OF_ACTSET_OUTPUT、OXM_OF_PACKET_TYPE。现在增加一种流水线匹配字段:
OXM_OF_LABEL,长度为32比特(4字节),用于标示跨流表之间的数据包的标签信息。
变量名也不要求非得为OXM_OF_LABEL,只要与现有变量名能够区分即可,长度也不要求必须为32比特,只要能满足分流后的标签数量即可。
具体操作如下:
1)在当前流表中,对数据包进行添加标签操作:即循环执行如下操作:
将R1个数据包的OXM_OF_LABEL设置为P1;
将后续的R2个数据包的OXM_OF_LABEL设置为P2;
…;
将后续的Rk个数据包的OXM_OF_LABEL设置为Pk;
…;
将后续的Rn个数据包的OXM_OF_LABEL设置为Pn。
2)执行OpenFlow指令:Goto-Table next-table-id(指令类型:OFPIT_GOTO_TABLE),其中next-table-id为后续流表的标识;
3)后续流表同时匹配原流表的匹配规则和OXM_OF_LABEL,即将同时满足原流表的匹配规则和OXM_OF_LABEL为Pk数据包,转发到端口Pk。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (20)

1.一种切片网络中数据流分流的方法,其特征在于,包括:
切片网络控制器确定第一虚拟网络功能VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,所述过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;
所述切片网络控制器根据所述第一VNF模块的类型,确定至少一个目标VNF模块,其中,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
所述切片网络控制器确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台。
2.如权利要求1所述的方法,其特征在于,切片网络控制器确定第一VNF模块为过载VNF模块,包括:
所述切片网络控制器接收数据面网元上报的流量信息,所述流量信息携带流经所述第一VNF模块的数据流流量值和所述第一VNF模块的标识;
所述切片网络控制器确定流经所述第一VNF模块的数据流流量值大于所述流量阈值时,确定所述第一VNF模块的标识对应的第一VNF模块为过载VNF模块,所述数据面网元为基站或网关。
3.如权利要求1所述的方法,其特征在于,切片网络控制器确定第一VNF模块为过载VNF模块,包括:
所述切片网络控制器接收数据面网元上报的所述第一VNF模块的标识,并将所述第一VNF模块的标识对应的第一VNF模块作为过载VNF模块。
4.如权利要求1-3任一项所述的方法,其特征在于,所述切片网络控制器根据所述第一VNF模块的类型,确定至少一个目标VNF模块,包括:
所述切片网络控制器将所述第一VNF模块所属的网络切片上与所述第一VNF模块的类型相同且资源使用情况低于所述资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
5.如权利要求1-3任一项所述的方法,其特征在于,所述切片网络控制器根据所述第一VNF模块的类型,确定至少一个目标VNF模块,包括:
所述切片网络控制器利用所述第一VNF模块所属的网络切片上的空闲资源新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值;或者,
所述切片网络控制器将除所述第一VNF模块所属的网络切片外的其他网络切片上的空闲资源转移到所述第一VNF模块所属的网络切片,并在转移资源后所述第一VNF模块所属的网络切片上新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值。
6.如权利要求1-5任一项所述的方法,其特征在于,所述切片网络控制器确定流规则之前,还包括:
当所述流经所述第一VNF模块的数据流的数目为1时,确定每个目标VNF模块对应的目标数据流的流量值与所述流经所述第一VNF模块的数据流的流量值的比例作为分流策略;
所述方法还包括:
所述切片网络控制器将所述分流策略发送至分流VNF模块,使得所述分流VNF模块执行所述分流策略;
所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
7.如权利要求6所述的方法,其特征在于,所述流规则用于指示所述网络转发平台将所述第一VNF模块在所述流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的所述流经第一VNF模块的数据流发往所述分流VNF模块,将从所述分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,将从每个目标VNF模块发出的对应的目标数据流发往所述第一VNF模块在所述流经所述第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
8.如权利要求1-5任一项所述的方法,其特征在于,所述切片网络控制器确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台,包括:
当确定所述流经所述第一VNF模块的数据流的数目大于1时,确定所述至少一个目标VNF模块与至少一个选定数据流的对应关系,所述选定数据流为任一一个流经所述第一VNF模块的数据流,所述选定数据流的数目小于等于所述流经所述第一VNF模块的数据流的数目,所述目标VNF模块的数目小于等于所述选定数据流的数目;
所述切片网络控制器根据所述至少一个目标VNF模块与至少一个选定数据流的对应关系生成采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则发送至网络转发平台。
9.如权利要求8所述的方法,其特征在于,所述流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示所述网络转发平台将所述第一VNF模块在所述第i个选定数据流中对应的原数据流路径中的上一跳VNF模块发出的所述第i个选定数据流发往对应的目标VNF模块,并将所述对应的目标VNF模块发出的所述第i个选定数据流发往所述第一VNF模块在所述第i个选定数据流对应的原数据流路径中的下一跳VNF模块。
10.一种切片网络中数据流分流的方法,其特征在于,包括:
分流VNF模块接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;
其中,所述分流策略至少包括每个目标数据流的流量值与所述流经第一VNF模块的数据流的流量值的比例,所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流;
所述分流VNF模块接收到所述流经第一VNF模块的数据流时,将所述流经第一VNF模块的数据流根据所述分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
所述分流VNF模块将得到的每个目标数据流发送至网络转发平台。
11.一种切片网络中数据流分流的设备,其特征在于,包括:
收发器;
存储器,用于存储指令;和
处理器,与所述存储器和所述收发器分别相连,用于执行所述指令,以在执行所述指令时执行如下步骤:
确定第一虚拟网络功能VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,所述过载VNF模块是指流经自身的数据流的流量值超过流量阈值的VNF模块;
根据所述第一VNF模块的类型,确定至少一个目标VNF模块,其中,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
确定采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则通过所述收发器发送至网络转发平台。
12.如权利要求11所述的设备,其特征在于,所述处理器在执行所述指令时执行如下步骤:确定第一VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,具体包括:
通过所述收发器接收数据面网元上报的流量信息,所述流量信息携带流经所述第一VNF模块的数据流流量值和所述第一VNF模块的标识;
确定流经所述第一VNF模块的数据流流量值大于所述流量阈值时,确定所述第一VNF模块的标识对应的第一VNF模块为过载VNF模块,所述数据面网元为基站或网关。
13.如权利要求11所述的设备,其特征在于,所述处理器在执行所述指令时执行如下步骤:确定第一VNF模块为过载VNF模块和流经所述第一VNF模块的数据流,具体包括:
通过所述收发器接收数据面网元上报的所述第一VNF模块的标识;
将所述第一VNF模块的标识对应的第一VNF模块作为过载VNF模块。
14.如权利要求11-13任一项所述的设备,其特征在于,所述处理器在执行所述指令时执行如下步骤:根据所述第一VNF模块的类型,确定至少一个目标VNF模块,具体包括:
将所述第一VNF模块所属的网络切片上与所述第一VNF模块的类型相同且资源使用情况低于所述资源阈值的至少一个VNF模块作为至少一个目标VNF模块。
15.如权利要求11-13任一项所述的设备,其特征在于,所述处理器在执行所述指令时执行如下步骤:根据所述第一VNF模块的类型,确定至少一个目标VNF模块,具体包括:
利用所述第一VNF模块所属的网络切片上的空闲资源新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值;或者,
将除所述第一VNF模块所属的网络切片外的其他网络切片上的空闲资源转移到所述第一VNF模块所属的网络切片,并在转移资源后所述第一VNF模块所属的网络切片上新建至少一个与所述第一VNF模块的类型相同的VNF模块,作为至少一个目标VNF模块,其中,新建的至少一个VNF模块的资源使用情况低于资源阈值。
16.如权利要求11-15任一项所述的设备,其特征在于,所述处理器在执行所述指令时还执行如下步骤:
在确定流规则之前,当所述流经所述第一VNF模块的数据流的数目为1时,确定每个目标VNF模块对应的目标数据流的流量值与所述流经所述第一VNF模块的数据流的流量值的比例作为分流策略;
通过所述收发器将所述分流策略发送至分流VNF模块,使得所述分流VNF模块执行所述分流策略;
所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流,一个目标VNF模块对应一个目标数据流。
17.如权利要求16所述的设备,其特征在于,所述流规则用于指示所述网络转发平台将所述第一VNF模块在所述流经第一VNF模块的数据流对应的原数据流路径中的上一跳VNF模块发出的所述流经第一VNF模块的数据流发往所述分流VNF模块,将从所述分流VNF模块发出的每个目标数据流分别发往对应的目标VNF模块,将从每个目标VNF模块发出的对应的目标数据流发往所述第一VNF模块在所述流经所述第一VNF模块的数据流对应的原数据流路径中的下一跳VNF模块。
18.如权利要求11-15任一项所述的设备,其特征在于,所述处理器在执行所述指令时还执行如下步骤:
当确定所述流经所述第一VNF模块的数据流的数目大于1时,确定所述至少一个目标VNF模块与至少一个选定数据流的对应关系,所述选定数据流为任一一个流经所述第一VNF模块的数据流,所述选定数据流的数目小于等于所述流经所述第一VNF模块的数据流的数目,所述目标VNF模块的数目小于等于所述选定数据流的数目;
根据所述至少一个目标VNF模块与至少一个选定数据流的对应关系生成采用所述至少一个目标VNF模块分流所述流经所述第一VNF模块的数据流的流规则,并将所述流规则通过所述收发器发送至网络转发平台。
19.如权利要求18所述的设备,其特征在于,所述流规则包括每个选定数据流分别对应的更新流规则,第i个选定数据流对应的更新流规则用于指示所述网络转发平台将所述第一VNF模块在所述第i个选定数据流中对应的原数据流路径中的上一跳VNF模块发出的所述第i个选定数据流发往对应的目标VNF模块,并将所述对应的目标VNF模块发出的所述第i个选定数据流发往所述第一VNF模块在所述第i个选定数据流对应的原数据流路径中的下一跳VNF模块。
20.一种切片网络中数据流分流的设备,其特征在于,包括:
收发器;
存储器,用于存储指令;和
处理器,与所述存储器和所述收发器分别相连,用于执行所述指令,以在执行所述指令时执行如下步骤:
通过所述收发器接收切片网络控制器发送的针对流经第一VNF模块的数据流的分流策略;其中,所述分流策略至少包括每个目标数据流的流量值与所述流经第一VNF模块的数据流的流量值的比例,所述目标数据流是指所述分流VNF将所述流经所述第一VNF模块的数据流根据所述分流策略进行分流处理后得到数据流;
接收到所述流经第一VNF模块的数据流时,将所述流经第一VNF模块的数据流根据所述分流策略进行分流处理得到每个目标VNF模块对应的目标数据流,一个目标VNF模块对应一个目标数据流,所述目标VNF模块是指与所述第一VNF模块的类型相同且资源使用情况低于资源阈值的VNF模块;
通过所述收发器将得到的每个目标数据流发送至网络转发平台。
CN201610338232.7A 2016-05-19 2016-05-19 一种切片网络中数据流分流的方法及设备 Active CN107404441B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610338232.7A CN107404441B (zh) 2016-05-19 2016-05-19 一种切片网络中数据流分流的方法及设备
PCT/CN2017/080606 WO2017198019A1 (zh) 2016-05-19 2017-04-14 一种切片网络中数据流分流的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610338232.7A CN107404441B (zh) 2016-05-19 2016-05-19 一种切片网络中数据流分流的方法及设备

Publications (2)

Publication Number Publication Date
CN107404441A true CN107404441A (zh) 2017-11-28
CN107404441B CN107404441B (zh) 2020-02-14

Family

ID=60324718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610338232.7A Active CN107404441B (zh) 2016-05-19 2016-05-19 一种切片网络中数据流分流的方法及设备

Country Status (2)

Country Link
CN (1) CN107404441B (zh)
WO (1) WO2017198019A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020034839A1 (zh) * 2018-08-15 2020-02-20 中国移动通信有限公司研究院 管理网络切片的方法及系统
CN110868389A (zh) * 2018-08-27 2020-03-06 波音公司 用于上下文感知网络消息过滤的系统和方法
WO2020076140A1 (en) * 2018-10-12 2020-04-16 Samsung Electronics Co., Ltd. System and method for call selection and migration in ng-cu over ngran
CN113411834A (zh) * 2020-03-17 2021-09-17 华为技术有限公司 报文处理方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112840609A (zh) 2018-11-01 2021-05-25 慧与发展有限责任合伙企业 虚拟网络功能对服务中断的响应
DE112018008119T5 (de) 2018-11-01 2021-08-12 Hewlett Packard Enterprise Development Lp Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
CN116528314B (zh) * 2023-07-03 2023-09-01 云镝智慧科技有限公司 一种5g接入网通信方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852857A (zh) * 2014-02-14 2015-08-19 航天信息股份有限公司 基于负载均衡的分布式数据传输方法和系统
CN105516312A (zh) * 2015-12-09 2016-04-20 重庆邮电大学 一种软件定义网络负载均衡装置与方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905523A (zh) * 2013-12-23 2014-07-02 浪潮(北京)电子信息产业有限公司 一种基于sdn的云计算网络虚拟化实现方法及系统
CN104980361B (zh) * 2014-04-01 2018-09-21 华为技术有限公司 一种负载均衡方法、装置及系统
EP2955631B1 (en) * 2014-06-09 2019-05-01 Nokia Solutions and Networks Oy Controlling of virtualized network functions for usage in communication network
CN105577561A (zh) * 2014-10-15 2016-05-11 中兴通讯股份有限公司 实现虚拟化网元间负载均衡的方法及系统和虚拟化网元

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852857A (zh) * 2014-02-14 2015-08-19 航天信息股份有限公司 基于负载均衡的分布式数据传输方法和系统
CN105516312A (zh) * 2015-12-09 2016-04-20 重庆邮电大学 一种软件定义网络负载均衡装置与方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020034839A1 (zh) * 2018-08-15 2020-02-20 中国移动通信有限公司研究院 管理网络切片的方法及系统
CN110838926A (zh) * 2018-08-15 2020-02-25 中国移动通信有限公司研究院 管理网络切片的方法及系统
CN110868389A (zh) * 2018-08-27 2020-03-06 波音公司 用于上下文感知网络消息过滤的系统和方法
CN110868389B (zh) * 2018-08-27 2023-06-20 波音公司 用于上下文感知网络消息过滤的系统和方法
WO2020076140A1 (en) * 2018-10-12 2020-04-16 Samsung Electronics Co., Ltd. System and method for call selection and migration in ng-cu over ngran
CN112823499A (zh) * 2018-10-12 2021-05-18 三星电子株式会社 用于在ng-cu中通过ngran的呼叫选择和迁移的系统和方法
CN113411834A (zh) * 2020-03-17 2021-09-17 华为技术有限公司 报文处理方法、装置、设备及存储介质
CN113411834B (zh) * 2020-03-17 2023-05-09 华为技术有限公司 报文处理方法、装置、设备及存储介质
US11870690B2 (en) 2020-03-17 2024-01-09 Huawei Technologies Co., Ltd. Packet processing method and apparatus, device, and storage medium

Also Published As

Publication number Publication date
WO2017198019A1 (zh) 2017-11-23
CN107404441B (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN107404441A (zh) 一种切片网络中数据流分流的方法及设备
CN108306751A (zh) 无线网状网络中的回程和前传通信
CN103746911B (zh) 一种sdn网络结构及其通信方法
CN103716208B (zh) 支持大象流的网络管理方法、系统、交换机和网络
CN104283791B (zh) 一种sdn网络中的三层拓扑确定方法和设备
CN104954274B (zh) 生成转发信息的方法、控制器和业务转发实体
US8279753B2 (en) Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes
US11057294B2 (en) Route control method and route setting device
CN110535782A (zh) 一种实现QoS保障的报文处理方法、设备和系统
CN107483337A (zh) 确定路径的方法及其网络设备
CN106921572B (zh) 一种传播QoS策略的方法、装置及系统
CN106713137A (zh) 基于分段路由和sdn技术的vpn方法、装置及系统
CN106921579A (zh) 基于业务功能链sfc的通信方法和装置
CN103746874B (zh) 用于网际协议流性能监控的方法和设备
CN107342906A (zh) 一种大象流的检测方法、设备及系统
CN106817299A (zh) 软件定义网络的表项生成方法和装置以及报文转发方法
US8930505B2 (en) Self-configuring mobile router for transferring data to a plurality of output ports based on location and history and method therefor
CN109842574A (zh) 一种基于可编程网络技术的多宿主网络路由转发方法
CN104335536B (zh) 分组传送系统、控制装置、分组传送方法
CN101699817A (zh) 报文上送cpu的控制方法和装置
CN105917701A (zh) 无线电资源管理器和频谱控制器之间的网络互连
CN107046504A (zh) 用于通信网络中的流量工程的方法和控制器
CN104243319B (zh) 一种邻居发现的方法及装置
CN106105282A (zh) 利用链路缓冲区状态进行流量工程的系统和方法
CN107872385A (zh) 一种sdn网络路由计算与控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant