一种sdn中用户事件的上报方法及网络系统的制作方法【
技术领域:
】[0001]本发明涉及通信网络
技术领域:
,尤其涉及一种SDN中用户事件的上报方法及网络系统。【
背景技术:
】[0002]随着软件定义网络SDN技术的发展,业界普遍采用Openflow协议作为SDN中的控制器的南向接口,用以控制SDN中的交换机工作。OpenFlow是SDN架构中目前最为成熟的接口协议,负责控制层Controller与基础设施层Switch设备之间的交互。OpenFlow协议的核心是流表(Flowtable),其生成、维护、下发由Controller实现。在目前标准与实现中,SDN中的交换机只能把未匹配数据包、流表项删除、端口状态变化与错误消息上报给控制器,而无法主动上报其他信息。考虑到未来基于OpenFlow的SDN网络在进行智能管道控制时,控制器需实时监控用户业务信息(如业务流量),并及时主动上报,以实现达量降速、在线计费等功能。当前对于这个问题尚无很好的解决方案,只能通过SDN控制器定时向SDN发送查询请求,获取相关信息。现有方案都无法较好的解决该问题。【
发明内容】[0003]有鉴于此,本发明要解决的一个技术问题是提供一种SDN中用户事件的上报方法,根据新增的事件检测域实现用户业务信息的实时上报。[0004]一种软件定义网络SDN中用户事件的上报方法,包括:0penFlow控制器生成基于OpenFlow协议的流表,并将所述流表下发至OpenFlow交换机;所述流表包括事件检测域;所述OpenFlow交换机基于所述流表进行流量转发并根据所述事件检测域携带的信息向所述OpenFlow控制器上报事件。[0005]根据本发明的一个实施例,进一步的,所述OpenFlow交换机解析所述流表并获取所述事件检测域携带的事件参数;其中,所述事件参数包括:检测事件类型、触发事件的门限;所述OpenFlow交换机根据所述事件参数实时检测是否触发向OpenFlow控制器上报事件。[0006]根据本发明的一个实施例,进一步的,当接收到用户终端发送的业务请求时,所述OpenFlow控制器对所述用户终端设置流量策略;所述OpenFlow控制器根据所述流量策略生成所述流表,所述流表包括:匹配域、动作act1n;所述匹配域包括:目的IP地址、目的IP端口;所述OpenFlow控制器根据所述流量策略生成针对所述用户终端的事件检测域,并在所述流表中插入所述事件检测域;所述事件域包括:流量报告事件,流量门限。[0007]根据本发明的一个实施例,进一步的,所述OpenFlow交换机按照所述流表进行数据包的转发并统计所述用户终端的流量,实时检测所述用户终端的流量是否达到所述流量门限;当判断所述用户的流量达到流量门限时,所述OpenFlow交换机向所述OpenFlow控制器发送流量报告消息,并仍按照所述流表进行数据包的转发;所述流量报告消息包含:流量超出事件、用户终端的流量。[0008]根据本发明的一个实施例,进一步的,当所述OpenFlow控制器接收到所述流量报告消息时,根据所述流量策略降低所述用户终端的带宽,并生成所述用户终端的新的流表;所述新的流表中的匹配域包括:新的目的IP地址、新的目的IP端口;所述OpenFlow控制器将所述新的流表发送到所述OpenFlow交换机;所述OpenFlow交换机按照所述新的流表进行数据包的转发。[0009]本发明要解决的一个技术问题是提供一种网络系统,根据新增的事件检测域实现用户业务信息的实时上报。[0010]一种网络系统,包括:0penFlow控制器和OpenFlow交换机;所述OpenFlow控制器包括:流表生成单元,用于生成基于OpenFlow协议的流表,所述流表包括事件检测域;流表下发单元,用于将所述流表下发到所述OpenFlow交换机;所述OpenFlow交换机包括:数据转发单元,用于基于所述流表进行流量转发;事件上报单元,用于根据所述事件检测域携带的信息向所述OpenFlow控制器上报事件。[0011]根据本发明的一个实施例,进一步的,所述OpenFlow交换机还包括:流表解析单元,用于解析所述流表并获取所述事件检测域携带的事件参数;所述事件参数包括:检测事件类型、触发事件的门限;其中,所述事件上报单元根据所述事件参数实时检测是否触发向OpenFlow控制器上报事件。[0012]根据本发明的一个实施例,进一步的,所述OpenFlow控制器还包括:策略生成单元,用于当接收到用户终端发送的业务请求时,对所述用户终端设置流量策略;所述流表生成单元,还用于根据所述流量策略生成所述流表,所述流表包括:匹配域、动作act1n;所述匹配域包括:目的IP地址、目的IP端口;根据所述流量策略生成针对所述用户终端的事件检测域,并在所述流表中插入所述事件检测域;所述事件域包括:流量报告事件,流量门限。[0013]根据本发明的一个实施例,进一步的,所述数据转发单元,还用于按照所述流表进行数据包的转发并统计所述用户终端的流量;所述事件上报单元,还用于实时检测所述用户终端的流量是否达到所述流量门限;当判断所述用户的流量达到流量门限时,所述事件上报单元向所述OpenFlow控制器发送流量报告消息,所述流量报告消息包含:流量超出事件、用户终端的流量;所述述数据转发单元仍按照所述流表进行数据包的转发。[0014]根据本发明的一个实施例,进一步的,所述流表生成单元,还用于当接收到所述流量报告消息时,根据所述流量策略降低所述用户终端的带宽,并生成所述用户的新的流表;所述新的流表中匹配域包括:新的目的IP地址、新的目的IP端口;所述流表下发单元将所述新的流表发送到所述OpenFlow交换机;所述数据转发单元按照所述新的流表进行数据包的转发。[0015]本发明的SDN中用户事件的上报方法及网络系统,扩展了OpenFlow协议,增加事件检测域,根据新增的事件检测域实现用户业务信息的实时上报,可在基于OpenFlow协议的软件定义网络中实现用户业务信息的实时上报功能。【附图说明】[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0017]图1为根据本发明的SDN中用户事件的上报方法的一个实施例的流程图;[0018]图2为根据本发明的SDN中用户事件的上报方法的另一个实施例的流程图;[0019]图3为根据本发明的网络系统的一个实施例的示意图。【具体实施方式】[0020]下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。[0021]图1为根据本发明的SDN中用户事件的上报方法的一个实施例的流程图,如图1所示:[0022]步骤101,OpenFlow控制器生成基于OpenFlow协议的流表,并将流表下发至OpenFlow交换机,流表包括事件检测域;[0023]步骤102,OpenFlow交换机基于流表进行流量转发并根据事件检测域携带的信息向OpenFlow控制器上报事件。[0024]OpenFlow协议将网络设备的控制功能与转发功能进行分离,进而将控制功能全部集中到远程的控制器上完成,数据转发的依据是流表。流表可被视作是OpenFlow对网络设备的数据转发功能的一种抽象。OpenFlow控制器和OpenFlow交换机为在SDN中基于OpenFlow协议的控制器和交换机。[0025]本发明的SDN中用户事件的上报方法,针对当前的OpenFlow交换机不支持实时上报用户业务信息,无法实现达量降速、在线计费等功能的问题,提出了扩展OpenFlow协议,增加事件检测域,OpenFlow交换机根据事件检测域实现用户业务信息的实时上报,可在基于OpenFlow的软件定义网络中实现用户业务信息的实时上报功能。[0026]在一个实施例中,事件检测域包含需要OpenFlow交换机检测的事件及相关参数。OpenFlow交换机解析流表并获取事件检测域携带的事件参数;事件参数包括:检测事件类型、触发事件的门限。事件检测域可以包括多个参数,例如,检测事件类型、触发事件的门限等。检测事件类型可以有达量降速、在线计费等类型。OpenFlow交换机根据事件参数实时检测是否触发向OpenFlow控制器上报事件。[0027]在一个实施例中,当接收到用户终端发送的业务请求时,OpenFlow控制器对用户终端设置流量达量降速策略。OpenFlow控制器对用户终端设置的策略可以有多种,例如达量降速、实时计费等策略。[0028]OpenFlow设备中使用的流表的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。OpenFlow流表的每个流表项都由3部分组成:用于数据包匹配的匹配域(MatchFields),用于统计匹配数据包个数的计数(Counters),用于展示匹配的数据包如何处理的动作(Act1ns)。[0029]OpenFlow控制器根据流量达量降速策略生成流表,流表包括:匹配域、动作act1n;匹配域包括:目的IP地址、目的IP端口;0penFlow控制器根据流量达量降速策略生成针对用户终端的事件检测域,并在流表中插入新增的事件检测域。事件检测域包括:流量报告事件,流量门限。[0030]在一个实施例中,OpenFlow交换机按照流表进行数据包的转发并统计用户终端的流量,实时检测用户终端的流量是否达到流量门限。当判断用户的流量达到流量门限时,OpenFlow交换机向OpenFlow控制器发送流量报告消息,并仍按照流表进行数据包的转发;流量报告消息包含:流量超出事件、用户终端的流量。[0031]上述实施例中的用户事件的上报方法,OpenFlow控制器在下发流表时,同时下发事件检测域,其中包含需要交换机检测的事件与相关参数;0penFlOW交换机在按流表进行数据转发时,还将根据事件检测域,比对是否会触发事件上报,触发事件上报一方面仍将正常按流表进行包转发,同时还会立即把该事件上报OpenFlow控制器。OpenFlow当前第1页1 2 
控制器收到事件上报后,按相关策略可以下发相应的流表策略。
[0032]在一个实施例中,当OpenFlow控制器接收到流量报告消息时,根据流量达量降速策略降低用户终端的带宽,并生成用户终端的新的流表;新的流表中的匹配域包括:新的目的IP地址、新的目的IP端口。OpenFlow控制器将新的流表发送到OpenFlow交换机。OpenFlow交换机按照新的流表进行数据包的转发。
[0033]图2为根据本发明的SDN中用户事件的上报方法的另一个实施例的流程图;如图2所示:
[0034]步骤1,用户接入SDN网络,网络侧对该用户启动了达量降速策略。
[0035]步骤2, OpenFlow控制器针对该用户接入向OpenFlow交换机下发流表,其中携带事件检测域,事件检测域中包含了流量报告事件与流量门限。流表中还包含匹配域,包括:目的IP地址、目的IP端口,act1n包括:转发至某端口。
[0036]步骤3, OpenFlow交换机返回消息确认。
[0037]步骤4, OpenFlow控制器下发携带事件检测域,OpenFlow交换机安装流表进行包转发,同时在统计流量后与流量门限做比较,检测统计的流量是否达到流量门限。
[0038]步骤5,OpenFlow交换机检测到统计流量达到流量门限后,向控制器上报该事件,同时仍然按流表进行正常包转发。OpenFlow交换机依据事件检测域判断需进行事件上报时,一方面交换机继续进行包转发,另一方面同时向控制器发送事件上报,其中包含检测到的事件标识及相关参数。
[0039]步骤6, OpenFlow控制器返回确认消息。
[0040]步骤7,OpenFlow控制器收到该事件后,根据相关策略降低用户的带宽,生成新的流表。本步骤为可选。
[0041]步骤8, OpenFlow控制器下发新的流表。
[0042]步骤9, OpenFlow交换机返回消息确认,后续按照新流表进行该用户的包转发。
[0043]如图3所示,本发明提供一种网络系统,包括:0penFlow控制器3和OpenFlow交换机4。OpenFlow控制器3包括:流表生成单元31、流表下发单元32和策略生成单元33。OpenFlow交换机4包括:数据转发单元41、事件上报单元42和流表解析单元43。
[0044]流表生成单元31生成基于OpenFlow协议的流表,流表包括事件检测域。流表下发单元32将流表下发到OpenFlow交换机。数据转发单元41基于流表进行流量转发。事件上报单元42根据事件检测域携带的信息向OpenFlow控制器上报事件。
[0045]在一个实施例中,流表解析单元43解析流表并获取事件检测域携带的事件参数。事件参数包括:检测事件类型、触发事件的门限;事件上报单元42根据事件参数实时检测是否触发向OpenFlow控制器上报事件。
[0046]在一个实施例中,当接收到用户终端发送的业务请求时,策略生成单元33对用户终端设置流量达量降速策略。流表生成单元31根据流量达量降速策略生成流表,流表包括:匹配域、动作act1n。匹配域包括:目的IP地址、目的IP端口。流表生成单元31根据流量达量降速策略生成针对用户终端的事件检测域,并在流表中插入事件检测域;事件域包括:流量报告事件,流量门限。
[0047]在一个实施例中,数据转发单元41按照流表进行数据包的转发并统计用户终端的流量。事件上报单元42实时检测用户终端的流量是否达到流量门限。当判断用户的流量达到流量门限时,事件上报单元42向OpenFlow控制器发送流量报告消息,流量报告消息包含:流量超出事件、用户终端的流量;数据转发单元41仍按照流表进行数据包的转发。
[0048]在一个实施例中,当接收到流量报告消息时,流表生成单元31根据流量达量降速策略降低用户终端的带宽,并生成用户的新的流表。新的流表中匹配域包括:新的目的IP地址、新的目的IP端口。流表下发单元32将新的流表发送到OpenFlow交换机。数据转发单元41按照新的流表进行数据包的转发。
[0049]上述实施例提供的SDN中用户事件的上报方法及网络系统,针对当前的OpenFlow交换机不支持实时上报用户业务信息,无法实现达量降速、在线计费等功能的问题,提出了扩展OpenFlow协议,增加事件检测域,OpenFlow交换机根据事件检测域实现用户业务信息的实时上报。该方案可在基于OpenFlow的软件定义网络中实现用户业务信息的实时上报功能。
[0050]可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
[0051]本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
【主权项】
1.一种软件定义网络SDN中用户事件的上报方法,其特征在于,包括: OpenFlow控制器生成基于OpenFlow协议的流表,并将所述流表下发至OpenFlow交换机;所述流表包括事件检测域; 所述OpenFlow交换机基于所述流表进行流量转发并根据所述事件检测域携带的信息向所述OpenFlow控制器上报事件。2.如权利要求1所述的方法,其特征在于: 所述OpenFlow交换机解析所述流表并获取所述事件检测域携带的事件参数;其中,所述事件参数包括:检测事件类型、触发事件的门限; 所述OpenFlow交换机根据所述事件参数实时检测是否触发向OpenFlow控制器上报事件。3.如权利要求2所述的方法,其特征在于: 当接收到用户终端发送的业务请求时,所述OpenFlow控制器对所述用户终端设置流量策略; 所述OpenFlow控制器根据所述流量策略生成所述流表,所述流表包括:匹配域、动作act1n ;所述匹配域包括:目的IP地址、目的IP端口; 所述OpenFlow控制器根据所述流量策略生成针对所述用户终端的事件检测域,并在所述流表中插入所述事件检测域;所述事件域包括:流量报告事件,流量门限。4.如权利要求3所述的方法,其特征在于: 所述OpenFlow交换机按照所述流表进行数据包的转发并统计所述用户终端的流量,实时检测所述用户终端的流量是否达到所述流量门限; 当判断所述用户的流量达到流量门限时,所述OpenFlow交换机向所述OpenFlow控制器发送流量报告消息,并仍按照所述流表进行数据包的转发;所述流量报告消息包含:流量超出事件、用户终端的流量。5.如权利要求4所述的方法,其特征在于: 当所述OpenFlow控制器接收到所述流量报告消息时,根据所述流量策略降低所述用户终端的带宽,并生成所述用户终端的新的流表;所述新的流表中的匹配域包括:新的目的IP地址、新的目的IP端口; 所述OpenFlow控制器将所述新的流表发送到所述OpenFlow交换机; 所述OpenFlow交换机按照所述新的流表进行数据包的转发。6.—种网络系统,其特征在于,包括: OpenFlow控制器和OpenFlow交换机; 所述OpenFlow控制器包括: 流表生成单元,用于生成基于OpenFlow协议的流表,所述流表包括事件检测域; 流表下发单元,用于将所述流表下发到所述OpenFlow交换机; 所述OpenFlow交换机包括: 数据转发单元,用于基于所述流表进行流量转发; 事件上报单元,用于根据所述事件检测域携带的信息向所述OpenFlow控制器上报事件。7.如权利要求6所述的网络系统,其特征在于: 所述OpenFlow交换机还包括:流表解析单元,用于解析所述流表并获取所述事件检测域携带的事件参数;所述事件参数包括:检测事件类型、触发事件的门限; 其中,所述事件上报单元根据所述事件参数实时检测是否触发向OpenFlow控制器上报事件。8.如权利要求7所述的网络系统,其特征在于: 所述OpenFlow控制器还包括:策略生成单元,用于当接收到用户终端发送的业务请求时,对所述用户终端设置流量策略; 所述流表生成单元,还用于根据所述流量策略生成所述流表,所述流表包括:匹配域、动作act1n ;所述匹配域包括:目的IP地址、目的IP端口 ;根据所述流量策略生成针对所述用户终端的事件检测域,并在所述流表中插入所述事件检测域;所述事件域包括:流量报告事件,流量门限。9.如权利要求8所述的网络系统,其特征在于: 所述数据转发单元,还用于按照所述流表进行数据包的转发并统计所述用户终端的流量; 所述事件上报单元,还用于实时检测所述用户终端的流量是否达到所述流量门限;当判断所述用户的流量达到流量门限时,所述事件上报单元向所述OpenFlow控制器发送流量报告消息,所述流量报告消息包含:流量超出事件、用户终端的流量;所述述数据转发单元仍按照所述流表进行数据包的转发。10.如权利要求9所述的网络系统,其特征在于: 所述流表生成单元,还用于当接收到所述流量报告消息时,根据所述流量策略降低所述用户终端的带宽,并生成所述用户的新的流表;所述新的流表中匹配域包括:新的目的IP地址、新的目的IP端口; 所述流表下发单元将所述新的流表发送到所述OpenFlow交换机; 所述数据转发单元按照所述新的流表进行数据包的转发。
【专利摘要】本发明公开了一种软件定义网络SDN中用户事件的上报方法及网络系统,包括:OpenFlow控制器生成基于OpenFlow协议的流表,并将流表下发至OpenFlow交换机;流表包括事件检测域;OpenFlow交换机基于流表进行流量转发并根据事件检测域携带的信息向OpenFlow控制器上报事件。本发明的SDN中用户事件的上报方法及网络系统,扩展了OpenFlow协议,增加事件检测域,根据新增的事件检测域实现用户业务信息的实时上报,可在基于OpenFlow协议的软件定义网络中实现用户业务信息的实时上报功能。
【IPC分类】H04L12/741, H04L12/751
【公开号】CN105490944
【申请号】CN201410482441
【发明人】谢沛荣, 陈洁, 王庆扬
【申请人】中国电信股份有限公司
【公开日】2016年4月13日
【申请日】2014年9月19日