1.一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,具体包括以下步骤:S1、交换机接收到主机发送的数据流,如果直连,则直接转发,否则需要进行流量判别;
S2、判断该数据流的DSCP字段是否是000011,如果是则初步判别该数据流是初步大流,否则是小流;
S3、如果是大流则控制器根据数据流的源IP和目的IP找到K条最短路径并从中选择剩余带宽最大的作为路由,如果是小流则采用等价多路径ECMP转发;
S4、SDN控制器周期性的向接入交换机下发请求信息,交换机将统计量回复报文给交换机;
S5、控制器将各交换机以及对应端口速率信息保存,同时控制器获取流量信息,并根据速率公式计算流速率,将超过阈值的数据流定义为大流;
S6、利用带宽需求估计模块对大流的真实带宽需求进行估计,若数据流流速率小于其真实带宽需求则定义为待调度流;
S7、为每条待调度流分配一个顶层交换机作为一个分配策略,并进行染色体编码;
S8、控制器利用遗传算法对进行染色体编码后待调度流进行路由规划,控制器下发新的流表到相应交换机,完成流的重调度。
2.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,步骤S2具体包括:对网络的服务器进行修改,加入TCP缓冲区检测的shim层,若TCP缓冲区超过设置的阈值,则将该数据流的DSCP设置为保留字段000011,接入交换机下发匹配DSCP流表。
3.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,数据流至少包括源IPIp_src、目的IP Ip_dst,源tcp端口Tcp_src_port,目的tcp端口Tcp_dst_port,以太网类型Ethertype。
4.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,流速率与链路容量包括:其中,ρ表示流速率与链路容量,speed表示流速率;LinkCaptcity表示链路容量。
5.根据权利要求4所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,流速率表示为:其中,bytecount表示流表记录的流过流表的数据流的总字节数;duration_sec和duration_nsec表示流表存在时间,即(durationsec×109+durationnsec)表示流表存在durationsec秒又durationnsec毫微秒。
6.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,利用带宽需求估计模块对大流的真实带宽需求进行估计包括:S61、输入n×n的矩阵I,其中矩阵中第i行第j列的元素Iij表示主机i向主机j发送的大流数据,令Si表示发送端主机i带宽限值,Ri表示接收端主机j带宽限值,带宽限值为1;
S62、设置矩阵变量T,其矩阵中的元素Tij为受限于发送端的带宽的发送端主机i向接收端主机j发送流的预测带宽值;
S63、设置矩阵变量A,其矩阵中的元素Aij为受限于接收端的带宽的发送端主机i向接收端主机j发送流的预测带宽值;
S64、设置矩阵O,令该矩阵元素Oij表示发送端主机i向接收端主机j发出流带宽需求预测值;
S65、若存在Tij≠Aij,则令Oij=min(Tij,Aij),根据Oij的值更新矩阵I以及剩余的Si以及Ri;
S66、若获得所有Oij,则返回矩阵O。
7.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,受限于发送端的带宽的发送端主机i向接收端主机j发送流的预测带宽值Tij表示为:受限于接收端的带宽的发送端主机i向接收端主机j发送流的预测带宽值Aij表示为:
8.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,步骤S7包括:为每一条待调度流分配一个顶层交换机,即每条数据流对应一个顶层交换机序号,采用十进制对顶层交换机序号序列进行编码,并将该编码作为一条染色体,将所有数据流对应的交换机编号序列作为一个个体。
9.根据权利要求1所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,控制器利用遗传算法对待调度流进行路由规划包括:S81、初始化N个个体,并将各个个体的适应度值F(Ai);
S82、采用精英保留策略,将当前N个体进行交叉变异操作,并采用轮盘赌选择N个体,若新群体中不存在优于当前最佳适应度个体,复制当前适应度最佳个体同样遗传到新群体;
S83、新群体个体数为N+1,淘汰掉一个最差适应度个体,使群体规模保持为N;
S84、若当前个体的最佳适应度与上一次个体的最佳适应度的变化量连续小于设置阈值的次数达到设置的上限或者达到默认迭代次数,则将当前N个个体中适应度最优个体染色体编码中源IP、目的IP以及顶层交换机确定的路径下发到交换机,否则返回S72。
10.根据权利要求9所述的一种基于遗传算法的SDN数据中心网络流转发方法,其特征在于,个体Ai被选择的概率表示为:其中,fn表示待调度的第n条数据流,θi,j表示数据流i所分配路径上第j条链路的带宽利用率,m表示路径i上链路的数量;hopsi表示数据流i路由跳数限制,k为核心交换机的数量,跨pod数据的路由跳数为k,pod内数据的路由跳数是2。