CN105407073A - 一种基于开放流OpenFlow协议的流表老化方法、设备和系统 - Google Patents
一种基于开放流OpenFlow协议的流表老化方法、设备和系统 Download PDFInfo
- Publication number
- CN105407073A CN105407073A CN201410457670.6A CN201410457670A CN105407073A CN 105407073 A CN105407073 A CN 105407073A CN 201410457670 A CN201410457670 A CN 201410457670A CN 105407073 A CN105407073 A CN 105407073A
- Authority
- CN
- China
- Prior art keywords
- stream table
- data volume
- switch
- aging
- life cycle
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种基于OpenFlow协议的流表老化方法、设备和系统,该方法可以包括:交换机接收控制器下发的流表配置消息;所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值;当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,所述交换机将所述流表进行老化。
Description
技术领域
本发明涉及软件定义网络(SDN,SoftwareDefinedNetwork)技术,尤其涉及一种基于开放流OpenFlow协议的流表老化方法、设备和系统。
背景技术
SDN架构通过采用的OpenFlow协议将网络设备的控制面与转发面进行分离,分别得到表示控制面的网络控制器(Controller)和表示转发面的交换机(Switch)。在基于OpenFlow协议的SDN网络中转发数据报文的方法为利用流表进行数据报文转发,具体为:Controller通过标准化的OpenFlow协议控制多个Switch,并下发流表给各个Switch;Switch接收并保存流表;当Switch收到网络发来的数据报文后,根据自身保存的流表进行转发。
然而,每个流表都会占用Switch一定的内存空间,如果Switch长时间积累流表,那么会出现内存耗尽的现象,因此,每个流表都会有一个生存周期,也称之为老化时间。
目前,每个流表的生存周期都是以时间作为度量值的,因此每个流表都是以时间的生存周期进行老化,而通常服务提供商为用户提供数据业务是按照业务流量进行计费的,因此,当按照业务流量进行计费时,以时间的生存周期对流表进行老化,会引发Controller和Switch之间大量的周期性查询消息,而控制器和交换机之间是通过TCP连接进行通信不仅会造成大量的带宽消耗,而且周期性的查询消息在以流量为计费标准的情况下会造成计费精度和实时性的准确性不高。
发明内容
为解决上述技术问题,本发明实施例期望提供一种基于OpenFlow协议的流表老化方法、设备和系统,在以数据流量为计费标准的情况下,能够减少控制器和交换机之间进行周期性的查询消息造成的带宽消耗,并且提高了计费精度和实时性的准确性。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种基于OpenFlow协议的流表老化方法,所述方法可以包括:
交换机接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;
所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值;
当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,所述交换机将所述流表进行老化。
进一步地,所述交换机接收控制器下发的流表配置消息之后,以及所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值之前,所述方法还包括:
所述交换机对所述流表配置消息进行一致性检测和验证;
当所述交换机确定所述流表配置消息正确时,所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值。
进一步地,所述交换机将所述流表进行老化之后,所述方法还包括:
当所述流表配置消息包括所述流表的老化通告指示信息时,所述交换机向所述控制器发送所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
进一步地,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
第二方面,本发明实施例提供了一种基于OpenFlow协议的流表老化方法,所述方法包括:
控制器将流表的数据量生存周期参数值封装至流表配置消息;
所述控制器向交换机下发所述流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
进一步地,当所述流表配置消息包括所述流表的老化通告指示信息时,所述方法还包括:
所述控制器接收所述交换机发送的所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
进一步地,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
第三方面,本发明实施例提供了一种交换机,所述交换机包括:接收单元、流表设置单元和流表老化单元,其中,
所述接收单元,用于接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;
所述流表设置单元,用于根据所述接收单元接收的流表配置消息设置所述流表的数据量生存周期参数值;
所述流表老化单元,用于当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,将所述流表进行老化。
进一步地,所述交换机还包括验证单元,用于对所述流表配置消息进行一致性检测和验证;
以及,当确定所述流表配置消息正确时,触发所述设置单元。
进一步地,所述交换机还包括发送单元,用于当所述流表配置消息包括所述流表的老化通告指示信息时,向所述控制器发送所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
进一步地,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
第四方面,本发明实施例提供了一种控制器,所述控制器包括:封装单元和发送单元,其中,
所述封装单元,用于将流表的数据量生存周期参数值封装至流表配置消息;
所述发送单元,用于向交换机下发所述封装单元封装的流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
进一步地,所述控制器还包括:接收单元,用于接收所述交换机发送的所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
进一步地,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
第五方面,本发明实施例提供了一种基于OpenFlow协议的流表老化系统,所述系统包括交换机和控制器,其中,
所述交换机用于,接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;以及,
根据所述流表配置消息设置所述流表的数据量生存周期参数值;以及,
当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,将所述流表进行老化;
所述控制器用于,将流表的数据量生存周期参数值封装至流表配置消息;以及,
向所述交换机下发所述流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
本发明实施例提供了一种基于OpenFlow协议的流表老化方法、设备和系统,通过增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机能够以匹配的数据量作为流表的另一种生存周期类型,当交换机通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的应用场景。
附图说明
图1为交换机目前所使用的流表结构示意图;
图2为本发明实施例提供的一种基于OpenFlow协议的流表老化方法流程示意图;
图3为本发明实施例提供的一种流表结构示意图;
图4为本发明实施例提供的另一种基于OpenFlow协议的流表老化方法流程示意图;
图5为本发明实施例提供的一种基于OpenFlow协议的流表老化方法的详细流程示意图;
图6为本发明实施例提供的一种交换机的结构示意图;
图7为本发明实施例提供的另一种交换机的结构示意图;
图8为本发明实施例提供的一种控制器的结构示意图;
图9为本发明实施例提供的一种控制器的结构示意图;
图10为本发明实施例提供的一种基于OpenFlow协议的流表老化系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在图1所示的交换机目前所使用的流表项结构中,包括匹配字段MatchFields、优先级Priority、计数器Counters、指令集Instructions、以时间为度量值的生存周期Timeouts、Cookie以及对流表条目进行操作和管理的标记Flag等组成参数,在图1所示的流表项结构中,各组成参数的具体功能为本领域技术人员的公知常识,需要值得注意的是,以时间为度量值的生存周期Timeouts用于表示该流表项在时间上所对应的生存周期,并且Timeouts可以包括:hardtimeout参数和idletimeout参数。这两个参数的具体定义是:hardtimeout参数表示流表项的最大生存时间;idletimeout参数表示流表项的空闲生存时间;比如,某流表项的hardtimeout参数的参数值置为30秒,表示30秒后交换机将该流表项进行老化;某流表项的idletimeout参数置为20秒,表示20秒内交换机没有收到可以匹配到该表项的报文,那么交换机将该流表项进行老化;某流表项的hardtimeout参数和idletimeout参数均值零,表示该流表项被永久保存,不会被交换机老化,除非控制器向交换机发送删除该流表项的指令。
本发明实施例在现有的流表结构中,增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机能够以匹配的数据量作为流表的另一种生存周期类型,当交换机通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的场景。
参见图2,其示出了本发明实施例提供的一种基于OpenFlow协议的流表老化方法,该方法适用于任意一个基于OpenFlow协议的交换机,该方法可以包括:
S201:交换机接收控制器下发的流表配置消息;
示例性的,在基于OpenFlow协议的SDN结构中,交换机根据控制器下发的流表进行数据报文的转发。因此,在本实施例中,控制器下发的流信息称为“流表”,而流表配置消息作为控制器进行流表下发的载体,可以包括所述控制器下发流表的组成参数对应的参数值,例如,控制器可以下发流表的数据量生存周期Packetcount参数值,而流表的数据量生存周期Packetcount参数值为交换机通过流表所匹配的最大数据量。
可以理解的,流表配置消息中还包括如图1所示的流表结构中的组成参数对应的参数值,由于这些参数为本领域技术人员的常用技术手段,在此不再赘述。
S202:交换机根据所述流表配置消息设置流表的数据量生存周期参数值;
示例性的,当交换机接收到流表配置消息之后,还可以对所述流表配置消息进行一致性检测和验证;当所述交换机确定所述流表配置消息正确时,所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值。
需要说明的是,由于流表配置消息中除了包括流表的数据量生存周期参数值以外,还包括了如图1所示的流表结构中的组成参数对应的参数值;因此,交换机根据流表配置消息所设置的流表结构如图3所示。
可以理解的,当交换机设置完流表之后,就可以根据流表进行数据和报文的匹配,并且在匹配过程中记录交换机通过流表匹配的数据量。
S203:当交换机通过流表匹配的数据量达到流表的数据量生存周期参数值时,交换机将流表进行老化;
示例性地,由于数据量生存周期Packetcount参数与Timeouts的hardtimeout参数和idletimeout参数类似,属于流表的一种生存周期,因此,当流表的数据量生存周期Packetcount到来时,交换机需要将其进行老化,从而降低流表占用的存储空间;
还需要说明的是,交换机通过数据量生存周期Packetcount参数对流表进行老化,可以使得流表的生存周期仅与交换机通过流表匹配的数据量有关,与流表在交换机中保存的时间无关,因此,数据量生存周期Packetcount参数比Timeouts的hardtimeout参数和idletimeout参数更加适合服务提供商根据流量进行计费的数据业务。
进一步需要说明的是,在流表配置消息中还可以包括流表的老化通告指示信息,用于指示交换机将流表进行老化之后,向控制器通告老化理由;
相应地,当所述流表配置消息包括所述流表的老化通告指示信息时,且交换机通过流表匹配的数据量达到流表的数据量生存周期参数值从而导致交换机将流表进行老化之后,交换机还可以向控制器发送流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
此外,由于流表老化的原因是数据量生存周期参数到期,而并非Timeouts的hardtimeout参数和idletimeout参数到期,因此,交换机还可以将流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout封装在流表的老化通告中,从而使得控制器能够综合时间维度与数据量维度的生存周期,以便于为以后的流表设置作为参考;
另外,当流表老化的原因是Timeouts的hardtimeout参数或idletimeout参数到期时,交换机还可以将流表剩余的数据量生存周期参数值封装在流表的老化通告中;
所以,流表的老化通告还可以包括:流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。可以理解的,当流表老化的原因是数据量生存周期参数到期时,流表的老化通告中包括的流表剩余的数据量生存周期参数值为零。
本发明实施例提供了一种基于OpenFlow协议的流表老化方法,通过增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机能够以匹配的数据量作为流表的另一种生存周期类型,当交换机通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的应用场景。
参见图4,其示出了本发明实施例提供的另一种基于OpenFlow协议的流表老化方法,该方法适用于任意一个基于OpenFlow协议的控制器,该方法可以包括:
S401:控制器将流表的数据量生存周期参数值封装至流表配置消息;
具体地,流表的数据量生存周期Packetcount参数值可以是交换机通过流表所匹配的最大数据量。
S402:控制器向交换机下发流表配置消息;
示例性地,所述流表配置消息用于所述交换机设置所述流表。
具体需要说明的是,在基于OpenFlow协议的SDN结构中,交换机根据控制器下发的流表进行数据报文的转发。在本实施例中,控制器下发的流信息称为“流表”,而流表配置消息作为控制器进行流表下发的载体,可以包括所述控制器下发流表的组成参数对应的参数值,可以理解的,流表配置消息中除了流表的数据量生存周期Packetcount参数值之外,还包括如图1所示的流表结构中的组成参数对应的参数值,由于这些参数为本领域技术人员的常用技术手段,在此不再赘述。
进一步需要说明的是,在流表配置消息中还可以包括流表的老化通告指示信息,用于指示交换机将流表进行老化之后,向控制器通告老化理由;
相应地,当所述流表配置消息包括所述流表的老化通告指示信息时,所述控制器还可以接收所述交换机发送的所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
由于流表老化的原因是数据量生存周期参数到期,而并非Timeouts的hardtimeout参数和idletimeout参数到期,因此,交换机还可以将流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout封装在流表的老化通告中;另外,当流表老化的原因是Timeouts的hardtimeout参数或idletimeout参数到期时,交换机还可以将流表剩余的数据量生存周期参数值封装在流表的老化通告中;所以,流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。可以理解的,当流表老化的原因是数据量生存周期参数到期时,流表的老化通告中包括的流表剩余的数据量生存周期参数值为零。
本发明实施例提供了另一种基于OpenFlow协议的流表老化方法,通过增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机能够以匹配的数据量作为流表的另一种生存周期类型,当交换机通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的应用场景。
在前述实施例所描述的技术方案的基础上,参见图5,其示出了本发明实施例提供的一种基于OpenFlow协议的流表老化方法的详细流程,可以包括:
S501:控制器将流表的数据量生存周期参数值封装至流表配置消息;
示例性地,流表配置消息作为控制器进行流表下发的载体,是交换机设置流表的依据,目前现有的流表结构如图1所示;但本实施例中的流表结构中,增加了数据量生存周期Packetcount参数对应的参数值,具体结构如图3所示;所以本实施例的流表配置消息也会与目前现有的流表配置消息略有不同,以C语言描述的流表配置消息OFPT_FLOW_MOD为例,OFPT_FLOW_MOD消息中就包括了交换机所要设置的流表各组成参数的ofp_flow_mod结构;本实施例对此不作具体限定,本领域技术人员可以用其他计算机语言类型对本实施例所提出的各种消息、信息和结构进行描述。在本实施例中,具体的ofp_flow_mod结构如下所示:
structofp_flow_mod{
structofp_headerheader;
……
uint64_tpacket_count;/*流表删除前的最大报文字节数,以M字节为单位。*/
……
};
在上述的具体ofp_flow_mod结构中,仅示出了流表的数据量生存周期Packetcount参数以及数据量生存周期Packetcount参数对应的参数值,而其他如图1所示的组成参数为本领域的现有技术,不再赘述。依据该具体的ofp_flow_mod结构,控制器将流表的数据量生存周期参数值封装至流表配置消息OFPT_FLOW_MOD。
S502:控制器向交换机下发流表配置消息;
示例性地,由于流表配置消息用于所述交换机设置所述流表。进一步需要说明的是,在流表配置消息中还可以包括流表的老化通告指示信息,用于指示交换机将流表进行老化之后,向控制器通告老化理由。
S503:交换机根据流表配置消息设置流表的数据量生存周期参数值;
示例性地,由于流表配置消息中除了包括流表的数据量生存周期参数值以外,还包括了如图1所示的流表结构中的组成参数对应的参数值;因此,交换机根据流表配置消息所设置的流表结构如图3所示。
可以理解的,当交换机设置完流表之后,就可以根据流表进行数据和报文的匹配,并且在匹配过程中记录交换机通过流表匹配的数据量。
S504:当交换机通过流表匹配的数据量达到流表的数据量生存周期参数值时,交换机将流表进行老化;
示例性地,由于数据量生存周期Packetcount参数与Timeouts的hardtimeout参数和idletimeout参数类似,属于流表的一种生存周期,因此,当流表的数据量生存周期Packetcount到来时,交换机需要将其进行老化,从而降低流表占用的存储空间;
S505:交换机将流表进行老化之后,向控制器发送流表的老化通告;
具体在本实施例中,本领域技术人员可以理解的,当流表中的OFPFF_SEND_FLOW_REM标记被置位时,说明交换机在对流表进行老化后需要向控制器发送老化通告,用于通知流表的老化理由。
在本实施例中,具体的老化通告消息为OFPT_FLOW_REMOVED,其中,具体的用于记录通告内容的ofp_flow_removed结构如下所示:
structofp_flow_removed{
structofp_headerheader;
……
uint8_treason;/*老化理由*/
uint16_tidle_timeout;/*剩余的idletime时间*/
uint16_thard_timeout;/*剩余的hardtime时间*/
uint64_tpacket_count_overflow;/*剩余的数据量计数*/
……
};
而ofp_flow_removed结构中的老化理由uint8_treason可以是一个枚举值,具体为:
enumofp_flow_removed_reason{
OFPRR_IDLE_TIMEOUT=0,/*Flowidletimeexceededidle_timeout.*/流的空闲时间超过了定义的idle-timeout阈值。
OFPRR_HARD_TIMEOUT=1,/*流的时间超过了定义的hard_timeout时间*/
OFPRR_DELETE=2,/*流模式下的删除。*/
OFPRR_GROUP_DELETE=3,/*组已经被移除*/
OFPRR_PACKET_COUNT=4,/*匹配的报文数据量超过了定义的packet_count参数值*/
};
由上述的具体枚举值可以得知,当交换机通过流表完成固定的数据量匹配之后,对该流表进行老化的老化理由取值应该是4。
另外由于流表老化的原因是数据量生存周期参数到期,而并非Timeouts的hardtimeout参数和idletimeout参数到期,因此,交换机还可以将流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout封装在流表的老化通告中;另外,当流表老化的原因是Timeouts的hardtimeout参数或idletimeout参数到期时,交换机还可以将流表剩余的数据量生存周期参数值封装在流表的老化通告中;所以,流表的老化通告还可以包括:流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和流表剩余的空闲生存时间idletimeout。具体在老化通告OFPT_FLOW_REMOVED消息的ofp_flow_removed结构中,uint64_tpacket_count_overflow、uint16_tidle_timeout和uint16_thard_timeout这三个参数分别对应赋值为流表剩余的数据量生存周期参数值、流表剩余的空闲生存时间和流表剩余的最大生存时间。
可以理解的,当流表老化的原因是数据量生存周期参数到期时,流表的老化通告OFPT_FLOW_REMOVED消息中的uint64_tpacket_count_overflow参数赋值为零。
本实施例提供的基于OpenFlow协议的流表老化方法的详细流程,交换机通过数据量生存周期Packetcount参数对流表进行老化,可以使得流表的生存周期仅与交换机通过流表匹配的数据量有关,与流表在交换机中保存的时间无关,因此,数据量生存周期Packetcount参数比Timeouts的hardtimeout参数和idletimeout参数更加适合服务提供商根据流量进行计费的数据业务。
基于前述实施例相同的技术构思,参见图6,其示出了本发明实施例提供的一种交换机60的结构,该交换机可以包括:接收单元601、流表设置单元602和流表老化单元603,其中,
所述接收单元601,用于接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;
所述流表设置单元602,用于根据所述接收单元601接收的流表配置消息设置所述流表的数据量生存周期参数值;
所述流表老化单元603,用于当所述交换机60通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,将所述流表进行老化。
示例性地,参见图7,交换机60还包括验证单元604,用于对所述流表配置消息进行一致性检测和验证;
以及,当确定所述流表配置消息正确时,触发所述设置单元602。
示例性地,参见图7,交换机60还包括发送单元605,用于当所述流表配置消息包括所述流表的老化通告指示信息时,向所述控制器发送所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
进一步地,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
本实施例提供了一种交换机60,通过增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机60能够以匹配的数据量作为流表的另一种生存周期类型,当交换机60通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的应用场景。
参见图8,其示出了本发明实施例提供的一种控制器80的结构,控制器80可以包括:封装单元801和发送单元802,其中,
所述封装单元801,用于将流表的数据量生存周期参数值封装至流表配置消息;
所述发送单元802,用于向交换机下发所述封装单元封装的流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
示例性地,参见图9,控制器80还可以包括:接收单元803,用于接收所述交换机发送的所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
进一步地,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
本实施例提供了一种控制器80,通过增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机60能够以匹配的数据量作为流表的另一种生存周期类型,当交换机60通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的应用场景。
基于前述实施例相同的技术构思,参见图10,其示出了本发明实施例提供的一种基于OpenFlow协议的流表老化系统100,其特征在于,所述系统100包括交换机60和控制器80,其中,
所述交换机60用于,接收控制器80下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;以及,
根据所述流表配置消息设置所述流表的数据量生存周期参数值;以及,
当所述交换机60通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,将所述流表进行老化。
所述控制器80用于,将流表的数据量生存周期参数值封装至流表配置消息;以及,
向所述交换机60下发所述流表配置消息;其中,所述流表配置消息用于所述交换机60设置所述流表。
本实施例提供了一种基于OpenFlow协议的流表老化系统100,通过增加一种以流表所匹配的数据量为度量值的数据量生存周期Packetcount参数,从而使交换机60能够以匹配的数据量作为流表的另一种生存周期类型,当交换机60通过流表完成固定的数据量匹配之后,对该流表进行老化,因此适用于服务运营商通过业务数据流量向用户计费的应用场景。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (15)
1.一种基于开放流OpenFlow协议的流表老化方法,其特征在于,所述方法包括:
交换机接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;
所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值;
当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,所述交换机将所述流表进行老化。
2.根据权利要求1所述的方法,其特征在于,所述交换机接收控制器下发的流表配置消息之后,以及所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值之前,所述方法还包括:
所述交换机对所述流表配置消息进行一致性检测和验证;
当所述交换机确定所述流表配置消息正确时,所述交换机根据所述流表配置消息设置所述流表的数据量生存周期参数值。
3.根据权利要求1所述的方法,其特征在于,所述交换机将所述流表进行老化之后,所述方法还包括:
当所述流表配置消息包括所述流表的老化通告指示信息时,所述交换机向所述控制器发送所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
4.根据权利要求3所述的方法,其特征在于,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
5.一种基于开放流OpenFlow协议的流表老化方法,其特征在于,所述方法包括:
控制器将流表的数据量生存周期参数值封装至流表配置消息;
所述控制器向交换机下发所述流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
6.根据权利要求5所述的方法,其特征在于,当所述流表配置消息包括所述流表的老化通告指示信息时,所述方法还包括:
所述控制器接收所述交换机发送的所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
7.根据权利要求6所述的方法,其特征在于,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
8.一种交换机,其特征在于,所述交换机包括:接收单元、流表设置单元和流表老化单元,其中,
所述接收单元,用于接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;
所述流表设置单元,用于根据所述接收单元接收的流表配置消息设置所述流表的数据量生存周期参数值;
所述流表老化单元,用于当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,将所述流表进行老化。
9.根据权利要求8所述的交换机,其特征在于,所述交换机还包括验证单元,用于对所述流表配置消息进行一致性检测和验证;
以及,当确定所述流表配置消息正确时,触发所述设置单元。
10.根据权利要求8所述的交换机,其特征在于,所述交换机还包括发送单元,用于当所述流表配置消息包括所述流表的老化通告指示信息时,向所述控制器发送所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
11.根据权利要求10所述的交换机,其特征在于,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
12.一种控制器,其特征在于,所述控制器包括:封装单元和发送单元,其中,
所述封装单元,用于将流表的数据量生存周期参数值封装至流表配置消息;
所述发送单元,用于向交换机下发所述封装单元封装的流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
13.根据权利要求12所述的控制器,其特征在于,所述控制器还包括:接收单元,用于接收所述交换机发送的所述流表的老化通告,其中,所述流表的老化通告包括用于表征流表由于匹配的数据量达到所述流表的数据量生存周期参数值的老化理由。
14.根据权利要求13所述的控制器,其特征在于,所述流表的老化通告还包括:所述流表剩余的数据量生存周期参数值、所述流表剩余的最大生存时间hardtimeout和所述流表剩余的空闲生存时间idletimeout。
15.一种基于开放流OpenFlow协议的流表老化系统,其特征在于,所述系统包括交换机和控制器,其中,
所述交换机用于,接收控制器下发的流表配置消息;其中,所述流表配置消息包括流表的数据量生存周期参数值;以及,
根据所述流表配置消息设置所述流表的数据量生存周期参数值;以及,
当所述交换机通过所述流表匹配的数据量达到所述流表的数据量生存周期参数值时,将所述流表进行老化;
所述控制器用于,将流表的数据量生存周期参数值封装至流表配置消息;以及,
向所述交换机下发所述流表配置消息;其中,所述流表配置消息用于所述交换机设置所述流表。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410457670.6A CN105407073A (zh) | 2014-09-10 | 2014-09-10 | 一种基于开放流OpenFlow协议的流表老化方法、设备和系统 |
EP14901469.8A EP3193483B1 (en) | 2014-09-10 | 2014-12-23 | Flow table ageing method, device and system and computer-readable medium |
US15/510,472 US20170289004A1 (en) | 2014-09-10 | 2014-12-23 | Flow table ageing method, device and system and computer-readable medium |
PCT/CN2014/094638 WO2016037442A1 (zh) | 2014-09-10 | 2014-12-23 | 流表老化方法、设备、系统及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410457670.6A CN105407073A (zh) | 2014-09-10 | 2014-09-10 | 一种基于开放流OpenFlow协议的流表老化方法、设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105407073A true CN105407073A (zh) | 2016-03-16 |
Family
ID=55458306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410457670.6A Withdrawn CN105407073A (zh) | 2014-09-10 | 2014-09-10 | 一种基于开放流OpenFlow协议的流表老化方法、设备和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170289004A1 (zh) |
EP (1) | EP3193483B1 (zh) |
CN (1) | CN105407073A (zh) |
WO (1) | WO2016037442A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897624A (zh) * | 2016-04-01 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种客户端、流表配置管理的方法和系统 |
CN113114570A (zh) * | 2020-01-13 | 2021-07-13 | 阿里巴巴集团控股有限公司 | 流表项的控制方法、装置及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017105431A1 (en) * | 2015-12-16 | 2017-06-22 | Hewlett Packard Enterprise Development Lp | Dataflow consistency verification |
CN106789697B (zh) * | 2016-12-01 | 2019-12-13 | 北京锐安科技有限公司 | 一种提高大批量网络流表老化效率的方法及装置 |
US10200922B2 (en) * | 2017-06-09 | 2019-02-05 | Space Systems/Loral, Llc | Satellite network switching |
JP2020005051A (ja) * | 2018-06-26 | 2020-01-09 | 富士通株式会社 | 制御プログラム、制御装置、及び制御方法 |
CN112134806B (zh) * | 2020-09-30 | 2022-04-01 | 新华三大数据技术有限公司 | 一种流表老化时间调整方法、装置及存储介质 |
CN114553602B (zh) * | 2022-04-25 | 2022-07-29 | 深圳星云智联科技有限公司 | 一种软硬生命老化控制方法及装置 |
CN114915587B (zh) * | 2022-05-10 | 2023-12-22 | 深圳星云智联科技有限公司 | 流表老化管理方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370016A (zh) * | 2008-10-17 | 2009-02-18 | 成都市华为赛门铁克科技有限公司 | 一种数据流表的老化方法、装置和系统 |
US20130013598A1 (en) * | 2009-01-30 | 2013-01-10 | Juniper Networks, Inc. | Managing a flow table |
WO2014040240A1 (zh) * | 2012-09-12 | 2014-03-20 | 华为技术有限公司 | 一种在线计费方法、设备及网络系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702680B (zh) * | 2009-11-26 | 2011-12-28 | 福建星网锐捷网络有限公司 | 媒体接入控制地址的老化方法、装置和通信设备 |
CN102710448B (zh) * | 2012-06-12 | 2015-05-20 | 清华大学 | Savi交换机过滤表生存期参数自适应调整方法 |
CN102780641B (zh) * | 2012-08-17 | 2015-07-08 | 北京傲天动联技术股份有限公司 | 快速转发引擎的流表老化方法、装置以及交换机 |
-
2014
- 2014-09-10 CN CN201410457670.6A patent/CN105407073A/zh not_active Withdrawn
- 2014-12-23 US US15/510,472 patent/US20170289004A1/en not_active Abandoned
- 2014-12-23 WO PCT/CN2014/094638 patent/WO2016037442A1/zh active Application Filing
- 2014-12-23 EP EP14901469.8A patent/EP3193483B1/en not_active Not-in-force
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101370016A (zh) * | 2008-10-17 | 2009-02-18 | 成都市华为赛门铁克科技有限公司 | 一种数据流表的老化方法、装置和系统 |
US20130013598A1 (en) * | 2009-01-30 | 2013-01-10 | Juniper Networks, Inc. | Managing a flow table |
WO2014040240A1 (zh) * | 2012-09-12 | 2014-03-20 | 华为技术有限公司 | 一种在线计费方法、设备及网络系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897624A (zh) * | 2016-04-01 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种客户端、流表配置管理的方法和系统 |
CN113114570A (zh) * | 2020-01-13 | 2021-07-13 | 阿里巴巴集团控股有限公司 | 流表项的控制方法、装置及系统 |
CN113114570B (zh) * | 2020-01-13 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 流表项的控制方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20170289004A1 (en) | 2017-10-05 |
WO2016037442A1 (zh) | 2016-03-17 |
EP3193483A4 (en) | 2017-08-16 |
EP3193483B1 (en) | 2019-02-27 |
EP3193483A1 (en) | 2017-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105407073A (zh) | 一种基于开放流OpenFlow协议的流表老化方法、设备和系统 | |
US11469949B2 (en) | Hierarchical configuration of networked communication devices | |
CN108282342B (zh) | 计费管理方法、用户面功能实体以及控制面功能实体 | |
CN103209439B (zh) | 一种数据流量监控的方法、装置和设备 | |
Kam et al. | Age of information under random updates | |
CN105684382A (zh) | 报文的控制方法、交换机及控制器 | |
CN101841436B (zh) | Ipfix服务器性能的测试方法、装置和系统 | |
US20200220782A1 (en) | Network topology snapshots | |
CN103684923A (zh) | 一种丢包测量的方法及网络设备 | |
WO2016086542A1 (zh) | 一种传输报文的方法及装置、计算机存储介质 | |
CN102984035A (zh) | 网络数据丢包率的环回测试方法及系统 | |
CN103416022A (zh) | 分布式路由器/交换机架构中的服务中吞吐量测试 | |
CN107770754A (zh) | 一种通知发送方法、装置和系统 | |
US9203759B2 (en) | Switch state reporting | |
CN109547288A (zh) | 一种协议无关转发网络可编程流测量方法 | |
CN102984083A (zh) | 队列管理方法及装置 | |
CN102404152B (zh) | 识别应答报文的方法及设备 | |
US20160182177A1 (en) | Techniques for synchronized execution of a command at network fabric nodes | |
CN107566143B (zh) | 一种纵向堆叠发现方法和装置 | |
CN102685014B (zh) | 用于测量业务流的性能指标的方法和发送端设备 | |
CN104683288A (zh) | 消息续传方法和装置 | |
EP4142422A1 (en) | Method and apparatus for session audit for control and user plane separation | |
CN113518017B (zh) | 一种网络状态分析方法、装置、设备及机器可读存储介质 | |
CN104539528A (zh) | 多核通信设备及其与radius服务器间报文交互方法 | |
EP3223478A1 (en) | Packet processing method and device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160316 |
|
WW01 | Invention patent application withdrawn after publication |