CN117294643B - 一种基于SDN架构的网络QoS保障路由方法 - Google Patents
一种基于SDN架构的网络QoS保障路由方法 Download PDFInfo
- Publication number
- CN117294643B CN117294643B CN202311575841.0A CN202311575841A CN117294643B CN 117294643 B CN117294643 B CN 117294643B CN 202311575841 A CN202311575841 A CN 202311575841A CN 117294643 B CN117294643 B CN 117294643B
- Authority
- CN
- China
- Prior art keywords
- network
- data
- path
- value
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 77
- 238000013528 artificial neural network Methods 0.000 claims abstract description 41
- 241000406668 Loxodonta cyclotis Species 0.000 claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 61
- 239000003795 chemical substances by application Substances 0.000 claims description 46
- 230000003993 interaction Effects 0.000 claims description 18
- 238000005457 optimization Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 239000000872 buffer Substances 0.000 claims description 3
- 238000005315 distribution function Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 101150096839 Fcmr gene Proteins 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/76—Routing in software-defined topologies, e.g. routing between virtual machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN架构的网络QoS保障路由方法,根据网络拓扑信息,抽象成有向图,然后基于基于改经的k‑means算法将数据分为老鼠流、大象流、巨象流,定义流量传输的约束条件,构建DQN神经网络,以奖励函数R最大的动作所对应的最大Q值为目标训练DQN神经网络,得到QoS保障路由模型,得到最优路径权重值,根据Dijkstra算法确定数据包发送路径,最后将路径信息下发到交换机。本发明避免了传统K‑means算法对数据的处理不够稳健以及分类结果不够准确的情况。在DQN的神经网络训练时,从经验池中依据数据的优先性抽取数据,使得神经网络更加关注重要的数据,提高了神经网络的学习效率和算法的性能。
Description
技术领域
本发明属于网络技术领域,具体涉及一种基于SDN架构的网络QoS保障路由方法。
背景技术
随着网络规模不断扩大,网络拥塞、延迟等问题也越来越突出。在传统的网络中,控制和转发紧紧耦合的网络架构与“尽力而为”的QoS服务模式,无法对网络流量进行动态调整和优化,难以满足不同应用场景下的QoS要求。而SDN(Software-Define Networking,软件定义网络)技术通过将网络控制平面和数据平面分离,能够动态调整网络流量,提高网络性能和QoS保障。
数据中心网络的流量从数据量大小的角度一般被分为大象流和老鼠流。但网络中数量较少的大象流承载了大部分的网络流量,而数量较多的老鼠流仅承载了少量的网络流量。而目前很多流量分类的的思路是设置静态或动态阈值来识别大象流和老鼠流,并且对于所有体量的大象流都使用同样的方法计算路径转发,但是大象流之间的体量差别很大,将流量非常大的大象流与普通大象流一起转发,同样会造成网络局部拥塞,负载不均衡等问题。
K-means算法是网络流量分类中应用最广泛的机器学习算法之一,但是经典的K-means算法也存在一些缺点,如对于初始聚类中心选择的随机性导致算法对异常数据敏感,对分类准确度有较大影响。由于初始聚类中心的随机性,传统K-means算法对于数据的处理不够稳健,因而可能导致分类结果不准确的情况。
OSPF和BGP是目前基于QoS的路由算法中比较常用的两种,但它们各自也都存在一些缺点。OSPF只能静态选择单一路径作为数据包的路由路径,无法实现负载均衡;BGP虽然支持多路径,但是需要配置较多的策略和路由规则,且路由决策较慢,对网络的可扩展性也存在一定限制。
发明内容
本发明所要解决的技术问题在于:针对现有技术中OSPF只能静态选择单一路径作为数据包的路由路径,无法实现负载均衡;BGP虽然支持多路径,但是需要配置较多的策略和路由规则,且路由决策较慢,对网络的可扩展性也存在一定限制的问题,提供了一种基于SDN架构的网络QoS保障路由方法,更好地实现数据中心网络资源的灵活按需分配、最大程度提升数据中心网络资源利用率,提高网络性能和QoS保障。
为解决以上技术问题,本发明提供如下技术方案:一种基于SDN架构的网络QoS保障路由方法,包括如下步骤:
S1、SDN控制器按照预设时间t周期性地获取数据中心网络拓扑信息;
S2、根据拓扑信息将数据中心网络抽象为有向图,通过有向图获得数据中心网络数据传输可达路径,并用权重矩阵表示;
S3、SDN控制器接收来自源主机的数据流,根据有向图判断该数据流要发送的目的节点与源节点是否直接相连,是则直接按照网络可达路径进行数据包转发,否则执行步骤S4;
S4、采用改进的基于数据分布密度的k-means算法将数据流聚类分簇,即先利用流量分布密度函数确定初始聚类中心,再将数据流进行聚类为包含具有各个分类特征的数据流,即老鼠流、大象流、以及巨象流;
S5、计算路径的端到端时延、路径的可用带宽、路径的丢包率,然后构建数据流的QoS约束条件即最小传输总成本Costmin;
S6、构建DQN神经网络,包括Q网络和目标Q_target网络;定义状态空间,包括网络拓扑结构信息、源节点、目的节点、各个分类特征的数据流;定义智能体与环境交互的动作空间A为数据流选择在节点之间的路径传输的权重值,奖励函数R为网络各路径最小传输总成本的负相关,以奖励函数R最大的动作a所对应的最大Q值为目标训练DQN神经网络,在训练过程中利用经验回放机制和目标Q_target网络,优化路由策略得到QoS保障路由模型;
S7、利用QoS保障路由模型,得到数据流传输最优路径的权重值,由此权重值获得相应数据流传输最优路径,进一步确定传输路径经过的所有节点;
S8、根据Dijkstra算法,选取传输路径经过的所有节点中权重值最小的节点作为路由节点,确定数据流的传输路径。
进一步地,前述的步骤S1中,SDN控制器通过南向OpenFlow协议与网络中的交换机进行通信,获取交换机的连接关系和链路信息,并通过链路发现协议LLDP周期性获取并更新全局网络拓扑信息,所述的SDN网络包含x个控制器和y个交换机,x个控制器集合为C={c1,c2,……,cx},并将控制器c1设为中央控制器,y个交换机集合为S={s1,s2,……,sy}。
进一步地,前述的步骤S2中,有向图为G=(U,V,W),U表示网络的节点u的集合,即u∈U;V表示网络的链路v的集合,两个节点的连接定义一个链路,即v∈V,表示初始时网络路径节点的权重矩阵,其中wij=R+,即正实数,表示在节点i和j之间有路径相连,即数据可达;wij=0,表示在i和j之间无路径相连,即数据不可达。
进一步地,前述的步骤S4包括以下子步骤:
S41、针对网络任意节点i计算所传数据流之间的欧氏距离dis(la,lb),如下式:
其中,网络中节点i传输的数据流用向量集合
L={li|li∈Rp,i=1,2,3,…,n}表示,n为节点i中传输的流量条数,p为
流量的表示维数,la和lb是流量集合L中任意的两条数据流;
计算节点i所有数据流的平均欧氏距离如下式:
其中,值越小,则数据流的平均欧氏距离越小,表示数据流之间的差异越小,即该节点的数据流越相似;
S42、计算节点i传输的流量集合L中数据流la的数据密度den(la),如下式:
其中,den(la)表示在数据流la的传输时间t(la)内传输的数据量或数据包数量的大小,den(la)用于衡量该数据流的流量强度;
计算节点i所有数据流的平均数据密度如下式:
其中,值越大,则数据流的平均数据密度越大,表示节点i中的传输的数据量占比越高,即流量分布越集中;
计算节点i传输的n条数据流的平均传输时间为如下式:
计算节点i所有数据流相对应的聚类中心ci,如下式:
其中,ci表示节点i所有数据流在大小、距离、密度等方面的共同特征;
S43、计算节点i的流量分布函数F(li),如下式:
其中,P()是概率函数,
计算节点i的分布密度函数f(li),如下式:
其中,f(li)表示流量li分布在某个区间内的概率;
S44、根据有向图G=(U,V,W),对网络的全部U个节点重复执行步骤S41-S43,获得网络各个节点的传输流量的分布密度函数,并用集合fall表示如下:
fall={f1,f2,…,fi,…fu},
各个节点所对应的聚类均值中心Call如下式:
Call={c1,c2,…,ci,…,cu},
网络所有U个节点的平均流量分布密度函数如下式:
平均流量分布密度函数用于衡量网络各节点流量密度的平均值,通过与该函数值大小的比较,将网络中各节点分为高密度节点fi h吐及低密度节点fi l;
S45、根据高密度节点fi h以及低密度节点fi l,进一步得到下式:
将高密度节点对应的聚类中心从Call中抽取,作为K-means聚类中心的预备值,并用集合Ch表示,如下:
Ch={c1,c2…,ci…,cm},i=1,2,3…m,m<n,
S46、从Ch中找出数值最大的数据对象c1作为第1个初始聚类中心并将c1从Ch中删除;
S47、再从Ch中找出距离最远的数据对象c2作为第2个初始聚类中心/>并将c2从Ch中删除;
S48、从Ch中找出距离和/>最远的数据对象c3作为第3个初始聚类中心/>并将c3从Ch中删除;
S49、分配数据流到相应数据簇:利用步骤S46-S48获得的初始聚类簇中心集合对网络各节点的每条数据流进行聚类,计算其与各个初始聚类中心的距离,并将其分配给距离最近的聚类中心相对应的数据簇;
S410、更新簇中心:对于每个簇,重复步骤S41-S42,计算所有分配给该簇的数据流的平均值,即数据流的中心点,并将该平均值作为新的簇中心
S411、重复步骤S44-S410,直到聚类中心不再改变,保存聚类结果,将数据流聚类为老鼠流Lr、大象流Le、巨象流Lg。
进一步地,前述的步骤S5中,数据流的QoS约束条件按如下步骤获得:
S51、计算路径p(i,j)的端到端时延Td(p),如下式:
其中,Tt(v)、Tc(v)、Tq(v)分别为路径p中链路v的传输时延、传播时延以及排队时延;
S52、计算路径p的可用带宽B(p),如下式:
其中,t是预设的SDN控制器获取网络数据中心网路拓扑信息的时间间隔;Dr为当前时间间隔t内端口的接收数据量;D′t为前一时间间隔内t内端口已发送的数据量,Bc为基于香农理论定义的信道带宽;
S53、计算路径p的丢包率:
其中,Dt-all为当前时间间隔t内端口的发送数据总量;Dr为当前时间间隔t内端口的接收数据量,二者差值即为丢包量;
S54、计算路径p传输最小成本Costmin(p),如下式:
Costmin(p)=[αTd(p)-βB(p)+γLo(p)],
其中,α、β、γ为链路成本的权重系数,所述最小成本Costmin(p)综合了考虑链路带宽、时延和丢包率因素的共同作用,通过控制最小成本Costmin(p)以达到网络传输的最佳性能。
进一步地,前述的步骤S6包括如下子步骤:
S61、将DQN神经网络的参数映射到实际的SDN网络的应用场景中,包括状态空间S,动作空间A以及奖励函数R;
其中,状态空间S包括网络拓扑结构信息、源节点、目的节点、各个分类特征的数据流;定义智能体与环境交互的动作空间A如下式:即
a(st)是数据流l选择在节点i和节点j之间的第p条路径传输的权重值的集合,节点i和节点j之间共有K条路经,数据流l在节点i和节点j间的第p条路径上传输,第p条路径的权重为:
其中,表示在节点i和节点j之间的路径p上传输的流量;
奖励函数R为网络各路径最小传输成本的负相关,如下式:
R=-Costmin(p)=[-αTd(p)+βB(p)-γLo(p)],
其中,Td(p)、B(p)、Lo(p)表示节点i和节点j之间的路径p的端到端时延、可用带宽、丢包率;α,β,γ∈[0,1]为各优化目标的权重系数,在应对不同的业务流时,权重值有所不同;
S62、初始化DQN神经网络,包括预设学习率折扣因子μ、探索率ε初值;所述DQN神经网络用于估计奖励函数R的动作a所对应的Q值;初始化训练池,即创建经验回放缓冲区,用于存储智能体与环境交互获得的经验,包括当前网络环境状态信息St、动作at、奖励rt、下一个网络环境状态信息St+1;
S63、智能体与环境交互,获取当前网络环境状态信息St,并根据当前网络环境状态信息St和探索率ε选择动作at,即数据流传输路径的权重值,即择该路径进行数据传输;其中,探索率ε为一个取值(0,1)的超参数,表示智能体选择随机动作的概率,用于探索性地选择非最优动作,如果随机数小于探索率,智能体选择随机动作;否则,根据当前Q值选择最优动作;
S64,智能体执行动作at,即选中一条路径p对数据包进行路由,智能体执行动作at后获得相应的奖励rt,即网络成本值的反馈,同时将St更新为St+1。将智能体与环境交互获得的经验值(st,at,rt,st+1)存入DQN经验池;
S65,在DQN经验池中,数据优先性筛选模块部署在经验池的经验元组中,神经网络基于数据优先性采集到学习样本批次包括:
S65-1、智能体与环境交互获取的第一批经验(st,at,rt,st+1)直接输入Q网络,再经过Q_target网络得到t时刻内每个动作的Q值预测值Q′;
其中,目标网络Q_target与主网络Q结构相同,用于提供相对稳定的目标Q值,解决DQN算法过估计问题;
S65-2,根据Q′值选择对应的最优动作a′t,如下式:
a′t=argmaxQ(st,at;θt),
其中,θ表示Q网络的参数,用来调整Q网络的权重,使Q网络能够更准确地估计每个动作的Q值,t为预设的一个时间单位;
S65-3,计算出执行a′t所获得的对应的奖励值r′t;
S65-4,定义经验池数据优先级函数Pr(t):
Pr(t)=(r′t+Q′)λ,
其中,λ是一个超参数且λ∈(0,1),用于控制优先级函数的衰减程度,以直接过滤优先级较低的数据,提高模型训练效率;
S65-5,将每个经验数据的奖励值r′t和对应的Q′代入优先级函数的公式,计算出每个经验数据的优先级,并加载到经验池中;根据智能体与环境的交互,周期性更新经验池中数据的优先级;
S66、根据步骤S65基于数据优先性筛选模块采集到学习样本批次神经网络计算出该批次样本对应的Q值,然后获得当前状态/>下Q值对应的动作/>以及执行动作/>后智能体所获得的奖励/>再计算出目标Q值,其中,该批次样本对应的Q值:
式中,fθ表示主网络的输出函数,是神经网络确定的函数,Q值对应的动作
基于数据流经聚类算法后被聚类成巨象流Lg、大象流Le以及老鼠流Lr,动作即为数据流传输所规划的路径p的权重值;
执行动作后智能体获得环境的奖励值/>如下式:
奖励值越大则网络成本越小,所执行的动作越优,即路径规划方案越优;
计算目标Q值:
其中,μ为折扣因子,用于平衡当前奖励和未来奖励的重要性程度;
S67、更新Q网络参数θt:定义损失函数Loss(θt),使用随机梯度下降法SGD最小化当前状态的Q值与目标Q值的差异,更新Q网络的参数;
更新目标Q_target网络参数θ′:即定期将Q网络的参数复制到目标Q_target网络中,
S68,智能体将状态更新为并降低探索率ε,重复上述步骤S63至S68,直到智能体确定到的数据中心网络状态是终止状态,即网络中各种业务所聚类成的老鼠流、大象流、以及巨象流转发完成。
进一步地,前述的,步骤S7具体为:
定义最优路径的权重值集合Wemin,如下式,该集合作用为在DQN算法输出最优动作a,即为数据流传输所规划的路径p后,确定路径p所经过的节点,SDN控制层对于网络的管理及流表下发;
进一步地,前述的步骤S8中权重值按如下公式计算:
其中,K为利用基于跳数的K最短路径算法计算共有K条路径,表示节点i和j之间在第k条路径上传输的流。
相较于现有技术,本发明采用以上技术方案的有益技术效果如下:
1、本发明采用SDN技术,将网络控制平面和数据平面分离,实现网络流量的动态调整和优化,通过部署统一的SDN控制器收集各链路之间的流量需求与拥塞情况,实现数据中心网络资源的灵活按需分配、最大程度提升数据中心网络资源利用率,提高网络性能和QoS保障。
2、本发明对传统的k-means算法加以改进,在初始聚类中心的确定上,采用基于流量的分布概率密度来确定初始聚类中心,通过对数据流量进行分析,得到了流量的分布概率密度函数。根据流量的分布概率密度函数来确定初始聚类中心的位置,使得聚类中心更加贴近数据的分布情况,从而提高了算法的准确性。大大避免了传统K-means算法由于初始聚类中心选取的随机性导致的对数据的处理不够稳健以及分类结果不够准确的情况。
3、本发明应用DQN算法对整个网络各节点的链路权重值进行计算优化,相较于传统方法,本发明在DQN的经验池中维护了一个优先队列,通过定义经验池数据优先级函数,将数据按优先级存储到队列中。在DQN的神经网络训练时,从经验池中依据数据的优先性而非传统DQN网络的随机均匀方式抽取数据,从而获得神经网络的学习样本批次,使得神经网络更加关注重要的数据,提高了神经网络的学习效率和算法的性能。
附图说明
图1为本发明的SDN网络模型图。
图2为本发明的一种基于SDN架构的网络QoS保障路由方法总体流程图。
图3为本发明的深度强化学习算法模型图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本发明中参照附图来描述本发明的各方面,附图中示出了许多说明性实施例。本发明的实施例不局限于附图所述。应当理解,本发明通过上面介绍的多种构思和实施例,以及下面详细描述的构思和实施方式中的任意一种来实现,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
参考图1,本发明的一种基于SDN架构的网络包括应用层、控制层以及数据层,SDN控制层所属控制器与数据层交换机相连,流量分类模块和QoS保障模块均部署在SDN控制器中,负责数据中心网络流量分类以及路由优化等功能。
如图2所示,本发明提供一种基于SDN架构的网络QoS保障路由方法,包括如下步骤:S1、SDN控制器按照预设时间t周期性地获取数据中心网络拓扑信息;
拓扑信息包括网络中各节点间可用带宽、端到端时延等信息,用于后续评估、计算路由策略。具体为:SDN控制器通过南向OpenFlow协议与网络中的交换机进行通信,获取交换机的连接关系和链路信息,并通过链路发现协议LLDP周期性获取并更新全局网络拓扑信息,所述的SDN网络包含x个控制器和y个交换机,x个控制器集合为C={c1,c2,……,cx},并将控制器c1设为中央控制器,y个交换机集合为S={s1,s2,……,sy}。
链路可用带宽的监测:先设定一个固定的时间间隔t,然后通过SDN控制器通过南向OpenFlow协议对网络中各个交换设备的端口进行周期性地监测,获取各个端口的统计信息。统计信息包括每个端口的接收数据量、发送数据量等,进而计算出链路可用带宽,即
其中,Dr为当前时间间隔t内端口的接收数据量,D′t为上一时间间隔内t内端口已发送的数据量,Bc为基于香农理论定义的信道带宽。
链路时延的监测:在SDN网络数据传输时,控制器会发送Packet-Out消息,命令交换机S1发送数据流至交换机S2。但当交换机S2没有能够处理该数据流的流表项时,就会向SDN控制器发送Packet-In消息进行回复。SDN控制器根据发送时间和接收时间,便可计算得到消息在该条路径(由SDN控制器发送至交换机S1,再至交换机S2,最后又从交换机S2返回至控制器)下的往返总时间Ttr。
SDN控制器再分别向S1与S2发送echo request消息,交换机S1与S2再分别发送echoreply消息至SDN控制器。SDN控制器根据发送echo request消息和接收echo reply消息的时间差得到SDN控制器到交换机S1与S2的各自时间T1、T2,进而计算出交换机S1与S2间的端到端时延Td:
S2、根据拓扑信息将数据中心网络抽象为有向图G=(U,V,W),通过有向图获得数据中心网络数据传输可达路径,并用权重矩阵表示;其中,U表示网络的节点u的集合,即u∈U;V表示网络的链路v的集合,两个节点的连接定义一个链路,即v∈V,有向图G中源节点源节点i和节点j间数据传输利用基于跳数的K最短路径算法计算共有K条路径,表示节点i和j之间在第k条路径上传输的流。定义数据流在节点i和j之间传输时第k条路径的权重值为/>则
该值即代表初始时节点i和j之间第k条路径的权重值。进而可得到初始时网络各节点间路径的权重值,表示为N×N权重矩阵其中,wij=R+,即正实数,表示在节点i和j之间有路径相连,即数据可达;wij=0,表示在i和j之间无路径相连,即数据不可达。
S3、SDN控制器接收来自源主机的数据流,根据有向图判断该数据流要发送的目的节点与源节点是否直接相连,是则直接按照网络可达路径进行数据包转发,否则执行步骤S4;网络流量的行为特征和统计特性可知,同一应用类型的流量数据往往分布在一个相对比较密集的区域。
S4、采用改进的基于数据分布密度的k-means算法将数据流聚类分簇,即先利用流量分布密度函数确定初始聚类中心,再将数据流进行聚类为包含具有各个分类特征的数据流,即老鼠流Lr、大象流Le、以及巨象流g;
S41、针对网络任意节点i计算所传数据流之间的欧氏距离dis(la,lb),如下式:
其中,网络中节点i传输的数据流用向量集合L={li|li∈Rp,i=1,2,3,…,n}表示,n为节点i中传输的流量条数,p为流量的表示维数,la和lb是流量集合L中任意的两条数据流;
计算节点i所有数据流的平均欧氏距离如下式:
其中,直越小,则数据流的平均欧氏距离越小,表示数据流之间的差异越小,即该节点的数据流越相似;
S42、计算节点i传输的流量集合L中数据流la的数据密度den(la),如下式:
其中,den(la)表示在数据流la的传输时间t(la)内传输的数据量或数据包数量的大小,den(la)用于衡量该数据流的流量强度;
计算节点i所有数据流的平均数据密度如下式:
其中,值越大,则数据流的平均数据密度越大,表示节点i中的传输的数据量占比越高,即流量分布越集中;
计算节点i传输的n条数据流的平均传输时间为如下式:
计算节点i所有数据流相对应的聚类中心ci,如下式:
其中,ci表示节点i所有数据流在大小、距离、密度等方面的共同特征;
S43、计算节点i的流量分布函数F(li),如下式:
其中,P()是概率函数,
计算节点i的分布密度函数f(li),如下式:
其中,f(li)表示流量li分布在某个区间内的概率;
S44、根据有向图G=(U,V,W),对网络的全部U个节点重复执行步骤S41-S43,获得网络各个节点的传输流量的分布密度函数,并用集合fall表示如下:
fall={f1,f2,…,fi,…fu}
各个节点所对应的聚类均值中心Call,如下式:
Call={c1,c2,…,ci,…,cu}
网络所有U个节点的平均流量分布密度函数如下式:
/>
该平均流量分布密度函数用于衡量网络各节点流量密度的平均值,通过与该函数值大小的比较,将网络中各节点分为高密度节点fi h以及低密度节点fi l;
S45、根据高密度节点fi h以及低密度节点fi l,进一步得到下式:
将高密度节点对应的聚类中心从Call中抽取,作为K-means聚类中心的预备值,并用集合Ch表示,如下:
Ch={c1,c2…,ci…,cm},i=1,2,3…m,m<n
S46、从Ch中找出数值最大的数据对象c1作为第1个初始聚类中心并将c1从Ch中删除;
S47、再从Ch中找出距离最远的数据对象c2作为第2个初始聚类中心/>并将c2从Ch中删除;
S48、从Ch中找出距离和/>最远的数据对象c3作为第3个初始聚类中心/>并将c3从Ch中删除;
S49、分配数据流到相应数据簇:利用步骤S46-S48获得的初始聚类簇中心集合对网络各节点的每条数据流进行聚类,计算其与各个初始聚类中心的距离,并将其分配给距离最近的聚类中心相对应的数据簇;
S410、更新簇中心:对于每个簇,重复步骤S41-S42,计算所有分配给该簇的数据流的平均值,即数据流的中心点,并将该平均值作为新的簇中心
S411、重复步骤S44-S410,直到聚类中心不再改变,保存聚类结果,将数据流聚类为老鼠流Lr、大象流Le、巨象流Lg。
由于数据中心网络中老鼠流占比最多,大象流占比较少,巨象流占比最少,通过改进的基于流量概率密度分布从而获得初始聚类中心的k-means算法,在聚类中心不再变化时,表明各簇流量收敛成功。即网络流量以概率分布为聚类中心选取前提,以数据量大小为聚类标准,经过k-means算法成功聚类为老鼠流Lr、大象流Le、巨象流Lg。
由于不同业务对应的巨象流、大象流、老鼠流等在传输带宽、时延、抖动、传输安全等方面,提出了各自确定性的QoS标准和相互差异化要求。为了保障不同业务的QoS,通过QoS构成约束条件,进而利用DQN神经网络生成数据中心网络各链路权重。
QoS多约束条件目的是为网络流量筛选出最满足该应用类型QoS的路径,即在网络G=(U,V,W)中的节点i和j之间找到一条路径p(i,j)且满足该业务QoS及保证网络传输总成本最小。当网络传输总成本满足最小时,可有效避免网络拥塞,因此将基于SDN网络流量复杂多变的路由问题转变为优化问题。
S5、计算路径的端到端时延、路径的可用带宽、路径的丢包率,然后构建数据流的QoS约束条件即最小传输总成本Costmin(p);
数据流的QoS约束条件按如下步骤获得:
S51、计算路径p(i,j)的端到端时延Td(p),其包括数据包在路径p上所有节点的传输时延、传播时延以及排队时延之和,如下式:
Td(p)和可用带宽B(p)在步骤S1中当SQN控制平面按照一定时间t周期性地获取数据中心网络拓扑结构已获得,其中,Tt(v)、Tc(v)、Tq(v)分别为路径p中链路v的传输时延、传播时延以及排队时延;传输时延,取决于数据包的大小以及链路的传输能力;传播时延,取决于链路的物理距离和信号传播速度;数据包在网络设备的队列中等待传输所需的排队时延,取决于网络拥塞情况和队列长度。
S52、计算路径p的可用带宽B(p),如下式:
其中,t是预设的SDN控制器获取网络数据中心网路拓扑信息的时间间隔;Dr为当前时间间隔t内端口的接收数据量;D′t为前一时间间隔内t内端口已发送的数据量,Bc为基于香农理论定义的信道带宽;
S53、路径p的丢包率,即发送过程中丢失的数据包数量占发送的数据包数量。丢失的数据包数量是在链路传输过程中未能成功到达目的地的数据包数量,发送的数据包数量是在链路上发送的总数据包数量;
计算路径p的丢包率,如下式:
其中,Dt-all为当前时间间隔t内端口的发送数据总量;Dr为当前时间间隔t内端口的接收数据量,二者差值即为丢包量;
S54、计算路径p传输最小成本Costmin(p),如下式:
Costmmin(p)=[αTd(p)-βB(p)+γLo(p)]
其中,α、β、γ为链路成本的权重系数,所述最小成本Costmin(p)综合了考虑链路带宽、时延和丢包率因素的共同作用,通过控制最小成本Costmin(p)以达到网络传输的最佳性能。
参考图3,S6、构建DQN神经网络,包括Q网络和目标Q_target网络;定义状态空间,包括网络拓扑结构信息、源节点、目的节点、各个分类特征的数据流;定义智能体与环境交互的动作空间A为数据流选择在节点之间的路径传输的权重值,奖励函数R为网络各路径最小传输总成本Costmin的负相关,以奖励函数R最大的动作a所对应的最大Q值为目标训练DQN神经网络,在训练过程中利用经验回放机制和目标Q_target网络,优化路由策略得到QoS保障路由模型;
模型输入包括源节点、目的节点、流量分类特征、网络拓扑结构信息和QoS约束条件即最小传输总成本Costmin等,输出与业务QoS保障策略对应的最优路径权重值。训练过程中,DQN算法利用经验回放机制和目标网络等技术,不断优化路由策略,提高QoS保障能力,包括如下子步骤:
S61、将DQN神经网络的参数映射到实际的SDN网络的应用场景中,包括状态空间S,动作空间A以及奖励函数R;
(1)状态空间S包括:网络拓扑结构信息、源节点、目的节点、各个分类特征的数据流,
源节点、目的节点包括网络中各个节点的位置、跳数、连接关系等信息。流量特征信息为智能体需要了解的当前网络中存在流量分类情况,即已由步骤S4中基于改进的k-means算法聚类后得到的巨象流Lg、大象流Le以及老鼠流Lr等3簇数据流。网络中的状态变量,如网络负载、带宽利用率,网络吞吐量等,以便智能体选择合适的流量调度策略。
(2)定义智能体与环境交互的动作空间A:即
a(st)为数据流l选择在节点i和j之间的第p条路径传输的权重值的集合,节点i和j之间共有K条路经,数据流l在节点i和j间的第p条路径上传输,第p条路径的权重为:
其中表示在节点i和j之间的路径p上传输的流量;
(3)为了选出满足业务QoS要求的最优路径,避免数据中心常出现的拥塞问题,本实施例的优化目标为使数据流传输所经过的链路权重和最小。与此同时,DQN神经网络的目标是找到使奖励函数R最大的动作a所对应的最大Q值。奖励函数R为网络各路径最小传输成本的负相关,如下式:
R=-Costmin(p)=[-αTd(p)+βB(p)-γLo(p)]
其中,Td(p)、B(p)、Lo(p)表示节点节点i和j之间的路径p的端到端时延、可用带宽、丢包率;α,β,γ∈[0,1]为各优化目标的权重系数,在应对不同的业务流时,权重值有所不同;
S62、初始化DQN神经网络,包括预设学习率、折扣因子μ、探索率ε初值;所述DQN神经网络用于估计奖励函数R的动作a所对应的Q值;初始化训练池,即创建经验回放缓冲区,用于存储智能体与环境交互获得的经验,包括当前网络环境状态信息St、动作at、奖励rt、下一个网络环境状态信息St+1,保证了DQN神经网络的稳定性;
S63、智能体与环境交互,获取当前网络环境状态信息St,并根据当前网络环境状态信息St和探索率ε选择动作at,即数据流传输路径的权重值,即择该路径进行数据传输;其中,探索率为一个取值(0,1)的超参数,表示智能体选择随机动作的概率,用于探索性地选择非最优动作,如果随机数小于探索率,智能体选择随机动作;否则,根据当前Q值选择最优动作;
S64,智能体执行动作at,即选中一条路径p对数据包进行路由,智能体执行动作at后获得相应的奖励rt,即网络成本值的反馈,同时将St更新为St+1,将智能体与环境交互获得的经验值(st,at,rt,St+1)存入DQN经验池;
S65,在DQN经验池中,数据优先性筛选模块部署在经验池的经验元组中,神经网络基于数据优先性采集到学习样本批次包括:
S65-1、智能体与环境交互获取的第一批经验(st,at,rt,st+1)直接输入Q网络,再经过Q_target网络得到t时刻内每个动作的Q值预测值Q′。
其中,目标网络Q_target与主网络Q结构相同,用于提供相对稳定的目标Q值,解决DQN算法过估计问题;
S65-2,根据Q′值选择对应的最优动作a′t,如下式:
a′t=argmaxQ(st,at;θt),
其中,θ表示Q网络的参数,用来调整Q网络的权重,使Q网络能够更准确地估计每个动作的Q值,t为预设的一个时间单位;
S65-3,计算出执行a′t所获得的对应的奖励值r′t;
S65-4,定义经验池数据优先级函数Pr(t):
Pr(t)=(r′t+Q′)λ
其中,λ是一个超参数且λ∈(0,1),用于控制优先级函数的衰减程度,以直接过滤优先级较低的数据,提高模型训练效率;
S65-5,将每个经验数据的奖励值r′t和对应的Q′代入优先级函数的公式,计算出每个经验数据的优先级,并加载到经验池中;根据智能体与环境的交互,周期性更新经验池中数据的优先级。
S66、根据步骤S65基于数据优先性筛选模块采集到学习样本批次神经网络计算出该批次样本对应的Q值,然后获得当前状态/>下Q值对应的动作/>以及执行动作/>后智能体所获得的奖励/>再计算出目标Q值,其中,该批次样本对应的Q值:
式中,fθ表示主网络的输出函数,是神经网络确定的函数,Q值对应的动作
.基于数据流经聚类算法后被聚类成巨象流Lg、大象流Le以及老鼠流Lr,动作即为数据流传输所规划的路径p的权重值。
执行动作后智能体获得环境的奖励值/>如下式:
奖励值越大则网络成本越小,所执行的动作越优,即路径规划方案越优;
在本实施例中,奖励值与网络开销负相关,该值物理意义为部署在SDN控制平面的基于DQN算法的网络QOS保障模型结合流量业务需求以及网络资源开销,对网络中任意两节点间所传数据流规划的路由路径的评价指标。奖励值/>越大则网络成本越小,则所执行的动作越优,即路径规划方案越优。反之,结论同理。/>
计算目标Q值:
其中,μ为折扣因子,用于平衡当前奖励和未来奖励的重要性程度;
S67、更新Q网络参数θt:定义损失函数Loss(θt):
损失函数衡量了神经网络的预测误差,即当前状态下的Q值与目标Q值之间的差异。损失函数的作用是指导主网络参数的更新,通过计算损失函数对参数的梯度,可以确定参数更新的方向和大小,使网络的预测能力逐渐改进,进而使神经网络的预测逐渐接近真实值,提高智能体的决策准确性。
使用随机梯度下降法SGD最小化当前状态的Q值与目标Q值的差异,更新Q网络的参数;
其中,是学习率,是用来控制神经网络参数更新的步长或者速度的超参数,决定了每次参数更新时,参数沿着梯度方向移动的幅度;/>是损失函数对参数的梯度。
更新目标Q_target网络参数θ′:即定期将Q网络的参数复制到目标Q_target网络中,则
θ′t+1=τ×θt+1+(1-τ)θ′t
其中,τ是参数更新速率,控制了主网络参数对目标网络参数的影响程度。
S68,智能体将状态更新为以便在下一步训练中使用更新后的状态进行决策,并降低探索率ε,减少智能体随机探索的概率,重复上述步骤S63-S68,直到智能体确定到的数据中心网络状态是终止状态,即网络中各种业务所聚类成的老鼠流、大象流、以及巨象流转发完成。
S7、利用QoS保障路由模型,得到数据流传输最优路径的权重值,由此权重值获得相应数据流传输最优路径,进一步确定传输路径经过的所有节点;
定义最优路径的权重值集合Wemin,如下式,该集合作用为在DQN算法输出最优动作a,即为数据流传输所规划的路径p后,确定路径p所经过的节点,便于SDN控制层对于网络的管理及流表下发;
其中,表示节点i和节点j之间规划的路径p中是否包含节点z,/>取值为1或0,值为1则包含节点z,值为0则不包含节点z;
S8、根据Dijkstra算法,选取传输路径经过的所有节点中权重值最小的节点作为路由节点,确定数据流的传输路径。
最后配置路由器、路由协议、接口,将步骤S7及S8选择的最优路径对应的传输节点信息配置成路由表并下发至SDN数据平面的交换机,交换机根据下发的路径信息进行数据转发,实现了流量传输的路由优化和QoS保障,保证流量传输的效率和QoS要求。
虽然本发明已以较佳实施例阐述如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (6)
1.一种基于SDN架构的网络QoS保障路由方法,其特征在于,包括如下步骤:
S1、SDN控制器按照预设时间t周期性地获取数据中心网络拓扑信息;
S2、根据拓扑信息将数据中心网络抽象为有向图,通过有向图获得数据中心网络数据传输可达路径,并用权重矩阵表示,具体是:有向图为G=(U,V,W),U表示网络的节点u的集合,即u∈U;V表示网络的链路v的集合,两个节点的连接定义一个链路,即v∈V,表示初始时网络路径节点的权重矩阵,其中wij=R+,即正实数,表示在节点i和j之间有路径相连,即数据可达;wij=0,表示在i和j之间无路径相连,即数据不可达;
S3、SDN控制器接收来自源主机的数据流,根据有向图判断该数据流要发送的目的节点与源节点是否直接相连,是则直接按照网络可达路径进行数据包转发,否则执行步骤S4;
S4、采用改进的基于数据分布密度的k-means算法将数据流聚类分簇,即先利用流量分布密度函数确定初始聚类中心,再将数据流进行聚类为包含具有各个分类特征的数据流,即老鼠流、大象流、以及巨象流;具体包括以下子步骤:
S41、针对网络任意节点i计算所传数据流之间的欧氏距离dis(la,lb),如下式:
其中,网络中节点i传输的数据流用向量集合
L={li|li∈Rp,i=1,2,3,…,n}表示,n为节点i中传输的流量条数,p为流量的表示维数,la和lb是流量集合L中任意的两条数据流;
计算节点i所有数据流的平均欧氏距离如下式:
其中,值越小,则数据流的平均欧氏距离越小,表示数据流之间的差异越小,即该节点的数据流越相似;
S42、计算节点i传输的流量集合L中数据流la的数据密度den(la),如下式:
其中,den(la)表示在数据流la的传输时间t(la)内传输的数据量或数据包数量的大小,den(la)用于衡量该数据流的流量强度;
计算节点i所有数据流的平均数据密度如下式:
其中,值越大,则数据流的平均数据密度越大,表示节点i中的传输的数据量占比越高,即流量分布越集中;
计算节点i传输的n条数据流的平均传输时间为如下式:
计算节点i所有数据流相对应的聚类中心ci,如下式:
其中,ci表示节点i所有数据流在大小、距离、密度的共同特征;
S43、计算节点i的流量分布函数F(li),如下式:
其中,P()是概率函数;
计算节点i的分布密度函数f(li),如下式:
其中,f(li)表示流量li分布在某个区间内的概率;
S44、根据有向图G=(U,V,W),对网络的全部U个节点重复执行步骤S41-S43,获得网络各个节点的传输流量的分布密度函数,并用集合fall表示如下:
fall={f1,f2,…,fi,…fu},
各个节点所对应的聚类均值中心Call如下式:
Call={C1,c2,…,ci,…,Cu},
网络所有U个节点的平均流量分布密度函数如下式:
平均流量分布密度函数用于衡量网络各节点流量密度的平均值,通过与该函数值大小的比较,将网络中各节点分为高密度节点fi h以及低密度节点fi l;
S45、根据高密度节点fi h以及低密度节点fi l,进一步得到下式:
将高密度节点对应的聚类中心从Call中抽取,作为K-means聚类中心的预备值,并用集合Ch表示,如下:
Ch={c1,c2…,ci…,cm},i=1,2,3…m,m<n,
S46、从Ch中找出数值最大的数据对象c1作为第1个初始聚类中心并将c1从Ch中删除;
S47、再从Ch中找出距离最远的数据对象c2作为第2个初始聚类中心/>并将c2从Ch中删除;
S48、从Ch中找出距离和/>最远的数据对象c3作为第3个初始聚类中心/>并将c3从Ch中删除;
S49、分配数据流到相应数据簇:利用步骤S46-S48获得的初始聚类簇中心集合对网络各节点的每条数据流进行聚类,计算其与各个初始聚类中心的距离,并将其分配给距离最近的聚类中心相对应的数据簇;
S410、更新簇中心:对于每个簇,重复步骤S41-S42,计算所有分配给该簇的数据流的平均值,即数据流的中心点,并将该平均值作为新的簇中心
S411、重复步骤S44-S410,直到聚类中心不再改变,保存聚类结果,将数据流聚类为老鼠流Lr、大象流Le、巨象流Lg;
S5、计算路径的端到端时延、路径的可用带宽、路径的丢包率,然后构建数据流的QoS约束条件即最小传输总成本Costmin;
S6、构建DQN神经网络,包括Q网络和目标Q_target网络;定义状态空间,包括网络拓扑结构信息、源节点、目的节点、各个分类特征的数据流;定义智能体与环境交互的动作空间A为数据流选择在节点之间的路径传输的权重值,奖励函数R为网络各路径最小传输总成本的负相关,以奖励函数R最大的动作a所对应的最大Q值为目标训练DQN神经网络,在训练过程中利用经验回放机制和目标Q_target网络,优化路由策略得到QoS保障路由模型;
S7、利用QoS保障路由模型,得到数据流传输最优路径的权重值,由此权重值获得相应数据流传输最优路径,进一步确定传输路径经过的所有节点;
S8、根据Dijkstra算法,选取传输路径经过的所有节点中权重值最小的节点作为路由节点,确定数据流的传输路径。
2.根据权利要求1所述的一种基于SDN架构的网络QoS保障路由方法,其特征在于,步骤S1中,SDN控制器通过南向OpenFlow协议与网络中的交换机进行通信,获取交换机的连接关系和链路信息,并通过链路发现协议LLDP周期性获取并更新全局网络拓扑信息,所述的SDN网络包含x个控制器和y个交换机,x个控制器集合为C={c1,c2,……,cx},并将控制器c1设为中央控制器,y个交换机集合为S={s1,s2,……,sy}。
3.根据权利要求2所述的一种基于SDN架构的网络QoS保障路由方法,其特征在于,步骤S5中,数据流的QoS约束条件按如下步骤获得:
S51、计算路径p(i,j)的端到端时延Td(p),如下式:
其中,Tt(v)、Tc(v)、Tq(v)分别为路径p中链路v的传输时延、传播时延以及排队时延;
S52、计算路径p的可用带宽B(p),如下式:
其中,t是预设的SDN控制器获取网络数据中心网路拓扑信息的时间间隔;Dr为当前时间间隔t内端口的接收数据量;D′t为前一时间间隔内t内端口已发送的数据量,Bc为基于香农理论定义的信道带宽;
S53、计算路径p的丢包率:
其中,Dt-all为当前时间间隔t内端口的发送数据总量;Dr为当前时间间隔t内端口的接收数据量,二者差值即为丢包量;
S54、计算路径p传输最小成本Costmin(p),如下式:
Costmin(p)=[αTd(p)-βB(p)+γLo(p)],
其中,α、β、γ为链路成本的权重系数,所述最小成本CoStmin(p)综合了考虑链路带宽、时延和丢包率因素的共同作用,通过控制最小成本Costmin(p)以达到网络传输的最佳性能。
4.根据权利要求3所述的一种基于SDN架构的网络QoS保障路由方法,其特征在于,步骤S6包括如下子步骤:
S61、将DQN神经网络的参数映射到实际的SDN网络的应用场景中,包括状态空间S,动作空间A以及奖励函数R;
其中,状态空间S包括网络拓扑结构信息、源节点、目的节点、各个分类特征的数据流;定义智能体与环境交互的动作空间A如下式:即
a(st)是数据流l选择在节点i和节点j之间的第p条路径传输的权重值的集合,节点i和节点j之间共有K条路经,数据流l在节点i和节点j间的第p条路径上传输,第p条路径的权重为:
其中,表示在节点i和节点j之间的路径p上传输的流量;
奖励函数R为网络各路径最小传输成本的负相关,如下式:
R=-Costmin(p)=[-αTd(p)+βB(p)-γLo(p)],
其中,Td(p)、B(p)、Lo(p)表示节点i和节点j之间的路径p的端到端时延、可用带宽、丢包率;α,β,γ∈[0,1]为各优化目标的权重系数,在应对不同的业务流时,权重值有所不同;
S62、初始化DQN神经网络,包括预设学习率折扣因子μ、探索率ε初值;所述DQN神经网络用于估计奖励函数R的动作a所对应的Q值;初始化训练池,即创建经验回放缓冲区,用于存储智能体与环境交互获得的经验,包括当前网络环境状态信息St、动作at、奖励rt、下一个网络环境状态信息St+1;
S63、智能体与环境交互,获取当前网络环境状态信息St,并根据当前网络环境状态信息St和探索率ε选择动作at,即数据流传输路径的权重值,即择该路径进行数据传输;其中,探索率ε为一个取值(0,1)的超参数,表示智能体选择随机动作的概率,用于探索性地选择非最优动作,如果随机数小于探索率,智能体选择随机动作;否则,根据当前Q值选择最优动作;
S64,智能体执行动作at,即选中一条路径p对数据包进行路由,智能体执行动作at后获得相应的奖励rt,即网络成本值的反馈,同时将St更新为St+1,将智能体与环境交互获得的经验值(st,at,rt,st+1)存入DQN经验池;
S65,在DQN经验池中,数据优先性筛选模块部署在经验池的经验元组中,神经网络基于数据优先性采集到学习样本批次包括:
S65-1、智能体与环境交互获取的第一批经验(st,at,rt,st+1)直接输入Q网络,再经过Q_target网络得到t时刻内每个动作的Q值预测值Q′;
其中,目标网络Q_target与主网络Q结构相同,用于提供相对稳定的目标Q值,解决DQN算法过估计问题;
S65-2、根据Q′值选择对应的最优动作a′t,如下式:
a′t=argmaxQ(st,at;θt),
其中,θ表示Q网络的参数,用来调整Q网络的权重,使Q网络能够更准确地估计每个动作的Q值,t为预设的一个单位时间;
S65-3、计算出执行a′t所获得的对应的奖励值rt′;
S65-4、定义经验池数据优先级函数Pr(t):
Pr(t)=(r′t+Q′)λ,
其中,λ是一个超参数且λ∈(0,1),用于控制优先级函数的衰减程度,以直接过滤优先级较低的数据,提高模型训练效率;
S65-5、将每个经验数据的奖励值r′t和对应的Q′代入优先级函数的公式,计算出每个经验数据的优先级,并加载到经验池中;根据智能体与环境的交互,周期性更新经验池中数据的优先级;
S66、根据步骤S65基于数据优先性筛选模块采集到学习样本批次神经网络计算出样本批次对应的Q值,然后获得当前状态/>下Q值对应的动作/>以及执行动作/>后智能体所获得的奖励/>再计算出目标Q值,其中,样本批次对应的Q值:
式中,fθ表示主网络的输出函数,是神经网络确定的函数,Q值对应的动作
基于数据流经聚类算法后被聚类成巨象流Lg、大象流Le以及老鼠流Lr,动作即为数据流传输所规划的路径p的权重值;
执行动作后智能体获得环境的奖励值/>如下式:
奖励值越大则网络成本越小,所执行的动作越优,即路径规划方案越优;
计算目标Q值:
其中,μ为折扣因子,用于平衡当前奖励和未来奖励的重要性程度;
S67、更新Q网络参数θt:定义损失函数LosS(θt),使用随机梯度下降法SGD最小化当前状态的Q值与目标Q值的差异,更新Q网络的参数;更新目标Q_target网络参数θ′:即定期将Q网络的参数复制到目标Q_target网络中,S68、智能体将状态更新为并降低探索率ε,重复上述步骤S63至S68,直到智能体确定到的数据中心网络状态是终止状态,即网络中各种业务所聚类成的老鼠流、大象流、以及巨象流转发完成。
5.根据权利要求4所述的一种基于SDN架构的网络QoS保障路由方法,其特征在于,步骤S7具体为:
定义最优路径的权重值集合Wemin,如下式,该集合作用为在DQN算法输出最优动作a,即为数据流传输所规划的路径p后,确定路径p所经过的节点,SDN控制层对于网络的管理及流表下发;
6.根据权利要求5所述的一种基于SDN架构的网络QoS保障路由方法,其特征在于,步骤S8中权重值按如下公式计算:
其中,K为利用基于跳数的K最短路径算法计算共有K条路径,表示节点i和j之间在第k条路径上传输的流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311575841.0A CN117294643B (zh) | 2023-11-24 | 2023-11-24 | 一种基于SDN架构的网络QoS保障路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311575841.0A CN117294643B (zh) | 2023-11-24 | 2023-11-24 | 一种基于SDN架构的网络QoS保障路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117294643A CN117294643A (zh) | 2023-12-26 |
CN117294643B true CN117294643B (zh) | 2024-03-12 |
Family
ID=89258907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311575841.0A Active CN117294643B (zh) | 2023-11-24 | 2023-11-24 | 一种基于SDN架构的网络QoS保障路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294643B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111211994A (zh) * | 2019-11-28 | 2020-05-29 | 南京邮电大学 | 基于SOM与K-means融合算法的网络流量分类方法 |
CN112216113A (zh) * | 2020-10-16 | 2021-01-12 | 温州职业技术学院 | 基于密度峰值的交通流量数据聚类方法 |
CN113378990A (zh) * | 2021-07-07 | 2021-09-10 | 西安电子科技大学 | 基于深度学习的流量数据异常检测方法 |
CN113743204A (zh) * | 2021-07-29 | 2021-12-03 | 北京工业大学 | 一种基于感知需求的高速公路传感设备选型及优化布局方法 |
CN115277574A (zh) * | 2022-09-27 | 2022-11-01 | 南京邮电大学 | 一种sdn架构下数据中心网络负载均衡方法 |
CN116527567A (zh) * | 2023-06-30 | 2023-08-01 | 南京信息工程大学 | 一种基于深度强化学习的智能网络路径优选方法与系统 |
-
2023
- 2023-11-24 CN CN202311575841.0A patent/CN117294643B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111211994A (zh) * | 2019-11-28 | 2020-05-29 | 南京邮电大学 | 基于SOM与K-means融合算法的网络流量分类方法 |
CN112216113A (zh) * | 2020-10-16 | 2021-01-12 | 温州职业技术学院 | 基于密度峰值的交通流量数据聚类方法 |
CN113378990A (zh) * | 2021-07-07 | 2021-09-10 | 西安电子科技大学 | 基于深度学习的流量数据异常检测方法 |
CN113743204A (zh) * | 2021-07-29 | 2021-12-03 | 北京工业大学 | 一种基于感知需求的高速公路传感设备选型及优化布局方法 |
CN115277574A (zh) * | 2022-09-27 | 2022-11-01 | 南京邮电大学 | 一种sdn架构下数据中心网络负载均衡方法 |
CN116527567A (zh) * | 2023-06-30 | 2023-08-01 | 南京信息工程大学 | 一种基于深度强化学习的智能网络路径优选方法与系统 |
Non-Patent Citations (1)
Title |
---|
面向复杂业务的网络虚拟化关键技术研究;郭永安;《信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117294643A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113328938B (zh) | 一种基于深度强化学习的网络自主智能管控方法 | |
CN108521375B (zh) | 一种基于SDN的网络多业务流量QoS的传输及调度方法 | |
CN109818865B (zh) | 一种sdn增强路径装箱装置及方法 | |
US10673763B2 (en) | Learning or emulation approach to traffic engineering in information-centric networks | |
CN108401015B (zh) | 一种基于深度强化学习的数据中心网络路由方法 | |
CN112491714B (zh) | SDN环境下基于深度强化学习的智能QoS路由优化方法、系统 | |
CN112437020B (zh) | 一种基于深度强化学习的数据中心网络负载均衡方法 | |
CN112822109B (zh) | 一种基于强化学习的SDN核心网QoS路由优化方法 | |
CN112600759B (zh) | 基于深度强化学习在Overlay网络下多路径流量调度方法及系统 | |
Liu et al. | Drl-or: Deep reinforcement learning-based online routing for multi-type service requirements | |
CN113347108B (zh) | 一种基于q-学习的sdn负载均衡方法及系统 | |
CN114697229B (zh) | 一种分布式路由规划模型的构建方法及应用 | |
CN114500360A (zh) | 一种基于深度强化学习的网络流量调度方法以及系统 | |
CN116390164A (zh) | 一种低轨卫星网络可信负载均衡路由方法、系统、设备及介质 | |
Houidi et al. | Constrained deep reinforcement learning for smart load balancing | |
Huang et al. | Machine learning for broad-sensed internet congestion control and avoidance: A comprehensive survey | |
Fawaz et al. | Graph Convolutional Reinforcement Learning for Load Balancing and Smart Queuing | |
CN116938810A (zh) | 一种基于图神经网络的深度强化学习sdn智能路由优化方法 | |
CN117294643B (zh) | 一种基于SDN架构的网络QoS保障路由方法 | |
CN111901237B (zh) | 源路由选路方法及系统、相关设备及计算机可读存储介质 | |
Fawaz et al. | Graph Convolutional Reinforcement Learning for Collaborative Queuing Agents | |
CN116389347A (zh) | 一种基于强化学习的动态sdn路由优化算法 | |
Meng et al. | Intelligent routing orchestration for ultra-low latency transport networks | |
Swain et al. | CoDRL: Intelligent packet routing in SDN using convolutional deep reinforcement learning | |
Wu et al. | On-demand Intelligent Routing Algorithms for the Deterministic Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |