CN104579722A - 流统计能力的协商方法及装置 - Google Patents
流统计能力的协商方法及装置 Download PDFInfo
- Publication number
- CN104579722A CN104579722A CN201310474148.4A CN201310474148A CN104579722A CN 104579722 A CN104579722 A CN 104579722A CN 201310474148 A CN201310474148 A CN 201310474148A CN 104579722 A CN104579722 A CN 104579722A
- Authority
- CN
- China
- Prior art keywords
- stream
- switch
- message
- parameter
- entry
- 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.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种流统计能力的协商方法及装置。其中,该方法包括:OF控制器向OF交换机发送针对流表的流条目修改消息;在OF交换机满足流条目修改消息的修改条件的情况下,OF控制器指示OF交换机根据修改条件添加或修改相应的流条目,并通过所述流条目修改消息中的标记指示OF交换机是否执行流条目的流统计功能;对于执行流统计功能的流条目,OF控制器向OF交换机发送流统计请求消息以查询流条目的流量统计信息。通过本发明,可以增强硬件或芯片适配OpenFlow流表管道转发的灵活性。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种流统计能力的协商方法及装置。
背景技术
随着当网络暴露出越来越多的弊病,人们对网络性能的需求变得越来越高,研究人员不得不把很多复杂功能加入到路由器的体系结构当中,例如OSPF(Open Shortest Path First,开放式最短路径优先)(一种内部网关协议)、BGP(Bridge Gateway Protocol,边界网关协议)、组播、区分服务、流量工程、NAT(Network Address Translation,网络地址转换)、防火墙、MPLS(Multi-Protocol Label Switching,多协议标记交换)等等。这就使得路由器等交换设备变得越来越臃肿而且性能提升的空间越来越小。
然而与网络领域的困境截然不同的是,计算机领域实现了日新月异的发展。仔细回顾计算机领域的发展,不难发现其关键在于计算机领域找到了一种简单可用的硬件底层(x86指令集)。由于有了这样一种公用的硬件底层,所以在软件方面,不论是应用程序还是操作***都取得了飞速的发展。现在很多主张重新设计计算机网络体系结构的人士认为:网络可以复制计算机领域的成功来解决现在网络所遇到的所有问题。在这种思想的指导下,将来的网络必将是这样的:底层的数据通路(交换机、路由器)是“哑的、简单的、最小的”,并定义一个对外开放的关于流表的公用的API(Application Programming Interface,应用程序编程接口),同时采用控制器来控制整个网络。未来的研究人员就可以在控制器上自由地调用底层的API来编程,从而实现网络的创新。
基于上述理念,出现了SDN(Software Defined Network,软件定义网络),其最初是由美国斯坦福大学Clean slate研究组提出的一种新型网络创新架构(请参考图1,图1是根据相关技术的OpenFlow协议应用架构图)。目前,其核心技术OpenFlow协议可以通过将网络设备控制面(包含OpenFlow Controller)与数据面(包含OpenFlow Logical Switch)分离开来,从而实现了网络流量的灵活控制,为网络及应用的创新提供了良好的平台。
OpenFlow协议是用来描述控制器和交换机之间交互所用信息的标准,以及控制器和交换机的接口标准。协议的核心部分是用于OpenFlow协议信息结构的集合。OpenFlow流表(请参考图3)或经过编排的多个流表级联而成管道(请参考图2)用来配置交换机转发路径,图3所示的报文处理流程包括:(1)找到最高优先级的匹配流条目;(2)应用指令:修改报文或更新动作集;更新元数据;(3)将匹配数据和动作集发送给下一个流表。图3中的流表条目由匹配字段、计数器和指令集等如下几个字段构成:
Match Fields | Priority | Counters | Instructions | Timeouts | Cookie |
其中,Match Fields是报文匹配的输入关键字,用于匹配一条流表条目;计数器是用于管理用的各种统计信息;指令集(Instructions)是指对报文的操作指令,包括丢弃、转发报文到指定端口、设置报文头部字段值、增加封装标签等。动作集(Action Set)和每个报文相关联,它在管道的多个流表之间传递并被各流表的指令所修改,直到管道处理结束,形成最终的动作集。
在相关技术中,OF交换机以交换机为粒度反馈流表的流统计能力,即要么OF交换机上所有的流表都支持流统计能力,要么都不支持。这种针对OF交换机所有流表的流统计能力不适应差异化实现的OF交换机,例如OF交换机硬件决定管道流水线的某个表不支持流统计,而且不是所有的流统计都有业务必要性(例如传统转发的路由表上并不做基于路由的流统计)。如果都支持,将过大消耗OF交换机的计数器资源,例如,通常在OF交换机上,尤其是硬件方式实现的OF交换机上,出于成本等因素的考虑,计数器资源往往比较有限。
若将这种流统计能力进一步细化到较细粒度,如流表粒度,则可根据OF交换机的硬件特性、或控制器对OF交换机业务转发表集合的编排,允许OF交换机上部分流表不支持流统计能力,部分支持,这样能增强硬件或芯片适配OpenFlow流表管道转发的灵活性。而且,进一步可以允许基于流条目粒度选择支持或不支持流统计能进一步增加业务控制器的灵活性,节省OF交换机上计数器资源。
针对相关技术中OF交换机上的流统计功能控制粒度过粗,不能灵活适应转发设备的资源稀缺或硬件实现的限制的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种流统计能力的协商方法及装置,以至少解决OF交换机上的流统计功能控制粒度过粗,不能灵活适应转发设备的资源稀缺或硬件实现的限制的问题。
根据本发明的一个方面,提供了一种流统计能力的协商方法,应用于OF控制器侧,包括:OF控制器向OF交换机发送针对流表的流条目修改消息;在OF交换机满足流条目修改消息的修改条件的情况下,OF控制器指示OF交换机根据修改条件添加或修改相应的流条目,并通过流条目修改消息中的标记指示OF交换机是否执行流条目的流统计功能;对于执行流统计功能的流条目,OF控制器向OF交换机发送流统计请求消息以查询流条目的流量统计信息。
优选地,在OF控制器向OF交换机发送针对流表的流条目修改消息之前,包括:OF控制器接收OF交换机上报的流统计能力的参数,其中,参数是由OF交换机在接收到OF交换器发送的流表特征请求消息的情况下,对流表特征请求消息进行具体分析后向OF控制器发送的。
优选地,OF交换机对流表特征请求消息进行的具体分析包括:如果流表特征请求消息不包含具体的流表特性请求,OF交换机决定向OF控制器发送携带有流统计能力的参数的流表特性应答消息,其中,流统计能力的参数用于指示流表是否支持流统计功能;如果流表特征请求消息包含具体的流表特性请求和相应特性参数,OF交换机在确定支持对相应特性参数进行修改情况下,决定按照具体的流表特性请求修改相应特性参数并向OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,相应特性参数包括流统计能力的参数。
优选地,在OF控制器向OF交换机发送流统计请求消息以统计流条目的流量之后,包括:OF控制器接收OF交换机发送的流统计应答消息。
优选地,该方法还包括:在OF交换机无法满足流条目修改消息的修改条件的情况下,OF控制器接收OF交换机发送的第一错误消息;在OF交换机接收到携带流统计能力参数修改要求的流表特性请求消息,并无法支持对流统计能力参数进行修改的情况下,OF控制器接收OF交换机发送的携带有错误原因的第二错误消息;在OF交换机接收到流统计请求消息,并确定不对流条目执行流统计功能或流条目所在的流表不支持流统计功能的情况下,OF控制器接收OF交换机发送的第三错误消息。
优选地,流条目修改消息的内容包括:流表标识、流表条目以及流表条目的流统计请求标记,其中,流统计请求标记用于指示流表条目是否需要进行流统计;流统计请求消息用于请求OF交换机统计匹配于流条目的报文字节数和/或报文数,流统计请求消息包括:流表号和流条目检索键值。
根据本发明的另一个方面,提供了一种流统计能力的协商方法,应用于OF交换机侧,包括:OF交换机接收OF控制器发送的针对流表的流条目修改消息;在满足流条目修改消息的修改条件的情况下,OF交换机根据修改条件添加或修改相应的流条目,并根据流条目修改消息中的标记指示确定是否执行流条目的流统计功能;OF交换机接收OF控制器发送的流统计请求消息,回复流统计应答消息,其中,流统计应答消息携带支持流统计功能的流条目的流量统计信息。
优选地,在接收OF控制器发送的针对流表的流条目修改消息之前,包括:OF交换机接收OF交换器发送的流表特征请求消息,并对流表特征请求消息进行具体分析后,向OF控制器上报流统计能力的参数。
优选地,OF交换机对流表特征请求消息进行的具体分析包括:如果流表特征请求消息不包含具体的流表特性请求,OF交换机向OF控制器发送携带有流统计能力的参数的流表特性应答消息,其中,流统计能力的参数用于指示流表是否支持流统计功能;如果流表特征请求消息包含具体的流表特性请求和相应特性参数,OF交换机在确定支持对相应特性参数进行修改情况下,按照具体的流表特性请求修改相应特性参数,并向OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,相应特性参数包括流统计能力的参数。
根据本发明的又一方面,提供了一种流统计能力的协商装置,位于OF控制器,包括:第一发送模块,用于向OF交换机发送针对流表的流条目修改消息,其中,流条目修改消息携带指示OF交换机是否执行流条目的流统计功能的标记;第二发送模块,用于对于执行流统计功能的流条目,向OF交换机发送流统计请求消息以查询流条目的流量统计信息;第三发送模块,用于向OF交换机发送流表特征请求消息以查询或设置OF交换机指定流表的特征参数,其中,特性参数包括所述流统计能力的参数。
优选地,该装置还包括:第一接收模块,用于在第一发送模块向OF交换机发送流条目修改消息之前,接收OF交换机上报的流统计能力的参数,其中,参数是由OF交换机在接收到第三发送模块发送的流表特征请求消息的情况下,对流表特征请求消息进行具体分析后向OF控制器发送的。
优选地,该装置还包括:第二接收模块,用于在第二发送模块向OF交换机发送流统计请求消息之后,接收OF交换机发送的流统计应答消息。
优选地,该装置还包括:第三接收模块,用于在OF交换机无法满足流条目修改消息的修改条件的情况下,接收OF交换机发送的第一错误消息;第四接收模块,用于在OF交换机接收到携带流统计能力参数修改要求的流表特性请求消息,并无法支持对流统计能力参数进行修改的情况下,接收OF交换机发送的携带有错误原因的第二错误消息;第五接收模块,用于在OF交换机接收到流统计请求消息,并确定不对流条目执行流统计功能或流条目所在的流表不支持流统计功能的情况下,OF控制器接收OF交换机发送的第三错误消息。
优选地,流条目修改消息的内容包括:流表标识、流表条目以及流表条目的流统计请求标记,其中,流统计请求标记用于指示流表条目是否需要进行流统计;流统计请求消息用于请求OF交换机统计匹配于流条目的报文字节数和/或报文数,流统计请求消息包括:流表号和流条目检索键值。
根据本发明的还一方面,提供了一种流统计能力的协商装置,位于OF交换机,包括:第一处理模块,用于接收OF控制器发送的针对流表的流条目修改消息;第二处理模块,用于在OF交换机满足流条目修改消息的修改条件的情况下,根据修改条件添加或修改相应的流条目,并根据流条目修改消息中的标记指示确定是否执行流条目的流统计功能;第三处理模块,用于接收OF控制器发送的流统计请求消息,并回复流统计应答消息,其中,流统计应答消息携带支持流统计功能的流条目的流量统计信息。
优选地,该装置还包括:第四处理模块,用于在第一处理模块接收流条目修改消息之前,接收OF交换器发送的流表特征请求消息,并对流表特征请求消息进行具体分析后,向OF控制器上报指定流表的流表特性参数,流表特性参数包括流统计能力的参数。
优选地,第四处理模块包括:第一处理单元,用于在流表特征请求消息不包含具体的流表特性请求的情况下,向OF控制器发送携带有流统计能力的参数的流表特性应答消息,其中,流统计能力的参数用于指示流表是否支持流统计功能;第二处理单元,用于在流表特征请求消息包含具体的流表特性请求和相应特性参数,且OF交换机确定支持对相应特性参数进行修改情况下,按照具体的流表特性请求修改相应特性参数,并向OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,相应特性参数包括流统计能力的参数。
通过本发明,采用OF控制器向OF交换机查询或设置其各个流表的流统计能力参数,并进一步在向OF交换机下发的流条目中设置标识指示OF交换机是否执行该流条目的流统计功能的协商方式,解决了相关技术中OF交换机上的流统计功能控制粒度过粗,不能灵活适应转发设备的资源稀缺或硬件实现的限制的问题,可以将OF交换机的流统计能力进一步细化到较细粒度,进而达到了增强硬件或芯片适配OpenFlow流表管道转发的灵活性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的OpenFlow协议应用架构图;
图2是根据相关技术的报文流通过OpenFlow处理管道;
图3是根据相关技术的中基于每个流表的报文处理;
图4是根据本发明实施例一的流统计能力的协商方法流程图;
图5是根据本发明实施例一的流统计能力的协商装置的结构框图;
图6是根据本发明实施例一的优选流统计能力的协商装置的结构框图;
图7是根据本发明实施例二的流统计能力的协商方法流程图;
图8是根据本发明实施例二的流统计能力的协商装置的结构框图;
图9是根据本发明实施例二的优选流统计能力的协商装置的结构框图;
图10是根据本发明优选实施例的OF交换机向OF控制器上报流表的流统计能力的流程图;
图11是根据本发明优选实施例的OF控制器向OF交换机设置流表的流统计能力的流程图;
图12是根据本发明优选实施例的OF交换机向OF控制器回复流统计请求错误原因的流程图;以及
图13是根据本发明优选实施例的OF控制器向OF交换机发送流表条目修改消息的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供了一种流统计能力的协商方法,可以应用于OF控制器侧。图4是根据本发明实施例一的流统计能力的协商方法流程图,如4所示,该方法主要包括以下步骤(步骤S402-步骤S406):
步骤S402,OF控制器向OF交换机发送针对流表的流条目修改消息;
步骤S404,在OF交换机满足流条目修改消息的修改条件的情况下,OF控制器指示OF交换机根据修改条件添加或修改相应的流条目,并通过流条目修改消息中的标记指示OF交换机是否执行流条目的流统计功能;
步骤S406,对于执行流统计功能的流条目,OF控制器向OF交换机发送流统计请求消息以查询流条目的流量统计信息。
通过上述各个步骤,当确定OF交换机具备支持相应流表的流统计能力时,OF控制器可以进一步在向OF交换机下发的流条目中设置标识指示OF交换机是否执行该流条目的流统计功能,通过这样的方式,可以将OF交换机的流统计能力进一步细化到更细粒度,进而能够增强OF交换机硬件或转发芯片适配OpenFlow流表管道转发的灵活性。
在本实施例中,在OF控制器向OF交换机发送针对流表的流条目修改消息之前,OF控制器可以接收OF交换机上报的流统计能力的参数,其中,参数是由OF交换机在接收到OF交换器发送的流表特征请求消息的情况下,对流表特征请求消息进行具体分析后向OF控制器发送的。
在本实施例中,OF交换机对流表特征请求消息进行的具体分析包括:如果流表特征请求消息不包含具体的流表特性请求,OF交换机决定向OF控制器发送携带有流统计能力的参数的流表特性应答消息,其中,流统计能力的参数用于指示流表是否支持流统计功能;如果流表特征请求消息包含具体的流表特性请求和相应特性参数,OF交换机在确定支持对相应特性参数进行修改情况下,决定按照具体的流表特性请求修改相应特性参数并向OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,相应特性参数包括流统计能力的参数。
在实际应用中,OF交换机在接收到OF控制器发送的流表特征请求消息后,可以以在响应的流表特征回复消息中携带流表的流统计能力标记的方式向OF控制器上报流表的流统计能力,其中,流表的流统计能力即表示:OF交换机上流表是否为该流表的流条目分配了统计报文字节数/报文数等数据的计数器,即统计匹配每个流条目的报文字节数/报文数。当然,在上报之前,OF交换机可以根据流表的流统计能力标记来决策是否执行流表的流统计。若OF交换机无法执行所述流表的流统计能力标记,则可以向OF控制器返回错误消息,可选地,可以在该错误消息中携带错误原因。
在本实施例中,在OF控制器向OF交换机发送流统计请求消息以统计流条目的流量之后,OF控制器可以接收OF交换机发送的流统计应答消息。
在实际应用中,如果OF控制器确定OF交换机可以满足流表条目修改请求(流表条目修改消息),则可以向OF交换机设置流表条目的流统计请求标记,其中,流表条目修改消息中可以携带流表标识、流表条目以及流表条目的流统计请求标记,流统计请求标记是用来指示所述流表条目是否需要进行流统计的。
在实际应用中,当OF交换机可以满足流条目的流统计请求,或流表条目修改消息参数不存在任何冲突的情况下,OF控制器还可以进一步向OF交换机下发流统计请求消息(其中携带流表号、流条目等参数),该流统计请求消息可以用于请求OF交换机统计匹配所述流条目的报文字节数/报文数。当然,如果流表(通过流表号来标识)不支持流表的流统计能力,则OF交换机可以向OF控制器发送错误消息(可以携带错误原因,例如特定的错误类型和错误编码)。
在本实施例中,在OF交换机无法满足流条目修改消息的修改条件的情况下,例如,流条目修改消息携带标记要求OF交换机该流条目的流统计功能,但是OF交换机发现该流条目所在的流表不支持流统计功能,OF控制器接收OF交换机发送的第一错误消息;在OF交换机接收到携带流统计能力参数修改要求的流表特性请求消息,并无法支持对流统计能力参数进行修改的情况下,例如,OF交换机的硬件决定了该流表特性请求消息指定的流表不支持流统计功能,OF控制器接收OF交换机发送的携带有错误原因的第二错误消息;在OF交换机接收到流统计请求消息,并确定不对流条目执行流统计功能或流条目所在的流表不支持流统计功能的情况下,OF控制器接收OF交换机发送的第三错误消息。
在实际应用中,OF交换机在接收流表条目修改消息后,可以根据流表条目的流统计请求标记和该流表的流统计能力标记来决策是否执行流表条目的流统计功能。如果OF交换机无法满足流条目的流统计请求,或流表条目修改消息参数冲突(例如,流统计请求标记置为0,即控制器指示该条目不执行统计,但是设置的空闲老化时间不为0),则可以向OF控制器返回错误消息,可选地,该错误消息中可以携带错误原因。
在实际应用中,流条目修改消息的内容可以包括:流表标识、流表条目以及流表条目的流统计请求标记,其中,流统计请求标记用于指示流表条目是否需要进行流统计;流统计请求消息用于请求OF交换机统计匹配于流条目的报文字节数和/或报文数,流统计请求消息包括:流表号和流条目检索键值。
本发明实施例还提供了一种流统计能力的协商装置。图5是根据本发明实施例一的流统计能力的协商装置的结构框图,该装置位于OF控制器,用以实现上述实施例一提供的流统计能力的协商方法,如图5所示,该装置主要包括:第一发送模块10、第二发送模块20以及第三发送模块30。其中,第一发送模块10,用于向OF交换机发送针对流表的流条目修改消息,其中,流条目修改消息携带指示OF交换机是否执行流条目的流统计功能的标记;指第二发送模块20,用于对于执行流统计功能的流条目,向OF交换机发送流统计请求消息以查询流条目的流量统计信息;第三发送模块30,用于向OF交换机发送流表特征请求消息以查询或设置OF交换机指定流表的特征参数,其中,特性参数包括流统计能力的参数。
在本实施例中,流条目修改消息的内容可以包括:流表标识、流表条目以及流表条目的流统计请求标记,其中,流统计请求标记用于指示流表条目是否需要进行流统计;流统计请求消息用于请求OF交换机统计匹配于流条目的报文字节数和/或报文数,流统计请求消息包括:流表号和流条目检索键值。
图6是根据本发明实施例一的优选流统计能力的协商装置的结构框图,如图6所示,该优选流统计能力的协商装置还包括:
第一接收模块40,用于在第一发送模块10向OF交换机发送流条目修改消息之前,接收OF交换机上报的流统计能力的参数,其中,参数是由OF交换机在接收到第三发送模块30发送的流表特征请求消息的情况下,对流表特征请求消息进行具体分析后向OF控制器发送的。
第二接收模块50,用于在第二发送模块向OF交换机发送流统计请求消息之后,接收OF交换机发送的流统计应答消息。
第三接收模块60,用于在OF交换机无法满足流条目修改消息的修改条件的情况下,接收OF交换机发送的第一错误消息;第四接收模块70,用于在OF交换机接收到携带流统计能力参数修改要求的流表特性请求消息,并无法支持对流统计能力参数进行修改的情况下,接收OF交换机发送的携带有错误原因的第二错误消息;第五接收模块80,用于在OF交换机接收到流统计请求消息,并确定不对流条目执行流统计功能或流条目所在的流表不支持流统计功能的情况下,OF控制器接收OF交换机发送的第三错误消息。
本发明实施例提供了一种流统计能力的协商方法,可以应用于OF交换机侧,图7是根据本发明实施例二的流统计能力的协商方法流程图,如图7所示,该方法主要包括以下步骤(步骤S702-步骤S706):
步骤S702,OF交换机接收OF控制器发送的针对流表的流条目修改消息;
步骤S704,在满足流条目修改消息的修改条件的情况下,OF交换机根据修改条件添加或修改相应的流条目,并根据流条目修改消息中的标记指示确定是否执行流条目的流统计功能;
步骤S706,OF交换机接收OF控制器发送的流统计请求消息,回复流统计应答消息,其中,流统计应答消息携带支持流统计功能的流条目的流量统计信息。
在本实施例中,在接收OF控制器发送的针对流表的流条目修改消息之前,OF交换机可以接收OF交换器发送的流表特征请求消息,并对流表特征请求消息进行具体分析后,向OF控制器上报流统计能力的参数。
在本实施例中,OF交换机对流表特征请求消息进行的具体分析包括:如果流表特征请求消息不包含具体的流表特性请求,OF交换机可以向OF控制器发送携带有流统计能力的参数的流表特性应答消息,其中,流统计能力的参数用于指示流表是否支持流统计功能;如果流表特征请求消息包含具体的流表特性请求和相应特性参数,OF交换机可以在确定支持对相应特性参数进行修改情况下,按照具体的流表特性请求修改相应特性参数,并向OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,相应特性参数包括流统计能力的参数。
本发明实施例还提供了一种流统计能力的协商装置。图8是根据本发明实施例二的流统计能力的协商装置的结构框图,该装置位于OF交换机,用以实现上述实施例二提供的流统计能力的协商方法,如图8所示,该装置主要包括:第一处理模块10、第二处理模块20以及第三处理模块30。
其中,第一处理模块10,用于接收OF控制器发送的针对流表的流条目修改消息;第二处理模块20,用于在OF交换机满足流条目修改消息的修改条件的情况下,根据修改条件添加或修改相应的流条目,并根据流条目修改消息中的标记指示确定是否执行流条目的流统计功能;第三处理模块30,用于接收OF控制器发送的流统计请求消息,并回复流统计应答消息,其中,流统计应答消息携带支持流统计功能的流条目的流量统计信息。
图9是根据本发明实施例二的优选流统计能力的协商装置的结构框图,如图9所示,该优选流统计能力的协商装置还包括:第四处理模块40,用于在第一处理模块10接收流条目修改消息之前,接收OF交换器发送的流表特征请求消息,并对流表特征请求消息进行具体分析后,向OF控制器上报指定流表的流表特性参数,流表特性参数包括流统计能力的参数。
进一步地,第四处理模块40包括:第一处理单元42,用于在流表特征请求消息不包含具体的流表特性请求的情况下,向OF控制器发送携带有流统计能力的参数的流表特性应答消息,其中,流统计能力的参数用于指示流表是否支持流统计功能;第二处理单元44,用于在流表特征请求消息包含具体的流表特性请求和相应特性参数,且OF交换机确定支持对相应特性参数进行修改情况下,按照具体的流表特性请求修改相应特性参数,并向OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,相应特性参数包括流统计能力的参数。
采用上述实施例提供的流统计能力的协商方法及装置,可以将OF交换机的流统计能力进一步细化到较细粒度,达到了增强硬件或芯片适配OpenFlow流表管道转发的灵活性的效果。
下面将结合图10至图13以及优选实施例1至优选实施例4对上述实施例提供的流统计能力的协商方法进行更加详细描述。
优选实施例1
图10是根据本发明优选实施例的OF交换机向OF控制器上报流表的流统计能力的流程图,如图10所示,该流程包括以下步骤:
S1002,OF控制器向OFLS发送Table Features Request(流表特征)请求消息;当该请求消息为空时,该消息用来查询OFLS上流表的特征/能力。
S1004,OFLS向OF控制器回复Table Features Reply(流表特征)回复消息,其中,该消息中携带流表的流统计能力标记。
具体地,该消息可以使用结构struct ofp_table_features来定义,如下所示,该结构中包含能力参数(capabilities),而该参数使用枚举类型enum ofp_table_config来表示,在该枚举类型中包含流表的流统计能力标记OFPTC_FLOW_STATS,该值置为1,表示所述流表支持流表的流统计能力。
优选实施例2
图11是根据本发明优选实施例的OF控制器向OF交换机设置流表的流统计能力的流程图,如图11所示,该流程包括以下步骤:
S1102,OF控制器向OFLS发送Table Features Request(流表特征)请求消息;当该请求消息中携带流表的特征/能力参数时,该消息用来设置OFLS上流表的所述特征/能力。
S1104,若该消息携带流表号及流表的流统计能力标记,则OFLS根据流表的流统计能力标记(值为0或1)对流表号指向的流表决策是否执行流表的流统计(如关闭或打开)。
具体地,该消息可使用结构struct ofp_table_features来定义,如下所示,该结构中包含能力参数(capabilities),而该参数使用枚举类型enum ofp_table_config来表示,在该枚举类型中包含流表的流统计能力标记OFPTC_FLOW_STATS,该值置为1,表示设置所述流表支持流表的流统计能力。
OFLS向OF控制器回复Table Features Reply(流表特征)回复消息,用于向OF控制确认。倘若OF交换机无法执行所述流表的流统计能力标记,则向OF控制器返回错误消息,可选地,携带错误原因(如当前流表不支持流表的流统计能力)错误原因可用错误类型、错误码来实现。
优选实施例3
图12是根据本发明优选实施例的OF交换机向OF控制器回复流统计请求错误原因的流程图,如图12所示,该流程包括:
S1202,OF控制器向OF交换机发送Flow Statistics流统计请求消息(如OFPMP_FLOWmultipart request或OFPMP_AGGREGATE multipart request消息),其中携带流表号、流条目等参数,用于请求OF交换机统计匹配所述流条目的报文字节数/报文数。
S1202,若所述流表(由流表号标识)不支持流表的流统计能力,则OF交换机向OF发送错误消息,可选地,携带错误原因(可用错误类型、错误码实现)。
优选实施例4
图13是根据本发明优选实施例的OF控制器向OF交换机发送流表条目修改消息的流程图,如图13所示,该流程包括以下步骤:
S1302,OF控制器向OF交换机发送流表条目修改(Flow Table Modification)消息,其中携带流表标识、流表条目以及流表条目的流统计请求标记。其中流统计请求标记用来指示所述流表条目是否需要进行流统计。
具体地,该消息可使用结构ofp_flow_mod来定义,如下所示,该结构中包含标志参数(flags),而该参数使用枚举类型enum ofp_flow_mod_flags来表示,在该枚举类型中包含流表的流统计请求标记OFPTT_FLOW_STATS,该值置为1,表示要求所述流条目执行流统计功能。
进一步地,OF交换机根据流表条目的流统计请求标记和该流表的流统计能力标记来决策是否执行流表条目的流统计功能。若OF交换机无法满足所述流条目的流统计请求,,或流表条目修改消息参数冲突(例如流统计请求标记置为0,即控制器指示该条目不执行统计,但是设置的空闲老化时间不为0),则向OF控制器返回错误消息,其中,该错误消息携带有错误原因。
从以上的描述中,可以看出,本发明实现了如下技术效果:采用OF控制器向OF交换机查询或设置其各个流表的流统计能力参数,并进一步在向OF交换机下发的流条目中设置标识指示OF交换机是否执行该流条目的流统计功能的协商方式,解决了相关技术中OF交换机上的流统计功能控制粒度过粗,不能灵活适应转发设备的资源稀缺或硬件实现的限制的问题,可以将OF交换机的流统计能力进一步细化到较细粒度,进而达到了增强硬件或芯片适配OpenFlow流表管道转发的灵活性的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种流统计能力的协商方法,应用于OF控制器侧,其特征在于,包括:
OF控制器向OF交换机发送针对流表的流条目修改消息;
在所述OF交换机满足所述流条目修改消息的修改条件的情况下,所述OF控制器指示所述OF交换机根据所述修改条件添加或修改相应的流条目,并通过所述流条目修改消息中的标记指示所述OF交换机是否执行所述流条目的流统计功能;
对于执行流统计功能的所述流条目,所述OF控制器向所述OF交换机发送流统计请求消息以查询所述流条目的流量统计信息。
2.根据权利要求1所述的方法,其特征在于,在OF控制器向所述OF交换机发送针对所述流表的流条目修改消息之前,包括:
所述OF控制器接收所述OF交换机上报的所述流统计能力的参数,其中,所述参数是由所述OF交换机在接收到所述OF交换器发送的流表特征请求消息的情况下,对所述流表特征请求消息进行具体分析后向所述OF控制器发送的。
3.根据权利要求2所述的方法,其特征在于,所述OF交换机对所述流表特征请求消息进行的所述具体分析包括:
如果所述流表特征请求消息不包含具体的流表特性请求,所述OF交换机决定向所述OF控制器发送携带有所述流统计能力的参数的流表特性应答消息,其中,所述流统计能力的参数用于指示所述流表是否支持流统计功能;
如果所述流表特征请求消息包含具体的流表特性请求和相应特性参数,所述OF交换机在确定支持对相应特性参数进行修改情况下,决定按照所述具体的流表特性请求修改所述相应特性参数并向所述OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,所述相应特性参数包括所述流统计能力的参数。
4.根据权利要求1所述的方法,其特征在于,在所述OF控制器向所述OF交换机发送流统计请求消息以统计所述流条目的流量之后,包括:
所述OF控制器接收所述OF交换机发送的流统计应答消息。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述OF交换机无法满足所述流条目修改消息的修改条件的情况下,所述OF控制器接收所述OF交换机发送的第一错误消息;
在所述OF交换机接收到携带所述流统计能力参数修改要求的流表特性请求消息,并无法支持对所述流统计能力参数进行修改的情况下,所述OF控制器接收所述OF交换机发送的携带有错误原因的第二错误消息;
在所述OF交换机接收到流统计请求消息,并确定不对所述流条目执行流统计功能或所述流条目所在的流表不支持流统计功能的情况下,所述OF控制器接收所述OF交换机发送的第三错误消息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,
所述流条目修改消息的内容包括:流表标识、流表条目以及流表条目的流统计请求标记,其中,所述流统计请求标记用于指示所述流表条目是否需要进行流统计;
所述流统计请求消息用于请求所述OF交换机统计匹配于流条目的报文字节数和/或报文数,所述流统计请求消息包括:流表号和流条目检索键值。
7.一种流统计能力的协商方法,应用于OF交换机侧,其特征在于,包括:
OF交换机接收OF控制器发送的针对流表的流条目修改消息;
在满足所述流条目修改消息的修改条件的情况下,所述OF交换机根据所述修改条件添加或修改相应的流条目,并根据所述流条目修改消息中的标记指示确定是否执行所述流条目的流统计功能;
所述OF交换机接收所述OF控制器发送的流统计请求消息,回复流统计应答消息,其中,所述流统计应答消息携带支持流统计功能的流条目的流量统计信息。
8.根据权利要求7所述的方法,其特征在于,在接收所述OF控制器发送的针对所述流表的流条目修改消息之前,包括:
所述OF交换机接收所述OF交换器发送的流表特征请求消息,并对所述流表特征请求消息进行具体分析后,向所述OF控制器上报所述流统计能力的参数。
9.根据权利要求8所述的方法,其特征在于,所述OF交换机对所述流表特征请求消息进行的所述具体分析包括:
如果所述流表特征请求消息不包含具体的流表特性请求,所述OF交换机向所述OF控制器发送携带有所述流统计能力的参数的流表特性应答消息,其中,所述流统计能力的参数用于指示所述流表是否支持流统计功能;
如果所述流表特征请求消息包含具体的流表特性请求和相应特性参数,所述OF交换机在确定支持对相应特性参数进行修改情况下,按照所述具体的流表特性请求修改所述相应特性参数,并向所述OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,所述相应特性参数包括所述流统计能力的参数。
10.一种流统计能力的协商装置,位于OF控制器,其特征在于,包括:
第一发送模块,用于向OF交换机发送针对流表的流条目修改消息,其中,所述流条目修改消息携带指示所述OF交换机是否执行所述流条目的流统计功能的标记;
第二发送模块,用于对于执行流统计功能的所述流条目,向所述OF交换机发送流统计请求消息以查询所述流条目的流量统计信息;
第三发送模块,用于向所述OF交换机发送流表特征请求消息以查询或设置所述OF交换机指定流表的特征参数,其中,所述特性参数包括所述流统计能力的参数。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于在所述第一发送模块向所述OF交换机发送所述流条目修改消息之前,接收所述OF交换机上报的所述流统计能力的参数,其中,所述参数是由所述OF交换机在接收到所述第三发送模块发送的流表特征请求消息的情况下,对所述流表特征请求消息进行具体分析后向所述OF控制器发送的。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于在所述第二发送模块向所述OF交换机发送所述流统计请求消息之后,接收所述OF交换机发送的流统计应答消息。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于在所述OF交换机无法满足所述流条目修改消息的修改条件的情况下,接收所述OF交换机发送的第一错误消息;
第四接收模块,用于在所述OF交换机接收到携带所述流统计能力参数修改要求的流表特性请求消息,并无法支持对所述流统计能力参数进行修改的情况下,接收所述OF交换机发送的携带有错误原因的第二错误消息;
第五接收模块,用于在所述OF交换机接收到流统计请求消息,并确定不对所述流条目执行流统计功能或所述流条目所在的流表不支持流统计功能的情况下,所述OF控制器接收所述OF交换机发送的第三错误消息。
14.根据权利要求10至13中任一项所述的装置,其特征在于,
所述流条目修改消息的内容包括:流表标识、流表条目以及流表条目的流统计请求标记,其中,所述流统计请求标记用于指示所述流表条目是否需要进行流统计;
所述流统计请求消息用于请求所述OF交换机统计匹配于流条目的报文字节数和/或报文数,所述流统计请求消息包括:流表号和流条目检索键值。
15.一种流统计能力的协商装置,位于OF交换机,其特征在于,包括:
第一处理模块,用于接收OF控制器发送的针对流表的流条目修改消息;
第二处理模块,用于在OF交换机满足所述流条目修改消息的修改条件的情况下,根据所述修改条件添加或修改相应的流条目,并根据所述流条目修改消息中的标记指示确定是否执行所述流条目的流统计功能;
第三处理模块,用于接收所述OF控制器发送的流统计请求消息,并回复流统计应答消息,其中,所述流统计应答消息携带支持流统计功能的流条目的流量统计信息。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第四处理模块,用于在所述第一处理模块接收所述流条目修改消息之前,接收所述OF交换器发送的流表特征请求消息,并对所述流表特征请求消息进行具体分析后,向所述OF控制器上报指定流表的流表特性参数,所述流表特性参数包括所述流统计能力的参数。
17.根据权利要求16所述的装置,其特征在于,所述第四处理模块包括:
第一处理单元,用于在所述流表特征请求消息不包含具体的流表特性请求的情况下,向所述OF控制器发送携带有所述流统计能力的参数的流表特性应答消息,其中,所述流统计能力的参数用于指示所述流表是否支持流统计功能;
第二处理单元,用于在所述流表特征请求消息包含具体的流表特性请求和相应特性参数,且所述OF交换机确定支持对相应特性参数进行修改情况下,按照所述具体的流表特性请求修改所述相应特性参数,并向所述OF控制器发送携带修改后的相应特性参数的流表特性应答消息,其中,所述相应特性参数包括所述流统计能力的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310474148.4A CN104579722A (zh) | 2013-10-11 | 2013-10-11 | 流统计能力的协商方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310474148.4A CN104579722A (zh) | 2013-10-11 | 2013-10-11 | 流统计能力的协商方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104579722A true CN104579722A (zh) | 2015-04-29 |
Family
ID=53094998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310474148.4A Pending CN104579722A (zh) | 2013-10-11 | 2013-10-11 | 流统计能力的协商方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104579722A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827487A (zh) * | 2016-05-30 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种sdn网络报文流统计方法、处理方法及sdn网络*** |
WO2017016259A1 (zh) * | 2015-07-28 | 2017-02-02 | 深圳市中兴微电子技术有限公司 | 业务属性的计数方法及装置、计算机存储介质 |
CN106888176A (zh) * | 2015-12-15 | 2017-06-23 | 瑞昱半导体股份有限公司 | 网路装置及其控制方法 |
WO2017197977A1 (zh) * | 2016-05-19 | 2017-11-23 | 中兴通讯股份有限公司 | 一种管理组表项的方法和装置 |
CN107634895A (zh) * | 2016-07-19 | 2018-01-26 | 上海诺基亚贝尔股份有限公司 | 用于基于文件或单个消息的批量操作处理方法和设备 |
CN110336748A (zh) * | 2019-07-10 | 2019-10-15 | 迈普通信技术股份有限公司 | 表项下发方法、装置、数据转发设备及可读存储介质 |
CN110380993A (zh) * | 2019-07-12 | 2019-10-25 | 中国电信集团工会上海市委员会 | 一种基于ovsdb的流表保护方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102498693A (zh) * | 2009-09-14 | 2012-06-13 | 日本电气株式会社 | 通信***、节点、控制服务器、通信方法及程序 |
CN102577275A (zh) * | 2009-09-10 | 2012-07-11 | 日本电气株式会社 | 中继控制设备、中继控制***、中继控制方法及中继控制程序 |
CN102710489A (zh) * | 2011-03-28 | 2012-10-03 | 日电(中国)有限公司 | 动态分流调度***和方法 |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、***及设备 |
CN103026662A (zh) * | 2010-07-23 | 2013-04-03 | 日本电气株式会社 | 通信***、节点、统计信息收集装置、统计信息收集方法和程序 |
-
2013
- 2013-10-11 CN CN201310474148.4A patent/CN104579722A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577275A (zh) * | 2009-09-10 | 2012-07-11 | 日本电气株式会社 | 中继控制设备、中继控制***、中继控制方法及中继控制程序 |
CN102498693A (zh) * | 2009-09-14 | 2012-06-13 | 日本电气株式会社 | 通信***、节点、控制服务器、通信方法及程序 |
CN103026662A (zh) * | 2010-07-23 | 2013-04-03 | 日本电气株式会社 | 通信***、节点、统计信息收集装置、统计信息收集方法和程序 |
CN102710489A (zh) * | 2011-03-28 | 2012-10-03 | 日电(中国)有限公司 | 动态分流调度***和方法 |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、***及设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017016259A1 (zh) * | 2015-07-28 | 2017-02-02 | 深圳市中兴微电子技术有限公司 | 业务属性的计数方法及装置、计算机存储介质 |
CN106888176A (zh) * | 2015-12-15 | 2017-06-23 | 瑞昱半导体股份有限公司 | 网路装置及其控制方法 |
CN106888176B (zh) * | 2015-12-15 | 2019-11-29 | 瑞昱半导体股份有限公司 | 网路装置及其控制方法 |
WO2017197977A1 (zh) * | 2016-05-19 | 2017-11-23 | 中兴通讯股份有限公司 | 一种管理组表项的方法和装置 |
CN107404435A (zh) * | 2016-05-19 | 2017-11-28 | 中兴通讯股份有限公司 | 一种管理组表项的方法和装置 |
CN107404435B (zh) * | 2016-05-19 | 2021-10-15 | 中兴通讯股份有限公司 | 一种管理组表项的方法和装置 |
CN105827487A (zh) * | 2016-05-30 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种sdn网络报文流统计方法、处理方法及sdn网络*** |
CN107634895A (zh) * | 2016-07-19 | 2018-01-26 | 上海诺基亚贝尔股份有限公司 | 用于基于文件或单个消息的批量操作处理方法和设备 |
US10798204B2 (en) | 2016-07-19 | 2020-10-06 | Alcatel Lucent | File based or single message based bulk operation processing method and device |
CN110336748A (zh) * | 2019-07-10 | 2019-10-15 | 迈普通信技术股份有限公司 | 表项下发方法、装置、数据转发设备及可读存储介质 |
CN110336748B (zh) * | 2019-07-10 | 2021-08-17 | 迈普通信技术股份有限公司 | 表项下发方法、装置、数据转发设备及可读存储介质 |
CN110380993A (zh) * | 2019-07-12 | 2019-10-25 | 中国电信集团工会上海市委员会 | 一种基于ovsdb的流表保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579722A (zh) | 流统计能力的协商方法及装置 | |
CN107204867A (zh) | 一种信息传输方法、装置和*** | |
CN104426815B (zh) | 一种sdn中流表下发的方法和***、of控制器和of交换机 | |
CN103095565B (zh) | 一种软件定义网络操作***及其实现方法 | |
CN105659529B (zh) | 通过中央控制的ad-hoc按需路由 | |
US8542580B2 (en) | Method and system for transporting service flow securely in an IP network | |
CN108777633A (zh) | 支持数据调度的意图型工业sdn北向接口***及交互方法 | |
CN112448900A (zh) | 一种数据传输方法及装置 | |
CN104702502A (zh) | 网络路径计算方法及装置 | |
CN111837367B (zh) | 用于多连通性网络协议的策略管理的技术 | |
CN101945038A (zh) | 用于创建过渡性最优流路径的***和方法 | |
CN103200122A (zh) | 一种软件定义网络中组表的处理方法、***和控制器 | |
CN104468254A (zh) | 网络流量统计上报处理方法、装置、控制器及交换机 | |
CN104426756A (zh) | 一种服务节点能力信息的获取方法及控制平台 | |
CN104717098A (zh) | 一种数据处理方法及装置 | |
CN108289061B (zh) | 基于sdn的业务链拓扑*** | |
CN104301242A (zh) | 通信流控制***、通信流控制方法和通信流处理程序 | |
CN101605099B (zh) | 一种业务绑定方法及装置 | |
CN105429882A (zh) | 基于传统交换芯片查找方式的报文编辑实现方法及装置 | |
CN103905325A (zh) | 二层网络数据传送方法及网络节点 | |
CN108092895A (zh) | 一种软件定义网络联合路由选择及网络功能部署方法 | |
CN107947977A (zh) | 一种交换机的配置方法、装置、电子设备及存储介质 | |
CN101834871A (zh) | 一种开放式路由器装置及其方法 | |
CN115914402A (zh) | 算力资源节点的确定方法、装置、设备以及存储介质 | |
CN104426760A (zh) | 流映射处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150429 |