CN104811384B - 一种多级流表优先级调整方法 - Google Patents

一种多级流表优先级调整方法 Download PDF

Info

Publication number
CN104811384B
CN104811384B CN201510220003.0A CN201510220003A CN104811384B CN 104811384 B CN104811384 B CN 104811384B CN 201510220003 A CN201510220003 A CN 201510220003A CN 104811384 B CN104811384 B CN 104811384B
Authority
CN
China
Prior art keywords
flow table
priority
interchanger
adjustment method
level adjustment
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.)
Active
Application number
CN201510220003.0A
Other languages
English (en)
Other versions
CN104811384A (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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201510220003.0A priority Critical patent/CN104811384B/zh
Publication of CN104811384A publication Critical patent/CN104811384A/zh
Application granted granted Critical
Publication of CN104811384B publication Critical patent/CN104811384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种多级流表优先级调整方法,其具体实现过程为:首先openflow交换机将流表的匹配情况封装成信息,控制器查询到该统计信息;根据该统计信息,控制器通过规则库修改已有流表的优先级,并向交换机更新流表,使交换机的流表能够与已有数据包的匹配信息吻合。该多级流表优先级调整方法和现有技术相比,有效增强流表匹配域配置的灵活性,加快流表匹配的速度,提高基于流表转发数据包的效率,实用性强,易于推广。

Description

一种多级流表优先级调整方法
技术领域
本发明涉及计算机技术领域,具体地说是一种多级流表优先级调整方法。
背景技术
近年来,随着云计算和大数据时代的来临,软件定义网络(SDN)逐渐被学术界和产业界所关注。在SDN领域中,数据层、控制层,以及应用层的三层构架体系逐渐被人们所接受,特别是,openflow协议逐渐成为公认的南向接口协议。Openflow协议是一个典型的交换机设备规范协议,它规定了openflow交换机的结构以及遵守的规则。
每个 OpenFlow 交换机的处理单元由流表构成,每个流表由许多流表项组成,流表项则代表转发规则。进入交换机的数据包通过查询流表来取得对应的操作。为了提升流量的查询效率,目前的流表查询通过多级流表和流水线模式来获得对应操作。流表项主要由匹配字段(match fields)、计数器(counters)和操作(instructions)等3 部分组成。匹配字段的结构包含很多匹配项,涵盖了链路层、网络层和传输层大部分标识。
随着OpenFlow 规约的不断更新,VLAN,MPLS 和IPv6 等协议也逐渐扩展到OpenFlow 标准当中。由于OpenFlow 交换机采取流的匹配和转发模式,因此在OpenFlow 网络中将不再区分路由器和交换机,而是统称为OpenFlow 交换机。另外,计数器用来对数据流的基本数据进行统计,操作则表明了与该流表项匹配的数据包应该执行的下一步操作。
如图1所示,OpenFlow交换机中,所有的转发规则都被组织在不同的OpenFlow流表中,而属于同一个流表中的规则,则按照相应的优先级顺序进行匹配。OpenFlow交换机中可以包含一个或者多个流表,这些流表被从0开始依次编号。
当数据包进入交换机后,将从流表0开始依次匹配,在后续处理中流表可以按次序从小到大越级跳转,但不能从某一流表向前跳转至编号更小的流表。流表项将以优先级高低的顺序与数据包进行匹配,当数据包成功匹配到一条流表项后,会首先更新该流表项对应的计数器记录的统计数据(例如发生成功匹配的数据包数量和总字节数等),然后根据流表项中的指令进行相应操作(例如跳转至后续的某一流表继续处理、修改或者立即执行该数据包对应的动作集合等)。当数据包已经处于最后一个流表时,其对应的动作集合(Action Set)中的所有动作指令将被执行(例如转发至某一端口、修改数据包某一字段、丢弃数据包等)。
多流表流水线处理的架构和流程能够有效地提升流表处理效率,但它也使得交换机的流表匹配时延增加,同时提高了数据流量生成及维护的算法复杂度。基于此,现提供一种加快流表匹配的速度的多级流表优先级调整方法。
发明内容
本发明的技术任务是针对在现有技术的不足,提供一种多级流表优先级调整方法。
本发明的技术方案是按以下方式实现的,该一种多级流表优先级调整方法,具体过程为:首先openflow交换机将流表的匹配情况封装成信息,控制器查询到该统计信息;根据该统计信息,控制器通过规则库修改已有流表的优先级,并向交换机更新流表,使交换机的流表能够与已有数据包的匹配信息吻合。
所述流表的匹配情况是指流表中的计数器记录的各个流表匹配数据包的个数,匹配数据包越多的流表优先级越高。
所述优先级修改规则包括以下内容:
一、将优先级的数字区间设置为[0,100],划分为5个模糊等级:随意项、一般、重要、十分重要、紧急,每个等级具有20个数字项,数字越高优先级越高;
二、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过50时,该流表的优先级加1;
三、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量不超过10时,该流表的优先级减1;
四、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过10,不超过50时,该流表的优先级不变;
五、当某一流表在某一模糊等级中达到最大值或最小值就不再变化时,确保该流表的优先级在某一等级的区间内。
基于上述优先级修改规则,该方法的具体实现过程为:
控制器给交换机下发流表时,各个流表的优先级根据规则一手动给出;
当数据包进入交换机后,计数器记录各个流表的匹配情况,控制器根据规则二、三、四、五组成的优先级规则库,对现有的流表优先级进行调整;
当新的数据包进入交换机时,数据包根据新的流表进行数据匹配和转发。
本发明与现有技术相比所产生的有益效果是:
本发明的一种多级流表优先级调整方法能够增强流表匹配域配置的灵活性,加快流表匹配的速度,提高基于流表转发数据包的效率和速度,实用性强,易于推广。
附图说明
附图1是OpenFlow交换机中进入流水线处理数据包过程图。
附图2是本发明的多级流表优先级调整流程图。
具体实施方式
下面结合附图对本发明所提供的一种多级流表优先级调整方法作以下详细说明。
针对现有的多流表流水线处理方式,当数据包进入交换机之后,将从流表0开始依次匹配,但不能从某一流表向前跳转至编号更小的流表,并且流表项将以优先级高低的顺序与数据包进行匹配。可以看出,流表中的匹配字段和优先级共同决定了唯一的流表项。同时,匹配字段源于数据包的关键字,而优先级则被控制器下发到交换机时确定,优先级在交换机内无法改变,如果在数据转发过程中提高有价值流表的优先级,这肯定会提高交换机内流表的匹配速度,本发明提出一种多流表优先级的自动调整方法,该方法采用划分等级的方式,防止优先级较高的流表过于集中、单一。
事实表明,与数据包匹配越多的流表越有价值,通过流表中的计数器可以方便记录各个流表匹配数据包的个数,如果匹配数据包越多的流表优先级越高,对于提高交换机数据转发速度是有帮助的。
如附图2所示,该方法的具体过程为:首先openflow交换机将流表的匹配情况(计数器信息)封装成信息,控制器通过read-state信息查询到统计信息,然后控制器通过规则库修改已有流表的优先级,并向交换机更新流表。至此,交换机的流表能够与已有数据包的匹配信息吻合,更加有利于提高数据包的转发速度。
所述流表的匹配情况是指流表中的计数器记录的各个流表匹配数据包的个数,匹配数据包越多的流表优先级越高。
所述优先级修改规则包括以下内容:
规则一:优先级的数字区间为[0,100],划分为5个模糊等级(随意项,一般,重要,十分重要,紧急),那么每个等级具有20个数字项,数字越高优先级越高。数字0用于table-miss的行为。
规则二:当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过50时,该流表的优先级加1。
规则三:当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量不超过10时,该流表的优先级减1。
规则四:当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过10,不超过50时,该流表的优先级不变。
规则五:确保流表的优先级在某一等级的区间内,除非有特殊情况使之升级或者降级。那么,某一流表在某一模糊等级中最多达到最大值或最小值就不再变化。
基于上述优先级修改规则,该方法的具体实现过程为:
控制器给交换机下发流表时,各个流表的优先级根据规则一手动给出;
当数据包进入交换机后,计数器记录各个流表的匹配情况,控制器根据规则二、三、四、五组成的优先级规则库,对现有的流表优先级进行调整;
当新的数据包进入交换机时,数据包根据新的流表进行数据匹配和转发。
除说明书所述的技术特征外,均为本专业技术人员的公知技术。

Claims (4)

1.一种多级流表优先级调整方法,其特征在于,具体过程为,首先openflow交换机将流表的匹配情况封装成信息,控制器查询到该封装信息;根据该封装信息,控制器通过规则库修改已有流表的优先级,并向交换机更新流表,使交换机的流表能够与已有数据包的匹配信息吻合。
2.根据权利要求1所述的一种多级流表优先级调整方法,其特征在于,所述流表的匹配情况是指流表中的计数器记录的各个流表匹配数据包的个数,匹配数据包越多的流表优先级越高。
3.根据权利要求1或2所述的一种多级流表优先级调整方法,其特征在于,优先级修改规则包括以下内容:
一、将优先级的数字区间设置为[0,100],划分为5个模糊等级:随意项、一般、重要、十分重要、紧急,每个等级具有20个数字项,数字越高优先级越高;
二、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过50时,该流表的优先级加1;
三、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量不超过10时,该流表的优先级减1;
四、当交换机转发100个数据包,某流表中计数器记录的匹配数据包数量超过10,不超过50时,该流表的优先级不变;
五、当某一流表在某一模糊等级中达到最大值或最小值就不再变化时,确保该流表的优先级在某一等级的区间内。
4.根据权利要求3所述的一种多级流表优先级调整方法,其特征在于,基于上述优先级修改规则,该方法的具体实现过程为:
控制器给交换机下发流表时,各个流表的优先级根据规则一手动给出;
当数据包进入交换机后,计数器记录各个流表的匹配情况,控制器根据规则二、三、四、五组成的优先级规则库,对现有的流表优先级进行调整;
当新的数据包进入交换机时,数据包根据新的流表进行数据匹配和转发。
CN201510220003.0A 2015-05-04 2015-05-04 一种多级流表优先级调整方法 Active CN104811384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510220003.0A CN104811384B (zh) 2015-05-04 2015-05-04 一种多级流表优先级调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510220003.0A CN104811384B (zh) 2015-05-04 2015-05-04 一种多级流表优先级调整方法

Publications (2)

Publication Number Publication Date
CN104811384A CN104811384A (zh) 2015-07-29
CN104811384B true CN104811384B (zh) 2018-01-16

Family

ID=53695893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510220003.0A Active CN104811384B (zh) 2015-05-04 2015-05-04 一种多级流表优先级调整方法

Country Status (1)

Country Link
CN (1) CN104811384B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227495B (zh) * 2015-10-29 2018-08-21 北京邮电大学 用于软件定义网络的转发规则配置方法及装置
CN105915465B (zh) * 2016-06-30 2020-04-21 华为技术有限公司 BGP flow-spec表优先级调整的方法、设备及系统
CN107786407B (zh) * 2016-08-27 2019-11-15 南京理工大学 一种利用sdn技术解决环形网络链路断接的方法
CN106534095A (zh) * 2016-10-27 2017-03-22 成都知道创宇信息技术有限公司 一种waf安全规则的快速匹配方法
CN107920024B (zh) * 2017-10-11 2020-08-14 中国电子科技集团公司第三十研究所 一种sdn控制器动态流表管理方法
CN110535773B (zh) * 2019-09-05 2022-02-01 烽火通信科技股份有限公司 一种多重虚拟流表的实现方法及系统
CN113364794B (zh) * 2021-06-16 2022-03-15 浪潮云信息技术股份公司 一种基于Openflow检查服务器的安全通信方法
CN116886364A (zh) * 2023-07-17 2023-10-13 武汉恒信永合电子技术有限公司 一种sdn交换机运行方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580355B2 (en) * 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
CN104168203A (zh) * 2014-09-03 2014-11-26 上海斐讯数据通信技术有限公司 一种基于流表的处理方法及系统
CN104252504A (zh) * 2013-06-29 2014-12-31 华为技术有限公司 数据查询方法、设备和系统
CN104518970A (zh) * 2014-12-12 2015-04-15 北京智谷睿拓技术服务有限公司 流表更新方法、装置及控制器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580355B2 (en) * 2003-08-25 2009-08-25 Integrated Device Technology, Inc. Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
CN104252504A (zh) * 2013-06-29 2014-12-31 华为技术有限公司 数据查询方法、设备和系统
CN104168203A (zh) * 2014-09-03 2014-11-26 上海斐讯数据通信技术有限公司 一种基于流表的处理方法及系统
CN104518970A (zh) * 2014-12-12 2015-04-15 北京智谷睿拓技术服务有限公司 流表更新方法、装置及控制器

Also Published As

Publication number Publication date
CN104811384A (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
CN104811384B (zh) 一种多级流表优先级调整方法
US20190245772A1 (en) Flow entry configuration method, apparatus, and system
CN104348716B (zh) 一种报文处理方法及设备
CN104580027B (zh) 一种OpenFlow报文转发方法及设备
CN103379039B (zh) 一种用于流统计的方法、装置及系统
CN105871602B (zh) 一种统计流量的控制方法、装置和系统
CN104158745B (zh) 一种实现数据包转发的方法及系统
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
CN103888313B (zh) 一种预测流表项的最优超时时间的方法
CN101247308A (zh) 基于网络处理器实现IPv6穿越IPv4的隧道报文处理方法
CN106936715A (zh) 虚拟机报文控制方法及装置
JPWO2013133400A1 (ja) 制御装置、通信システム、スイッチ制御方法及びプログラム
CN103763198B (zh) 一种数据包分类方法
CN106559330A (zh) 一种基于sdn的动态路径规划方法
CN105099721B (zh) 维护组播成员的方法及设备
CN105812340A (zh) 一种虚拟网络访问外网的方法和装置
CN108270699A (zh) 报文处理方法、分流交换机及聚合网络
CN106059942A (zh) 一种sdn网络中基于负载预测的流量控制方法
CN101789949B (zh) 一种实现负荷分担的方法和路由设备
CN107948087A (zh) 一种负载均衡的方法及设备
JP2015533045A (ja) 通信システム、通信方法、情報処理装置、通信制御方法及びプログラム
CN106031104A (zh) 数据报文的转达方法、装置及设备
CN104734905B (zh) 检测数据流的方法及装置
CN105471756B (zh) 一种数据包处理方法及装置
CN107995121B (zh) 基于通配符的软件定义网络中流量统计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 250100 Ji'nan province hi tech Zone, Sun Village Branch Road, No. 2877

Applicant after: Shandong beyond CNC electronic Limited by Share Ltd

Address before: 250100 Ji'nan province hi tech Zone, Sun Village Branch Road, No. 2877

Applicant before: Chaoyue Digital Controlling Electronic Co., Ltd., Shandong Prov.

CB02 Change of applicant information
CB03 Change of inventor or designer information

Inventor after: Wu Dengyong

Inventor after: Zhong Chaoqun

Inventor after: Chen Naikuo

Inventor after: Ren Hongwei

Inventor before: Zhong Chaoqun

Inventor before: Wu Dengyong

Inventor before: Chen Naikuo

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant