一种基于SDN的服务定制网络资源自适应分配方法转让专利
申请号 : CN202011366760.6
文献号 : CN112491619B
文献日 : 2022-04-05
发明人 : 王兴伟 , 易波 , 李政宇 , 成汶霖 , 黄敏
申请人 : 东北大学
摘要 :
权利要求 :
1.一种基于SDN的服务定制网络资源自适应分配方法,其特征在于:包括系统框架、资源分配问题模型、服务定制机制以及基于改进蚁群算法的资源分配机制;
所述系统框架的建立、资源分配问题模型的建立、服务定制的设计以及基于改进蚁群算法的资源分配机制设计步骤包括:
步骤1基于SDN的服务定制网络资源自适应分配技术设计的系统模型,包括网络测量、拓扑管理、资源请求以及资源分配模块;
步骤2对网络资源分配问题进行建模,包括网络模型、请求资源模型、服务定制模型以及资源分配模型;
步骤3对服务定制方法进行设计,包括获取用户需求、用户需求分析以及服务定制资源;
步骤4对传统的蚁群算法进行改进,设计出一种改进蚁群算法的资源分配方法;
所述步骤2的具体步骤包括:
步骤2.1将网络表示为一个有向连接图G=(V,E),由基础设备和链路组成,所有的顶点集合V=H∪S由主机集合H={h1,h2,h3,...hn}和交换机集合S={s1,s2,s3,...sn}组成;
步骤2.2交换机节点模型为S={id,Tcapi,Ptapi,Ftapi,linkset,level},其中id表示交换机的唯一标识;每个交换机si∈S维护一个基于TCAM的流表FlowTab,FlowTab中可存储规则数目为Tcapi,FlowTab由高级策略规则表Ptapi={rp1,rp2,rp3,...rpm}和转发规则表Ftapi={rf1,rf2,rf3,...rfm}组成,Ptapi和Ftapi分别表示策略规则表和转发规则表的大小;
linkset表示该节点到下个节点的集合,level表示交换机在拓扑中的层次;为了避免交换机规则空间被100%全部利用,分别用式(1)和(2)表示分配高级策略规则空间和转发规则空间的大小,其中portion表示交换机流规则空间可以分配给高级策略空间的比例,THRTCAM表示交换机规则空间的最大利用率;
Ftapi=Tcapi×THRTCAM×portion (1)Fcapi=Tcapi×THRTCAM×(1‑portion) (2)步骤2.3用Flow表示数据流类,存储数据流的相关信息,每个数据流描述为Flow=(Fid,Fips,Fipd,Fports,Fportd,Frate,Ftime,Fpath,edgeset,T);其中,Fid用以标识一个数据流,Fips和Fipd分别代表它的源IP地址和目的IP地址,Fports和Fportd分别代表它的源端口地址和目的端口地址,Frate表示数据流的速率,Ftime表示当前的时间戳,Fpath表示数据流经过的一系列交换机节点的有序序列,edgeset表示边的集合,T表示更新时间间隔,T的取值与网络状态相关,网络正常情况下,其值为固定值,当网络中出现突发状况时,立即更新;
步骤2.4对延迟、抖动以及丢包率这三个因素进行归一化处理,使其化为量纲可比较的数据;
(1)延迟:对延迟进行归一化计算如式(3)所示:Delayi,j=(delayi,j‑delaymin)/(delaymax‑delaymin) (3)其中,Delayi,j表示节点i与节点j之间归一化后的延迟值,delayi,j表示节点i与节点j之间的实际时延,在整个网络拓扑图中,delaymax和delaymin分别表示所有链路中延迟的最大值、最小值;
(2)抖动:对抖动进行归一化计算如式(4)所示:Jitteri,j=(jitteri,j‑jittermin)/(jittermax‑jittermin) (4)其中,Jitteri,j表示节点i与节点j之间归一化后的抖动值,jitteri,j表示节点i与节点j之间的实际抖动,在整个网络拓扑图中,jittermax和jittermin分别表示所有链路中抖动的最大值、最小值;
(3)丢包率:对丢包率进行归一化计算如式(5)所示:LossRatei,j=(lossratei,j‑lossratemin)/(lossratemax‑lossratemin) (5)其中,LossRatei,j表示节点i与节点j之间归一化后的丢包率值,lossratei,j表示节点i与节点j之间的实际丢包率,在整个网络拓扑图中,lossratemax和lossratemin分别表示所有链路中丢包率的最大值、最小值;
步骤2.5对用户请求资源进行建模,每一个用户需求可以用一个五元组表示
步骤2.6当用户在特定时间段内需要网络资源时,用户将资源请求发送给控制器;每个定制服务可以使用相互独立的物理资源,网络中可以同时存在多个定制服务,然后把用户网络请求生成定制服务;对于任何r∈rsd的路由可以定义为:fc(r)=∑(i,j)∈rcij (6)fd(r)=∑(i,j)∈rdij (7)其中,rsd表示路由,cij表示代价,dij代表时延,fc(r)表示总代价,fd(r)表示总时延,cij=βgij+(1‑β)pij,β值可变,pij表示丢包率,gij表示带宽利用率,代价cij最终表示为:cij=βgij+(1‑β)pij (8)步骤2.7资源分配流的建立过程包括:首先将第一个发送的数据包发送给控制器进行处理,同时控制器需要每隔2s查询网络链路状态信息,为了实现基于SDN的服务定制网络资源自适应分配方法,控制器需要进行流量监测以及收集网络资源状态信息数据。
2.根据权利要求1所述的一种基于SDN的服务定制网络资源自适应分配方法,其特征在于:所述步骤1中的基于SDN的服务定制网络资源自适应分配技术设计的系统模型包括网络测量、拓扑管理、资源请求以及资源分配模块;
所述步骤1的具体步骤包括:
步骤1.1拓扑管理,为了能够实时获得网络拓扑信息,SDN中的控制器需要周期性的收集全局网络拓扑信息,然后为应用规划出一条合理的路径;
步骤1.2资源监测,SDN控制器中的资源监测模块不仅能够监测链路的延迟、丢包率QoS信息以及网络剩余有限资源的信息,还可以测量出交换机设备的流统计信息;其负责收集和维护有关网络当前状态的信息;除了目前已经在OpenFlow控制器上实现的拓扑发现功能之外,还使用流统计信息收集功能扩充了网络测量模块;
步骤1.3服务定制,服务定制模块利用控制器中拓扑管理模块与网络测量模块提供的信息,然后为不同服务质量等级下的应用计算出满足其服务需求的多条路径,并从中选择一条最优路径用于数据流转发,最后将剩余的其它路径的信息存储到文件中,以保证路由的可靠性与容错性;
步骤1.4路由管理,路由管理模块采用数据流不分割的思想,即属于相同流的数据分组在相同的路径上传输;然后根据网络拓扑的情况为目的主机绑定合适的路径,决定数据分组从入口交换机到出口交换机在网络上传输的路径。
3.根据权利要求1所述的一种基于SDN的服务定制网络资源自适应分配方法,其特征在于:所述步骤3的具体步骤包括:
步骤3.1构建用户文档,在服务定制模块中我们将用户的需求描述为用户文档;在具体的执行过程中,系统要对各种不同类型用户的实际需求进行有效的采集,并构建用户文档,可以通过在建立连接之前提交用户文档来减少控制开销,以保证网络资源利用率的最大化;
步骤3.2对所有可能影响用户体验的需求进行分析,依据不同的通信特征实现对用户请求的分类,然后对其进行深入地分析、整理和统计,进而有效地获取各个不同类型通信的需求;
步骤3.3根据用户的实际需要,系统进行合理地配置,以保证提供完善的网络服务;对于每一种服务,将每一种服务对应的属性予以定义,并将其划分成多种服务等级;
步骤3.4根据用户需求提供相应的资源分配方案,系统输入:服务期望的网络时间、网络位置、需要的设备数量、网络吞吐量和设备的期望速率根据网络需求调用事先定义好的解决方案模板提供定制化的网络资源分配。
4.根据权利要求1所述的一种基于SDN的服务定制网络资源自适应分配方法,其特征在于:所述步骤4的具体步骤包括:
步骤4.1改进的蚁群算法首先对相关的参数进行初始化操作,包括设置时间和迭代次数,根据公式(11)进行更新,否则将继续路径的搜索直到输出最优路径;
步骤4.2通过实现蚂蚁路径的选择进行合理的资源分配,以提高网络资源利用率;
步骤4.3在资源分配算法中网络可以用G=(V,E)表示,其中V=(v1,v2,v3,...vn)表示网络中的所有节点,E=(e1,e2,e3,...em)表示两个节点之间物理链路组成的集合;n表示节点的数量,m表示链路的数量; 表示链路成本, 表示链路时延,C(p)表示链路总成本,D(p)表示链路总时延;
在下列公式中,λ表示拉格朗日乘子,Cλ(p)表示成本代价和时延的聚合代价,Δdelay表*
示时延限制,p表示资源分配的最优路径,Pst表示源节点到目的节点的路径;
*
p=min{C(p)|D(p)≤Δdelay},p∈Pst (11)表示(vi,vj)的链路使用率,α表示链路使用率的权重;
步骤4.4首先进行相关参数的初始化,在寻找链路拥塞较低路径的同时需要满足时延要求,计算出最优路径进行数据传输,然后根据用户需求提供相应的资源分配方案,系统输入服务期望的网络时间和网络位置,需要的设备数量、网络吞吐量、设备的期望速率根据网络需求调用事先定义好的解决方案模板提供定制化的网络资源分配。
说明书 :
一种基于SDN的服务定制网络资源自适应分配方法
技术领域
背景技术
对网络数据的感知和应用能力。针对当前互联网中存在的问题,提出了一种具有差异化服
务能力的未来网络体系架构—服务定制网络。服务定制网络基于软件定义网络设计,继承
了其数据控制分离以及网络可编程的主要特点,并针对当前互联网中的问题,增加了网络
虚拟化能力以及内容智能调度能力。
量、调度和管理,并设计合理的路由机制来指导网络流量转发,以提高网络资源的利用率,
进而更好地满足网络流量的服务质量需求。面向频繁变化的网络状态和网络资源供给情
况,针对用户多样化的需求情形,改进了蚁群算法开展服务定制来适应用户更细粒度的需
求情形,提高资源的利用率并提高用户体验质量,设计了一种基于SDN的服务定制网络资源
自适应分配方法。
发明内容
制,进行个性化服务定制。
步骤包括:
OpenFlow协议与OpenFlow交换机进行通信,然后通过控制器向交换机下发消息,交换机可
以根据接收的数据流的特性进行路由转发。在SDN网络中将控制平面与数据平面进行分离
解耦,在一个基于OpenFlow的SDN网络中,一台控制器控制多台OpenFlow交换机,控制器根
据链路层发现协议LLDP收集控制器与交换机以及交换机与交换机之间的链路信息,控制器
进而通过控制OpenFlow交换机实现对整个网络的管理控制。当有新的数据包到达时,交换
机执行流表字段匹配、数据流转发等操作。在本专利设计的基于SDN的服务定制网络资源自
适应分配方法中,当新的业务数据包到达时,进行业务识别并进行服务定制,对最高优先级
的业务使用QoS路由算法路由,对其他优先级业务,使用Dijkstra算法路由寻找最短路径,
针对网络状态动态变化的特点,设计了自适应机制,根据检测到的网络资源状况进行自适
应调整,以提高资源利用率并适应用户更细粒度的需求情形,提高网络资源的利用率,改善
体验质量,实现整个网络系统的优化。交换机发送数据包,并接收来自控制器下发的数据
包。控制器和交换机必须通过安全通道进行通信,而且进行通信的数据包必须按照
OpenFlow协议规定的格式执行。流表是数据转发的依据,流表由控制器下发给交换机。将其
封装成Packet in数据包,转发给控制器,由SDN控制器决定应该如何处理,并下发相应流
表;
Out消息后,将执行Packet‑Out中包含的LLDP报文指令;
给控制器;
信息。
其负责收集和维护有关网络当前状态的信息。除了目前已经在OpenFlow控制器上实现的拓
扑发现功能之外,本专利还使用流统计信息收集功能扩充了网络测量模块。
选择一条最优路径用于数据流转发,最后将剩余的其它路径的信息存储到文件中,以保证
路由的可靠性与容错性。
据分组从入口交换机到出口交换机在网络上传输的路径。
可存储规则数目为Tcapi,FlowTab由高级策略规则表Ptapi={rp1,rp2,rp3,...rpm}和转发规
则表Ftapi={rf1,rf2,rf3,...rfm}组成,Ptapi和Ftapi分别表示策略规则表和转发规则表的
大小。linkset表示该节点到下个节点的集合,level表示交换机在拓扑中的层次。为了避免
交换机规则空间被100%全部利用,分别用式(1)和(2)表示分配高级策略规则空间和转发
规则空间的大小,其中portion表示交换机流规则空间可以分配给高级策略空间的比例,
THRTCAM表示交换机规则空间的最大利用率;
流,Fips和Fipd分别代表它的源IP地址和目的IP地址,Fports和Fportd分别代表它的源端口
地址和目的端口地址,Frate表示数据流的速率,Ftime表示当前的时间戳,Fpath表示数据流经
过的一系列交换机节点的有序序列,edgeset表示边的集合,T表示更新时间间隔,T的取值
与网络状态相关,网络正常情况下,其值为固定值,当网络中出现突发状况时,立即更新;
最大值、最小值。
动的最大值、最小值。
示所有链路中丢包率的最大值、最小值。
间,Uft表示结束时间;
用户网络请求生成定制服务。对于任何r∈rsd的路由可以定义为:
络资源自适应分配方法,控制器需要进行流量监测以及收集网络资源状态信息等数据。
文档,可以通过在建立连接之前提交用户文档来减少控制开销,以保证网络资源利用率的
最大化;
信的需求;
好的解决方案模板提供定制化的网络资源分配;
示节点的数量,m表示链路的数量。 表示链路成本, 表示链路时延,C(p)表示链路总
成本,D(p)表示链路总时延,则有:
Δdelay表示时延限制,p表示资源分配的最优路径,Pst表示源节点到目的节点的路径。
统输入服务期望的网络时间和网络位置,需要的设备数量、网络吞吐量、设备的期望速率等
根据网络需求调用事先定义好的解决方案模板提供定制化的网络资源分配。
用户多样化的需求情形,同构改进蚁群算法开展服务定制来适应用户更细粒度的需求情
形,提高网络资源利用率,改善体验质量。
附图说明
具体实施方式
使用OpenFlow协议与OpenFlow交换机进行通信,控制器向交换机下发信息,交换机可以根
据所接收数据流的特性进行路由转发。本专利提出的基于SDN的服务定制网络资源自适应
分配技术,当新的业务数据包到达时,通过对业务进行识别然后进行服务定制,对最高优先
级的业务使用QoS路由算法路由,对其他优先级的业务使用Dijkstra算法路由寻找最短路
径。针对网络状态动态变化的特点,设计了自适应机制,根据监测到的网络资源状况进行自
适应调整,以提高资源利用率并满足用户更细粒度的需求情形,改善体验质量,实现整个网
络系统的优化。交换机发送数据包,并接收来自控制器下发的数据包。控制器和交换机必须
通过安全通道进行通信,而且进行通信的数据包必须按照OpenFlow协议规定的格式执行。
流表由控制器下发给交换机,是数据转发的依据。将流表封装成Packet_in数据包转发给控
制器,由SDN控制器决定应该如何处理,然后下发相应的流表。以下详细说明本发明方法涉
及的关键步骤。
用OpenFlow和LLDP(LinkLayer Discovery Protocol)两种协议来进行协助。其主要的工作
流程如下:
Out消息后,将执行Packet‑Out中包含的LLDP报文指令;
给控制器;
信息。
链路资源指的是网络中的链路所能够提供的带宽资源。
络当前状态的信息。除了目前已经在OpenFlow控制器上实现的拓扑发现功能之外,本专利
还使用流统计信息收集功能扩充了该模块。如图2所示,计算交换机1与交换机2之间的链路
时延:
息后,记录接收到该消息的时间t2;
t1时刻,端口发送为Tx1,端口接收为Rx1;在t2时刻,端口发送为Tx2,端口接收为Rx2,如公式
(2)所示:
据流转发,将剩余的其他路径信息存储到文件中,以保证路由的可靠性与容错性;
会迅速切换到这条新路径上以继续为应用转发数据分组;否则,持续在最优的路径上进行
转发。
出口交换机在网络上传输的路径。
思想是从初始点开始遍历其邻接节点a00,再遍历a00的邻接节点a10,直到遍历到终点时表明
找到一条路径。主要包括以下步骤:
可以抽象成一个连通图G=(V,E),其中V=(v1,v2,v3,...vn)是节点集,代表网络中的节点,
由基础设备和链路组成,所有的顶点集合V=H∪S包括两部分,由主机集合H={h1,h2,
h3,...hn}和交换机集合S={s1,s2s3,..sn}组成。
组成。其中E=(e1,e2,e3,...emx是链路集,表示两个节点之间的连接。链路表示为边集合E
=Esh∪Ess也包括两部分,其中Esh={eij,i∈S,j∈H}表示交换机与主机之间的通信链路,其
中Ess={ekl,k,l∈S}表示交换机之间的通信链路,Maxndegree和Avgndegree分别表示拓扑最大
节点度数和平均节点度数,Type={distributed,centralized}表示网络拓扑的类型,A=
{aij,i,j≤Nswitch}表示拓扑的邻接矩阵,如式(5)所示:
数目为Tcapi,FlowTab由高级策略规则表Ptapi={rp1,rp2,rp3,...rpm}和转发规则表Ftapi=
{rf1,rf2,rf3,...rfmm}组成,Ptapi和Ftapi分别表示策略规则表和转发规则表的大小。
linkset表示该节点到下个节点的集合,level表示交换机在拓扑中的层次。
Fips和Fipd分别代表它的源IP地址和目的IP地址,Fports和Fportd分别代表它的源端口地
址和目的端口地址,Frate表示数据流的速率,Ftime表示当前的时间戳,Fpath表示数据流经过
的一系列交换机节点的有序序列,edgeset表示边的集合,T表示更新时间间隔,T的取值与
网络状态相关,网络正常情况下,其值为固定值,当网络中出现突发状况时,立即更新;
标识入端口。路径表示为R(loc,pkt)={s1,s2,s3,...sn},其中loc表示出口交换机的出端
口,s1,s2s3,...sn表示该数据分组在网络中经过的交换机集合。
属于NP‑hard问题,本专利利用加权评估函数将多目标转换为单目标模型,在考虑延迟、抖
动和丢包率的因素下,使用一组加权系数将多约束条件转化为一个单目标函数,进而构成
一个新的路由度量值。为了在多因素影响下求取最小值,将多约束多目标转换为单目标函
数的计算如公式(6)所示
的丢包率,α,β,γ为权重,且α+β+γ=1。
成无量纲可比较的数据。
delaymin表示所有链路中延迟的最小值。
jittermin表示所有链路中抖动的最小值。
率的最大值,lossratemin表示所有链路中丢包率的最小值。
流类,存储数据流的相关信息,每个数据流(Fid,Fs,Fd,Fu,Fbytes,Ft, Fm,Fvp,Fep,T),Fid用
来标识一个数据流,T为更新时间间隔,T的取值与网络状态相关,网络正常情况下,其值为
固定值(2s),当网络中出现突发状况时,立即更新。
络请求生成定制服务。
j)∈E,表示从节点i到节点j之间的链路,S代表发送端,D代表接收端,rsd表示路由,rij代表
路径。对于任何r∈rsd的路由可以定义为:
自适应分配方法,控制器需要进行流量监测以及收集网络资源状态信息等数据。收集控制
器与交换机以及交换机与交换机之间的链路信息。资源分配模块借助网络拓扑模块可以获
得网络拓扑,从请求资源模块中获得请求资源信息。基于SDN服务定制网络资源分配系统框
架如图5所示。
提交用户文档来减少控制开销,以保证网络资源利用效率的最大化。
同类型的通信需求。根据用户的实际需要,系统进行合理地配置,以保证提供完善的网络服
务。
服务器根据其汇总的需求与环境信息,进行用户与网络服务提供商的供需匹配。在用户与
网络服务提供商匹配的过程中,应考虑的因素主要包括用户需求与网络服务提供商供给之
间的匹配,网络服务提供商所能提供的服务质量和网络环境的当前状态。最终能够保证网
络资源利用率的最大化。
决方案模板提供定制化的网络资源分配。
以被看成食物碎屑,资源提供节点可以被看成食物源。
数量。 表示链路成本, 表示链路时延,C(p)表示链路总成本,D(p)表示链路总时延。
Δdelay表示时延限制,p表示资源分配的最优路径,Pst表示源节点到目的节点的路径。
解决方案模板,提供定制化的网络资源分配。
析。根据不同的通信特征实现对用户请求的分类,然后对其进行深入地分析、整理和统计,
进而有效地获取各个不同类型通信的需求。在服务定制过程中,用户需要将需求信息提交
到服务定制模块的后台服务器,网络服务提供商需要提供当前网络的环境状态相关信息到
服务定制模块的后台服务器,服务器根据其汇总的需求与环境信息,进行用户与网络服务
提供商的供需匹配。
决方案模板,提供定制化的网络资源分配。
不相同,且不同应用类型的指标各不相同。这十种应用的应用场景、应用类型、带宽要求各
有不同,应用的编号和名称如图6所示。
络资源自适应分配方法(用S机制表示)进行性能对比。分别从丢包率、带宽利用率和时间开
销三个方面,进行相应指标的性能对比,测试结果请参阅图7、图8、图9方法测试结果。