发明内容
本发明的目的是克服现有技术存在的缺陷,提供一种不确定网络环境下RYU控制器流表自动生成方法,一方面通过对模型进行属性查询避免网络环路问题,另一方面自动生成流表转发策略,避免人为错误,提高软件定义网络对于环境变化的自适应性。
实现本发明目的的技术方案是:一种不确定网络环境下RYU控制器流表自动生成方法,其特征在于:基于随机博弈模型对软件定义网络中的交换机以及数据链路、随机网络环境、网络流建模,生成随机环境下的软件定义网络系统的TPTG模板;具体包括如下步骤:
步骤一:
定义网络中的交换机以及数据链路,具体为:定义五元组
=<S,A,T,r,K>,其中
为数据流,表示
使用的网络交换机状态的集合;定义网络交换机状态以及环境状态的集合S=
,其中
表示
使用的网络交换机状态的集合,
代表网络环境状态的集合;A代表网络对于
的转发策略的集合;
表示从
经过
的转发策略到
的状态转移函数,其中s表示S中的一个元素,即交换机的状态或者网络环境的状态,s’表示经过动作
后的下一个状态,
表示
的概率分布;
表示转发策略对应的奖励,其中R表示实数集合;
表示转发策略选择的数据链路;并将网络架构建设为图模型
,其中
为网络交换机集合,
为数据链路集合;
步骤二:对随机网络环境参数进行配置;所述随机网络环境参数为不确定网络环境参数,是网络拥塞以及软件定义网络架构中交换机随机下线的概率分布,设定不同的概率分布函数会影响网络环境的不确定性;
步骤三:查询属性的转化,具体为:将软件定义网络系统的数据流可达性约束、能耗及网络性能约束转化为查询属性,PRISM是一个对存在随机或概率行为的系统进行形式化建模和分析的概率模型检验工具,PRISM-games是PRISM工具的一个扩展,用于验证包含竞争或者协作博弈关系的随机系统,即随机博弈系统。使用PRISM-GAMES作为模型验证引擎,通过概率交替时序逻辑以及线性时序逻辑检查网络的静态及动态控制逻辑,生成最优数据流转发策略;
步骤四:流表的生成,根据数据流转发策略自动生成软件定义网络的TPTG模板,即各个交换机的流表。上述技术方案所述步骤四中,TPTG模板,即(turn-basedprobabilistic timed games),基于回合制的定时随机博弈模板,TPTG模板描述了面向时间约束的回合制随机博弈行为模式,TPTG模板能够访问参数配置,并可采用PRISM-GAMES作为模型验证引擎验证网络可靠性并生成最优数据流转发策略;
所述查询属性的形式如下:
式中,
为数据流,
为数据流
的目标数据中心;查询属性验证数据流
到达终点的概率大于预设值
;Pr表示概率,F表示数据流的集合;
如公式(1)和(2)所示(下面写了),rew(r)针对不同的路径的奖励和不同,且路径存在概率分布,所以采用
计算基于概率分布的奖励期望。而
则表示这个奖励期望小于等于n。所以整个的含义是查询属性验证网络能耗损失期望低于
,网络损耗率低于
,网络吞吐量大于
。
式中,
为能耗损失函数,
为数据链路损失函数,
为数据链路吞吐量函数;查询属性验证网络能耗损失期望低于
,网络损耗率低于
,网络吞吐量大于
。
上述技术方案所述步骤一中的对网络流建模具体为:根据图模型G,采用零和随机博弈模型描述交换机与网络环境之间的博弈,并采用
描述网络对于网络环境的转发策略,表示在路径(
)下的动作集合A的选择策略,其中
表示网络对于网络环境的转发策略,
是数学上的一种表达方法,即(SA)*=(SASASASASA…SA),(SA)*S
n 是交换机通过转发策略的动作路径集合的抽象表示方式,因为数据流路径
,其中
、
属于S,
、
属于A,所以路径的抽象形式就是SASASASA…SA,简化表示就是(SA)*Sn,
表示A的概率分布;根据网络交换机的状态以及转发策略,可以得到长度为k∈N的路径
来描述数据流在软件定义网络中的流向以及对应使用的交换机及数据链路,并根据
,
以及
计算相应的网络能耗损失、数据链路损失以及数据链路吞吐量,其中k表示某一个正整数长度,N表示正整数,
表示数据流路径,
表示从
经过
动作到
,然后
经过
动作到
,…以此类推。
上述技术方案所述步骤一中的对随机网络环境建模,主要描述网络环境的存在的不确定变化,包括网络交换机休眠或者下线事件、以及网络流量异常导致的网络拥塞事件以及事件发生的概率分布。
上述技术方案所述步骤二中,基于概率分布的模型检验,采用概率交替时序逻辑以及线性时序逻辑验证网络可靠性,通过验证数据流的可达性避免网络环路,网络黑洞问题。
上述技术方案所述步骤三中,具体为生成基于权重组合的多目标优化转发策略,分别对能耗、损耗率、吞吐量进行归一化处理,并分配权重
;所述目标函数形式如下:
式中,
为网络能耗权重,
为网络损耗率权重,
为网络吞吐量权重;可根据实际应用更改权重并生成转发策略
;式中,
为需要最小化的目标函数,根据凸组合性质通过逼近
的可行域与不可行域拟合多目标帕累托曲线及转发策略;生成的转发策略包括不同交换机在不同状态下需要选择的操作,主要包括转发、丢包、延时以及更改源目IP地址,MAC地址操作。
上述技术方案所述步骤四中具体为,根据多目标优化转发策略生成软件定义网络转发流表;根据不同交换机在不同状态下选择的最优操作,分别对应RYU控制器对于交换机的动作指令,分别为Forward、Drop、Modify以及Enqueue操作,通过Jinja模板生成RYU控制器执行代码,最后通过Packet-out消息将流表更新信息发送送到各个网络交换机。
上述技术方案所述步骤一中,根据奖励函数
,拟定义整个链路的奖励为
对于数据流的集合F,根据对应的路径λ的概率分布,整个策略的期望奖励为
(2),其中
表示第i个动作,
表示动作对应的第i个动作的奖励。
上述技术方案通过确保
,即
来确保网络拓扑以及转发策略不会造成网络黑洞与环路;由转化目标函数
,使得
由公式(3)及公式(4)采用值迭代方法更新的
,
,当
时达到收敛条件,即能求得
,进而推出
;若最小概率大于网络预设值
,则能证明网络不存在网络环路与黑洞。
采用上述技术方案后,本发明具有以下积极的效果:
(1)本发明的目的是弥补当前在不确定环境下采用统一的框架验证软件定义网络的可靠性并针对网络能耗、数据链路损失以及吞吐量进行多目标优化的短板。
(2)本发明可以突破现有软件定义网络验证框架的局限性,建立统一的框架验证在不确定环境下软件定义网络的可靠性,并根据网络动态变化权衡网络能效及性能,自动生成网络交换机的转发流表;一方面可以使得转发策略可根据网络环境以及用户需求动态调整,另一方面避免人为引入错误,提高系统可靠性。
(3)本发明自动生成网络流表可避免人为引入网络黑洞错误,并提高软件定义网络对于环境变化的自适应性。
具体实施方式
见图2,本发明提出的一种不确定环境下软件定义网络流表自动生成方法,针对网络环境的非确定性变化,首先对软件定义网络建立随机博弈模型,对模型增加吞吐量、延迟、能耗等奖励标注,量化模型的期望;然后采用概率时序逻辑规范描述网络属性要求以及优化目标,在随机博弈模型的基础上采用概率模型检验以及线性时序逻辑计算网络模型的期望奖励;利用基于奖励的概率交替时序逻辑(rPATL)检查网络的静态控制逻辑,避免网络黑洞、网络环路;
其中,基于奖励的概率交替时序逻辑reward probabilistic alternatingtemporal logic(rPATL),可以验证如
的公式语法:
其中C表示博弈参与方,c表示一个实数,
,
表示状态a的可达性。
同时利用基于奖励的概率交替时序逻辑(rPATL)来检查网络的动态控制逻辑,生成对应帕累托最优的多目标优化的网络流转发策略;最后根据转发策略以及Jinja模板生成RYU控制器代码。
本发明能够突破现有软件定义网络验证框架的局限性,建立统一的框架验证在不确定环境下软件定义网络的可靠性,并根据网络动态变化权衡网络能效及性能,自动生成网络交换机的转发流表。一方面可以使得转发策略可根据网络环境以及用户需求动态调整,另一方面避免人为引入错误,提高系统可靠性。
参阅图1,该图反映了软件定义网络中各个交换机转发流表的生成过程。首先将网络架构建设为图模 G = (V,E),其中V作为图的点,描述网络交换机的集合;E作为图的边,描述数据链路的集合,根据图模型,采用五元组
=<S,A,T,r,K>描述网络
与网络环境
之间的博弈。拟采用
描述网络对于网络环境的转发策略。根据网络交换机的状态以及转发策略,可以得到长度为k∈N的路径
来描述数据流在软件定义网络中的流向以及对应使用的交换机及数据链路。而根据奖励函数
,拟定义整个链路的奖励为公式(1)。对于数据流的集合F,根据对应的路径λ的概率分布,整个策略的期望奖励为公式(2)。
参阅图3,该图反映了一个网络拓扑图以及对应的数据流向图的简单案例。其中,数据中心DC1需要发送数据流至数据中心DC3,交换机SW1,SW2以及SW3处于工作状态,而交换机SW4以及SW5处于休眠状态。提出的方法可以自动生成转发策略使得数据流通过SW1以及SW3转发至DC3,同时将不需要使用的SW2放入休眠模式。若SW3随机下线或者在SW3处发现拥堵现象,则唤醒SW2进行数据流转发,如虚线所示。同时整个方案验证网络的可靠性,即验证数据流不会在DC1->SW1->SW4以及SW1->SW3->SW2内进行环路转发。
参阅图4,该图反映了基于随机博弈模型语义的交换机SW1在不同网络环境下所采取的博弈策略。在网络拓扑,数据链路能耗,损耗率及吞吐量已知条件下,其中博弈一方为网络控制策略,将数据流从一个数据中心转发至另一个数据中心。博弈另一方为网络环境的带有对抗性的不确定变化,包括网络交换机休眠或者下线事件、以及网络流量异常导致的网络拥塞事件。网络控制策略根据随机博弈的优化结果动态选择权衡网络能耗及网络性能的最优策略,选择唤醒网络流需要的网络交换机,并且将不需要使用的网络交换机放入休眠模式。
根据表1所示的网络模型参数及对应的博弈策略,发生网络拥塞的概率为p,若采取延时重发,丢包率为1%;若更换传输网络端口,则丢包率会大大增加。若接受交换机下线,则必须要更换传输端口,然而也会造成丢包。拟通过博弈模型权衡网络性能与网络能耗。
表 1 网络模型参数及对应博弈策略
参阅图1,本发明通过TPTG模板输入Prism-Games概率模型检验引擎中,通过概率交替时序逻辑以及线性时序逻辑检查网络的静态及动态控制逻辑。
为了避免网络环路及网络黑洞,验证数据流是否可以从起始点到达终点。对于网络流
以及其目标数据中心
,最终其到达终点的概率大于某个预设值
,具体可表示为:
为了权衡网络能耗,查询属性验证网络能耗损失期望低于
,网络损耗率低于
,网络吞吐量大于
,具体可表示为:
首先确保网络拓扑以及转发策略不会造成网络黑洞与环路,要确保
,即
。为在多项式时间复杂度内求得每个状态
到达
的最小概率。
由公式(3)及公式(4)采用值迭代方法更新的
,当
时达到收敛条件,即可以求得
,进而推出
。若最小概率大于网络预设值
,则可以证明网络不存在网络环路与黑洞。
基于网络可靠性,采取帕累托优化权衡网络能耗,损耗率及吞吐率,即找到
使得
可以达到最优解
,
,
。由于能耗,损耗率等变量有不同的单位,首先将三个值归一化,然后采用权重
,
,
来描述不同参数的权重,具体表示
、
、
为0到1之间的实数,如果为0,则表示所分配的权重为0,如果为1,表示所分配的权重为1。建立目标函数(5)来计算
的最小值。根据凸组合的定义,
是一个凸组合,优化变量的可行域是个凸集。由凸优化的超平面分离定理以及支撑超平面定理可知,若可行域
为非空凸集,且存在点
不属于可行域,则存在超平面可以严格分开
与
,并且
上的每个边界点都存在一个支撑超平面。由此,给出算法1通过逼近不可行域与可行域拟合多目标优化的帕累托曲线,减少值函数计算次数。
最终,可得基于权重组合的奖励期望的公式为:
算法1是计算基于多权重组合的
最小值的核心算法设计,具体步骤如下:
给定
,
,
,计算
的可行域
,给定
,
,
以及权重组合
,
,
,计算
的不可行域
,其中
和
分别表示相应的抽象集合,当
与
之间的距离大于
时,寻找
的最小值p与
的最大值q,计算w向量使得
最大,并根据w计算
,若
比
小,则更新为最小
值。
参阅图1,本发明根据Prism-Games引擎生成的转发策略对应至RYU生成流表所需要的指令,主要包括构造match字段、actions字段并通过send_msg()将构造的消息发送至各个交换机。
Match字段由ofp_parser.OFPMatch类构造,根据ipv4_src以及ipv4_dst参数根据数据流的源IP地址以及目的地IP地址构造,所有数据包符合条件的数据包可以匹配当前条目。
Actions字段由OFP Instruction Actions类构造,主要存在转发,丢包,更改源目IP地址以及延时四种操作,对应使用的类如表2所示。
表2 转发操作及对应RYU控制器API
对应表2所示类,生成Jinja模板,传入的参数为数据流源目IP地址,转发包的端口,更改的源目IP地址,延时队列ID。根据Prism-Games引擎生成的多目标优化策略生成RYU控制器代码,并通过Packet-out消息将流表更新信息发送送到各个网络交换机。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。