流表下发方法、系统及控制器技术方案

技术编号:15695338 阅读:387 留言:0更新日期:2017-06-24 10:46
本发明专利技术提出一种流表下发方法、系统及控制器,涉及数据通信领域。其中,本发明专利技术的流表下发方法包括:控制器收到来自交换机的流表申请消息后,识别流表申请消息的类型,判断类型对应的流表模板是否已发送给交换机;若未发送给交换机,则生成对应类型的流表模板,将流表模板发送给交换机;控制器根据预定时间内收到的流表申请消息,生成流表组消息并发送给交换机,流表组消息中包括预定时间内每个流表申请消息对应的流表信息。通过这样的方法,控制器能够根据流表申请生成对应的流表模板并发送给交换机,根据收到的多条流表申请生成流表组消息,实现流表信息的批量下发,极大的减少了消息交互的数量,提升读写效率。

【技术实现步骤摘要】
流表下发方法、系统及控制器
本专利技术涉及数据通信领域,特别是一种流表下发方法、系统及控制器。
技术介绍
SDN(Software-DefinedNetworking,软件定义网络)提出了控制面和转发面分离的技术,控制面通过OpenFlow协议将处理报文时所需流表下发到转发面。OpenFlow流表中有多个条目,每个条目由Match和Action两部分组成。Match是匹配特征信息,Action是报文执行动作。当某个报文进入转发面,转发面的处理器提取报文的特征信息与流表中的Match项匹配,若匹配则执行对应的动作。现有技术中,OpenFlow流表读写的过程如图1所示,采用FlowMod报文进行流表更新,一个FlowMod消息包含一条目的Match信息和Action信息,信息以TLV形式表达。读写一个条目需要收发一个openflow消息,当出现大量条目同时更新的情况时,控制面与转发面需要交互非常多次,流表下发速率低,造成报文处理延迟比较大,影响业务体验。
技术实现思路
本专利技术的一个目的在于提高流表下发效率,提升业务体验。根据本专利技术的一个方面,提出一种流表下发方法,包括:控制器收到来自交换机的流表申请消息后,识别流表申请消息的类型,并判断类型对应的流表模板是否已发送给交换机;若类型对应的流表模板未发送给交换机,则生成对应类型的流表模板,将流表模板发送给交换机;控制器根据预定时间内收到的流表申请消息,基于对应的流表模板生成流表组消息并发送给交换机,其中,流表组消息中包括预定时间内每个流表申请消息对应的流表信息。进一步地,还包括:若流表申请消息的类型对应的流表模板已发送给交换机,则执行根据预定时间内收到流表申请消息,基于对应的流表模板生成流表组消息并发送给交换机的步骤。进一步地,预定时间内收到的流表申请消息为:控制器收到首个流表申请消息后开始计时达到预定时间的过程中收到的流表申请消息,其中,当控制器生成流表组消息后,将收到的下一个流表申请消息作为首个流表申请消息。进一步地,流表组消息包括类型标识,用于标识流表组消息中每个流表信息的类型。通过这样的方法,控制器能够根据流表申请生成对应的流表模板并发送给交换机,根据收到的多条流表申请生成流表组消息,实现流表信息的批量下发,极大的减少了消息交互的数量,提升读写效率。根据本专利技术的另一个方面,提出一种控制器,包括:消息获取模块,用于接收来自交换机的流表申请消息;判断模块,用于识别流表申请消息的类型,并判断类型对应的流表模板是否已发送给交换机;模板生成模块,用于在流表申请消息的类型对应的流表模板未发送给交换机的情况下,生成对应类型的流表模板,将流表模板发送给交换机;流表组生成模块,用于根据预定时间内收到的流表申请消息,基于对应的流表模板生成流表组消息并发送给交换机,其中,流表组消息中包括预定时间内每个流表申请消息对应的流表信息。进一步地,若判断模块确定流表申请消息的类型对应的流表模板已发送给交换机,则激活流表组生成模块执行根据预定时间内收到流表申请消息,基于对应的流表模板生成流表组消息并发送给交换机的步骤。进一步地,预定时间内收到的流表申请消息为:控制器收到首个流表申请消息后开始计时达到预定时间的过程中收到的流表申请消息,其中,当控制器生成流表组消息并发送后,将收到的下一个流表申请消息作为首个流表申请消息。进一步地,流表组消息包括类型标识,用于标识流表组消息中每个流表信息的类型。这样的控制器能够根据流表申请生成对应的流表模板并发送给交换机,根据收到的多条流表申请生成流表组消息,实现流表信息的批量下发,极大的减少了消息交互的数量,提升读写效率。根据本专利技术的再一个方面,提出一种流表下发系统,包括:上文中提到的任一种控制器和交换机,其中,交换机,用于向控制器发送流表申请请求;从控制器获取流表模板和流表组消息;根据流表模板解析流表组消息。进一步地,交换机根据流表模板解析流表组消息具体包括:交换机根据流表组消息的类型标识确定流表组消息中的流表信息对应的流表模板;根据流表组消息中的流表信息对应的流表模板解析流表组消息。这样的流表下发系统,其控制器能够根据流表申请生成对应的流表模板并发送给交换机,根据收到的多条流表申请生成流表组消息,实现流表信息的批量下发,极大的减少了消息交互的数量,提升读写效率;交换机能够根据对应的流表模板解析流表组消息,从而实现批量获取流表信息。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为现有技术中流表信息下发的示意图。图2为本专利技术的流表下发方法的一个实施例的流程图。图3为本专利技术的流表下发方法的另一个实施例的流程图。图4为本专利技术的流表下发方法的再一个实施例的信令交互图。图5为本专利技术的控制器的一个实施例的示意图。图6为本专利技术的流表下发系统的一个实施例的示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术的流表下发方法的一个实施例的流程图如图2所示。在步骤201中,控制器收到来自交换机的流表申请消息,并识别流表申请消息的类型。在步骤202中,控制器判断该类型对应的流表模板是否已发送给交换机。若已经发送给交换机,则执行步骤204;若未发送给提交流表申请消息的交换机,则执行步骤203。在步骤203中,控制器生成与流表申请消息对应类型的流表模板,并将流表模板发送给交换机,继而执行步骤204。在步骤204中,控制器获取预定时间内收到的流表申请对应的刘表信息,并将这些流表信息基于流表模板生成流表组消息,将流表组消息发送给交换机。流表组消息中包括预定时间内流表申请的所有流表信息。在一个实施例中,控制器收到首个流表申请消息后开始计时直到预定时间,控制器生成流表组消息后,将收到的下一个流表申请消息作为首个流表申请消息。通过这样的方法,控制器能够根据流表申请生成对应的流表模板并发送给交换机,根据收到的多条流表申请生成流表组消息,实现流表信息的批量下发,极大的减少了消息交互的数量,提升读写效率。在一个实施例中,流表模板(FlowModTemp)消息明确流表的Match部分是哪些类型的数据、Action部分是哪些类型的数据;如路由表项,Match部分都是IP地址,Action部分都是出接口和下一跳信息。流表组消息(FlowModBundle)中包含流表的各个字段值,且可携带多条相同ModTemp的流表,且无需Type与Length信息。通过这样的方法,能够采用流表模板定义流表组消息的类型、格式,用于解析流表组消息。本专利技术的流表下发方法的另一个实施例的流程图如图3所示。在步骤301中,当控制器收到流表申请消息后开始计时。该流表申请消息可以是控制器生成流表组消息后收到的首个流表申请消息。在步骤302中,控制器根据流表申请消息确定流表信息,并将流表信息插入流表组消息中。在步骤303中,控制器判断是否达到预定时间。如果未达到预定时间,则执行步骤304;若达到预定时间,则执行步骤305。在步骤304中,当控制器收到了流表申请时,将对应的流表信息插入流表组消息中。继而返回步骤303,持续监测是否到达预定时间。在步骤305中,本文档来自技高网...
流表下发方法、系统及控制器

【技术保护点】
一种流表下发方法,其特征在于,包括:控制器收到来自交换机的流表申请消息后,识别所述流表申请消息的类型,并判断所述类型对应的流表模板是否已发送给所述交换机;若所述类型对应的流表模板未发送给所述交换机,则生成对应类型的流表模板,将所述流表模板发送给所述交换机;所述控制器根据预定时间内收到的流表申请消息,基于对应的流表模板生成流表组消息并发送给所述交换机,其中,所述流表组消息中包括所述预定时间内每个流表申请消息对应的流表信息。

【技术特征摘要】
1.一种流表下发方法,其特征在于,包括:控制器收到来自交换机的流表申请消息后,识别所述流表申请消息的类型,并判断所述类型对应的流表模板是否已发送给所述交换机;若所述类型对应的流表模板未发送给所述交换机,则生成对应类型的流表模板,将所述流表模板发送给所述交换机;所述控制器根据预定时间内收到的流表申请消息,基于对应的流表模板生成流表组消息并发送给所述交换机,其中,所述流表组消息中包括所述预定时间内每个流表申请消息对应的流表信息。2.根据权利要求1所述的方法,其特征在于,还包括:若所述流表申请消息的类型对应的流表模板已发送给所述交换机,则执行根据预定时间内收到流表申请消息,基于对应的流表模板生成流表组消息并发送给所述交换机的步骤。3.根据权利要求1所述的方法,其特征在于,所述预定时间内收到的流表申请消息为:控制器收到首个流表申请消息后开始计时达到预定时间的过程中收到的流表申请消息,其中,当所述控制器生成流表组消息后,将收到的下一个流表申请消息作为首个流表申请消息。4.根据权利要求1所述的方法,其特征在于,所述流表组消息包括类型标识,用于标识所述流表组消息中每个流表信息的类型。5.一种控制器,其特征在于,包括:消息获取模块,用于接收来自交换机的流表申请消息;判断模块,用于识别所述流表申请消息的类型,并判断所述类型对应的流表模板是否已发送给所述交换机;模板生成模块,用于在所述流表申请消息的类型对应的流表模板未发送给所述交换机的情况下,生成对...

【专利技术属性】
技术研发人员:陈华南朱永庆阮科邹洁梁洁
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1