1.一种基于带内控制的软件定义网络链路故障恢复方法,其特征在于,包括以下步骤:
101、SDN控制器初始化网络拓扑,生成控制网络及其链路的备份路径;
102、当数据层链路发生故障,且该故障链路属于控制网络时,交换机使用快速故障切换组表切换转发路径,恢复控制流的传输,否则直接转到步骤103;
103、交换机将故障信息发送至控制器,并触发交换机向控制器反馈网络的实时状态信息,根据当前的网络拓扑和时延权重计算出源目的节点间的前K条最短路径;
104、根据实时流量信息,计算出步骤103的前K条最短路径的链路费用值之和以及路径的资源消耗率;
105、根据计算出的链路费用之和以及路径的资源消耗率设置目标函数,最终选取最佳的恢复路径并下发流表项。
2.根据权利要求1所述的基于带内控制的软件定义网络链路故障恢复方法,其特征在于,所述步骤101中SDN控制器利用LLDP协议掌握全局拓扑信息,采用Dijkstra算法计算出以SDN控制器为根结点的最短路径树,并下发流表项到相应交换机,同时为控制网络上的链路计算备份路径,并下发组表项到对应交换机。
3.根据权利要求1所述的基于带内控制的软件定义网络链路故障恢复方法,其特征在于,所述步骤102链路故障的检测是在交换机中加入BFD协议,通过在节点之间周期性的发送检测报文来检测链路状态。
4.根据权利要求1所述的基于带内控制的软件定义网络链路故障恢复方法,其特征在于,所述步骤103根据当前的网络拓扑和时延权重计算出源目的节点间的前K条最短路径具体包括:首先计算出故障链路上游节点s到目的节点t的最短路径,并求出该路径的时延权值;然后,依次去掉最短路径上的链路后求得次短路径和时延权值;最后,对上述路径的时延权值进行排序,得到前K条最短路径作为备选路径。
5.根据权利要求1所述的基于带内控制的软件定义网络链路故障恢复方法,其特征在于,所述步骤104的定义链路费用函数和路径消耗率,链路费用函数由链路利用率进行度量,即其中,链路利用率 链路负载loadi,j(t)通过控制器实时监测
交换机各端口和链路流量信息获得,φe(t)表示网络中链路利用率越高,则链路费用越高;
路径(s,t)的资源消耗率为 即:
其中,Zp(s,t)表示路径(s,t)的效率,为节点s到路径(s,t)上其他节点的距离倒数之和的平均值,p表示路径上节点的数量,ds,k表示节点s到节点k的距离,用跳数来表示。
6.根据权利要求5所述的基于带内控制的软件定义网络链路故障恢复方法,其特征在于,所述步骤105定义目标函数为P,表示如下:其中,在计算恢复路径时可通过调节系数α来决定恢复路径的费用和资源消耗率的权重,α的取值区间为[0,1]。