CN117061360A - 基于时空信息的sdn网络流量预测方法与系统 - Google Patents
基于时空信息的sdn网络流量预测方法与系统 Download PDFInfo
- Publication number
- CN117061360A CN117061360A CN202311228814.6A CN202311228814A CN117061360A CN 117061360 A CN117061360 A CN 117061360A CN 202311228814 A CN202311228814 A CN 202311228814A CN 117061360 A CN117061360 A CN 117061360A
- Authority
- CN
- China
- Prior art keywords
- information
- network
- flow
- module
- matrix
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000007781 pre-processing Methods 0.000 claims abstract description 39
- 230000007246 mechanism Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 94
- 238000000605 extraction Methods 0.000 claims description 54
- 239000010410 layer Substances 0.000 claims description 41
- 239000013598 vector Substances 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 26
- 230000002123 temporal effect Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 238000009795 derivation Methods 0.000 claims description 3
- 239000002356 single layer Substances 0.000 claims description 3
- 238000007792 addition Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Classifications
-
- 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/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- 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/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- 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/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- 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/147—Network analysis or design for predicting network behaviour
-
- 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/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于时空信息的SDN网络流量预测方法与系统,首先,基于网络信息获取模块,利用openflow消息机制,获取SDN网络中的全局网络信息数据;然后,基于网络信息预处理模块,对上述网络信息数据进行预处理;接着,基于流量预测模块,利用网络时空特征的流量预测方法,根据预处理后的网络信息数据,对SDN网络下一时刻的网络流量进行预测,得到预测结果;最后,基于信息缓存模块,将流量预测结果存到结果缓冲区,用于控制层进一步根据预测结果对网络资源进行调度规划。本发明方法可以得出SDN网络中下一时刻或接下来某几个时刻的网络流量信息,提前制定网络流量资源的分配策略,从而优化网络QoS。
Description
技术领域
本发明属于计算机网络技术领域,具体涉及一种基于时空信息的SDN网络流量预测方法与系统。
背景技术
互联网在军事、商业、民用等各个方面发挥着重要的作用。然而,随着网络流量的复杂化和网络业务的多样化,网络的服务质量(QoS)保障成为网络运营商的巨大难题,因此,需要有一种技术能够帮助其正确规划网络流量。
流量预测技术的出现为网络流量的规划问题提出了可行解,运营商能够通过对当前网络流量信息进行预测,从而得出下一时刻或接下来某几个时刻的网络流量信息,从而提前制定网络流量资源的分配策略,从而优化QoS。
传统流量预测模型多以时间序列进行预测,即只在时间层面上根据当前时刻的网络流量信息预测后面时刻的流量信息。然而,网络拓扑通常是一个十分复杂的多维空间结构,蕴含复杂的空间信息和结构特征,这就导致传统的时间序列预测模型不能充分地提取流量时空特征,难以准确地预测网络流量的变化规律。
因此,需要有一种方法能够充分地提取流量时空特征信息,从而更加精准地对网络流量信息进行预测。
发明内容
本发明所要解决的问题是:提供一种基于时空信息的SDN网络流量预测方法与系统,用于充分提取流量时空特征信息,精准地对网络流量信息进行预测。
本发明采用如下技术方案:一种基于时空信息的SDN网络流量预测方法,包括如下步骤:
S1、全局网络信息获取:基于网络信息获取模块,利用openflow消息机制,获取SDN网络中的全局网络信息数据;
S2、网络信息数据预处理:基于网络信息预处理模块,对上述网络信息数据进行预处理,减少非必要信息的干扰,得到处理后的网络信息数据;
S3、进行网络流量预测:基于流量预测模块,利用网络时空特征的流量预测方法,根据预处理后的网络信息数据,对SDN网络下一时刻的网络流量进行预测,得出预测结果;
S4、缓存预测结果:基于信息缓存模块,将流量预测结果存到结果缓冲区,用于控制层进一步根据预测结果对网络资源进行调度规划。
具体的,步骤S1中,所述全局网络信息包括:交换机或路由设备的邻居信息,交换机加入、离开信息,端口增加、修改、删除信息,链路的添加、删除信息,业务流量包信息。
进一步的,步骤S1中,网络信息获取模块获取全局网络信息,包括如下子步骤:
S1.1、网络信息获取模块通过封装有时间戳信息的链路层链路发现协议LLDP数据包,通过基于openflow协议的输出操作输出消息,下发给SDN网络中各个交换机或路由设备;LLDP数据包通过端口转发到相邻的交换机或路由设备中,并通过packet-in消息送回控制层,统计得到上述全局网络信息;
S1.2、网络信息获取模块通过openflow协议中的packet-in事件处理函数,从数据面获取业务流量包信息;
所述packet-in事件处理函数,用于将到达交换机或路由设备的数据包发送到控制层;
所述业务流量包信息为信息五元组,包括:源IP地址src、目的IP地址dst、源端口src_port,目标端口dst_port、传输层协议;并获取该信息五元组数据包有效长度和到达时间;
S1.3、网络信息获取模块将上述全局网络信息和业务流量包信息发送至网络信息预处理模块。
进一步的,步骤S2中,网络信息预处理模块对获取的网络信息数据进行预处理,包括如下子步骤:
S2.1、网络信息预处理模块通过第一通道和第二通道,分别接收上述全局网络信息和业务流量包信息;
S2.2、根据SDN网络中全局网络信息,对每个网络中的交换机或路由设备节点进行编号,获取每个节点之间的连接关系,并记录编号对应节点的IP地址;
构建邻接矩阵X,矩阵的横、纵坐标分别代表网络拓扑中节点的编号,矩阵中用1代表横纵坐标所表示的节点相连,0则代表不相连;
S2.3、根据业务流量包信息中数据包有效长度和到达时间,计算包平均大小Psizemean、包大小方差Psizestd、包平均到达时间间隔Ptimemean、包到达时间间隔方差Ptimestd;
将业务流量包信息中的src(源IP地址)、dst(目的IP地址)与步骤S2.2中节点的编号进行对应匹配,得到包源IP编号Psrc和包目的IP编号Pdst,构建流量的特征向量如下:
h=[Psizemean,Psizestd,Ptimemean,Ptimestd,Psrc,Pdst];
S2.4、网络信息预处理模块,将上述邻接矩阵X和流量的特征向量h发送至流量预测模块。
进一步的,步骤S3中,所述流量预测模块利用网络时空特征的流量预测方法,预测下一时刻的网络流量信息,包括如下子步骤:
S3.1、流量预测模块利用其内置的空间特征提取子模块,获取由上述网络信息预处理模块发送的邻接矩阵X和流量特征向量h,通过图神经网络算法,提取网络拓扑的结构特征,并将结构特征信息发至时间特征提取子模块;
S3.2、流量预测模块利用其内置的时间特征提取子模块,在空间特征提取子模块的基础上,使用时间特征提取算法提取流量信息的时间特征,生成具备时空信息的网络流量预测信息;
S3.3、时间特征提取子模块,将生成的网络流量预测信息,发送至信息缓存模块。
其中,步骤S3.1所述图神经网络算法,包括如下子步骤:
S3.1.1、对于邻接矩阵X中的节点i,计算其自身与自身所有邻居的相关性,即
其中,j为邻接矩阵X中节点i的邻居节点,rij代表节点i和节点j之间的相关性;W=diag(w1,w2,w3,w4,w5),代表参数w构成的对角矩阵,参数w则通过迭代训练获得;
.||.代表将符号两边的矩阵进行拼接,.T代表对向量进行转置;
hi和hj表示邻接矩阵X中节点i和节点j的流量特征向量;和/>表示W分别和hi、hj的转置相乘;a(.)是将高维度数据向低维度数据转换的单层前馈神经网络实现函数;
S3.1.2、将得到的所有节点i的相关性数据,使用如下公式进行归一化:
其中,bij表示对rij进行归一化后的值,e(.)为常数e的指数幂,Relu(.)函数公式如下:
S3.1.3、将得到的归一化节点信息相关性进行加权求和,得到节点i的特征信息h′i:
h′i=σ(W(∑jbijhi)T) (4)
其中,σ(.)为归一化函数;
S3.1.4、以步骤S2.2中网络拓扑的节点编号顺序为序,构建包含所有节点流量信息的网络流量信息特征矩阵H′,表示如下:
其中,n表示网络拓扑中的节点数量;
S3.1.5、将邻接矩阵X和网络流量信息特征矩阵H′相乘,得到包含空间特征的流量信息矩阵H,公式如下:
H=θ(X*H′)
(6)
其中,θ(.)为全部连接层公式,将每一个n*m的矩阵变为n*1的矩阵,对每行元素相加取平均值,得到网络拓扑的结构特征信息。
步骤S3.2所述时间特征提取算法,具体如下:
S3.2.1、时间特征提取子模块获取上述包含空间特征的流量信息矩阵H,并记录时间为t,得到t时刻流量信息矩阵Ht:
其中,为t时刻第n个节点的包含空间特征的流量信息特征;
S3.2.2、通过Ht和Ht-1预测t+1时刻的网络流量大小St+1;
St+1表现形式如下:
其中,为预测的t+1时刻标识为n的节点的流量大小;
St+1输出公式如下:
St+1=O*f(UHt+VHt-1) (9)
其中,f(*)为归一化函数,U为输入权重矩阵,V为历史信息层权重矩阵,O为输出层权重矩阵;
用参数u,v,o表示组成权重矩阵U、V和O中的元素,所述参数根据预先训练得到,在训练期间参数值是随机初始化的,在实际使用期间参数值是固定的;
S3.2.3、将历史信息层更新为Ht。
特别的,步骤S3中,空间特征提取子模块和时间特征子模块需要同时结合,预先进行训练,用于确定步骤S3.2.2中权重矩阵U、V和O的参数u,v,o,所述预先训练步骤如下:
S3.3.1、随机初始化权重矩阵参数w,u,v,o,随机初始化H0;
其中,H0在预先训练过程中代表还未开始训练时的流量信息矩阵,在步骤S3.2的正常工作流程中则代表还没有任何历史信息时的初始特征;
S3.3.2、进行正向训练,正向训练过程如上述步骤S3.1至S3.3;
S3.3.3、在每一次完成正向训练过程后,进行反向传播,更新参数w,u,v,o;在训练过程中,对于每一次输出St,都会产生一个误差值et,累计误差表示为Et:
Et=∑tet (10)
其中,为t时刻的第i个节点的真实流量值;
S3.3.4、利用以下公式参数权重矩阵U、V、O进行更新:
其中,分别代表U、V、O的梯度;E为误差矩阵;/>是求偏导数的整记符号,代表符号后的分子对分母求偏导,/>分别代表误差矩阵E对U、V、O求偏导;
S3.3.5、根据上述公式(9),令UHt+VHt-1=Qt,则
其中,St为t时刻的网络流量大小,代表E对St求偏导;/>为St对归一化函数f和输出层权重矩阵O求偏导;/>为函数f对Qt求偏导;/>为Qt对输入权重U和历史信息层权重V求偏导;
对于权重矩阵W,梯度为:
其中,代表E对W求偏导,
S3.3.6、由上述公式(15)(16)(17)推导可得:
其中,为t时刻流量信息矩阵Ht对归一化函数σt求偏导;
S3.3.7、根据计算出来的梯度值,更新参数w、u、v、o,即:
其中,β为学习率,可取(0,1);wt、ut、vt、ot分别为t时刻w,u,v,o的参数值;
S3.3.8、重复上述步骤S3.3.2至S3.3.7,直到累计误差Et值不再变化。
9.根据权利要求8所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S4中,所述信息缓存模块,用于缓存流量预测模块预测得到的下一时刻流量信息,缓存深度可定义,具体步骤如下:
S4.1、获取由时间特征提取子模块生成的t+1时刻的网络流量信息预测向量;
S4.2、通过信息获取触发检查机制,检查缓存空间是否充足,当缓存空间不足时,丢弃离当前时间最远的网络流量信息预测向量;
S4.3、将获取到的网络流量信息预测向量进行存储并记录时间,等待控制层进行操作,同时等待获取下一时刻网络流量信息预测向量;
S4.4、重复上述步骤S4.1至S4.3,连续更新网络流量信息。
本发明技术方案还包括:一种基于时空信息的SDN网络流量预测系统,用于实现上述任一项SDN网络流量预测方法,包括:
网络信息获取模块:所述网络信息获取模块通过openflow协议获取网络拓扑的形状,并生成网络拓扑矩阵,同时获取网络中各个节点的流量信息。
网络信息预处理模块:所述网络信息预处理模块用于对网络信息获取模块获得的信息进行预处理,避免干扰信息影响流量的预测;
流量预测模块:所述流量预测模块用于根据预处理后的网络信息,预测下一时刻的网络流量信息。所述流量预测模块包括一个空间特征提取子模块和一个时间特征提取子模块。所述空间特征提取子模块用于提取网络拓扑的结构特征,所述时间特征提取子模块在空间特征提取子模块的基础上提取流量信息的时间特征,从而生成具备时空信息的网络流量预测信息。
信息缓存模块:所述信息缓存模块用于缓存流量预测模块预测得到的下一时刻流量信息,缓存深度可以根据不同需求进行设定。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本SDN网络流量预测方法,为复杂拓扑的网络流量的规划问题提出一种行之有效的辅助方法,运营商能够利用本方法对当前网络流量信息进行精准预测,得出下一时刻或接下来某几个时刻的网络流量信息,从而提前制定网络流量资源的分配策略,优化网络QoS。
附图说明
图1为本发明SDN网络流量预测系统框图;
图2为本发明网络信息获取模块获取全局网络信息流程图;
图3为本发明网络信息预处理模块工作流程图;
图4为本发明具备四个交换机或路由设备实施例的网络拓扑图;
图5为本发明流量预测模块工作流程图;
图6为本发明时间特征提取子模块工作流程图;
图7为本发明网络流量预测算法流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对申请的技术方案做进一步地详尽阐述,所描述的实施例,也只是本发明所涉及实施例的一部分。本领域其他研究人员在该实施例上的所有非创新型实施例,都属于本发明的保护范围。同时对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
本发明一种基于时空信息的SDN网络流量预测系统,为基于网络拓扑建立的控制层系统:如图1所示,所述网络拓扑为真实的网络连接情况,所述控制层是SDN网络的控制中心,负责从信息缓存模块中获取预测结果,用于网络资源分配、拥塞控制,具体包括:
网络信息获取模块101:所述网络信息获取模块通过openflow协议获取网络拓扑的形状,并生成网络拓扑矩阵,同时获取网络中各个节点的流量信息。
网络信息预处理模块102:所述网络信息预处理模块用于对网络信息获取模块获得的信息进行预处理,避免干扰信息影响流量的预测;
流量预测模块103:所述流量预测模块用于根据预处理后的网络信息,预测下一时刻的网络流量信息。所述流量预测模块包括一个空间特征提取子模块和一个时间特征提取子模块。所述空间特征提取子模块用于提取网络拓扑的结构特征,所述时间特征提取子模块在空间特征提取子模块的基础上提取流量信息的时间特征,从而生成具备时空信息的网络流量预测信息。
信息缓存模块104:所述信息缓存模块用于缓存流量预测模块预测得到的下一时刻流量信息,缓存深度可以根据不同需求进行设定。
作为本发明的一种实施例,网络信息获取模块通过openflow消息机制获取全局网络信息,其工作流程如图2所示:
步骤201:网络信息获取模块通过封装有时间戳信息的链路层链路发现协议(LLDP)数据包,通过OFPAction Output(openflow协议的输出操作)消息下发给各个交换机或路由设备。LLDP数据包会通过端口转发到相邻的交换机或路由设备中并通过packet-in消息送回控制层统计得到交换机或路由设备的邻居信息、交换机加入/离开、端口增加/修改/删除和链路的添加/删除等信息。
步骤202:网络信息获取模块通过openflow协议中的packet-in事件处理函数从数据面获取业务流量包信息,所述packet-in函数用于将到达交换机或路由设备的数据包发送到控制层。
所述包信息为信息五元组,包括源IP地址src、目的IP地址dst、源端口src_port,目标端口dst_port、传输层协议,并通过len()函数和time()函数获取数据包有效长度和到达时间。
步骤203:网络信息获取模块将步骤201、步骤202所获取的所有信息发送给网络信息预处理模块。
作为本发明的一种实施例,网络信息预处理模块通过内置的方法对获取的网络信息进行预处理,如图3所示,具体工作流程如下:
步骤301:网络信息预处理模块通过两个通道分别接收来自于网络信息获取模块的发送的交换机或路由设备的邻居信息、交换机加入/离开、端口增加/修改/删除和链路的添加/删除等信息和业务流量包信息、数据包有效长度和到达时间。
步骤302:网络信息预处理模块根据交换机或路由设备的邻居信息、交换机或路由设备加入/离开、端口增加/修改/删除和链路的添加/删除等信息构建网络拓扑矩阵,对每个网络中的交换机或路由设备节点进行编号。
假设有A、B、C、D四个交换机,其中A连接B、C,B、C又分别与D相连,A、D无直接连接关系,B、C无直接连接关系,如图4所示。
当步骤201所述的包含LLDP数据包信息的OFPAction Output消息下发给A时,A会将数据包,发送到B和C,B和C会将数据包通过openflow协议发送返回到网络信息获取模块,由此,网络信息获取模块可知A与B、C同时相连。
当步骤201所述的包含LLDP数据包信息的OFPAction Output消息下发给B时,B会将数据包,发送到A和D,A和D会将数据包通过openflow协议发送返回到网络信息获取模块,由此,网络信息获取模块可知B与A、D同时相连。
以此类推,能过获取每个节点之间的连接关系,从而构建网络拓扑。同时,假设A从拓扑中离开,发送给B的LLDP数据包将只会从D返回,即可判断A已经离开拓扑。
网络信息预处理模块根据收集到的拓扑信息,同时对拓扑中的每一个节点进行编号,例如将A编号为1,B编号为2,C编号为3,D编号为4,并记录编号对应的IP地址。
构建邻接矩阵其中矩阵的横、纵坐标分别代表拓扑中节点的编号,矩阵中的1代表横纵坐标所表示的节点相连,0则代表不相连。
所述节点即为前述交换机或路由设备。
步骤303:根据业务流量包信息和数据包有效长度和到达时间计算Psizemean(包平均大小)、Psizestd(包大小方差)、Ptimemean(包平均到达时间间隔)、Ptimestd(包到达时间间隔方差)。将包信息中的src(源IP地址)、dst(目的IP地址)与步骤302中的编号进行对应匹配,得到包源IP编号Psrc和包目的IP编号Pdst。
将前述信息进行整合,构建流量的特征向量:
h=[Psizemean,Psizestd,Ptimemean,Ptimestd,Psrc,Pdst]。
步骤304:所述网络信息预处理模块将步骤302和步骤303中生成的邻接矩阵X和流量的特征向量h发送到流量预测模块
作为本发明的一种实施例,流量预测模块用于根据预处理后的网络信息,预测下一时刻的网络流量信息,如图5所示,具体工作流程如下:
步骤401:所述流量预测模块利用其内置的空间特征提取子模块获取由网络信息预处理模块发送的邻接矩阵X和流量特征向量h,提取网络拓扑的结构特征,并将该结构特征信息交给时间特征提取子模块。
步骤402:所述流量预测模块利用其内置的时间特征提取子模块在空间特征提取子模块的基础上提取流量信息的时间特征,从而生成具备时空信息的网络流量预测信息。
步骤403:所述时间特征提取子模块将生成的网络流量预测信息发送到所述信息缓存模块
作为本发明的一种实施例,所述空间特征提取子模块用于获取由网络信息预处理模块发送的邻接矩阵X和流量特征向量h,使用改进的图神经网络算法,提取网络拓扑的结构特征,并将该结构特征信息交给时间特征提取子模块,算法的具体步骤如下:
所述空间特征提取子模块从网络信息预处理模块中获取网络拓扑的邻接矩阵X和每个节点的流量的特征向量h=[Psizemean,Psizestd,Ptimemean,Ptimestd,Psrc,Pdst]。
首先,对于图中的每一个顶点i,计算其自身与自身所有邻居的相关性,即
其中,rij代表节点i和节点j之间的相关性;j代表节点i的邻居节点;W=diag(w1,w2,w3,w4,w5),代表参数w构成的对角矩阵,参数w则通过不断迭代训练获得,.||.代表将符号两边的矩阵进行拼接,.T代表对向量进行转置;a(.)是一种将高维度数据向低维度数据转换的方法,为单层前馈神经网络实现。
将得到的所有有关i的相关性数据使用如下公式进行归一化:
其中,bij表示对rij进行归一化后的值,Relu(.)为如下函数:
最后将得到的归一化节点信息相关性进行加权求和,得到最终的节点特征信息,即
h′i=σ(W(∑jbijhi)T)
其中σ(.)为归一化函数。
根据网络拓扑中每个节点的当前时刻流量信息矩阵,以步骤302中的编号顺序为序,构建包含所有节点流量信息的网络流量信息特征矩阵,其中n表示有n个节点。
最后,将邻接矩阵X和网络流量信息特征矩阵H′相乘,最后通过全连接层,得到最终包含空间特征的流量信息矩阵H,即:
H=θ(X*H′)
其中,θ(.)为全部连接层公式能够将每一个n*m的矩阵变为n*1的矩阵,会对每行元素相加取平均值得到最终结果。
作为本发明的一种实施例,时间特征提取子模块在空间特征提取子模块的基础上,使用时间特征提取算法,提取流量信息的时间特征,从而生成具备时空信息的网络流量预测信息,具体步骤如下:
时间特征提取子模块获取空间特征提取子模块生成的包含空间特征的流量信息矩阵H,并记录时间为t,即t时刻流量信息矩阵为H,记为其中/>为t时刻第n个节点的包含空间特征的流量信息特征。
时间特征提取子模块通过Ht和Ht-1,预测t+1时刻的每个节点的网络流量大小:
其中n为网络拓扑中的节点数量,为预测的t+1时刻标识为n的节点的流量大小。
如图6所示,所述时间特征提取算法包含输入层,隐藏层,输出层和历史信息层。
输入权重矩阵为U,历史信息层权重矩阵为V,输出层权重矩阵为O,因此,最终St+1的输出公式为:
St+1=O*f(UHt+VHt-1)
其中,f(*)为归一化函数。计算完毕后,将历史信息层更新为Ht。
上述空间特征提取子模块中的图神经网络算法,时间特征提取子模块中的时间特征提取算法需要预先进行训练,分别确定算法流程中的权重矩阵U、V和O中的参数u,v,o。
训练过程中,空间特征提取子模块和时间特征子模块需要同时进行结合训练,如图7所示,具体步骤如下:
1、随机初始化权重矩阵参数w,u,v,o。随机初始化H0,H0在训练过程中代表还未开始训练时的流量信息矩阵,在正常工作流程中则代表还没有任何历史信息时的初始特征。
2、正向训练过程如步骤401-403及其详细描述所示。
3、在每一次完成正向训练过程后,需要进行反向传播更新参数w,u,v,o。
在训练过程中,对于每一次输出St,都会产生一个误差值et,累计误差表示为Et=∑tet。
其中其中n为节点的数量,/>为t时刻的第i个节点的真是流量值。
利用以下公式参数权重矩阵U、V、O进行更新:
其中,分别代表U、V、O的梯度;E为误差矩阵;/>是求偏导数的整记符号,代表符号后的分子对分母求偏导,/>分别代表误差矩阵E对U、V、O求偏导;
进一步的,由于St+1=O*f(UHt+VHt-1),令UHt+VHt-1=Qt,则
其中,St为t时刻的网络流量大小,代表E对St求偏导;/>为St对归一化函数f和输出层权重矩阵O求偏导;/>为函数f对Qt求偏导;/>为Qt对输入权重U和历史信息层权重V求偏导;
对于权重矩阵W,梯度为:
其中,代表E对W求偏导,
推导可得:
4、根据计算出来的梯度值更新参数w、u、v、o,即
其中,β为学习率,可取(0,1);wt、ut、vt、ot分别为t时刻w,u,v,o的参数值;
5、重复上述步骤,直到累计误差Et值不再变化。
作为本发明的一种实施例所述信息缓存模块用于缓存流量预测模块预测得到的下一时刻流量信息,缓存深度可定义,具体步骤如下:
步骤501:获取由时间特征提取子模块生成的t+1时刻的网络流量信息预测向量;
步骤502:通过信息获取触发检查机制,检查缓存空间是否充足,当缓存空间不足时,丢弃离当前时间最远的网络流量信息预测向量。
步骤503:将获取到的网络流量信息预测向量进行存储并记录时间,等待控制层进行操作,同时等待获取下一时刻网络流量信息预测向量;
步骤504:重复上述步骤。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于时空信息的SDN网络流量预测方法,其特征在于,包括如下步骤:
S1、全局网络信息获取:基于网络信息获取模块,利用openflow消息机制,获取SDN网络中的全局网络信息数据;
S2、网络信息数据预处理:基于网络信息预处理模块,对上述网络信息数据进行预处理,减少非必要信息的干扰,得到处理后的网络信息数据;
S3、进行网络流量预测:基于流量预测模块,利用网络时空特征的流量预测方法,根据预处理后的网络信息数据,对SDN网络下一时刻的网络流量进行预测,得出预测结果;
S4、缓存预测结果:基于信息缓存模块,将流量预测结果存到结果缓冲区,用于控制层进一步根据预测结果对网络资源进行调度规划。
2.根据权利要求1所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S1中,所述全局网络信息包括:交换机或路由设备的邻居信息,交换机加入、离开信息,端口增加、修改、删除信息,链路的添加、删除信息,业务流量包信息。
3.根据权利要求2所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S1中,网络信息获取模块获取全局网络信息,包括如下子步骤:
S1.1、网络信息获取模块通过封装有时间戳信息的链路层链路发现协议LLDP数据包,通过基于openflow协议的输出操作输出消息,下发给SDN网络中各个交换机或路由设备;LLDP数据包通过端口转发到相邻的交换机或路由设备中,并通过packet-in消息送回控制层,统计得到上述全局网络信息;
S1.2、网络信息获取模块通过openflow协议中的packet-in事件处理函数,从数据面获取业务流量包信息;
所述packet-in事件处理函数,用于将到达交换机或路由设备的数据包发送到控制层;
所述业务流量包信息为信息五元组,包括:源IP地址src、目的IP地址dst、源端口src_port,目标端口dst_port、传输层协议;并获取该信息五元组数据包有效长度和到达时间;
S1.3、网络信息获取模块将上述全局网络信息和业务流量包信息发送至网络信息预处理模块。
4.根据权利要求3所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S2中,网络信息预处理模块对获取的网络信息数据进行预处理,包括如下子步骤:
S2.1、网络信息预处理模块通过第一通道和第二通道,分别接收上述全局网络信息和业务流量包信息;
S2.2、根据SDN网络中全局网络信息,对每个网络中的交换机或路由设备节点进行编号,获取每个节点之间的连接关系,并记录编号对应节点的IP地址;
构建邻接矩阵X,矩阵的横、纵坐标分别代表网络拓扑中节点的编号,矩阵中用1代表横纵坐标所表示的节点相连,0则代表不相连;
S2.3、根据业务流量包信息中数据包有效长度和到达时间,计算包平均大小Psizemean、包大小方差Psizestd、包平均到达时间间隔Ptimemean、包到达时间间隔方差Ptimestd;
将业务流量包信息中的src(源IP地址)、dst(目的IP地址)与步骤S2.2中节点的编号进行对应匹配,得到包源IP编号Psrc和包目的IP编号Pdst,构建流量的特征向量如下:
h=[Psizemean,Psizestd,Ptimemean,Ptimestd,Psrc,Pdst];
S2.4、网络信息预处理模块,将上述邻接矩阵X和流量的特征向量h发送至流量预测模块。
5.根据权利要求4所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S3中,所述流量预测模块利用网络时空特征的流量预测方法,预测下一时刻的网络流量信息,包括如下子步骤:
S3.1、流量预测模块利用其内置的空间特征提取子模块,获取由上述网络信息预处理模块发送的邻接矩阵X和流量特征向量h,通过图神经网络算法,提取网络拓扑的结构特征,并将结构特征信息发至时间特征提取子模块;
S3.2、流量预测模块利用其内置的时间特征提取子模块,在空间特征提取子模块的基础上,使用时间特征提取算法提取流量信息的时间特征,生成具备时空信息的网络流量预测信息;
S3.3、时间特征提取子模块,将生成的网络流量预测信息,发送至信息缓存模块。
6.根据权利要求5所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S3.1中,所述图神经网络算法,包括如下子步骤:
S3.1.1、对于邻接矩阵X中的节点i,计算其自身与自身所有邻居的相关性,即
其中,j为邻接矩阵X中节点i的邻居节点,rij代表节点i和节点j之间的相关性;W=diag(w1,w2,w3,w4,w5),代表参数w构成的对角矩阵,参数w则通过迭代训练获得;
.||.代表将符号两边的矩阵进行拼接,.T代表对向量进行转置;
hi和hj表示邻接矩阵X中节点i和节点j的流量特征向量;和/>表示W分别和hi、hj的转置相乘;a(.)是将高维度数据向低维度数据转换的单层前馈神经网络实现函数;
S3.1.2、将得到的所有节点i的相关性数据,使用如下公式进行归一化:
其中,bij表示对rij进行归一化后的值,e(.)为常数e的指数幂,Relu(.)函数公式如下:
S3.1.3、将得到的归一化节点信息相关性进行加权求和,得到节点i的特征信息h′i:
h′i=σ(W(∑jbij hi)T) (4)
其中,σ(.)为归一化函数;
S3.1.4、以步骤S2.2中网络拓扑的节点编号顺序为序,构建包含所有节点流量信息的网络流量信息特征矩阵H′,表示如下:
其中,n表示网络拓扑中的节点数量;
S3.1.5、将邻接矩阵X和网络流量信息特征矩阵H′相乘,得到包含空间特征的流量信息矩阵H,公式如下:
H=θ(X*H′)
(6)
其中,θ(.)为全部连接层公式,将每一个n*m的矩阵变为n*1的矩阵,对每行元素相加取平均值,得到网络拓扑的结构特征信息。
7.根据权利要求6所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S3.2中,所述时间特征提取算法,具体如下:
S3.2.1、时间特征提取子模块获取上述包含空间特征的流量信息矩阵H,并记录时间为t,得到t时刻流量信息矩阵Ht:
其中,为t时刻第n个节点的包含空间特征的流量信息特征;
S3.2.2、通过Ht和Ht-1预测t+1时刻的网络流量大小St+1;
St+1表现形式如下:
其中,为预测的t+1时刻标识为n的节点的流量大小;
St+1输出公式如下:
St+1=O*f(UHt+VHt-1) (9)
其中,f(*)为归一化函数,U为输入权重矩阵,V为历史信息层权重矩阵,O为输出层权重矩阵;
用参数u,v,o表示组成权重矩阵U、V和O中的元素,所述参数根据预先训练得到,在训练期间参数值是随机初始化的,在实际使用期间参数值是固定的;
S3.2.3、将历史信息层更新为Ht。
8.根据权利要求7所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S3中,空间特征提取子模块和时间特征子模块需要同时结合,预先进行训练,用于确定步骤S3.2.2中权重矩阵U、V和O的参数u,v,o,所述预先训练步骤如下:
S3.3.1、随机初始化权重矩阵参数w,u,v,o,随机初始化H0;
其中,H0在预先训练过程中代表还未开始训练时的流量信息矩阵,在步骤S3.2的正常工作流程中则代表还没有任何历史信息时的初始特征;
S3.3.2、进行正向训练,正向训练过程如上述步骤S3.1至S3.3;
S3.3.3、在每一次完成正向训练过程后,进行反向传播,更新参数w,u,v,o;在训练过程中,对于每一次输出St,都会产生一个误差值et,累计误差表示为Et:
Et=∑tet (10)
其中,为t时刻的第i个节点的真实流量值;
S3.3.4、利用以下公式参数权重矩阵U、V、O进行更新:
其中,分别代表U、V、O的梯度;E为误差矩阵;/>是求偏导数的整记符号,代表符号后的分子对分母求偏导,/>分别代表误差矩阵E对U、V、O求偏导;
S3.3.5、根据上述公式(9),令UHt+VHt-1=Qt,则
其中,St为t时刻的网络流量大小,代表E对St求偏导;/>为St对归一化函数f和输出层权重矩阵O求偏导;/>为函数f对Qt求偏导;/>为Qt对输入权重U和历史信息层权重V求偏导;
对于权重矩阵W,梯度为:
其中,代表E对W求偏导,
S3.3.6、由上述公式(15)(16)(17)推导可得:
其中,为t时刻流量信息矩阵Ht对归一化函数σt求偏导;
S3.3.7、根据计算出来的梯度值,更新参数w、u、v、o,即:
其中,β为学习率,可取(0,1);wt、ut、vt、ot分别为t时刻w,u,v,o的参数值;
S3.3.8、重复上述步骤S3.3.2至S3.3.7,直到累计误差Et值不再变化。
9.根据权利要求8所述的基于时空信息的SDN网络流量预测方法,其特征在于,步骤S4中,所述信息缓存模块,用于缓存流量预测模块预测得到的下一时刻流量信息,缓存深度可定义,具体步骤如下:
S4.1、获取由时间特征提取子模块生成的t+1时刻的网络流量信息预测向量;
S4.2、通过信息获取触发检查机制,检查缓存空间是否充足,当缓存空间不足时,丢弃离当前时间最远的网络流量信息预测向量;
S4.3、将获取到的网络流量信息预测向量进行存储并记录时间,等待控制层进行操作,同时等待获取下一时刻网络流量信息预测向量;
S4.4、重复上述步骤S4.1至S4.3,连续更新网络流量信息。
10.一种基于时空信息的SDN网络流量预测系统,用于实现上述权利要求1至9任一项SDN网络流量预测方法,其特征在于,包括:
网络信息获取模块:所述网络信息获取模块通过openflow协议获取网络拓扑的形状,并生成网络拓扑矩阵,同时获取网络中各个节点的流量信息。
网络信息预处理模块:所述网络信息预处理模块用于对网络信息获取模块获得的信息进行预处理,避免干扰信息影响流量的预测;
流量预测模块:所述流量预测模块用于根据预处理后的网络信息,预测下一时刻的网络流量信息;所述流量预测模块包括一个空间特征提取子模块和一个时间特征提取子模块;所述空间特征提取子模块用于提取网络拓扑的结构特征,所述时间特征提取子模块在空间特征提取子模块的基础上提取流量信息的时间特征,从而生成具备时空信息的网络流量预测信息;
信息缓存模块:所述信息缓存模块用于缓存流量预测模块预测得到的下一时刻流量信息,缓存深度可以根据不同需求进行设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311228814.6A CN117061360A (zh) | 2023-09-22 | 2023-09-22 | 基于时空信息的sdn网络流量预测方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311228814.6A CN117061360A (zh) | 2023-09-22 | 2023-09-22 | 基于时空信息的sdn网络流量预测方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117061360A true CN117061360A (zh) | 2023-11-14 |
Family
ID=88659260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311228814.6A Pending CN117061360A (zh) | 2023-09-22 | 2023-09-22 | 基于时空信息的sdn网络流量预测方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061360A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370724A (zh) * | 2023-12-08 | 2024-01-09 | 广州优刻谷科技有限公司 | 一种数据异常预测模型的生成和更新方法及系统 |
-
2023
- 2023-09-22 CN CN202311228814.6A patent/CN117061360A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370724A (zh) * | 2023-12-08 | 2024-01-09 | 广州优刻谷科技有限公司 | 一种数据异常预测模型的生成和更新方法及系统 |
CN117370724B (zh) * | 2023-12-08 | 2024-04-16 | 广州优刻谷科技有限公司 | 一种数据异常预测模型的生成和更新方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Dual attention-based federated learning for wireless traffic prediction | |
CN109981691B (zh) | 一种面向SDN控制器的实时DDoS攻击检测系统与方法 | |
CN109039942B (zh) | 一种基于深度强化学习的网络负载均衡系统及均衡方法 | |
CN114567598B (zh) | 一种基于深度学习和跨域协作的负载均衡方法及装置 | |
CN117061360A (zh) | 基于时空信息的sdn网络流量预测方法与系统 | |
WO2021036414A1 (zh) | 一种低轨移动卫星星座下星地下行链路同频干扰预测方法 | |
CN114124823B (zh) | 面向高动态网络拓扑下的自适应路由方法、系统、设备 | |
CN114827021B (zh) | 一种基于sdn和机器学习的多媒体业务流量加速系统 | |
WO2023241423A1 (zh) | 一种基于流量预测的路由决策方法及系统 | |
CN111404815B (zh) | 一种基于深度学习的有约束路由选择方法 | |
WO2024037136A1 (zh) | 一种基于图结构特征的路由优化方法与系统 | |
CN116248164A (zh) | 基于深度强化学习的完全分布式路由方法和系统 | |
CN117041129A (zh) | 一种基于多智能体强化学习的低轨卫星网络流路由方法 | |
CN115842768A (zh) | 一种基于图神经网络的时空特征融合的sdn路由优化方法 | |
CN107659505A (zh) | 一种sdn网络的选路方法和sdn控制器 | |
Alsulami et al. | A real application enabled traffic generator for networking ai model development | |
CN115396366B (zh) | 基于图注意力网络的分布式智能路由方法 | |
CN116938810A (zh) | 一种基于图神经网络的深度强化学习sdn智能路由优化方法 | |
CN116155805A (zh) | 分布式智能路由方法、系统、电子设备和存储介质 | |
Meng et al. | Intelligent routing orchestration for ultra-low latency transport networks | |
CN116455824A (zh) | 基于强化学习的网络流量负载均衡方法 | |
CN116545871A (zh) | 一种多模态网络流量预测方法、装置、介质 | |
Ferriol-Galmés et al. | FlowDT: a flow-aware digital twin for computer networks | |
Liu et al. | Tomogravity space based traffic matrix estimation in data center networks | |
CN117014355A (zh) | 一种基于ddpg深度强化学习算法的tssdn动态路由决策方法 |
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 |