基于SDN的主被动结合自适应流量测量方法及装置与流程

文档序号:13577381阅读:148来源:国知局
基于SDN的主被动结合自适应流量测量方法及装置与流程

本发明涉及通信领域,具体涉及一种基于sdn的主被动结合自适应流量测量方法及装置。



背景技术:

随着电力通信网中承载业务的类型不断增多,网络规模不断增大,传统网络架构的电力通信网目前已经难以满足电力行业信息化的发展。软件定义网络(sdn)作为一种新的网络架构,将网络的数据层和控制层分离,通过集中化控制和提供开放控制接口,简化网络管理,支持网络服务的动态应用程序控制。sdn能够为电力通信网提供很大的优势:可以实现电力通信核心网的统一管控;网络资源虚拟化能最大程度利用电力网络基础设施;sdn技术能有效提高网络的安全防护能力等。为了方便网络的管理和业务需求,随时掌握整个网络的状态,对于网络中流量的状态需要有完整的了解。因此,在sdn的集中管控中,流量测量作为重要的一环,需要能够及时准确的反映出当前的网络流量状态,通常使用流量矩阵来表示整个网络的流量状态。目前已有一些针对sdn提出的流量测量方法,如opentm、flowsense等,但仍存在着一些问题:如需要向网络中注入很多探测流量导致开销过大,测量结果的准确性不足、测量实时性不强等等。



技术实现要素:

有鉴于此,本发明提供一种基于sdn的主被动结合自适应流量测量方法及装置,能够减缓流量测量的开销并提高测量的准确性和及时性。

一方面,本发明实施例提出一种基于sdn的主被动结合自适应流量测量方法,包括:

s1、构建流量矩阵tm,将矩阵值初始化为0,并构建一个活动流列表,每一个表项包含流源地址、流目标地址、xlast和tlast四个属性,初始为空,其中,xlast表示截至前一次测得的流量,tlast表示前一次测量的时间点;

s2、对于新流及活动流列表中的流,设置计时器周期轮询交换机进行主动流量测量,根据主动测量得到的值和所述活动流列表中对应的表项更新tm,其中,在主动测量的过程中根据自适应算法调整计时器的值,在新流产生时在所述活动流列表中创建该新流对应的表项;

s3、在流结束时采用被动测量,根据收到的交换机发送的消息和所述活动流列表中对应的表项更新tm,该交换机为该流转发路径经过的交换机,且该交换机具有测量该流传输流量功能。

另一方面,本发明实施例提出一种基于sdn的主被动结合自适应流量测量装置,包括:

构建单元,用于构建流量矩阵tm,将矩阵值初始化为0,并构建一个活动流列表,每一个表项包含流源地址、流目标地址、xlast和tlast四个属性,初始为空,其中,xlast表示截至前一次测得的流量,tlast表示前一次测量的时间点;

主动测量单元,用于对于新流及活动流列表中的流,设置计时器周期轮询交换机进行主动流量测量,根据主动测量得到的值和所述活动流列表中对应的表项更新tm,其中,在主动测量的过程中根据自适应算法调整计时器的值,在新流产生时在所述活动流列表中创建该新流对应的表项;

被动测量单元,用于在流结束时采用被动测量,根据收到的交换机发送的消息和所述活动流列表中对应的表项更新tm,该交换机为该流转发路径经过的交换机,且该交换机具有测量该流传输流量功能。

本发明实施例提供的基于sdn的主被动结合自适应流量测量方法及装置,首先构建并初始化流量矩阵tm、活动列表,然后对于活动的流和新流分别设置计时器进行主动测量,完成一次测量后,更新tm,然后采用自适应算法,重新确定下次主动测量的时间间隔;当一个流消失时,利用交换机会向控制器发送此流相关控制消息的机制,通过被动获取消息并读取消息里的值来更新tm,即本方案通过主被动测量相结合,自适应调整测量周期的方法,在控制器维持一个表示全网流量状态的流量矩阵,较好地平衡了流量感知的开销与准确度,适当减少了测量的开销,提高了流量速率感知的准确度,且能保证测量结果的及时性。

附图说明

图1为本发明基于sdn的主被动结合自适应流量测量方法一实施例的流程示意图;

图2为本发明基于sdn的主被动结合自适应流量测量装置一实施例的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先需要说明的是,本文中出现的交换机为电力通信网中流转发路径经过的交换机,且该交换机具有测量流传输流量的功能。

本发明针对基于sdn架构的电力通信网中的流量测量技术进行优化,为了实现基于sdn架构电力通信网络的流量采集和全网流量状态监控,提高测量精准度,保证测量结果的及时性,优化测量效率,参看图1,本实施例公开一种基于sdn的主被动结合自适应流量测量方法,包括:

s1、构建流量矩阵tm,将矩阵值初始化为0,并构建一个活动流列表,每一个表项包含流源地址、流目标地址、xlast和tlast四个属性,初始为空,其中,xlast表示截至前一次测得的流量,tlast表示前一次测量的时间点;

s2、对于新流及活动流列表中的流,设置计时器周期轮询交换机进行主动流量测量,根据主动测量得到的值和所述活动流列表中对应的表项更新tm,其中,在主动测量的过程中根据自适应算法调整计时器的值,在新流产生时在所述活动流列表中创建该新流对应的表项;

s3、在流结束时采用被动测量,根据收到的交换机发送的消息和所述活动流列表中对应的表项更新tm,该交换机为该流转发路径经过的交换机,且该交换机具有测量该流传输流量功能。

本发明实施例提供的基于sdn的主被动结合自适应流量测量方法,首先构建并初始化流量矩阵tm、活动列表,然后对于活动的流和新流分别设置计时器进行主动测量,完成一次测量后,更新tm,然后采用自适应算法,重新确定下次主动测量的时间间隔;当一个流消失时,利用交换机会向控制器发送此流相关控制消息的机制,通过被动获取消息并读取消息里的值来更新tm,即本方案通过主被动测量相结合,自适应调整测量周期的方法,在控制器维持一个表示全网流量状态的流量矩阵,较好地平衡了流量感知的开销与准确度,适当减少了测量的开销,提高了流量速率感知的准确度,且能保证测量结果的及时性。

下面对本发明基于sdn的主被动结合自适应流量测量方法进行详细说明。

首先,本发明需要对电力通信网中基于sdn的主被动结合自适应流量测量方法中使用的变量做出说明。使用的变量如下:

●tm:流量矩阵;

●tmi,j:流量矩阵中记录的i结点到j结点的流速率;

●tm'i,j:当前时刻计算所得i结点到j结点的流速率;

●t:主动测量初始轮询时间间隔,常量;

●t:主动测量本次轮询时间间隔;

●x:本次测得的流量值;

●xlast:截至前一次测得的流量;

●tlast:前一次测量的时间点;

●tend:flowremoved消息中流持续时间;

●a:flowremoved消息中流字节计数器记录的值;

●δs:流量速率的变化率。

依据上述定义的变量,下面结合图1详细阐述本发明的方案。

各步骤描述如下:

s1、初始化;

s2、对于新流及活动流,设置计时器周期轮询交换机进行主动测量,根据主动测量得到的值计算并更新tm,并根据自适应算法调整计时器的值;

s3、流结束时采用被动测量,根据收到的消息更新tm;

其中,步骤s1具体包括:

s11、方法的开始阶段,首先根据需要确定常量t的值。

s12、根据网络中节点个数,构建流量矩阵tm,矩阵中的值初始为0。

s13、构建一个活动流列表,每一个表项包含流源地址、流目标地址,xlast,tlast四个属性,初始为空。

其中,步骤s2具体包括:

s21、当新流产生时,openflow交换机会向控制器发送packetin消息。控制器从packetin消息中读取该流的源地址和目的地址存入活动流列表中,初始化xlast=0,tlast=0。为此新流创建一个计时器,计时器设定时间t初始化为t。

s22、对于活动流列表中的流,若其计时器设定时间t未到时流已消失,此时交换机将发送消息通知控制器,转到步骤(s31)。否则,计时器到时,继续步骤(s23)。

s23、经过t时间,计时器到时,控制器向交换机下发请求,读取该交换机本次测得的该流的传输流量值x。

s24、更新tlast=tlast+t,根据式(1)计算tm'i,j:

s25、根据式(2)更新计时器设定时间t:

t=t×e-δs式(2)其中δs按式(3)计算:

s26、更新tmi,j=tm'i,j,更新活动流列表中对应的xlast=x。

其中,步骤s3具体包括:

s31、当流消失时,流表项将自动删除,交换机发送flowremoved消息通知控制器该流已结束。从flowremoved消息中可读出最后一次测得的该流的传输流量值a和该流持续时间tend。

s32、根据式(4)计算tm'i,j:

s33、更新tmi,j=tm'i,j,将该流对应项从活动流列表中删除,将计时器设定时间设置为t。

s34、计时器设定时间t到时后,更新tmi,j=0。

下面以具体的实施例说明流量矩阵tm的更新过程:

本发明的实例中,取网络中的的一个长流和一个短流:假设长流a为主机h1到主机h2的流,0s产生,17s结束;短流b为主机h3到主机h4的流,6s产生,9s结束。假设这两个流的转发路径均经过交换机m,取m为测量交换机。

步骤s11、s12、s13:设常量t=5s,为网络构建流量矩阵tm,矩阵值均初始化为0,构建一个活动流列表,包含流源地址、流目标地址,xlast、tlast四个属性,初始活动流列表为空。

步骤s21:0s时,流a产生,经过交换机m,控制器将收到packetin消息,读取相应信息并存入活动列表,源地址为h1,目的地址为h2,初始化xlast=0,tlast=0。为流a设定一个计时器,初始化流a计时器设定时间t=t=5s,开始计时。

步骤s22、s23:5s时,流a计时器到时,控制器向m发送请求读取交换机m本次测得的流a的传输流量值为950kb。

步骤s24:更新tlast=0+5=5s,计算

步骤s25:计算更新流a计时器的值t=5×e-1=1.8s。

步骤s26:更新tm1,2=190,更新xlast=950。

步骤s21:6s时,流b产生,经过交换机m,控制器将收到packetin消息,读取相应信息并存入活动流列表,源地址为h3,目的地址为h4,初始化xlast=0,tlast=0。为流b设定一个计时器,初始化流b计时器设定时间t=t=5s,开始计时。

步骤s22、s23:6.8s时,流a计时器到时,控制器向m发送请求读取交换机m本次测得的流a的传输流量值为1440kb。

步骤s24:更新tlast=5+1.8=6.8s,计算

步骤s25:计算更新流a计时器的值t=5×e-0.18=4.2s。

步骤s26:更新tm1,2=272,更新xlast=1440。

步骤s31:9s时,流b结束,控制器收到交换机m发来的flowremoved消息,根据消息得知流b消失,读取到最后一次测得的流b的传输流量值为270kb,流持续时间3s。

步骤s32:计算

步骤s33:更新tm3,4=90,将流b对应项从活动流列表中删除,将计时器设定时间设置为5s。

步骤s22、s23:11s时,流a计时器到时,控制器向m发送请求读取交换机m本次测得的流a的传输流量值为2510kb。

步骤s24:更新tlast=6.8+4.2=11s,计算

步骤s25:计算更新流a计时器的值t=5×e-0.03=4.8s。

步骤s26:更新tm1,2=255,更新xlast=2510。

步骤s34:14s时,流b计时器到时,更新tm3,4=0。

步骤s22、s23:15.8s时,流a计时器到时,控制器向m发送请求读取交换机m本次测得的流a的传输流量值为3060kb。

步骤s24:更新tlast=11+4.8=15.8s,计算

步骤s25:计算更新流a计时器的值t=5×e-0.38=3.4s。

步骤s26:更新tm1,2=115,更新xlast=3060。

步骤s31:17s时,流a结束,控制器收到交换机m发来的flowremoved消息,根据消息得知流a消失,读取到最后一次测得的流a的传输流量值为3140kb,流持续时间17s。

步骤s32:计算

步骤s33:更新tm1,2=67,将活动流列表中流a的相关项删除,将流a计时器设定时间设置为5s。

步骤s34:22s时,流a计时器到时,更新tm1,2=0。

参看图2,本实施例公开一种基于sdn的主被动结合自适应流量测量装置,包括:

构建单元1,用于构建流量矩阵tm,将矩阵值初始化为0,并构建一个活动流列表,每一个表项包含流源地址、流目标地址、xlast和tlast四个属性,初始为空,其中,xlast表示截至前一次测得的流量,tlast表示前一次测量的时间点;

主动测量单元2,用于对于新流及活动流列表中的流,设置计时器周期轮询交换机进行主动流量测量,根据主动测量得到的值和所述活动流列表中对应的表项更新tm,其中,在主动测量的过程中根据自适应算法调整计时器的值,在新流产生时在所述活动流列表中创建该新流对应的表项;

本实施例中,所述主动测量单元,具体可以用于:

在新流产生时,接收该新流转发路径经过的且具有测量该新流传输流量功能的一个交换机发送的packetin消息,从所述packetin消息中读取该新流的源地址和目的地址存入所述活动流列表中,并将对应的xlast和tlast初始化为0,为该新流创建一个计时器,计时器设定时间t初始化为预先设置的常量t;

对于所述活动流列表中的流,若判断获知其计时器设定时间t到时后该流未消失,通过向该流转发路径经过的且具有测量该流传输流量功能的一个交换机下发请求,获取该交换机本次测得的该流的传输流量值x,更新所述活动流列表中对应的tlast=tlast+t,根据式(1)计算tm'i,j,根据式(2)更新计时器设定时间t,更新tmi,j=tm'i,j,更新所述活动流列表中对应的xlast=x,其中,式(1)为式(2)为t=t×e-δs,式(2)中δs按式(3)计算,式(3)为tmi,j为流量矩阵tm中记录的i结点到j结点的流速率。

被动测量单元3,用于在流结束时采用被动测量,根据收到的交换机发送的消息和所述活动流列表中对应的表项更新tm,该交换机为该流转发路径经过的交换机,且该交换机具有测量该流传输流量功能。

本发明实施例提供的基于sdn的主被动结合自适应流量测量装置,首先构建并初始化流量矩阵tm、活动列表,然后对于活动的流和新流分别设置计时器进行主动测量,完成一次测量后,更新tm,然后采用自适应算法,重新确定下次主动测量的时间间隔;当一个流消失时,利用交换机会向控制器发送此流相关控制消息的机制,通过被动获取消息并读取消息里的值来更新tm,即本方案通过主被动测量相结合,自适应调整测量周期的方法,在控制器维持一个表示全网流量状态的流量矩阵,较好地平衡了流量感知的开销与准确度,适当减少了测量的开销,提高了流量速率感知的准确度,且能保证测量结果的及时性。

本发明具有如下有益效果:

(1)结合主被动测量技术,从sdn控制器主动轮询和被动感知两方面同时入手,以达到流量感知的开销与准确度二者更好的平衡。同时主动测量对于存续时间较长的流保证了测量的准确度和及时性,而被动测量能保证不会漏过较短的流,对于电力通信网复杂的网络流量状态具有很好的适应性;

(2)主动测量的轮询周期采用自适应算法动态改变,每个流的测量周期根据此流最近的流量变化显著程度而调整。当流量变化显著时,适当增大轮询的频率,保证准确率;当流量变化相对平稳时,减小轮询的频率,减少开销,使得测量结果更能及时反映实际情况,更有现实意义。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1