一种适应动态网络结构的网络控制器部署方法与流程

文档序号:18542982发布日期:2019-08-27 21:24阅读:242来源:国知局
一种适应动态网络结构的网络控制器部署方法与流程

本发明属于无线网络技术领域,尤其涉及一种适应动态网络结构的网络控制器部署方法。



背景技术:

软件定义网络是这些年提出的一种新型网络理念,它通过将控制层和数据层分离,从而实现网络流量的灵活控制。控制器作为软件定义网络中最关键的部件,起到对整个网络的管控作用。在给定网络拓扑的情况下,合理的部署控制器,可降低信息交换的时延,减少节点能耗,提高整个网络的效率。现有的控制器部署算法中,通过判断节点间的位置关系,对整个网络进行区域划分,并在每个子域中部署一个控制器,每个交换机节点都与其距离最近的控制器保持连接,以尽可能的降低控制器部署代价。

这些相关算法中,大都采用最小id算法或最高节点度算法对网络进行分区,并用节点间的欧氏距离表示节点间关系,间接反应控制器部署后的通信时延,通过启发式算法思想求取控制器部署位置。然而随着软件定义网络理念与更复杂的网络结构相结合,网络拓扑不再固定,节点移动增加了控制器部署算法的复杂性,传统的部署算法不能很好地适应动态网络环境,如基于地图模型的机会网络,它是一种移动自组织网络。其通信系统是由不断移动的节点构成,节点移动过程中保持通信,构成动态变化的通信链路。由于网络中任意一个节点都是在一直运动的,网络拓扑不再固定,随着时间的推移,使得通过某一时刻下判断出的控制器部署位置变得不合理。传统控制器部署算法中的欧氏距离已不再能够描述运动的两节点之间的关系,导致现有算法不能很好地适应这种动态网络结构。



技术实现要素:

针对现有技术存在的问题,为了选择出更好的控制器部署位置,降低节点移动对控制器性能的影响,本发明提出了一种适应动态网络结构的网络控制器部署方法,具体包括以下步骤:

步骤1:建立节点移动过程中距离参数模型;

步骤2:利用聚类思想对具有相似移动轨迹的节点进行聚类,找到整个网络节点中的聚类中心为控制器部署位置;

步骤3:计算控制器的网络通信代价,通过域内交换机到控制器通信代价、域间控制器同步通信代价以及控制器部署代价计算控制器总部署通信代价;

作为优选,步骤1中所述建立节点移动过程中距离参数模型为:

在给定的网络拓扑中,对所有节点的移动轨迹量化表示为一种随时间变化的函数;

对网络中任意两节点,记节点p移动的轨迹为p且长度为lp,节点q的移动轨迹为q且长度为lq;

两者运动位置的描述用一个时间变量tk来描述,其中k∈|1,k|;

α(tk)表示节点p运动轨迹描述函数,β(tk)表示节点q运动轨迹描述函数;

则有α(t1)=0,α(tk)=lp,β(t1)=0,β(tk)=lq;

p(α(tk))表示tk时刻节点p在其轨迹上的空间位置,q(β(tk))表示tk时刻节点q在其轨迹上的空间位置;

那么两节点之间的距离会随着α(tk)和β(tk)函数本身的不同和变量tk的变化而不同;

通过获取不同时刻下节点的位置信息,对移动轨迹进行离散化;

设曲线p和曲线q均由k个轨迹点组成,σ(p)表示曲线p轨迹点的顺序集合,σ(q)表示曲线q轨迹点的顺序集合,则有

同时可以得到序列点对

首先,对所有序列点对计算其欧式距离并找到其最大值记录为d0:

将任意轨迹上的任意数量离散位置点进行移动,且满足移动过程不跨越其余离散点,即对于任意其移动区间为轨迹区间上的任一点,对于任意其移动区间为轨迹区间上的任一点;

计算调整后各个新的序列点对距离,找到最大值并记为d1,重复执行上述过程λ次(λ足够大),可得到λ个这样的值,从中找到所有d中的最小值即为两个节点移动轨迹的弗雷歇距离:

δdf(p,q)=min(d0,...,dλ)

在动态环境中,为表示两节点移动过程中的距离参数,则将di,j=δdf(i,j),其中,i表示对应节点i的移动轨迹,j表示对应节点j的移动轨迹,式中di,j均为两节点间移动轨迹的弗雷歇距离;

作为优选,步骤2中所述利用聚类思想对具有相似移动轨迹的节点进行聚类

对任意两个节点间移动轨迹相似度的衡量可用弗雷歇距离的负值表示,即:

s(i,j)=-δdf(i,j);

其中,i表示节点i的移动轨迹,j表示对应节点j的移动轨迹;

对网络中节点建立移动轨迹相似度矩阵s,在这个相似矩阵s中,所有的节点都是潜在的聚类中心;s定义如下:

相似矩阵对角线上的元素s(i,i)表示自身参考度,自身参考度则表示该节点自己成为子域聚类中心的可能性,为保证每个节点都有相同的被选择为聚类中心的概率,将相似矩阵s对角线上的数值s(i,i)进行统一赋值,取所有相似性的平均值作为自身参考度p:

s(i,i)=p(i∈n)

其中,n表示节点数目,i,j表示网络中对应节点,即相似矩阵的值下标,自身参考度p值影响并控制聚类结果的粒度,当自身参考度p数值越大时,最终聚类出的类数目越多,反之越少;

近邻传播思想在得到节点的相似度矩阵后,通过对责任度矩阵r和可信度矩阵a进行更新来获取最终聚类中心;

其中,所述责任度矩阵r中元素[r(i,j)]反映了节点xj适合作为节点xi的聚类中心指数,所述可信度矩阵a中元素[a(i,j)]反映了节点xi选择节点xj作为其聚类中心的指数;

r迭代更新过程为:根据建立的移动轨迹相似度矩阵s,a进行初始化,即a中所有元素a(i,j)=0并通过下式进行信息的迭代更新,其中g为不同与i和j的节点:

r(i,j)=s(i,j)-max{a(i,g)+s(i,g)}g∈1,2,...,n

a迭代更新过程为:根据建立的移动轨迹相似度矩阵,a进行初始化,即a中所有元素a(i,j)=0并通过式进行信息的迭代更新:

当算法收敛时,每行中取最大值max{a(i,j)+r(i,j)}j∈[1,n],第i行的最大值对应的j列,则j节点就是控制节点i的控制器;

步骤2中所述,即步骤2中所述找到整个网络节点中的聚类中心为控制器部署位置为:

{(1,p1),(2,p2),...,(n,pn)}

其中,对于每一行,总能找到满足max{a(i,j)+r(i,j)}j∈[1,n]的列,且在聚类过程收敛后,出现最大值的列会集中在矩阵中部分列中,即若第i行最大值位置为pi列且第j行最大值为pj列,且pi=pj,则将pi列对应列序号归入控制器集合c中,最终c集合中元素数量为控制器数量m;

作为优选,步骤3中所述计算控制器的网络通信代价为:

对于一个给定的待部署控制器的网络拓扑g=(vi,ei,j),i,j={1,2,3,...,n}表示网络节点集合,n={vi}为交换机数量,ei,j为节点i,j之间的链路集合;

所求得的部署控制器数量为m,即控制器分布式部署把网络划分m个子域,每个子域由一个控制器管理,求得的控制器集合表示控制器所在位置,

步骤3中域内交换机到控制器通信代价为:

在各子域中,交换机需要发送数据包并接受流表,若在步骤2中节点l最终被选为节点i的控制器,则l∈c,则假设在统计节点移动轨迹的一段时间t内,对于该域中控制器cl,交换机vi在t时间内域内总的流请求路径时延主要包括:交换机vi发送packet_in到控制器cl,控制器计算路由信息,交换机安装流表,用fi表示;

设交换机设备数据请求排队和转发的平均时延为tc,则openflow网络中交换机与控制器两次通信时延为:

其中,di,l为交换机vi与控制器cl间移动轨迹的弗雷歇距离;

xi,l为交换机vi与控制器cl之间的连接关系:

控制器通过拓扑管理组件并进行路径计算的代价可以使用表示,fc表示控制器对每个请求的平均处理时延,则

在交换机到控制器通信代价计算中,di,l,fi,fc,tc均为已知量;

域内交换机到控制器通信代价为:

步骤3中所述域间控制器同步通信代价为:

在多控制器环境下,各子域中控制器需保持信息同步,若在步骤2中节点l与节点h均被选择为控制器,则两控制器间需保持信息同步。假定控制器间每隔ta时间进行一次同步更新,则控制器ch和控制器cl之间进行同步的时延为即域间控制器同步通信代价dsyn:

步骤3中所述控制器部署代价为:

假设部署中使用相同类型的控制器,部署每台控制器的花费为p,总共需部署m台,则总体的部署代价为dp=p×m;

步骤3中所述控制器总部署通信代价为:

total=αdreq+β(dp+dsyn)

其中,α为第一代价比重参数,β为第一代价比重参数,且满足α+β=1。

本发明优点在于,通过基于移动轨迹相似性的近邻传播算法能够充分结合网络中节点的移动特性,使得最终选出的控制器部署位置能够很好地适应网络动态性并在节点持续移动过程中保持稳定的性能。

附图说明

图1:3个单位时间段下节点移动轨迹;

图2:3个单位时间段下通信半径为5m时分区结果;

图3:3个单位时间段下通信半径为8m时分区结果;

图4:3个单位时间段下通信半径为10m时分区结果;

图5:2个单位时间段下节点移动轨迹;

图6:2个单位时间段下通信半径为5m节点分区结果;

图7:4个单位时间段下节点移动轨迹;

图8:4个单位时间段下通信半径为5m节点分区结果;

图9:节点移动轨迹相似性部署算法和现有部署算法节点通信平均时延对比图;

图10:节点移动轨迹相似性部署算法和现有部署算法单次通信代价对比图;

图11:本发明方法流程图。

具体实施方式

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

本发明的目的是使控制器能更好的适应动态网络结构,所以实验中选择基于地图模型的机会网络。实验首先为说明本算法影响分区结果的因素,在10×10坐标系中,设置共15个节点,节点速度均为1,分别取节点2、3、4个单位时间内的移动轨迹,节点通信半径设置5、8、10,分区结果差异分别如图1至tu8所示。

在本发明实施上,选取one仿真工具,模拟区域为4500×3400(m2)的长方形区域,设置6组共128个节点,节点通信半径设置为100m,移动速度为[5,10](m/s),截取仿真中8h时间内节点的移动轨迹进行实验,并与现有静态控制器部署算法进行比较,其整个移动过程中,节点交互的平均时延和单位时间内节点单次通信代价分别如图9和图10所示。

本发明方法如图11所示,下面结合图1至图11介绍本发明的具体实施方式为一种适应动态网络结构的网络控制器部署方法,具体包括以下步骤:

步骤1:建立节点移动过程中距离参数模型di,j;

步骤1中所述建立节点移动过程中距离参数模型为:

在给定的网络拓扑g中,对所有节点的移动轨迹量化表示为一种随时间变化的函数;

对网络中任意两节点,记节点p移动的轨迹为p且长度为lp,节点q的移动轨迹为q且长度为lq;

两者运动位置的描述用一个时间变量tk来描述,其中k∈|1,k|;

α(tk)表示节点p运动轨迹描述函数,β(tk)表示节点q运动轨迹描述函数;

则有α(t1)=0,α(tk)=la,β(t1)=0,β(tk)=lb;

p(α(tk))表示tk时刻节点p在其轨迹上的空间位置,q(β(tk))表示tk时刻节点q在其轨迹上的空间位置;

那么两节点之间的距离会随着α(tk)和β(tk)函数本身的不同和变量tk的变化而不同;

通过获取不同时刻下节点的位置信息,对移动轨迹进行离散化;

设曲线p和曲线q均由k个轨迹点组成,σ(p)表示曲线p轨迹点的顺序集合,σ(q)表示曲线q轨迹点的顺序集合,则有

同时可以得到序列点对

首先,对所有序列点对计算其欧式距离并找到其最大值记录为d0:

将任意轨迹上的任意数量离散位置点进行移动,且满足移动过程不跨越其余离散点,即对于任意其移动区间为轨迹区间上的任一点,对于任意其移动区间为轨迹区间上的任一点;

计算调整后各个新的序列点对距离,找到最大值并记为d1,重复执行上述过程λ次(λ足够大),可得到λ个这样的值,从中找到所有d中的最小值即为两个节点移动轨迹的弗雷歇距离:

δdf(p,q)=min(d0,...,dλ)

在动态环境中,为表示两节点移动过程中的距离参数,则将di,j=δdf(i,j),其中,i表示对应节点i的移动轨迹,j表示对应节点j的移动轨迹,式中di,j均为两节点间移动轨迹的弗雷歇距离;

步骤2:利用聚类思想对具有相似移动轨迹的节点进行聚类,找到整个网络节点中的聚类中心为控制器部署位置;

步骤2中所述利用聚类思想对具有相似移动轨迹的节点进行聚类具体为:

对任意两个节点间移动轨迹相似度的衡量可用弗雷歇距离的负值表示,即:

s(i,j)=-δdf(i,j);

其中,i表示节点i的移动轨迹,j表示对应节点j的移动轨迹;

对网络中节点建立移动轨迹相似度矩阵s,在这个相似矩阵s中,所有的节点都是潜在的聚类中心;s定义如下:

相似矩阵对角线上的元素s(i,i)表示自身参考度,自身参考度则表示该节点自己成为子域聚类中心的可能性,为保证每个节点都有相同的被选择为聚类中心的概率,将相似矩阵s对角线上的数值s(i,i)进行统一赋值,取所有相似性的平均值作为自身参考度p:

s(i,i)=p(i∈n)

其中,n表示节点数目,i,j表示网络中对应节点,即相似矩阵的值下标,自身参考度p值影响并控制聚类结果的粒度,当自身参考度p数值越大时,最终聚类出的类数目越多,反之越少;

近邻传播思想在得到节点的相似度矩阵后,通过对责任度矩阵r和可信度矩阵a进行更新来获取最终聚类中心;

其中,所述责任度矩阵r中元素[r(i,j)]反映了节点xj适合作为节点xi的聚类中心指数,所述可信度矩阵a中元素[a(i,j)]反映了节点xi选择节点xj作为其聚类中心的指数;

r迭代更新过程为:根据建立的移动轨迹相似度矩阵s,a进行初始化,即a中所有元素a(i,j)=0并通过下式进行信息的迭代更新,其中g为不同与i和j的节点:

r(i,j)=s(i,j)-max{a(i,g)+s(i,g)}g∈1,2,...,n

a迭代更新过程为:根据建立的移动轨迹相似度矩阵,a进行初始化,即a中所有元素a(i,j)=0并通过式进行信息的迭代更新:

当算法收敛时,每行中取最大值max{a(i,j)+r(i,j)}j∈[1,n],第i行的最大值对应的j列,则j节点就是控制节点i的控制器;

步骤2中所述,即步骤2中所述找到整个网络节点中的聚类中心为控制器部署位置为:

{(1,p1),(2,p2),...,(n,pn)}

其中,对于每一行,总能找到满足max{a(i,j)+r(i,j)}j∈[1,n]的列,且在聚类过程收敛后,出现最大值的列会集中在矩阵中部分列中,即若第i行最大值位置为pi列,第j行最大值为pj列,且pi=pj,则将pi列对应列序号归入控制器集合c中,最终c集合中元素数量为控制器数量即m;

步骤3:计算控制器的网络通信代价,通过域内交换机到控制器通信代价、域间控制器同步通信代价以及控制器部署代价计算控制器总部署通信代价;

步骤3中所述建立控制器的网络模型为:

对于一个给定的待部署控制器的网络拓扑g=(vi,ei,j),i,j={1,2,3,...,n}表示网络节点集合,n={vi}为交换机数量,ei,j为节点i,j之间的链路集合;

所求得的部署控制器数量为m,即控制器分布式部署把网络划分m个子域,每个子域由一个控制器管理,求得的控制器集合表示控制器所在位置;

步骤3中域内交换机到控制器通信代价为:

在各子域中,交换机需要发送数据包并接受流表,若在步骤2中节点l最终被选为节点i的控制器,则l∈c,则假设在统计节点移动轨迹的一段时间t内,对于该域中控制器cl,交换机vi在t时间内域内总的流请求路径时延主要包括:交换机vi发送packet_in到控制器cl,控制器计算路由信息,交换机安装流表,用fi表示;

设交换机设备数据请求排队和转发的平均时延为tc,则openflow网络中交换机与控制器两次通信时延为:

其中,di,l为交换机vi与控制器cl间移动轨迹的弗雷歇距离;

xi,l为交换机vi与控制器cl之间的连接关系:

控制器通过拓扑管理组件并进行路径计算的代价可以使用表示,fc表示控制器对每个请求的平均处理时延,则

在交换机到控制器通信代价计算中,di,l,fi,fc,tc均为已知量;

域内交换机到控制器通信代价为:

步骤3中所述域间控制器同步通信代价为:

在多控制器环境下,各子域中控制器需保持信息同步,若在步骤2中节点l与节点h均被选择为控制器,则两控制器间需保持信息同步。假定控制器间每隔ta时间进行一次同步更新,则控制器ch和控制器cl之间进行同步的时延为即域间控制器同步通信代价dsyn:

步骤3中所述控制器部署代价为:

假设部署中使用相同类型的控制器,部署每台控制器的花费为p,总共需部署m台,则总体的部署代价为dp=p×m;

步骤3中所述控制器总部署通信代价为:

total=αdreq+β(dp+dsyn)

其中,α为第一代价比重参数,β为第一代价比重参数,且满足α+β=1。

使用现有控制器部署算法,将初始网络拓扑和节点间欧氏距离作为判断依据,控制器不会随网络拓扑发生改变而继续保持良好性能。而对于基于节点移动轨迹相似性的控制器部署算法而言,在部署控制器时,充分考虑整个网络节点的移动规律,将移动过程中始终保持较短距离和较小传播时延的节点划分在一个子域中并从中选择控制器部署位置,提升控制器的全局效率。在网络动态性较强时,比现有算法能更好的提升控制器性能。

技术方案中应用近邻传播算法对获取到的节点相似性矩阵进行聚类,近邻传播算法在聚类开始阶段,不需要提前拟定聚类数目。对于其他典型的聚类算法,如k-means算法,一个重要的前提是需要给出最终划分聚类数,不同的聚类数目对应不同的聚类结果。在实际应用中,由于往往无法提前预知究竟划分多少个类能使结果最优,为排除人为因素干扰,近邻传播算法在这点上优于其他聚类算法。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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