一种基于SDN的数据中心互联网络的流量矩阵在线估计方法与流程

文档序号:12692642阅读:269来源:国知局
一种基于SDN的数据中心互联网络的流量矩阵在线估计方法与流程

本发明属于SDN网络流量测量估计领域,具体涉及一种基于SDN的数据中心互联网络(SDN-DCI)的流量矩阵在线估计方法。



背景技术:

互联网不断超出预期的发展使得网络流量快速的增长。网络管理人员为提高网络资源利用率,需建立流量工程对网络流量进行动态的分析预测和高效规划。流量矩阵表示在网络中所有源-目的(origin-destination OD)节点对间流动的流量,描述了全网流量的具体分布。流量矩阵作为流量工程的关键输入信息,是网络性能的一个重要参数,为合理规划网络路由提供了重要的参考依据。由于流量矩阵的重要性,流量矩阵的测量与估计一直受到国内外研究人员的广泛关注。

传统流量矩阵测量的方法主要分为间接测量法和直接测量法。

间接反演估计法主要利用网络中的一些附加信息来估计流量矩阵。在网络中,链路负载是流量矩阵根据路由矩阵在链路上汇聚而成,它们之间具有Y=AX的线性约束关系。其中链路负载Y可以利用SNMP协议得到,路由矩阵A可以通过收集内部路由协议的配置信息得到。因此,可以利用反演的方法,从而估计出流量矩阵。由于在网络中,OD流的数目一般远大于链路的数目,即路由矩阵是低秩的,这种方法并不能精确的估计出流量矩阵,尤其是无法对一些大流量的OD流做出好的估计,这会严重降低流量矩阵在实际工程中的作用。

直接测量法是通过对设备节点或链路进行实时监控,以直接测量的方式来获取流量矩阵。然而,对于连接数据中心之间的网路而言,流的数目通常非常多,不可能直接测量出每个流的大小,这样的测量开销和时间花费代价都很大,对于在线流量矩阵的估计测量来说并不现实。

近几年,SDN网络架构的提出为流量矩阵的测量带来了便捷的方式。控制平面和转发平面的分离使得集中式的控制平面具有全局的网络拓扑,能够动态的分配网络资源和配置流表。通过对流表进行合理的设计,能够很方便的测量出具体指定OD流。但由于硬件资源的限制,流表项的条目有限,不可能对所有OD流进行测量。对于在线流量矩阵的测量来说,如何在有限的硬件资源和满足路由约束条件的情况下,将流表均衡的分配到各个网络设备,快速准确的给出流量矩阵的估计值依然没有一个很好的解决方案。



技术实现要素:

本发明的目的在于为克服现有技术中存在的多种缺陷,提出一种基于SDN-DCI网络的流量矩阵在线估计方法。该方法利用修正的广义重力模型,快速地确定当前网络的k条具有较大流量的OD流;通过SDN流表,在不改变原路由的条件下,均匀的下放相应流表,从而测量出这k条具有较大流量的OD流,确保其估计精度并保证设备节点流表的负载均衡;然后通过SNMP协议的链路负载测量信息与估计值的相对误差,定位出估计误差较大的链路L;最后,定义OD流的误差因子,在估计误差较大的链路集合L中找出n条对估计误差影响较大的OD流,并下放相应的SDN流表测量其流值,从而最大程度的减小流量矩阵的估计误差。本发明的具体内容如下:

1、在大型网络中,不同类型的流量有着不同的自身特点。对于SDN-DCI网络,如图1所示,PED表示SDN-DCI网络中连接数据中心(DC)的边缘节点;PEC则表示SDN-DCI网络中连接骨干网的边缘节点。将SDN-DCI网络中的流量分为三种类型:由PED流入,PEC流出的OD流流量;PEC流入,PED流出的流量以及从PED流入,PED流出的流量。由于不同类型流量,自身的特点也有所不同。现有的重力模型并没有根据不同种类的流量分别给出一个合理的流量系数。因此,本发明新增流量系数修正现有的重力模型。利用修正的广义重力模型初步估计出流量矩阵X,找出估计结果中的前k条最大流。修正的广义重力模型的表述如下:

从流入,流出的流量:

从流入,流出的流量:

从流入,流出的流量:

其中:

式中表示从节点流入SDN-DCI网络的总流量,表示流入SDN-DCI网络的总流量,表示从节点流出网络的总流量。这里,分别增加了系数αij、βij、μij来对重力模型进行修正,但系数的初始值都定为1,与原来的重力模型相同。

2、对于步骤1中找出的前k条最大OD流,利用SDN TCAM表项,增加相应流表项,测出这k条流的准确值,同时利用这些值反过来校正重力模型系数αij、βij、μij

为使流表均匀的分配到各个节点设备,降低每个节点的负载,对于这些流表,需要寻找合适的节点来下放。本发明提供如下算法解决此问题:

2.1、记网络中的所有传输节点集合为S{s1,s2,s3,…,st},其中t为传输节点的总数量。根据网络路由拓扑信息,分别找出这k条流中的每条流传输所经过的所有节点设备,记为Ni{sn,sm,...}其中i=1...k,n,m∈{1,2,3,…,t}。

2.2、创建一k*t的矩阵V,若第i条流经过节点sn,则Vin=1,否则为0。

2.3、计算获得的矩阵V的每一列的1个数q,将每一列中原本为1的值改为q,代表经过该节点的流的数目有q个。

2.4、对于修改过后矩阵V中的每一行即每一条流,选取数值最小的那个节点作为该条流的下放目标节点,即可均匀的下放流表至各节点设备。

3、步骤1和步骤2的目的在于找出前k条最大的OD流,并对其进行测量以确保大流量的OD流的估计是准确的。此外,还需要有对整个流量矩阵进行更为精确的估计方法。对于SDN-DCI这种大型网络,由于其数据流量在长时间的窗口范围内,会表现出较为明显的周期性。因此,我们采用fanout方法来对整个流量矩阵做估计。由于fanout方法在线测量的复杂性以及时间和设备开销过大等缺点,这里仅仅引用fanout值的定义。本发明提出的是一种在线测量框架,除fanout方法外,也可以采用其他的估计方法来做估计。

定义一个节点的fanout值为一个向量,表示该输入节点转发到网络中每个输出节点的流量部分:

f(PEi,PEj,t)表示t时刻,从节点PEi流入网络并且从节点PEj流出网络的流量与从节点PEi流入网络的总流量的比值。节点t时刻的fanout值为一向量,定义为:由于f(PEi,*,t)表现出何强的以每日为周期的特性,因此可以用它来预测随后几天的流量矩阵。

利用步骤2校正系数后的重力模型预测出的流量矩阵X来初始化节点fanout,其中可以通过SNMP协议得到。显然,初始化的fanout值是不精确的,但是却避免了直接测量的巨大开销,且对于在线测量来说,其估计速度是很快的。其不精确性通过随后步骤来快速的消除。

4、通过初始化的f(PEi,PEj,t)来预测随后几天中同一时刻t的流量矩阵:

5、显然,步骤4的初始预测具有很大的误差,本发明提出如下方法找出那些估计偏差较大的流,利用SDN的流表项直接测量,不断校准f(PEi,PEj,t),达到利用很小的开销,迅速的提高其估计精度。

根据网络拓扑和路由信息可以很方便的得出路由矩阵A,然后利用SNMP协议,能获得网络中各条链路的链路负载信息Y。将步骤4估计出的初始化流量矩阵根据线性方程式:

Y=AX

计算出估计的链路负载值将其与SNMP测量得到的链路负载Y进行对比,定义估计相对误差若ε大于一上限值,则说明该条链路中估计的OD流里,有一条以上是误差比较大的。

6、根据步骤5,找出w条估计误差大于ε的链路集合L{l1,l2,…lw}。对每条具体的OD流而言,由于其估计误差在链路中具有传播性,若该OD流估计误差较大,势必造成多个链路的估计误差都偏大。

定义OD流的误差因子λ为该条OD流流经这w条估计误差大于ε链路的条数。

显然,误差因子λ越大,该OD流估计误差较大的可能性就越高。下面给出如下算法,在w条链路中找出n条误差因子最大的OD流。

6.1、任取n流经l1链路的OD流,计算其误差因子并找出误差因子最小(λmin)的OD流fmin。记这n条流为初始结果集Q。

6.2、依次不重复的遍历流经L中其余w-1条链路的所有OD流,计算其OD流误差因子。同时,也计算出流经l1链路余下的OD流的误差因子。

6.3、若6.2中有某条计算的OD流f的误差因子大于λmin,则将该条流f替换fmin,更新结果集Q,并重新计算误差因子最小(λmin)的OD流fmin

7、将步骤6中所测得的OD流用来重新校正同时根更新根据更新后的流量估计值X,重新对流进行排序,选出k条大流,根据步骤2的算法找到合适的设备节点下放流表,并删除之前下的k条流表。

由于采用上述方案,本发明具有以下有益效果:

1.对于这种连接数据中心间的大型网络来说,采用改进校正的重力模型去粗略估计流量矩阵,用以初始化节点fanout值,避免了直接在线测量所有OD的巨大开销,是一种非常简单,快速而有效的初始化模型。

2.本发明根据网络的拓扑信息,对于具体流的测量,能够找到合适的设备节点,均匀的将流表下发到相关设备,能够达到负载均衡的效果,在测量的速度上也能有所提高。

3.为找到估计误差较大的流,本发明给出一种利用SNMP测量的链路负载与估计出来的链路负载做对比,定义其相对误差的方法,极大的缩小了搜索范围,提高了搜索效率。

4.本发明提出的在线测量流量矩阵的方法,是一种测量框架,除fanout方法外,亦可将其他估计方法应用在此测量框架下。能够找出OD流中的大流,并对其进行精确测量,保证了重要大流量的估计不会出现严重偏差。同时又能找到并测量出对估计误差影响较大的流,保证了估计的精确性。对于在线测量来说,本发明能够快速有效且能均衡的以很小代价的估计出流量矩阵,具有很强的可操作性和实用性。

附图说明

图1是本发明在线测量流量矩阵的流程图;

图2是本发明估计方法应用于跨数据中心网络的拓扑图;

图3是本发明所述SDN流表项的的主要结构示意图;

具体实施方式

以下结合附图所示实施例对本发明作进一步的说明。

附图1是本发明提出在线估计流量矩阵方法的具体应用场景。DC有多个,分布在不同的地理位置。DC间通过SDN-DCI网络进行连接。用户访问数据中心可以通过骨干网,然后转发到SDN-DCI网络,实现更快的数据访问。由于不同DC之间访问的流量大小不一,又有用户型流量,且DCI网络规模巨大,故采用重力模型进行初始化建模。

附图2是整个在线流量估计的总流程图。

1、以流量一天为周期为例,将一天分为n个不同的时间段,在t1,t2,t3,…,tn的时间段里,分别对其流量矩阵进行估计。例如从流入,流出的流量为:

在开始估计时,βij初始化为1,表示从节点流入SDN-DCI网络的总流量,表示流入SDN-DCI网络的总流量,表示从节点流出网络的总流量。均可由SNMP测量得到。在不同时间段估计的形式为:

与的估计方法与此类似,得到估计的k条最大流。

2、对找出的前k条最大流,利用SDN TCAM表项,增加相应流表项,测出这k条流的准确值,同时利用这些值反过来校正重力模型系数αij、βij、μij。为使流表均匀的分配到各个节点设备,降低每个节点的负载,对于这些流表,需要寻找合适的节点来下放。

2.1、构建一k*n的矩阵,代表这k条流是否经过这n个节点当中的一个,若经过则置为1,不经过则置0。以k=4,n=6为例,根据网络路由信息,得到

说明流k1进过节点n2,n3,n5

2.2、统计各列1的个数,并将其值设置到原矩阵中1的位置,得到矩阵N:

N(0,1)=3,表示n2节点有3条流经过,k1经过n2节点。这样对于每条流ki,选取在哪个设备节点下流表便成了找到每一行的非零最小值,如此便可以实现流表下发的负载均衡。

2.3、为保证下发的测量流表不改变原网络的路由信息,如附图3所示,通过路由的解聚合和流表优先级来细化测量流。例如,源路由中100.*.*.*是优先级为1的正常转发流,可以在增加流表项时提高优先级来解聚合路由去测量100.67.*.*的计数值。

2.4、测得这k条流的数值之后,反过来校正重力模型的系数值αij、βij、μij,再用校正后的重力模型估计出流量矩阵X。

3、定义一个节点的fanout值为一个向量,表示该输入节点转发到网络中每个输出节点的流量部分:

f(PEi,PEj,t)表示t时刻,从节点PEi流入网络并且从节点PEj流出网络的流量与从节点PEi流入网络的总流量的比值。节点t时刻的fanout值为一向量,定义为:由于f(PEi,*,t)表现出何强的以每日为周期的特性,因此可以用它来预测随后几天的流量矩阵。

由重力模型估计出的X得到初始化SDN-DCI网络边缘节点的fanout值f(PEi,*,t)。在随后的流量矩阵估计中,

4、误差的校正过程根据SNMP的测量值Y和估计值的相对误差来判定,给定误差阈值ε,若εy>ε,则说明该条链路中估计的OD流里,有一条以上是误差比较大的。选定数量w条εy>ε的链路进行校正,若εy>ε的链路不足w条,则只选取εy>ε的链路条数。

5、根据步骤4,找出w条估计误差大于ε的链路集合L{l1,l2,…lw}。定义OD流的误差因子λ为该条OD流流经这w条估计误差大于ε链路的条数。显然,误差因子越大,该OD流估计误差较大的可能性就越高。根据网络拓扑信息,获得流经链路集合L中各链路的OD流,依次计算各OD流的误差因子,并按大小进行排序,取出误差因子最大的前n条流作为对误差估计影响较大的流进行测量。

6、下放流表测量步骤5中找出的n条对误差估计影响较大的OD流,用来重新校正同时根据更新根据更新的重新对流进行排序,选出k条大流,利用前述方法找到合适的设备节点下放流表,并删除之前下的k条流表,完成整个流量的估计校正过程。

最后应说明的是:以上仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但是凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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