CN107920024B - 一种sdn控制器动态流表管理方法 - Google Patents

一种sdn控制器动态流表管理方法 Download PDF

Info

Publication number
CN107920024B
CN107920024B CN201710940524.2A CN201710940524A CN107920024B CN 107920024 B CN107920024 B CN 107920024B CN 201710940524 A CN201710940524 A CN 201710940524A CN 107920024 B CN107920024 B CN 107920024B
Authority
CN
China
Prior art keywords
flow table
priority
flow
entry
table 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.)
Active
Application number
CN201710940524.2A
Other languages
English (en)
Other versions
CN107920024A (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.)
CETC 30 Research Institute
Original Assignee
CETC 30 Research Institute
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 CETC 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CN201710940524.2A priority Critical patent/CN107920024B/zh
Publication of CN107920024A publication Critical patent/CN107920024A/zh
Application granted granted Critical
Publication of CN107920024B publication Critical patent/CN107920024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种SDN控制器动态流表管理方法,通过周期性地对交换机中所有流表项的报文命中情况进行统计,对流表项的活跃度进行打分,基于得分动态地调整流表项的匹配优先级,优化报文在交换机中的查表匹配顺序,有效减少报文在查表过程中的平均匹配次数,降低交换机的计算负载,提高交换机的转发性能。

Description

一种SDN控制器动态流表管理方法
技术领域
本发明涉及一种基于OpenFlow协议的SDN控制器,尤其是涉及一种基于OpenFlow协议的SDN控制器动态流表管理方法。
背景技术
软件定义网络(Software Defined Networking,SDN)技术是一种打破了传统网络组织应用方式,具有逻辑上集中、控制与转发分离、接口开放和可编程等特点的全新的网络体系架构。OpenFlow协议是目前软件定义网络领域被标准化且广泛认可的南向接口协议之一,OpenFlow交换机将被大量应用在各种软件定义网络***中。
SDN控制器通过OpenFlow协议向交换机配置流表项时,可指定流表项在流表中的优先级,该优先级确定了流表项在流表中的匹配顺序,取值范围为0-65535,数据越大优先级越高。报文在某个流表中匹配时,从优先级最高的流表项开始匹配,直到匹配成功。
现有技术中,OpenFlow流表项优先级主要用作最长掩码匹配等对表项匹配顺序有明确需求的应用。当不存在匹配顺序需求时,优先级字段并未得到有效使用,通常被设置为固定的默认优先级,这时流表项在交换机中的匹配顺序是不确定的,这可能导致查表过程中的流表匹配顺序没有得到有效地优化。在许多基于软件查表的交换机***中,流表匹配通常只能顺序执行,若业务量较大的流表项的匹配顺序相对靠后,而业务量较小的流表项的匹配顺序相对靠前,则会导致交换机在查表过程中产生大量的匹配失败,增加了查表时的匹配次数,浪费交换机的计算资源,降低网络性能。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于OpenFlow协议的SDN控制器动态流表管理方法,通过周期性动态地调整安装在交换机中的流表项的优先级,优化报文在查表时的匹配顺序,减少报文在查表过程中的平均匹配次数,降低交换机的计算负载,提高网络的转发性能。
本发明解决其技术问题所采用的技术方案是:一种SDN控制器动态流表管理方法,包括如下步骤:
步骤一、遍历所有流表项,查询本统计周期T内各个流表项的报文命中数目;
步骤二、统计各个流表项在前5个统计周期以及整个生命周期中的报文命中数量C1-C6;
步骤三、按如下公式计算流表项活跃度C0:
C0=C1×a+(C2/2)×b+(C3/3)×c+(C4/4)×d+(C5/5)×e+(C6*T/t)*f,其中t为该流表项的总生存时间,a、b、c、d、e、f为加权系数,且a+b+c+d+e+f=1;
步骤四、根据C0将全部流表项从高到低排序;
步骤五、按从高到低的顺序遍历全部流表项,为每个流表项分配新的优先级;
步骤六、为流表活跃度更高的流表项设置更高优先级。
与现有技术相比,本发明的积极效果是:通过周期性地对交换机中所有流表项的报文命中情况进行统计,对流表项的活跃度进行打分,基于得分动态地调整流表项的匹配优先级,优化报文在交换机中的查表匹配顺序,有效减少报文在查表过程中的平均匹配次数,降低交换机的计算负载,提高交换机的转发性能。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为流表项优先级管理模块组成示意图。
图2为周期计时到期后更新流表项优先级的流程示意图。
具体实施方式
如图1所示,流表项优先级管理模块包括优先级初始化模块、流表项状态检测模块、优先级动态计算模块、优先级动态配置模块、计时模块。***通过周期性地对交换机中所有流表项的报文命中情况进行统计,根据报文命中频率对流表项的活跃度进行打分,得分较高的流表项活跃度较高,单位时间内命中的报文较多,为其设置更高的优先级,优化报文在交换机中的查表匹配顺序,减少查表过程中的匹配次数,提高交换机的转发性能。
流表项对表项匹配顺序没有明确需求。控制器为业务流创建流表项时,根据业务流的承载协议类型为其初始化一个优先级,初始化优先级关系应确保TCP≥UDP≥裸IP≥ICMP≥ARP/RARP≥其它协议,作为优选,取值关系为TCP=60000,UDP=50000,裸IP=40000,ICMP=30000,ARP/RARP=20000,其它协议=10000。
周期性地对交换机中所有流表项的报文命中情况进行统计,根据报文命中频率对流表项的活跃度进行打分,得分较高的流表项活跃度较高,单位时间内命中的报文较多,为其设置更高的优先级。SDN控制器向OpenFlow交换机配置流表项时,默认关联一个独立的Meter表项,然后通过MeterStat消息查询Meter表项的packet-in-count计数器,获得对应流表项的报文命中统计。
预设一个统计周期T,典型取值T=10s,每个周期通过上述统计方法得到流表项在本周期内命中的报文数量C,并根据之前的统计信息分别计算出当前周期、之前2个周期、之前3个周期、之前4个周期、之前5个周期和流表项全部生存周期中的报文命中数量C1、C2、C3、C4、C5和C6,对上述统计值进行加权累加,得到流表项的加权平均报文命中数C0,定义C0为流表项的活跃度,计算公式为:C0=C1×a+(C2/2)×b+(C3/3)×c+(C4/4)×d+(C5/5)×e+(C6*T/t)*f,其中t为该流表项的总生存时间。公式中a、b、c、d、e、f的值为加权权值,需确保a+b+c+d+e+f=1,具体取值比例可根据场景优化,作为优选,取a=0.4,b=0.2,c=0.15,d=0.1,e=0.1,f=0.05;
每个统计周期内,计算出全部流表项的活跃度,根据活跃度将流表项降序排列,然后按顺序分配递减的优先级,作为优选,可从60000开始分配,即活跃度最高的流表项优先级为60000,第二高的为59999,以此类推;对于活跃度一致的流表项,依次比较权利要求6中报文命中数量C1、C2、C3、C4、C5和C6,为命中数量更大的流表项分配更高的优先级,若两条流表项的活跃度和全部报文命中数量统计值都一致,则分配相同的优先级;
每个周期内,当流表项的优先级在控制器被更新后,通过Flow-mod消息中的ADD和DELETE_STRICT操作完成向交换机的实际配置动作。先添加具有新优先级的流表项,再删除具有旧优先级的流表项,确保业务流在流表项优先级调整过程中不受影响。
如图2所示,周期计时到期后的具体处理方法步骤为:
一、遍历所有流表项,通过Meter-statistics消息查询本周期内各个流表项的报文命中数目;二、根据本次查询的结果和历史查询结果,统计各个流表项在前5个统计周期以及整个生命周期中的报文命中数量C1-C6;三、计算流表项活跃度C0;四、根据最新计算的活跃度将全部流表项从高到低排序;五、按活跃度从高到低的顺序遍历全部流表项,第一个流表项分配新优先级60000,第二个流表项分配新优先级59999,以此类推,直到完成对所有流表项的遍历;六、将分配了新优先级的流表项配置进交换机,再将具有旧优先级的流表项删除。

Claims (5)

1.一种SDN控制器动态流表管理方法,其特征在于:包括如下步骤:
步骤一、遍历所有流表项,查询本统计周期T内各个流表项的报文命中数目;
步骤二、统计各个流表项在前5个统计周期以及整个生命周期中的报文命中数量C1-C6;
步骤三、按如下公式计算流表项活跃度C0:
C0=C1×a+(C2/2)×b+(C3/3)×c+(C4/4)×d+(C5/5)×e+(C6*T/t)*f,其中t为该流表项的总生存时间,a、b、c、d、e、f为加权系数,且a+b+c+d+e+f=1;
步骤四、根据C0将全部流表项从高到低排序;
步骤五、按从高到低的顺序遍历全部流表项,为每个流表项分配新的优先级,具体方法为:活跃度最高的流表项优先级为60000,第二高的为59999,以此类推;对于活跃度一致的流表项,依次比较报文命中数量C1、C2、C3、C4、C5和C6,为命中数量更大的流表项分配更高的优先级,若两条流表项的活跃度和全部报文命中数量统计值都一致,则分配相同的优先级;
步骤六、为流表活跃度更高的流表项设置更高优先级,具体方法为:通过Flow-mod消息中的ADD和DELETE_STRICT操作完成,先添加具有新优先级的流表项,再删除具有旧优先级的流表项。
2.根据权利要求1所述的一种SDN控制器动态流表管理方法,其特征在于:控制器为业务流创建流表项时,根据业务流的承载协议类型为其初始化一个优先级,初始化优先级关系应确保TCP≥UDP≥裸IP≥ICMP≥ARP/RARP≥其它协议。
3.根据权利要求2所述的一种SDN控制器动态流表管理方法,其特征在于:对于初始化优先级的取值,TCP=60000,UDP=50000,裸IP=40000,ICMP=30000,ARP/RARP=20000,其它协议=10000。
4.根据权利要求1所述的一种SDN控制器动态流表管理方法,其特征在于:各个流表项的报文命中数目的统计方法为:SDN控制器向OpenFlow交换机配置流表项时,默认关联一个独立的Meter表项,然后通过MeterStat消息查询Meter表项的packet-in-count计数器,获得对应流表项的报文命中数目。
5.根据权利要求1所述的一种SDN控制器动态流表管理方法,其特征在于:a=0.4,b=0.2,c=0.15,d=0.1,e=0.1,f=0.05。
CN201710940524.2A 2017-10-11 2017-10-11 一种sdn控制器动态流表管理方法 Active CN107920024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710940524.2A CN107920024B (zh) 2017-10-11 2017-10-11 一种sdn控制器动态流表管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710940524.2A CN107920024B (zh) 2017-10-11 2017-10-11 一种sdn控制器动态流表管理方法

Publications (2)

Publication Number Publication Date
CN107920024A CN107920024A (zh) 2018-04-17
CN107920024B true CN107920024B (zh) 2020-08-14

Family

ID=61895787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710940524.2A Active CN107920024B (zh) 2017-10-11 2017-10-11 一种sdn控制器动态流表管理方法

Country Status (1)

Country Link
CN (1) CN107920024B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768879B (zh) * 2018-04-26 2022-04-22 新华三信息安全技术有限公司 一种策略优先级调整方法和装置
CN108959573B (zh) * 2018-07-05 2022-07-15 京东方科技集团股份有限公司 基于桌面云的数据迁移方法、装置、电子设备以及存储介质
CN114257461B (zh) * 2022-03-01 2022-05-13 四川省商投信息技术有限责任公司 一种sdn交换机流表控制方法及装置
CN117240811A (zh) * 2023-08-30 2023-12-15 中科驭数(北京)科技有限公司 一种数据报文处理方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103220225A (zh) * 2012-05-21 2013-07-24 华为技术有限公司 报文处理方法及设备、***
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备
CN104219150A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 流表下发方法及装置
CN104811384A (zh) * 2015-05-04 2015-07-29 山东超越数控电子有限公司 一种多级流表优先级调整方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426789B (zh) * 2013-08-23 2017-08-11 新华三技术有限公司 软件定义网络中的转发设备控制方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103220225A (zh) * 2012-05-21 2013-07-24 华为技术有限公司 报文处理方法及设备、***
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备
CN104219150A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 流表下发方法及装置
CN104811384A (zh) * 2015-05-04 2015-07-29 山东超越数控电子有限公司 一种多级流表优先级调整方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于SDN的自适应流表调整算法";王勇等;《桂林电子科技大学学报》;20170430;第37卷(第2期);116-121 *

Also Published As

Publication number Publication date
CN107920024A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
CN107920024B (zh) 一种sdn控制器动态流表管理方法
US6988156B2 (en) System and method for dynamically tuning interrupt coalescing parameters
EP1941287B1 (en) Class-based bandwidth partitioning
US11483232B1 (en) Auto load balancing
US6889277B2 (en) System and method for dynamically tuning interrupt coalescing parameters
US10263919B1 (en) Buffer assignment balancing in a network device
JP2021536196A (ja) 輻輳制御方法及びネットワークデバイス
US6976256B2 (en) Pipeline processing type shaping apparatus and its method
US20230261993A1 (en) Congestion Control Method, Apparatus, and System, and Computer Storage Medium
US20220286402A1 (en) Method and apparatus for controlling data packet sending, model training method and apparatus, and system
US20070008888A1 (en) Direct lookup tables and extensions thereto for packet classification
US7397762B1 (en) System, device and method for scheduling information processing with load-balancing
CN107809385B (zh) 一种Packet-In消息的触发与控制方法
US10587536B1 (en) Buffer assignment balancing in a network device
CN116471238A (zh) 基于新型网络拥塞通告及速率调整策略的拥塞管理方法
CN104618261A (zh) 航空电子***网络内的重整形调度方法
CN114978967B (zh) 基于流表项有效时间的sdn大象流侦测器实现方法
Baklizi Stabilizing average queue length in active queue management method
CN113949550B (zh) 一种SDN环境下的DDoS攻击检测方法
CN110535773B (zh) 一种多重虚拟流表的实现方法及***
US9143453B2 (en) Relay apparatus and buffer control method
US11307773B1 (en) Memory-based power stabilization in a network device
WO2020095677A1 (ja) アクセス制御方法、アクセス制御装置、およびデータ処理装置
CN114079640A (zh) 一种数据处理方法、用户面功能及装置
Gupta et al. Reinforcement learning based routing for cognitive network on chip

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant