1.一种基于数字孪生的SDN路由优化方法,其特征在于,包括物理空间和虚拟空间两种空间,其中由SDN的主机和交换机组成的数据平面与由控制器组成的控制平面存在于物理空间,利用数据平面中的主机、交换机、链路信息构建的数字孪生存在于虚拟空间;在物理空间中,控制平面负责完成网络流量转发控制,由控制器构建出执行DT‑DRL路由算法的代理,该代理记为DRL‑Agent,DRL‑Agent基于DT‑DRL路由算法计算模型和网络状态信息,为每条网络流量规划合适的转发路径;
DT‑DRL路由算法包括在控制器部署的决策网络Policy Network,在数字孪生中部署的训练网络Training Network和辅助训练的目标网络Target Network;数字孪生根据数据平面映射的历史网络数据分析网络状态和收集决策经验,并根据决策经验更新路由算法的经验回放池;通过周期性地训练Training Network,以及向控制器更新Policy Network的参数,实现路由算法的动态更新;当控制器收到路由请求后,将流量信息和数字孪生提供的信息作为环境状态,为流量从多条备选路径中选出最优路径,并根据该条路径计算出相关交换机的路由转发表,完成流量的高效传输;
设数据平面有 个交换机和 条链路,将数据平面简化为一个无向图 ,其中 表示由交换机组成的集合,交换机 连接的主机集合记为, ; 表示由 条链路组成的集合, 表
示 和 之间存在一条链路, ;其具有通信距离 、链路带宽和链路利用率 三种属性,其中 和 为常量, 表示 在单位时间内链路上有数据通过的时间,该变量随时间 变化;
源主机 向目的主机 在时刻 发起一条流量请求 ,首先将该流量请求传输到与源主机相连的交换机, 中包含用于路由决策的属性有源主机地址、目的主机地址和流量大小三种数据, ;当数据平面中的交换机收到 时,交换机会将其上报给控制器,控制器随后利用数字孪生提供的网络状态和 信息作为Policy Network的状态输入,Policy Network输出的动作决策将作为该条 的最佳传输路径,经过路由表计算后下发到网络中的相关交换机,从而完成该条 的传输;
当一条 传输到目的主机后,在下一次向数字孪生映射主机的工作状态数据时,数字孪生能够根据该条流量的实际丢包率和时延,为DRL‑Agent制定奖励值,并将该条决策的网络状态空间信息 、有效决策信息 、奖励值 和下一时刻的网络状态空间信息 作为一条决策经验放入经验回放池;丢包率 表示为该条 到达目的主机的数据包数量与源主机发出的数据包数量 的比值,即 (1);
在经验回放池中的经验数量满足预设条件时,数字孪生中的Training Network和Target Network会通过经验回放的方式学习历史的网络状态变化情况,并调整Training Network和Target Network中的神经元参数,以及将Training Network中的参数和DRL‑Agent中Policy Network的参数进行同步,实现路由算法的异步更新。
2.根据权利要求1所述的一种基于数字孪生的SDN路由优化方法,其特征在于,所述DT‑DRL路由算法以深度Q网络为核心,设计DQN的状态空间、动作空间、奖励函数和学习过程;
(1)状态空间:控制平面中的DRL‑Agent利用数字孪生提供的网络信息,能够得到当前的网络环境状态;用三元组 表示状态空间,其中包含链路信息 ,交换机的端口队列信息 ,以及流量信息 ;
a.链路信息 :包括通信距离 、链路带宽 和链路利用率 ,其中 、和 分别表示由网络中所有链路 之间的距离 、带宽 和时刻 的链路利用率 组成的集合;
b.队列信息 :包括队列长度 和逗留时延 ,其中 和 分别表示利用排队理论分析得到的由所有交换机端口 在时刻 的平均队列长度和数据包平均逗留时延 组成的集合;
c.流量信息 :由源交换机地址 、目的交换机地址 和流量大小 组成的集合;
(2)动作空间:动作空间是由DRL‑Agent所有可执行动作所组成的集合,用集合 表示: (2);
在公式(2)中, 为控制器提供的所有备选路径数量,表示控制器提供的任一条备选路径;对于源交换机 到目的交换机 的路径 有 (3);
;
采用基于 条最短路径算法得到每对源交换机 到目的交换机 之间的 条最短路径;并采用基于Action‑Mask机制屏蔽与传输 无效的备选路径,具体如下:Step1:初始化一个行为 ,列为 的矩阵 ;
Step2:从第一行开始遍历 的每一行,如果行编号对应的路径是流量 对应的有效路径,则将该行的数据置为1;否则全部置为0,且转移到下一行,继续判断;
Step3:在完成Step2后,将 展平为向量 ;
Step4:利用 ,和动作空间向量 进行点乘后,得到有效动作 ;
基于 策略在初期决策阶段随机从动作空间中选择动作 ,提高DT‑DRL算法的探索效率,其中 策略如公式(4)所示: (4);
上式中, 表示从 条路径中随机选择一条路径作为动作,是一个随机数,表示动作选择的门限值, 为Policy Network输出的动作权重;
结合Action‑Mask和 策略的动作选择策略如公式(5)所示: (5);
上式中, 表示Action‑Mask机制输出的结果;
(3)为DQN算法设计的奖励函数如公式(6)所示:
(6);
其中, 和 分别 是丢包 率 和 时延 的 权重超 参数,且; 为传输失败的惩罚;在时刻 一条网络流量 的路由请求到达控制器后,DRL‑Agent根据当前输入的网络环境状态 ,执行DQN算法选出动作 ,当该条传输完成且目的主机向数字孪生完成数据映射后,数字孪生则会根据该条 的真实丢包率和通信时延向DRL‑Agent给出奖励,并记录 时刻的网络环境状态 ;将经验样本 放入经验池中;
(4)DQN学习过程:由于DQN的动作空间设计结合了Action‑Mask机制,则DQN在利用经验回放机制更新Training Network的参数时,Target Network输出动作的Q估计值为: (7);
其中,表示下一时刻的网络环境状态,和 是Dueling DQN网络结构的参数,、和表示Training Network的网络参数, 、 和 表示Target Network的网络参数,表示对Target Network网络输出的Q估计值做Action‑Mask操作;
根据均方误差的计算公式
(8);
其中 是样本数量, 分别表示样本值、真实值和预测值,定义DQN算法损失函数为: (9);
在根据公式(9)计算出损失函数值后,按照公式(10)进行反向传播以更新Training Network的参数: (10);
其中,表示求梯度运算。
3.根据权利要求2所述的一种基于数字孪生的SDN路由优化方法,其特征在于,所述平均队列长度 和数据包平均逗留时延 的计算方法为:假设每个交换机端口的队列为 队列,表示端口里每个数据包的到达时间符和发送时延服从负指数分布,端口在同一时刻只能发送一个数据包,且端口的队列缓存中最多只有 个数据包;其中 表示数据包的到达时间和发送时间可以无限大, 为端口的队列长度;根据交换机映射到数字孪生的信息,获得交换机 上端口 在1秒里的平均数据包到达数量为 ,数据包发送时延为 ;假定 表示队列长度为 这个事件所出现的概率, ;根据排队理论,在网络状态平稳时,队列长度 出现的概率为 ,且队列在任一时刻的平衡方程如下:
(11);
记 为端口队列的平均服务强度,根据公式(11)得到端口队列中有 个数据包的概率 为: (12);
且
(13);
根据公式(12)和(13),得到端口 平均队列长度 为: (14);
由于端口队列的长度限制,队列的有效到达率为:
(15);
结合Little公式,得到数据包在端口队列中的平均逗留时延 为: (16)。