CN108512766B - 一种OpenFlow交换机流表调节方法 - Google Patents
一种OpenFlow交换机流表调节方法 Download PDFInfo
- Publication number
- CN108512766B CN108512766B CN201810255273.9A CN201810255273A CN108512766B CN 108512766 B CN108512766 B CN 108512766B CN 201810255273 A CN201810255273 A CN 201810255273A CN 108512766 B CN108512766 B CN 108512766B
- Authority
- CN
- China
- Prior art keywords
- flow table
- idle
- table entry
- resource
- calculating
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/028—Dynamic adaptation of the update intervals, e.g. event-triggered updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种OpenFlow交换机流表调节方法,包括以下步骤:对网络的数据流进行初始化并设置参数初始值;控制器获取本地流表项的最大存储量和活动流表项的数目;计算活动流表项占比;建立数据包长度独立分布模型;计算流表项的时间间隔长度;计算网络数据流平均带宽及数据流个数;设定流表项默认Tidle并更新网络平均带宽及数据流个数;计算packet‑in消息数量、流表资源代价、控制器资源代价、流表资源偏好度和计算资源偏好度;当活动流表项占比过高,设置优先级低的流表项idle_timeout值为零并对该流表项进行删除;当活动流表项占比在预设范围内时,控制器对流表进行相应处理。本发明有实现网络数据流高效传输的优点。
Description
技术领域
本发明涉及网络技术应用领域,具体涉及一种OpenFlow交换机流表调节方法。
背景技术
目前互联网已经大型数据中心中的巨大网络流量给SDN网络的数据转发平面带来了巨大的压力,复杂多样的新型业务对网络单点转发能力的要求也越来越高;另外由于OpenFlow交换机中的流表大部分是由三态内容寻址存储器(Ternary contentaddressable memory,TCAM)存储的,由于受到TCAM硬件容量和价格的限制,现有的交换机只有大约1000条流表项,流表资源有限。当数据流到达交换机节点时,能否分配到流表资源,直接决定了该数据能否正常转发,为了保证数据流能够分配到流表资源,当流表资源紧缺时,需要对流表项进行删除。因此,为了提高OpenFlow交换机数据转发能力,合理利用流表资源,需要更高效的流表匹配方法和更合理的流表生存时间。
有限的流表资源和计算资源会成为网络发展的瓶颈。当数据流到达交换机节点时,能否分配到流表资源,直接决定了该数据流能否正常转发。为了保证数据流能够分配到流表资源,当流表资源紧缺时,需要对流表项进行删除。
目前的研究人员针对提高SDN数据平面工作效率和资源利用方面也做了相应的研究。李向文设计了流表关联度算法。段通提出统一描述资源的方法。蔡立军等提出了一种TCAM空间划分和规则压缩相结合的方法。Ma等提出了一种分布式的流表存储架构。黎进都提出了基于OpenFlow的状态行为转发算法。Xie提出一种流表资源和控制器资源间的动态平衡方法。Zarek等人在实际网络数据的基础上通过实验发现了idle_timeout值与流表资源利用率之间的关系。Kim等人通过预测数据流动态调整交换机流表项的idle_timeout值。
上述方法均存在以下缺点:都没有定量分析当前网络运行状态和计算资源、流表资源使用情况,也没有考虑不同流的特征对流表项的需求情况,难以根据实际的网络情况动态调整流表项的生存时间和优先级,达不到提高流表项利用率的效果,无法实现网络中数据流的高效正常传输。
发明内容
本发明的目的是提供一种能动态调整流表项idle_timeout值,实现网络中数据流高效正常传输的OpenFlow交换机流表调节方法。
为实现上述目的,本发明采用了如下技术方案:所述的一种OpenFlow交换机流表调节方法,包括以下步骤:
步骤(1):对网络的数据流进行初始化,并设置负指数分布参数的初始值,以及处理一条packet-in消息的计算资源消耗的初始值;
步骤(2):控制器在设定的时间周期内获取OpenFlow交换机中流表项最大存储量和活动流表项的数目;
步骤(3):计算活动流表项占比;
步骤(4):分析网络流量情况,根据网络的ON/OFF模型,建立数据包长度独立分布模型;
步骤(5):计算流表项的时间间隔长度;
步骤(6):控制器查询相应端口以及对应数据流的状态信息,并计算网络数据流平均带宽及数据流个数;
步骤(7):当数据流到达时,设定流表项默认Tidle,并更新网络平均带宽及数据流个数,其中Tidle为交换机流表项idle_timeout值;
步骤(8):计算packet-in消息数量;
步骤(9):根据网络流的特性,计算流表资源代价;
步骤(10):计算控制器资源代价;
步骤(11):计算流表资源偏好度和计算资源偏好度;
步骤(12):根据控制器计算代价和资源代价,计算流表项idle_timeout值,并求取其最小值;
步骤(13):如果活动流表项占比过高,则设置优先级低的流表项的idle_timeout值为零,并对idle_timeout值为零的流表项进行删除;
步骤(14):接着重新计算活动流表项占比,并重新判断活动流表项占比是否过高,当活动流表项占比过高时,跳转到步骤(13),当活动流表项占比在预设安全范围内时,跳转到步骤(15);
步骤(15):控制器下发flow-mod消息,对流表进行相应处理。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(3)中,活动流表项占比的计算公式具体为:
其中,ξ为活动流表项占比,m为当前OpenFlow交换机中的活动流表项数目,M为OpenFlow交换机本地流表项的最大存储量。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(4)中,数据包长度独立分布模型的具体计算公式为:
其中,k,τ,α,是Pareto分布的参数,{p1,p2...pi...pn}为数据包长度。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(5)中,流表项的时间间隔长度的具体计算公式为:
其中,λ是非负参数,{t1,t2...ti...tn}为流表项的时间间隔长度。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(8)中,packet-in消息数量的具体计算公式为:
其中,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(9)中,流表资源代价的具体计算公式为:
其中,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(10)中,控制器资源代价的具体计算公式为:
其中,cost为处理一条packet-in消息的计算资源消耗,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(11)中,所述流表资源偏好度的具体计算公式为:
所述计算资源偏好度的具体计算公式为:
其中,β为计算资源偏好度,g(.)为资源偏好度定义函数,n为数据包个数,r为数据流个数,p为数据流需求带宽,d为数据流平均带宽。
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(12)中,流表项idle_timeout值的具体计算公式为:
进一步地,前述的一种OpenFlow交换机流表调节方法,其特征在于:在步骤(12)中,流表项idle_timeout值的最小值的具体计算公式为:
Tidle=argmin{Z(t,Tidle)|Tidle>0}
其中,t为流表项时间间隔,Tidle为交换机流表项idle_timeout值。
通过上述技术方案的实施,本发明的有益效果是:(1)根据实时监控的网络流量情况,基于不同流的特性动态设置流表项的idle_timeout值,在最小化控制器计算负载的前提下,在分配交换机流表资源时设定合理的idle_timeout值,以达到空闲流表项及时删除,提高活动流表项的命中率,实现流表资源的利用率最大化,实现数据流的高效传输,提升网络的平均吞吐量;(2)在调节过程中,面对网络中突发流量时,控制活动流表项占比,使得交换机能够接受足够的突发流量匹配的流表项,保证突发流量能够高效正常转发。
附图说明
图1是本发明所述的一种OpenFlow交换机流表调节方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如图1所示,所述的一种OpenFlow交换机流表调节方法,包括以下步骤:
步骤(1):对网络的数据流进行初始化,并设置负指数分布参数的初始值,以及处理一条packet-in消息的计算资源消耗的初始值;
步骤(2):控制器在设定的时间周期内通过向OpenFlow交换机发送of.ofp_stats_request()消息来获取OpenFlow交换机中流表项最大存储量和活动流表项的数目;
步骤(3):计算活动流表项占比;所述活动流表项占比的计算公式具体为:
其中,ξ为活动流表项占比,m为当前OpenFlow交换机中的活动流表项数目,M为OpenFlow交换机本地流表项的最大存储量;
步骤(4):分析网络流量情况,根据网络的ON/OFF模型,建立数据包长度独立分布模型;所述数据包长度独立分布模型的具体计算公式为:
其中,k,τ,α,是Pareto分布的参数,{p1,p2...pi...pn}为数据包长度;
步骤(5):计算流表项的时间间隔长度;所述流表项的时间间隔长度的具体计算公式为:
其中,λ是非负参数,{t1,t2...ti...tn}为流表项的时间间隔长度;
步骤(6):控制器查询相应端口以及对应数据流的状态信息,并计算网络数据流平均带宽及数据流个数;
步骤(7):当数据流到达时,设定流表项默认Tidle,并更新网络平均带宽及数据流个数,其中Tidle为交换机流表项idle_timeout值;
步骤(8):计算packet-in消息数据;所述packet-in消息数量的具体计算公式为:
其中,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值;
步骤(9):根据网络流的特性,计算流表资源代价;流表项无效时间的长短,从侧面反映出该流表项利用率情况,无效时间越短说明利用率越高,产生的流表资源代价越少,用流表项无效时间表示资源代价;
所述流表资源代价的具体计算公式为:
其中,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值;
步骤(10):计算控制器资源代价;由于控制器计算资源消耗的主要原因是处理packet-in消息,packet-in消息数目直接决定了计算资源代价的大小,所述控制器资源代价的具体计算公式为:
其中,cost为处理一条packet-in消息的计算资源消耗,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值;
从定性分析可知,当流表项idle_timeout值Tidle变小时,产生的packet-in消息数目增多,计算资源代价将会增加。当idle_timeout值Tidle变大,计算资源代价会减少;
步骤(11):计算流表资源偏好度和计算资源偏好度;通过对网络数据流分析可知,网络中的大象流偏好控制器计算单元,而老鼠流流偏好流表资源;
所述流表资源偏好度的具体计算公式为:
所述计算资源偏好度的具体计算公式为:
其中,β为计算资源偏好度,g(.)为资源偏好度定义函数,n为数据包个数,r为数据流个数,p为数据流需求带宽,d为数据流平均带宽;
步骤(12):根据控制器计算代价和资源代价,计算流表项idle_timeout值,并求取其最小值;
所述流表项idle_timeout值的具体计算公式为:
所述流表项idle_timeout值的最小值的具体计算公式为:
Tidle=argmin{Z(t,Tidle)|Tidle>0}
其中,t为流表项时间间隔,Tidle为交换机流表项idle_timeout值;
步骤(13):如果活动流表项占比过高,则设置优先级低的流表项的idle_timeout值为零,并对idle_timeout值为零的流表项进行删除;
步骤(14):接着重新计算活动流表项占比,并重新判断活动流表项占比是否过高,当活动流表项占比过高时,跳转到步骤(13),当活动流表项占比在预设安全范围内时,跳转到步骤(15);
步骤(15):控制器下发flow-mod消息,对流表进行相应处理。
本发明的优点是:(1)根据实时监控的网络流量情况,基于不同流的特性动态设置流表项的idle_timeout值,在最小化控制器计算负载的前提下,在分配交换机流表资源时设定合理的idle_timeout值,以达到空闲流表项及时删除,提高活动流表项的命中率,实现流表资源的利用率最大化,实现数据流的高效传输,提升网络的平均吞吐量;(2)在调节过程中,面对网络中突发流量时,控制活动流表项占比,使得交换机能够接受足够的突发流量匹配的流表项,保证突发流量能够高效正常转发。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (1)
1.一种OpenFlow交换机流表调节方法,其特征在于:包括以下步骤:
步骤(1):对网络的数据流进行初始化,并设置负指数分布参数的初始值,以及处理一条packet-in消息的计算资源消耗的初始值;
步骤(2):控制器在设定的时间周期内获取OpenFlow交换机中流表项最大存储量和活动流表项的数目;
步骤(3):计算活动流表项占比;
其中,活动流表项占比的计算公式具体为:
其中,ξ为活动流表项占比,m为当前OpenFlow交换机中的活动流表项数目,M为OpenFlow交换机本地流表项的最大存储量;
步骤(4):分析网络流量情况,根据网络的ON/OFF模型,建立数据包长度独立分布模型;
其中,数据包长度独立分布模型的具体计算公式为:
其中,k,τ,α,是Pareto分布的参数,{p1,p2...pi...pn}为数据包长度;
步骤(5):计算流表项的时间间隔长度;
其中,流表项的时间间隔长度的具体计算公式为:
其中,λ是非负参数,{t1,t2...ti...tn}为流表项的时间间隔长度;
步骤(6):控制器查询相应端口以及对应数据流的状态信息,并计算网络数据流平均带宽及数据流个数;
步骤(7):当数据流到达时,设定流表项默认Tidle,并更新网络平均带宽及数据流个数,其中Tidle为交换机流表项idle_timeout值;
步骤(8):计算packet-in消息数量;
其中,packet-in消息数量的具体计算公式为:
其中,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值;
步骤(9):根据网络流的特性,计算流表资源代价;
其中,流表资源代价的具体计算公式为:
其中,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值;
步骤(10):计算控制器资源代价;
其中,控制器资源代价的具体计算公式为:
其中,cost为处理一条packet-in消息的计算资源消耗,t为流表项时间间隔,ε(.)为单位阶跃函数,Tidle为交换机流表项idle_timeout值;
步骤(11):计算流表资源偏好度和计算资源偏好度;
其中,所述流表资源偏好度的具体计算公式为:
所述计算资源偏好度的具体计算公式为:
其中,β为计算资源偏好度,g(.)为资源偏好度定义函数,n为数据包个数,r为数据流个数,p为数据流需求带宽,d为数据流平均带宽;
步骤(12):根据控制器计算代价和资源代价,计算流表项idle_timeout值,并求取其最小值;
其中,流表项idle_timeout值的具体计算公式为:
其中,流表项idle_timeout值的最小值的具体计算公式为:
Tidle=arg min{Z(t,Tidle)|Tidle>0}
其中,t为流表项时间间隔,Tidle为交换机流表项idle_timeout值;
步骤(13):如果活动流表项占比过高,则设置优先级低的流表项的idle_timeout值为零,并对idle_timeout值为零的流表项进行删除;
步骤(14):接着重新计算活动流表项占比,并重新判断活动流表项占比是否过高,当活动流表项占比过高时,跳转到步骤(13),当活动流表项占比在预设安全范围内时,跳转到步骤(15);
步骤(15):控制器下发flow-mod消息,对流表进行相应处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810255273.9A CN108512766B (zh) | 2018-03-26 | 2018-03-26 | 一种OpenFlow交换机流表调节方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810255273.9A CN108512766B (zh) | 2018-03-26 | 2018-03-26 | 一种OpenFlow交换机流表调节方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512766A CN108512766A (zh) | 2018-09-07 |
CN108512766B true CN108512766B (zh) | 2020-09-11 |
Family
ID=63378594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810255273.9A Active CN108512766B (zh) | 2018-03-26 | 2018-03-26 | 一种OpenFlow交换机流表调节方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512766B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978967B (zh) * | 2022-05-30 | 2024-02-06 | 桂林航天工业学院 | 基于流表项有效时间的sdn大象流侦测器实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337857A (zh) * | 2015-11-23 | 2016-02-17 | 北京邮电大学 | 一种基于软件定义网络的多路径传输方法 |
CN105681305A (zh) * | 2016-01-15 | 2016-06-15 | 北京工业大学 | 一种sdn防火墙系统及实现方法 |
CN106487756A (zh) * | 2015-08-28 | 2017-03-08 | 华为技术有限公司 | 一种检测交换机信息泄露的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954271B (zh) * | 2014-03-26 | 2018-11-30 | 国际商业机器公司 | Sdn网络中的数据包处理方法和装置 |
US9825850B2 (en) * | 2015-06-30 | 2017-11-21 | Industrial Technology Research Institute | Network controlling method and network controller |
-
2018
- 2018-03-26 CN CN201810255273.9A patent/CN108512766B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487756A (zh) * | 2015-08-28 | 2017-03-08 | 华为技术有限公司 | 一种检测交换机信息泄露的方法及装置 |
CN105337857A (zh) * | 2015-11-23 | 2016-02-17 | 北京邮电大学 | 一种基于软件定义网络的多路径传输方法 |
CN105681305A (zh) * | 2016-01-15 | 2016-06-15 | 北京工业大学 | 一种sdn防火墙系统及实现方法 |
Non-Patent Citations (1)
Title |
---|
数据流特征感知的交换机流表智能更新方法;姜立立等;《计算机应用》;20160710;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108512766A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196870B (zh) | 一种基于dpdk的流量动态负载均衡方法 | |
CN108509276B (zh) | 一种边缘计算环境中的视频任务动态迁移方法 | |
Li et al. | Software defined green data center network with exclusive routing | |
CN108616458B (zh) | 客户端设备上调度分组传输的系统和方法 | |
CN102915254B (zh) | 任务管理方法及装置 | |
CN101977162B (zh) | 一种高速网络的负载均衡方法 | |
Zhang et al. | Toward transcoding as a service: energy-efficient offloading policy for green mobile cloud | |
CN112511325B (zh) | 网络拥塞控制方法、节点、系统及存储介质 | |
CN114070758B (zh) | 一种基于sdn网络的流表优化方法及装置 | |
CN114866474B (zh) | 一种端网协同流量调度方法、装置、系统及存储介质 | |
Li et al. | EXR: Greening data center network with software defined exclusive routing | |
US20190042310A1 (en) | Technologies for power-aware scheduling for network packet processing | |
CN112188551B (zh) | 一种计算迁移方法、计算终端设备及边缘服务器设备 | |
CN109547541B (zh) | 雾计算环境下基于过滤及分配机制的节点低开销协作方法 | |
CN104301246A (zh) | 基于sdn的大流负载均衡转发方法及装置 | |
US20240089214A1 (en) | Data processing method and related device | |
CN108712305B (zh) | 一种基于子流流量值估计方法的Coflow调度方法 | |
CN108512766B (zh) | 一种OpenFlow交换机流表调节方法 | |
Yang et al. | Optimal task scheduling in communication-constrained mobile edge computing systems for wireless virtual reality | |
CN115878260A (zh) | 一种低碳自适应云主机任务调度系统 | |
Iqbal et al. | Instant queue occupancy used for automatic traffic scheduling in data center networks | |
WO2023231897A1 (zh) | 数据传输方法、发送服务器、接收服务器及存储介质 | |
Xu et al. | An adaptive flow table adjustment algorithm for SDN | |
WO2020082839A1 (zh) | 报文处理方法、相关设备及计算机存储介质 | |
CN115604311B (zh) | 一种面向服务网络的云端融合计算系统及自适应路由方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 210003 Gulou District, Jiangsu, Nanjing new model road, No. 66 Applicant after: NANJING University OF POSTS AND TELECOMMUNICATIONS Address before: 210023 Nanjing University of Posts and Telecommunications, 9 Ya Dong, Wen Yuan Road, new town, Suzhou, Jiangsu. Applicant before: NANJING University OF POSTS AND TELECOMMUNICATIONS |
|
GR01 | Patent grant | ||
GR01 | Patent grant |