CN112311670B - 一种软件定义网络机器学习路由优化方法 - Google Patents
一种软件定义网络机器学习路由优化方法 Download PDFInfo
- Publication number
- CN112311670B CN112311670B CN201911224221.6A CN201911224221A CN112311670B CN 112311670 B CN112311670 B CN 112311670B CN 201911224221 A CN201911224221 A CN 201911224221A CN 112311670 B CN112311670 B CN 112311670B
- Authority
- CN
- China
- Prior art keywords
- network
- machine learning
- model
- routing
- data
- 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 22
- 238000010801 machine learning Methods 0.000 title claims description 47
- 238000005457 optimization Methods 0.000 title claims description 14
- 238000012549 training Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000013136 deep learning model Methods 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 claims description 2
- 230000006855 networking Effects 0.000 claims 6
- 238000000605 extraction Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 3
- 238000005111 flow chemistry technique Methods 0.000 abstract 1
- 239000011159 matrix material Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 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/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种软件定义网络控制器中路由选择功能的替代方法,基于当前动态路由选择算法存在时间开销问题,本发明设计了一种解决方案,优化SDN路由选择过程,使其既可以得到启发式算法计算出的优化路径,又可以保证其方法运行的高效性。该方法能够实时的获得启发式算法或者近似启发式算法的路由选择结果,在不影响SDN数据流处理速度的前提下,实现海量网络资源的快速合理分发。该方法简单实用,在一定程度上提高了控制器拓扑发现模块的运行效率,使得网络资源可以更有效的分配。特别是对于海量新数据分发处理场景,不仅提高了网络中控制器的性能,还提高了整个系统的运行效率。
Description
技术领域
本发明属于互联网通信控制技术领域,涉及一种软件定义网络(SDN)机器学习路由优化方法。
背景技术
随着软件定义技术同互联网的结合产生了软件定义网络(Software DefinedNetworks,SDN)成为一种新型的,具有吸引力的解决方案。SDN采用了网络设备控制面与数据转发面相分离的架构,其中设备控制平面的逻辑设备(Controller)能够实时监测和获取当前网络的状态,使得网络管理者能够根据自己定义的路由规则来管控网络流量转发。
为了面对网络业务流量持续增长,以及业务需求分裂带来的数据流量压力,网络运营商为了维护网络的正常运行,保证正常的用户体验,要求其必须采取实际有效的网络资源调度策略。另外一方面,虽然通过提高网络链路带宽,提升交换设备处理速度,可以暂时缓解流量增长对网络带来的压力,但是这种方法不能有效的调解资源与需求的关系,而且会造成很大程度的网络吞吐能力的浪费。所以,如何在尽可能少的改动网络硬件设备的前提上,优化网络的路由转发处理能力,满足网络用户不同的业务需求,具有了现实的研究意义。
在网络流量工程中,动态路径的规划是不容忽视的重要研究内容,其目的是为了优化网络性能而为数据转发寻找最优或较优路径。在SDN架构出现之前,针对传统IP网络中的数据封包转发路径的计算多采用最短路径算法。
网络的流量的动态控制和调整是传统网络的普遍难题。因为任何的路由调整都必须重新计算所有的链路权重,从而对全网的业务流量都带来了不可控的影响。所以在传统网络中,网络管理者无法实现对指定链路或者业务的灵活控制。
另外,在解决此类约束满足问题的方法中,群体智慧型算法也扮演着重要的角色。在众多该类算法中,蚁群算法被广泛地应用于网络流量工程这一实际问题。多种基于蚁群优化算法(Ant Colony Optimization,ACO)衍生出来的具体解决方案都是将动态路由问题建模成单一目标或者多目标的最优化数学问题,从而在多个约束条件下寻找路径最优解。
发明内容
为解决传统网络路由选择算法的时间损耗问题,本发明利用现有优秀的启发式算法以及它的输出结果,训练并构建一个基于机器学习甚至是深度学习的一个动态路由决策的模型及路由决策组件。在完成机器学习相关模型的训练之后,该组件便可以完全替代复杂的启发式算法。之后在全新的网络状态下,当控制器收到新的动态路由请求时,其便可以调用元层中相应的机器学习模型,由模型在实时的状态下直接给出一个近似启发式算法的结果,由于机器学习模型优异的时间性能,这一过程只需要非常短的运行时间,而且满足实际网络的需要。
为达到上述的网络功能,本发明的技术方案如下:
步骤1、对使用OpenFlow协议框架下的软件定义网络数据包特征进性数据预处理;
步骤2、使用收集的特征数据对机器学习模型进行学习训练;
步骤3、使用训练好的模型对软件定义网络拓扑发现和路由选择功能进行改进;
步骤4、利用机器学习方法对网络中的数据做出路由选择;
步骤5、在网络结构变化时,使用传统路由启发式算法进行路由选择;
步骤6、将该变化后发送的网络数据包进行特征采集,该网络特征用于更新机器学习模型;
步骤7、用新训练的机器学习路由模型,替换网络变化前的模型;
步骤8、由更新的路由选择模型,续完成后续网络数据的路由选择。
进一步,方法使用OpenFlow环境协议框架,在SDN网络中使用,对网络中转发的数据包特征提取内容包括但不限于(源IP地址,目的IP地址,源MAC地址,目的MAC地址,网络时延,负载,包转发路径等)。
进一步,路由决策元层中,我们使用了机器学习模型。针对其的训练样本需要包含两部分,样本特征以及样本标签。机器学习模型将启发式算法中使用的网络状态参数,以及所有的约束条件作为其样本的特征。至于样本的标签,将这些数据转发路径的数字标号作为机器学习模型的样本标签。模型收敛后,该模型即可完成传统网络启发式路由算法的功能,为SDN网络中数据提供路由功能。
进一步,将训练完成的路由选择模型,应用于使用OpenFlow协议的SDN网络控制器(包括但不限于现有的软件控制器:FloodLight,RYU,OX,POX及其他未开源的企业级控制器)中,替代控制器中网络拓扑组件中原有的拓扑发现模块,根据网络中传输的数据包特征,产生对应的交换机流表信息,使流入的数据根据对应的流表信息转发。
进一步,利用机器学习的方法解决网络资源快速分配。由于启发式算法收敛速度慢,无法达到高速网络实时相应的要求。而为了能够得到优化的路由,算法又必须进行多次迭代更新。本方法利用机器学习甚至深度学习的模型去学习启发式算法的路由计算能力。模型收敛之后,面对全新的连接请求,机器学习模型便可以通过与内部已知权重参数的简单计算得出最终的优化路径。而这一过程的时间花销非常小,完全满足实际网络部署的要求。
进一步,在网络结构发生变化时。保留传统启发式路由算法,并在网络结构发生变动时,使用传统算法进行路由转发工作。
进一步,在网络发生结构性变化后。由于机器学习模型需要重新学习才能接收新的特征值。因此引入机器学习模型的更新机制。该机制保证了在机器学习方法待更新或出现故障时,网络数据的正常转发。
进一步,在进行步骤5新流入数据转发的同时,提取变化后的数据包特征,包括但不限于(源IP地址,目的IP地址,源MAC地址,目的MAC地址,网络时延,负载,包转发路径等)。并将该特征用于新的机器学习模型训练。
进一步,待新的路由转发模型训练完毕,更新控制器中的路由转发模型,继续用于变化后的网络数据转发。
附图说明
为了使本发明的目的,技术方案和应用效果更为清晰准确,本发明提供如下附图进行进一步的解释说明:
图1为本发明流程图。
具体实施方式
下面将结合附图,对本发明的实施例进行流程描述,应当正确理解,该实施例仅作为本发明的说明样例,并不限制本发明所申请的保护范围。
步骤一:
在应用的网络中,我们选择为每一个接入节点对(s,d),s≠d构建一个专属的节点对模型。如果一个的网络中包含n个接入节点,那么将需要构建个节点对模型。每一个节点对模型负责其相对应的源,目节点之间的路由计算。例如,当控制器收到一个需要从si发到di的数据流请求时,这个请求将会被送到路由决策组件,并最终由该组件给出最优路径。其中的每一条路径都是由启发式算法计算得到,而所有节点对模型则存储为网络数据的路径数据库R(si,di)。针对一个节点对模型,如果其有n条输出的最优路径,我们必须从中对比选择出互不重复的路径项,假设为m条,并且采取过采样和欠采样的技术确保将每一条路径的数目与其他项相同。之后再用这m条不重复的路径项构造针对该节点对的路径数据库R’,路径标号则是从1到m。最终R’将包含针对相应源,目节点的可达路径数据库,而其中的路径数据都是由启发式算法计算得出的最优路径。为了能够获取所有可以代表网络状态的有用参数,并且产生出与启发式算法近似的计算结果,机器学习模型将所有的当前网络状态参数,以及所有的约束条件作为其样本的特征。至于样本的标签,由于每一个节点对模型都有最优路径到路径标号的完全映射,需要将已经抽象的可达路径与数字标号一一对应,可将这些路径的数字标号作为机器学习模型的样本标签。至此,系统已经完成了训练样本的构建,只要采集到足够的训练样本,便可完成对模型进行训练。
步骤二
本发明可使用但不限于监督式机器学习的方法,对得到的训练集进行训练,在基于机器学习的路由决策元层中,可采用Gaussian-binary conditional Class RBM模型。将采集到的当前网络状态参数作为模型的可见层节点输入,QoS请求参数,路由约束参数和优化目标参数作为条件层节点的输入。至于模型标签层节点的输入,则为R’中保存的标号。于是,基于当前网络状态、约束条件以及最优路径,模型便可以完成抽取有用网络特征的任务。一旦模型的参数完全收敛,便可以根据实时的网络状态信息和约束条件,得到可能的最优路径,使控制器进行动态路由决策。
步骤三
本发明原则上可使用所有基于OpenFlow协议的SDN控制器,为清晰叙述,下面以Python语言编写的RYU控制器为例,在RYU控制器中,拓扑发现模块通过链路发现协议来获取整个网络拓扑中的节点,可生成邻接矩阵A,该邻接矩阵可用于检测网络拓扑是否发生变化。将训练好的路由决策模型,置于RYU的拓扑发现组件下,在A未发生改变的情况下。机器学习模型将替代原有的启发式路由算法,进行路由选择。
步骤四
网络数据包流入时,控制器检测A没有发生变化,说明网络物理结构未改动,数据包特征符合机器学习路由模型的要求,模型将快速根据特征给出流表,下发到交换机,使数据正常转发。
步骤五
网络数据包流入时。控制器检测A发生变化,说明网络拓扑发生了结构性变化,此时的机器学习模型不适用于该数据包的路由选择,此时调用保留的传统启发式算法,获取变动后的最优网络路径。
步骤六
在网络变动,利用启发式算法获得网络路径后,下发流表数据转发的同时,对网络数据进行相应的特征提取。即重新生成供Gaussian-binary conditional Class RBM模型更新学习的数据集和对应更新过的最优路径标签R’。
步骤七
利用新获取的网络特征数据集和标签。对Gaussian-binary conditional ClassRBM模型进行训练,得到收敛之后的新路由选择模型。
步骤八
将收敛后的模型替换网络变化之前的模型,以适应变化后的网络拓扑。为后续网络数据提供路由选择及流表下发服务。
上述实施例为本发明可行的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种软件定义网络机器学习路由优化方法,其特征在于,包括以下步骤:
步骤1、对使用OpenFlow协议框架下的软件定义网络数据包特征进行数据预处理;
步骤2、使用收集的特征数据对机器学习模型进行学习训练;
步骤3、使用训练好的模型对软件定义网络拓扑发现和路由选择功能进行改进;
步骤4、利用机器学习方法对网络中的数据做出路由选择;
步骤5、在网络结构变化时,使用传统路由启发式算法进行路由选择;
步骤6、将该变化后发送的网络数据包进行特征采集,该网络特征用于更新机器学习模型;
步骤7、用新训练的机器学习路由模型,替换网络变化前的模型;
步骤8、由更新的路由选择模型,续完成后续网络数据的路由选择;
所述步骤2中,在路由决策元层中,使用了机器学习模型;针对其的训练样本需要包含两部分,样本特征以及样本标签;对于启发式算法来说,真正影响其计算结果的网络参数是当前网络状态以及QoS 中携带的或者网络管理者设定的约束条件;机器学习模型将所有的当前网络状态参数,以及所有的约束条件作为其样本的特征;至于样本的标签,将转发路径的数字标号作为机器学习模型的样本标签;至此,已经完成了训练样本的构建,采集到足够的训练样本,即可以开始对模型进行训练;模型收敛后,该模型即可完成传统网络启发式路由算法的功能,为SDN网络中数据提供路由功能。
2.根据权利要求1所述的一种软件定义网络机器学习路由优化方法,特征在于:所述步骤1方法使用的环境为在OpenFlow协议框架下的SDN网络中使用,对网络中转发的数据包特征提取内容包括源IP地址,目的IP地址,源MAC地址,目的MAC地址,网络时延,负载,包转发路径。
3.根据权利要求1所述的一种软件定义网络机器学习路由优化方法,其特征在于:步骤3将训练完成的路由选择模型,应用于使用OpenFlow协议的SDN网络控制器中,替代控制器中网络拓扑组件中原有的拓扑发现模块,根据网络中传输的数据包特征,产生对应的交换机流表信息,给出数据转发路由。
4.根据权利要求1所述的一种软件定义网络机器学习路由优化方法,其特征在于:步骤4利用机器学习的方法解决网络资源快速分配;而为了能够得到优化的路由,又必须进行多次迭代更新,利用深度学习模型去学习启发式算法的路由计算能力;等到模型参数收敛之后,面对全新的连接请求,机器学习模型便通过与内部已知权重参数的简单计算得出最终的优化路径。
5.根据权利要求1所述的一种软件定义网络机器学习路由优化方法,其特征在于:步骤6在网络发生结构性变化后;机器学习模型的所接收的特征会引入新的值;因此需要引入机器学习模型的更新机制;该机制保证了在机器学习方法待更新或出现故障时,网络数据的正常转发。
6.根据权利要求1所述的一种软件定义网络机器学习路由优化方法,其特征在于:步骤7提取变化后的数据包特征,包括源IP地址,目的IP地址,源MAC地址,目的MAC地址,网络时延,负载,包转发路径,并将该特征用于新的机器学习模型训练。
7.根据权利要求1所述的一种软件定义网络机器学习路由优化方法,其特征在于:步骤8待新的路由转发模型训练完毕,更新控制器中的路由转发模型,继续用于变化后的网络数据转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911224221.6A CN112311670B (zh) | 2019-12-04 | 2019-12-04 | 一种软件定义网络机器学习路由优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911224221.6A CN112311670B (zh) | 2019-12-04 | 2019-12-04 | 一种软件定义网络机器学习路由优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311670A CN112311670A (zh) | 2021-02-02 |
CN112311670B true CN112311670B (zh) | 2024-01-26 |
Family
ID=74336292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911224221.6A Active CN112311670B (zh) | 2019-12-04 | 2019-12-04 | 一种软件定义网络机器学习路由优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311670B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411770A (zh) * | 2016-09-08 | 2017-02-15 | 重庆邮电大学 | 一种基于sdn架构的数据中心网络节能路由算法 |
CN107094115A (zh) * | 2017-05-19 | 2017-08-25 | 重庆邮电大学 | 一种基于sdn的蚁群优化负载均衡路由算法 |
CN109067646A (zh) * | 2018-08-15 | 2018-12-21 | 成都理工大学 | 一种在流表容量受限时的sdn网络流量优化方案 |
CN109831386A (zh) * | 2019-03-08 | 2019-05-31 | 西安交通大学 | 一种sdn下基于机器学习的最优路径选择算法 |
EP3544236A1 (en) * | 2018-03-21 | 2019-09-25 | Telefonica, S.A. | Method and system for training and validating machine learning algorithms in data network environments |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160254984A1 (en) * | 2015-02-27 | 2016-09-01 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Method and system for delivering service-enabled flow paths across multiple domains in sdn networks |
-
2019
- 2019-12-04 CN CN201911224221.6A patent/CN112311670B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411770A (zh) * | 2016-09-08 | 2017-02-15 | 重庆邮电大学 | 一种基于sdn架构的数据中心网络节能路由算法 |
CN107094115A (zh) * | 2017-05-19 | 2017-08-25 | 重庆邮电大学 | 一种基于sdn的蚁群优化负载均衡路由算法 |
EP3544236A1 (en) * | 2018-03-21 | 2019-09-25 | Telefonica, S.A. | Method and system for training and validating machine learning algorithms in data network environments |
CN109067646A (zh) * | 2018-08-15 | 2018-12-21 | 成都理工大学 | 一种在流表容量受限时的sdn网络流量优化方案 |
CN109831386A (zh) * | 2019-03-08 | 2019-05-31 | 西安交通大学 | 一种sdn下基于机器学习的最优路径选择算法 |
Non-Patent Citations (2)
Title |
---|
一种SDN架构下业务属性相关的多径路由算法;余翔;易明敏;杨路;;电信科学(第11期);全文 * |
基于SDN的胖树数据中心网络的多路径路由算法;农黄武;黄传河;黄晓鹏;;计算机科学(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112311670A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108289104B (zh) | 一种工业SDN网络DDoS攻击检测与缓解方法 | |
CN112491714B (zh) | SDN环境下基于深度强化学习的智能QoS路由优化方法、系统 | |
CN105406992B (zh) | 一种面向sdn的业务需求转化和部署方法 | |
CN105871718B (zh) | 一种sdn域间路由实现方法 | |
CN104717098B (zh) | 一种数据处理方法及装置 | |
CN102714628A (zh) | 通信系统、控制装置、处理规则设置方法、分组传输方法和程序 | |
CN114567598B (zh) | 一种基于深度学习和跨域协作的负载均衡方法及装置 | |
CN110213175B (zh) | 一种面向知识定义网络的智能管控系统及管控方法 | |
CN107135158A (zh) | 一种多路径传输中最优路径选择方法 | |
CN108023840A (zh) | Ovs网络流量加速优化方法及ovs网络流量加速优化系统 | |
CN108880888A (zh) | 一种基于深度学习的sdn网络流量预测方法 | |
Zhang et al. | NNIRSS: neural network-based intelligent routing scheme for SDN | |
Mai et al. | Packet routing with graph attention multi-agent reinforcement learning | |
CN105681438A (zh) | 内容中心网络中一种集中式的缓存决策策略 | |
CN114938374A (zh) | 跨协议负载均衡方法及系统 | |
CN115037669A (zh) | 一种基于联邦学习的跨域数据传输方法 | |
Schlansker et al. | Killer fabrics for scalable datacenters | |
Dafda et al. | Dynamic load balancing in SDN using energy aware routing and optimization algorithm | |
CN112311670B (zh) | 一种软件定义网络机器学习路由优化方法 | |
Chen et al. | Traffic engineering based on deep reinforcement learning in hybrid IP/SR network | |
CN113259263B (zh) | 一种深度报文检测集群中的数据包调度方法 | |
Wang et al. | Research on deep reinforcement learning multi-path routing planning in SDN | |
CN105959167B (zh) | 一种基于贪心算法的全局优化sdn测量方法 | |
CN107241277A (zh) | Sdn中的节点退火方法 | |
CN107276898A (zh) | 一种基于fpga的最短路由实现方法 |
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 |