一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于SDN网络的流表优化方法及装置与流程

2022-02-20 22:58:00 来源:中国专利 TAG:
一种基于sdn网络的流表优化方法及装置
技术领域
:1.本发明属于通信网络
技术领域
:,具体涉及一种基于sdn网络的流表优化方法及装置。
背景技术
::2.软件定义网络(sdn)中的接口具有开放性,以控制层为逻辑中心,南向接口负责与数据层进行通信,北向接口负责与应用层进行通信,东西向接口负责多控制器之间的通信。最主流的南向接口cdpi采用的是openflow协议。openflow最基本的特点是基于流(flow)的概念来匹配转发规则,每一个交换机都维护一个流表(flowtable),依据流表中的转发规则进行转发,而流表的建立、维护和下发都是由控制器完成的。3.随着openflow协议的演变,单条流表项的开销极具增大。同时随着sdn在大规模网络和数据中心网络中的应用,使得网络中的并发数量庞大。流表数目显著增加。openflow协议通常采用的是支持通配查找,且能在一个时钟周期内输出查找结果的三态内容可寻址存储器(temarycontentaddressablememory,tcam)存储,但是受限制于目前的硬件技术,tcam存储器单比特存储成本高、能耗大、集成度低、容量有限,难以支持sdn网络的发展,成为了sdn网络发展路上的一大瓶颈。目前常用的解决方案包括以下几大类:4.1、压缩单个流表项存储宽度。在已知tcam存储大小一定的情况下,压缩单条流表项的存储大小是不错的选择。在sdn数据中心应用场景下可自定义流的标识头,进而压缩流表项存储大小,节省存储空间。但是这种方案增加了数据包标识头和流表项的压缩性能消耗,而且目前该方案仅支持数据中心下使用,可扩展性能较差、适用范围窄。5.2、设置流表项超时时间,管理流表使存储空间被有效地重用,即通过超时时间优化,以便同一流表可以支持更多的流。在openflow交换机流表项中有流表项的生存时间字段,该字段是流表项在交换机的生存时间主要判断依据,通过合理的设置超时时间可以最大化的保证流表资源的高效使用。流表项超时时间可以分为空闲超时(idle_timeout)和硬超时(hard_timeout),交换机会主动删除在空闲超时时间内未匹配任何数据包的流表项,所以空闲超时又称流表项被交换机移除的相对时间;如果流表项生存时间达到了设置的硬超时时间,在生存时间内即使是匹配了数据包但是到达了硬超时时间也会被交换机中删除,又称流表项被交换机移除的绝对时间。目前研究有基于lru算法管理流表的方法,采用先进先出的方式管理流表,当流表容量不足的时候暴力删除先入流表项。这个方式一定程度的缓解了流表丢失率,但是没有考虑到大流持续流量的影响,容易造成大流的截断,导致控制器大量重复的下发,增大了控制器负载。其次是基于timex算法的流表自适应管理方法,采用的是复杂的预测管理模型对每个流进行单独管理,为每一个流分配不同的超时时间,这个方法对于流表容量管理优化取得了不错的效果,但计算量激增也会带来很多控制器的性能问题。6.3、多流表,采用额外的硬件开销来缓解流表容量不足的问题。比如采用速度快的dram或者价格便宜的sram协助存储,将老鼠流放在dram或者sram单独管理,为大象流留出足够的空间存储,但这个方法增大了硬件开销,成本昂贵。技术实现要素:7.为解决上述问题,本发明提供了一种基于sdn网络的流表优化方法,本方法提出一种flda算法,包括网络流量区分模块和流表处理模块,基于sdn网络的流表优化方法包括以下步骤:8.s1.设置空间阈值st,判断流表空间占用率是否超过空间阈值st,若不是,则控制器下发的流表项固定最大超时时间为thard,若是,则进入步骤s2;9.s2.通过网络数据流量区分模块对流进行检测,判断流是否大于其链路上的平均流,若是,则将该流上传到控制器并执行步骤s3,若不是,则该流为老鼠流,且流表处理模块为老鼠流分配超时时间tms;10.s3.控制器判断接收到的流是否为第一次转发,若是,则设置超时时间为thard/2执行步骤s4,若不是,则验证该流是否有字段e执行步骤s5;11.s4.设置转化阈值,判断该流在超时时间thard/2内是否达到转化阈值,若达到,则该流是大象流,为该流添加字段e并分配超时时间tel1,若没有达到,则直接删除对应流表项,当作老鼠流处理;12.s5.若该流有字段e,则通过流表处理模块为其分配超时时间tel2,若该流没有字段e,则当做老鼠流处理。13.进一步的,链路的平均流σavg表示为:[0014][0015]其中,fi表示单位时间内通过该链路上的流量大小,n表示单位时间内该链路上流量总数目。[0016]进一步的,流表处理模块分配超时时间的计算公式表示为:[0017][0018]其中ωcount是流表项的计数器字段,tel表示大象流动态计算的超时时间,tms表示的是老鼠流的固定超时时间,δt是固定时间值,ε表示大象流超时增量系数,thard表示最大超时时间。[0019]进一步的,启用网络数据流量区分模块和流表处理模块后,若流表空间占用率下降到st/2以下,则交换机产生packet-in事件通知控制器停用网络数据流量区分模块与流表处理模块,且控制器新增流表项采用最大超时时间thard。[0020]进一步的,流表空间占用率=当前流表项存在总数/交换机流表总存储空间。[0021]进一步的,大象流在每次匹配后,其超时时间会增大,若流表处理模块计算得到的当前大象流的超时时间超过最大超时时间thard,则直接分配最大超时时间thard。[0022]一种基于sdn网络的流表优化装置,包括:[0023]流表空间监测模块,用于监测流表空间占用率是否超过设定的空间阈值,若超过,则启动网络数据流量区分模块,若没有超过,则启动固定超时时间分配模块;[0024]固定超时时间分配模块,用于根据流表空间监测模块的检测结果,对控制器下发的流表项分配固定的最大超时时间;[0025]网络数据流量区分模块,用于判断流是否大于其链路上的平均流,若是,则将该流上传到控制器,若不是,则判定该流为老鼠流,并启用流表处理模块;[0026]大象流标记模块,用于对网络数据流量区分模块上传到控制器的流进行筛选,为筛选出未标记的大象流添加字段e标识;[0027]流表处理模块,用于根据网络数据流量区分模块和大象流标记模块的判断结果,为不同类型的流计算并分配相应的超时时间。[0028]本发明的有益效果:[0029]本发明提出一种基于分类动态超时机制的flda算法,该算法包括网络数据流量区分模块和流表处理模块,在网络空闲时能为流表项提供最大生存时间,相对应的,流表空间达到阈值的同时,能够为大象流提供最大可接受代价内的动态超时时间,这个时间依据是来自于大象流的数据包持续量,使得大象流被截断的可能性降低以及流表项占用流表空间的无效时间减少,从而减轻控制器负载提升网络性能;同时,为老鼠流分配最短超时时间,即最短的流表空间占用无效时间,能够尽可能的保证流表空间的充裕,降低网络丢包率。附图说明[0030]图1为本发明的流表优化流程;[0031]图2为流表结构组成图。具体实施方式[0032]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0033]一种基于sdn网络的流表优化方法,主要是基于sdn网络的openflow流表实现功能,提出flda算法,其主要包括网络数据流量区分模块和流表处理模块两大处理模块,如图1所示,该方法包括以下步骤:[0034]s1、设置空间阈值st,判断流表空间占用率是否超过空间阈值st,若不是,则控制器下发的所有流表项固定最大超时时间为thard,不做额外处理,若是,则执行步骤s2;[0035]s2、通过网络数据流量区分模块对流进行检测,判断流是否大于当前链路的平均流,若是,则将该流上传到控制器并执行步骤s3,若不是,则该流为老鼠流,通过流表处理模块为老鼠流分配超时时间tms;[0036]具体地,网络数据流量区分模块会对链路上的所有流进行检测,只要是大于当前链路平均流的流都会被上传到控制器,这里面包括新流和已经筛选过的流;[0037]s3、控制器判断接收到的流是否为第一次转发,若是,则设置超时时间为thard/2执行步骤s4,若不是,则验证该流是否有字段e执行步骤s5;[0038]s4.设置转化阈值,判断该流在超时时间thard/2内是否达到转化阈值,若达到,则该流是大象流,为该流添加字段e并分配超时时间tel1,若没有达到,则直接删除对应流表项,当作老鼠流处理;[0039]s5.若该流有字段e,则通过流表处理模块为其分配超时时间tel2,若该流没有字段e,则当做老鼠流处理。[0040]在一实施例中,监听openflow流表空间占用率st,考虑交换机安装流表项时间和flda算法带来的计算耗时,把st设定为80%,即设置空间阈值为st=80%,当流表空间的占用率没有超过空间阈值时,控制器下发的每一个流表项都有一个固定的最大超时时间thard。[0041]具体地,流表空间占用率是通过控制器与交换机之间的交互来计算的,控制器每下发一个新的流表项,流表项存在总数加一;当交换机中,某条流表项因达到超时时间被删除时,交换机发送packet-in消息通知控制器,此时流表项存在总数减一,流表空间占用率=当前流表项存在总数/交换机流表总存储空间。[0042]具体地,本实施例中采用thard=1s,网络中流量,80%的流数据包之间间隔小于1s时间,所以1s可以满足绝大部分流的需求。[0043]当流表空间的占用率超过空间阈值时,启动flda算法的两大处理模块进行处理,首先通过网络数据流量区分模块筛选出当前网络环境中的大象流集合fel={f1,f2,……,fn},再采用流表处理模块为大象流动态分配超时时间。[0044]在一实施例中,因为大象流的持续时间相对于其它老鼠流而言较长且带宽占用更大,所以大象流的检测一般在现有研究当中认定,如果一条链路上的流量超过该链路的阈值,则该流极大可能是大象流。但是这个阈值在复杂网络情况下难以准确定义,所以在本发明中采用更加平稳的判断方式,即单位时间内该流大于该链路上的平均流大小则认定其可能是大象流。[0045]链路流平均占用比率公式如下:[0046][0047]其中,fi表示单位时间内通过该链路上的流量大小,n表示单位时间内该链路上流量数目,*表示乘积。[0048]通过上述公式可以计算出单位时间内该链路的平均流大小,通过控制器单位时间间隔对交换机端口轮询,找到疑似大象流并且上传控制器,控制器首先判断此流量是否第一次转发,即判断是否为新流,如果是第一次转发,则使用thard/2作为其超时时间,且持续等待,当同样流数据包再次到达且匹配成功,计数器增加,判断在超时时间内该流是否达到转化阈值数时,若达到,则上报控制器,控制器为该流增加大象流标识字段e,并且计算其动态超时时间下发至交换机。若在超时时间内未达到转化阈值数,则直接删除流表项。[0049]如果不是其第一次转发,即交换机中存在对应的流表项并匹配成功,则验证其是否有大象流标识字段e,若包含有字段e,则启动flda动态超时算法进行分配超时时间。[0050]具体地,当检测到大象流时,为每一个大象流计算可接受代价范围内的最大超时时间,相对应的对于老鼠流采用固定的δt超时时间。超时时间计算公式如下:[0051][0052]其中ωcount是流表项的计数器字段。在同一个流的数据包多次匹配时,计数器字段会依次上升。tel表示大象流动态计算的超时时间,tms表示的是老鼠流的固定超时时间。δt是固定时间值,ε表示大象流超时增量系数,thard表示最大超时时间。超时增量系数ε在本实施例当中取值为100,结合目前网络数据研究表明,老鼠流的显著特征是数据包间隔时间短,持续时间不长的特点,所以老鼠流的固定超时时间δt在本示例当中定义为5ms。[0053]优选地,启用网络数据流量区分模块和流表处理模块后,若流表空间占用率下降到st/2以下,则交换机产生packet-in事件通知控制器停用流量区分模块与流表处理模块,且控制器新增流表项采用最大超时时间thard。[0054]如图2所示,控制器下发流表项到交换机,流表项的组成包括了三大部分,包头域、计数器、动作表,包头域作为网络标识描述何种数据包与流表项匹配,计数器统计信息即记录匹配次数,动作表记录转发动作。在计数器字段是交换机对于流表匹配操作信息的收集,每当流表项被匹配一次,则计数器会改变其计数值,在此同时,可以通过每次匹配已知大象流,计算得到每一条大象流的动态超时时间并进行替换。[0055]大象流在每次匹配后数据量增大,其超时时间会增大,为了提升大象流的生存价值,减低流表项无效的生存时间,设定了一个门限值,即最大超时时间thard,如果大象流的超时时间超过门限值,则直接分配最大超时时间thard。[0056]本发明提出一种基于sdn网络的流表优化装置,包括:[0057]流表空间监测模块,用于监测流表空间占用率是否超过设定的空间阈值,若超过,则启动网络数据流量区分模块,若没有超过,则启动固定超时时间分配模块;[0058]固定超时时间分配模块,用于根据流表空间监测模块的检测结果,对控制器下发的流表项分配固定的最大超时时间;[0059]网络数据流量区分模块,用于判断流是否大于其链路上的平均流,若是,则将该流上传到控制器,若不是,则判定该流为老鼠流,并启用流表处理模块;[0060]大象流标记模块,用于对网络数据流量区分模块上传到控制器的流进行筛选,为筛选出未标记的大象流添加字段e标识;[0061]流表处理模块,用于根据网络数据流量区分模块和大象流标记模块的判断结果,为不同类型的流计算并分配相应的超时时间。[0062]优选地,大象流标记模块筛选出未标记的大象流并添加字段e的过程包括:[0063]判断控制器接收到的流是否为第一次转发,若是,则设置超时时间为thard/2;[0064]设置转化阈值,判断该流在超时时间thard/2内是否达到转化阈值,若达到,则该流是大象流,为该流添加字段e并分配超时时间tel,若没有达到,则直接删除对应流表项。[0065]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献