1.一种软件定义网络路由选择方法,其特征在于:包括以下步骤,
SDN控制器根据接收的数据转发请求消息获取数据流的状态信息,并调用拓扑结构模块获取网络状态信息及链路容量信息;
确定源交换机至目的交换机之间的候选路由;
路由选择方法建模;
以网络负载函数最小化为准则优化确定数据流最佳路由;
所述确定源交换机至目的交换机之间的候选路由通过基于逻辑代数化算法实现,具体包括以下步骤:(1)建立网络交换机节点关联矩阵并确定元素初始值,假设网络存在Z个节点,其中节点1为源节点,节点可达邻接矩阵为C=[cij],若节点i与节点j之间存在直接连接链路,则ci,j=Xi,j,Xi,j表示节点i与节点j之间的链路;若节点之间存在多条直接连接链路时,若i=j,ci,i=1;
(2)关联矩阵行间整合与删除运算:调用公式c′i,j=ci,q·cq,j+ci,j对矩阵的第q行进行整合与删除,其中,c′i,j为整合后矩阵中的元素,i,j≠q;
(3)依次整合与删除关联矩阵中第2行到第Z行,直到矩阵中仅余第1行为止,该行中每一个逻辑表达形式均表示源节点和对应目的节点的连接关系,其中每一个逻辑乘积项即表示一条源节点和对应目的节点间的候选路由,逻辑乘积项的集合即为源节点与目的节点间的全部候选路由;
所述路由选择方法建模包括建模数据流路由选择标识,建模路由选择优化限制条件,建模网络负载函数;
所述建模网络负载函数为, 为第k个数据流对Xij的路由选择
标识,fk表示第k个流的带宽请求量,bij表示交换机i与j之间链路的容量大小。
2.根据权利要求1所述的一种软件定义网络路由选择方法,其特征在于:所述数据流的状态信息包括数据流请求矩阵信息:F=[fk],其中fk表示第k个流的带宽请求量。
3.根据权利要求1所述的一种软件定义网络路由选择方法,其特征在于:所述网络拓扑信息包括数据传输可达邻接矩阵C=[cij],1≤i,j≤N,N为网络中交换机总数,其中cij表示两节点的连接状态,若节点i,j为直连节点则cij=1,否则cij=0。
4.根据权利要求1所述的一种软件定义网络路由选择方法,其特征在于:所述链路信息包括链路信息矩阵:B=[bij],1≤i,j≤N;其中bij表示交换机i与j之间链路的容量大小。
5.根据权利要求1所述的一种软件定义网络路由选择方法,其特征在于:所述建模数据流路由选择标识具体为:令 为第k个数据流从源节点sk至第i个中继交换机的二元链路选择变量,若第k个流选择第i个中继交换机,则 否则 令 为第k个数据流从第j个中继交换机至目的节点dk的二元链路选择变量,若第k个流选择第j个中继交换机至目的节点dk,则 否则 令 为第k个数据流对eij的路由选择标识,若第k个流经过eij,则 否则, 若 则
6.根据权利要求1所述的一种软件定义网络路由选择方法,其特征在于:所述建模路由选择优化限制条件具体包括:链路容量限制条件,链路选择限制条件以及路由跳数限制条件;
其中,链路容量限制条件表示为: 其中βij表示链路eij的使用比例, 为第k个数据流对eij的路由选择标识;fk表示第k个流的带宽请求量;bij表示交换机i与j之间链路的容量大小;
链路选择限制条件为: 其中 为第k个数据流
k
从源节点s至第i个中继交换机的二元链路选择变量, 为第k个数据流从第j个中继交换机至目的节点dk的二元链路选择变量, 为第k个数据流对eij的路由选择标识, 为第k个数据流对ejm的路由选择标识;
路由跳数限制条件表示为:Hk≤H(k,max),Hk为第k个数据流的传输路由跳数,即:(k,max)
H 为第k个数据流传输路由跳数最大值。
7.根据权利要求1所述的一种软件定义网络路由选择方法,其特征在于:所述以网络负载函数最小化为准则优化确定数据流最佳路由,需满足数据流链路以及流量约束条件,通过以下函数实现,其中, 为第k个数据流对eij的路由选择标识,其中 为第k个数据流从源节点sk至第i个中继交换机的二元链路选择变量, 为第k个数据流从第j个中继交换机至目的节点dk的二元链路选择变量。