1.一种软件定义网络中鲁棒的多控制器优化部署方法,包括如下步骤:S100:分析网络拓扑结构
S101:分析网络拓扑结构,将软件定义网络SDN中的多控制器部署问题抽象化为一个基于无向网络图的图论问题;
S102:提出一种新的度量,控制覆盖率指标,用于表示能访问到控制器的交换机总数占网络中所有交换机总数的比例;
S200:构建相关数学模型
给定一个无向网络图G(V,L)和控制器覆盖率Cpr,通过合理部署控制器所放置的节点集C,使得该无向网络图在任意移除k条边的情境下,标记为 既满足给定的控制器覆盖率Cpr,又能兼顾网络传输效率和负载均衡,其中,V表示交换机集合,在无向网络图中用节点表示,且n表示节点的个数,即n=|V|,L表示连接交换机的链路集合,在无向网络图中用边表示,C表示控制器节点集合,即控制器所连接的交换机节点集合,在无向网络图G中移除任意边的情景集合,记为S,移除k条边的情境集合,记为sk, 移除k条边的最坏情景记为sb,sb∈sk, 表示任意移除k条边的连接交换机的链路集合, 表示最坏情境下移除k条边的连接交换机的链路集合,k为正整数且1≤k≤|L|;
S300:近似算法的选取和求解
选取兼顾网络时延和负载均衡的鲁棒的k-RCM近似最优算法,k-RCM算法主要包括最坏情景下移除边的GN算法,记为k-RCM-GN,对偶近似算法,记为k-RCM-DOLP,和偏远交换机节点提取算法,记为k-RCM-outliers。
2.根据权利要求1的方法,其特征在于,优选的,具体建模如下:目标函数:约束条件:
其中:
n:表示SDN网络中节点的数量;
Sk:表示移除k条边的所有情境集合;
sk:表示移除k条边的一种情境,sk∈Sk;
sb:对应移除k条边的最坏情景;
情景sk出现的概率,
fj:在节点j上放置控制器的代价;
在情景sk下,普通交换机节点i连接到控制器放置节点j的时延;
cpr:表示给定的SDN控制器覆盖率;
xj:是一个0-1变量,xj=1表示节点j被选择放置控制器,否则为0;
是一个0-1变量,表示节点i在情景sk中是否被控制器放置节点j覆盖,如果是,则否则是一个0-1变量,表示节点i在情景sk中是否为偏远交换机节点,如果是,则否则i,j表示交换机集合中任意一个交换机,即i,j∈V。
3.根据权利要求2的方法,其特征在于,假设最坏断边情景sb的发生概率 则在移除k条边的最坏情景下建模更新为:目标函数:
约束条件:
4.根据权利要求3的方法,其特征在于,为求解上述更新后的模型,对0-1整数进行约束松弛,建模更新为:目标函数:
约束条件:
5.根据权利要求4的方法,其特征在于,将上述约束条件替换为
6.根据权利要求5的方法,其特征在于,利用线性规划问题的对偶规划,建立其对应的对偶规划模型为:目标函数:
max∑i∈Vαi+n(α-1)q (L4-1)约束条件:
∑j∈Vβij≤fj j∈V (L4-2)其中,对偶变量βij表示交换机节点i对其连接的控制器节点j放置代价fj的贡献值;对偶变量αi表示交换机节点i的总消耗代价,总消耗代价包括交换机i连接其控制器j的时延cij和交换机i对其连接的控制器放置代价fj的贡献值βij;对偶变量q表示交换机总消耗代价αi的最大值。
7.根据权利要求6的方法,其特征在于,所述步骤S300中的k-RCM近似最优算法具体如下:S301:给定无向网络图G(V,L)和控制器覆盖率Cpr;
S302:假设已知控制器最优部署方案中的控制器放置代价的最大值为f‘,修改fj:当fj>f‘时,令fj=∞,否则fj不变,其中fj表示节点j上放置控制器的代价;
S303:基于k-RCM-DOLP算法,提取偏远节点,在G中删除偏远节点集;
S304:基于k-RCM-GN算法,寻找最坏断k条边情境;
S305:基于k-RCM-DOLP算法,生成控制器放置节点集合以及各控制器的负载表;
S306:将偏远节点的控制器设置成使偏远节点受控于与其连接费用最小的控制器。
8.根据权利要求7的方法,其特征在于,所述k-RCM-GN算法具体如下:a)初始设置,num=0,
b)对给定无向网络图中所有边按边介数中心性进行排序,然后在无向网络图中删除边介数中心性指标最大的边l;
c)修正num=num+1,
d)检查num是否等于k,如果num
e)SDN网络最坏情景中断的k条边的集合为
9.根据权利要求7的方法,其特征在于,所述k-RCM-DOLP算法具体如下:a)αi=0,βij=0,标记所有αi可增加,βij不可增加;
b)对可增加的αi有αi=αi+1;
c)是否存在(i,j)满足αi=Cij;如果存在则判断节点j是否已选择为放置控制器的节点,如果是则标记节点i由节点j控制;如果否则标记(i,j)连接边是紧的,且βij在下次循环中可增加;如果不存在则执行下一步;
d)对可增加的βij有βij=βij+1;
e)是否存在节点j满足限制条件∑i∈Vβij=fj(j∈V);如果存在则从满足限制条件∑i∈Vβij=fj(j∈V)的节点中选择可连接的网络设备最多的节点j‘为控制器放置节点;如果不存在则执行步骤g;
f)标记可被j‘控制的网络设备,且βij和αi不在增加,i∈{可被j‘控制的网络设备};
g)是否所有的节点已被选中,若是则结束本算法,若否则跳转执行步骤b。
10.根据权利要求7的方法,其特征在于,所述k-RCM-outliers算法具体如下:a)假设已知控制器最优部署方案中的控制器放置代价的最大值为f‘,修改fj:当fj>f‘时,令fj=∞,否则fj不变,其中fj表示节点j上放置控制器的代价;
b)运行k-RCM-DOLP算法,当网络中有低于(1-Cpr)*|V|个节点没有被确定为控制器或者已被控制的网络设备时,则终止k-RCM-DOLP算法,剩下的节点则为被选中的偏远节点;
c)所述偏远节点连接到最近的没有负载饱和的控制器上。