一种不确定网络环境下RYU控制器流表自动生成方法与流程

文档序号:26275208发布日期:2021-08-13 19:30阅读:342来源:国知局
一种不确定网络环境下RYU控制器流表自动生成方法与流程

本发明涉及一种不确定网络环境下ryu控制器流表自动生成方法,尤其涉及基于openflow协议的ryu控制器对应网络流表自动生成方法,主要应用于软件定义网络的可靠性验证以及流表的自动生成,属于信息通信技术领域。



背景技术:

软件定义网络是一种新型网络架构,其设计理念是将网络的控制平面与数据转发平面进行分离,并实现可编程化的集中控制。然而在使用sdn配置网络的各个软件工程开发阶段,包括需求分析,系统设计,代码实现等,容易引入人为错误,从而导致网络环路、次优路由策略、网络黑洞、ddos攻击等网络故障。随着网络规模的扩大以及网络需求的增多,通过严格的数学和模型去验证网络的正确性,安全性以及容错性成为了软件定义网络发展的关键环节,其发展逐渐受到动态网络环境变化,多目标优化以及验证与优化一体化的挑战,首先缺少环境对网络的非确定性影响的描述,不能根据环境变化来调整网络策略并且验证网络的正确性;其次随着网络设备使用范围的扩大,网络能耗也越来越大。而目前许多网络设备在能源管理方面没有被优化,因此在保证网络性能的同时减少能量消耗至关重要。基于软件定义网络的中央决策的机制,可以设计算法降低整个网络能耗。然而,在动态网络环境下权衡网络的能效、延迟和吞吐量性能是一个np-hard问题,缺少一体化框架完成对软件定义网络的转发策略进行优化的同时验证网络的正确性的功能。

现有工作绝大多数建立网络能耗分析模型来减少网络能耗,但是能耗模型受到网络参数的影响,灵活性较差。对于基于策略的网络管理架构,交换机的能耗信息以及中央控制器的控制信息增加的额外开销较大,且现有工作未考虑到网络的非确定性变化,缺少环境对网络的非确定性影响的建模,不能根据环境变化来调整网络策略,而在重新配置网络的过程中未考虑因为人为错误或者网络延时等原因造成的网络规则冲突的问题,从而导致网络环路或者网络黑洞等问题。目前的工作主要采用在网络性能限制条件下对能耗进行线性优化,本发明采用基于权重组合的帕累托优化方法对网络吞吐性能,网络延迟和网络能耗进行多目标优化,且自动生成软件定义网络交换机流表,一方面可以使得转发策略可根据网络环境以及用户需求动态调整,另一方面避免人为引入错误,提高系统可靠性。



技术实现要素:

本发明的目的是克服现有技术存在的缺陷,提供一种不确定网络环境下ryu控制器流表自动生成方法,一方面通过对模型进行属性查询避免网络环路问题,另一方面自动生成流表转发策略,避免人为错误,提高软件定义网络对于环境变化的自适应性。

实现本发明目的的技术方案是:一种不确定网络环境下ryu控制器流表自动生成方法,其特征在于:基于随机博弈模型对软件定义网络中的交换机以及数据链路、随机网络环境、网络流建模,生成随机环境下的软件定义网络系统的tptg模板;具体包括如下步骤:

步骤一:

定义网络中的交换机以及数据链路,具体为:定义五元组=<s,a,t,r,k>,其中为数据流,表示使用的网络交换机状态的集合;定义网络交换机状态以及环境状态的集合s=,其中表示使用的网络交换机状态的集合,代表网络环境状态的集合;a代表网络对于的转发策略的集合;表示从经过的转发策略到的状态转移函数,其中s表示s中的一个元素,即交换机的状态或者网络环境的状态,s’表示经过动作a后的下一个状态,表示的概率分布;表示转发策略对应的奖励,其中r表示实数集合;表示转发策略选择的数据链路;并将网络架构建设为图模型,其中为网络交换机集合,为数据链路集合;

步骤二:对随机网络环境参数进行配置;所述随机网络环境参数为不确定网络环境参数,是网络拥塞以及软件定义网络架构中交换机随机下线的概率分布,设定不同的概率分布函数会影响网络环境的不确定性;

步骤三:查询属性的转化,具体为:将软件定义网络系统的数据流可达性约束、能耗及网络性能约束转化为查询属性,prism是一个对存在随机或概率行为的系统进行形式化建模和分析的概率模型检验工具,prism-games是prism工具的一个扩展,用于验证包含竞争或者协作博弈关系的随机系统,即随机博弈系统。使用prism-games作为模型验证引擎,通过概率交替时序逻辑以及线性时序逻辑检查网络的静态及动态控制逻辑,生成最优数据流转发策略;

步骤四:流表的生成,根据数据流转发策略自动生成软件定义网络的tptg模板,即各个交换机的流表。上述技术方案所述步骤四中,tptg模板,即(turn-basedprobabilistictimedgames),基于回合制的定时随机博弈模板,tptg模板描述了面向时间约束的回合制随机博弈行为模式,tptg模板能够访问参数配置,并可采用prism-games作为模型验证引擎验证网络可靠性并生成最优数据流转发策略;

所述查询属性的形式如下:

式中,为数据流,为数据流的目标数据中心;查询属性验证数据流到达终点的概率大于预设值;pr表示概率,f表示数据流的集合;

如公式(1)和(2)所示(下面写了),rew(r)针对不同的路径的奖励和不同,且路径存在概率分布,所以采用计算基于概率分布的奖励期望。而则表示这个奖励期望小于等于n。所以整个的含义是查询属性验证网络能耗损失期望低于,网络损耗率低于,网络吞吐量大于

式中,为能耗损失函数,为数据链路损失函数,为数据链路吞吐量函数;查询属性验证网络能耗损失期望低于,网络损耗率低于,网络吞吐量大于

上述技术方案所述步骤一中的对网络流建模具体为:根据图模型g,采用零和随机博弈模型描述交换机与网络环境之间的博弈,并采用描述网络对于网络环境的转发策略,其中表示网络对于网络环境的转发策略,是数学上的一种表达方法,即(sa)*=(sasasasasa…sa),表示a的概率分布;根据网络交换机的状态以及转发策略,可以得到长度为k∈n的路径来描述数据流在软件定义网络中的流向以及对应使用的交换机及数据链路,并根据以及计算相应的网络能耗损失、数据链路损失以及数据链路吞吐量,其中k表示某一个正整数长度,n表示正整数,表示数据流路径,表示从s0经过a0动作到s1,然后s1经过a1动作到s2,…以此类推。

上述技术方案所述步骤一中的对随机网络环境建模,主要描述网络环境的存在的不确定变化,包括网络交换机休眠或者下线事件、以及网络流量异常导致的网络拥塞事件以及事件发生的概率分布。

上述技术方案所述步骤二中,基于概率分布的模型检验,采用概率交替时序逻辑以及线性时序逻辑验证网络可靠性,通过验证数据流的可达性避免网络环路,网络黑洞问题。

上述技术方案所述步骤三中,具体为生成基于权重组合的多目标优化转发策略,分别对能耗、损耗率、吞吐量进行归一化处理,并分配权重;所述目标函数形式如下:

式中,为网络能耗权重,为网络损耗率权重,为网络吞吐量权重;可根据实际应用更改权重并生成转发策略;式中,为需要最小化的目标函数,根据凸组合性质通过逼近的可行域与不可行域拟合多目标帕累托曲线及转发策略;生成的转发策略包括不同交换机在不同状态下需要选择的操作,主要包括转发、丢包、延时以及更改源目ip地址,mac地址操作。

上述技术方案所述步骤四中具体为,根据多目标优化转发策略生成软件定义网络转发流表;根据不同交换机在不同状态下选择的最优操作,分别对应ryu控制器对于交换机的动作指令,分别为forward、drop、modify以及enqueue操作,通过jinja模板生成ryu控制器执行代码,最后通过packet-out消息将流表更新信息发送送到各个网络交换机。

上述技术方案所述步骤一中,根据奖励函数,拟定义整个链路的奖励为

,其中(1)

对于数据流的集合f,根据对应的路径λ的概率分布,整个策略的期望奖励为

(2)。

上述技术方案通过确保,即来确保网络拓扑以及转发策略不会造成网络黑洞与环路;由转化目标函数,使得

其中,表示当n趋近于无穷时

(3)

(4)

由公式(3)及公式(4)采用值迭代方法更新的,当时达到收敛条件,即能求得,进而推出;若最小概率大于网络预设值,则能证明网络不存在网络环路与黑洞。

采用上述技术方案后,本发明具有以下积极的效果:

(1)本发明的目的是弥补当前在不确定环境下采用统一的框架验证软件定义网络的可靠性并针对网络能耗、数据链路损失以及吞吐量进行多目标优化的短板。

(2)本发明可以突破现有软件定义网络验证框架的局限性,建立统一的框架验证在不确定环境下软件定义网络的可靠性,并根据网络动态变化权衡网络能效及性能,自动生成网络交换机的转发流表;一方面可以使得转发策略可根据网络环境以及用户需求动态调整,另一方面避免人为引入错误,提高系统可靠性。

(3)本发明自动生成网络流表可避免人为引入网络黑洞错误,并提高软件定义网络对于环境变化的自适应性。

附图说明

为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中

图1所示为本发明中软件定义网络流表的自动生成方法的框架图;

图2所示为本发明流程图;

图3所示为本发明中网络拓扑模型示意图;

图4所示为本发明网络交换机与不确定环境动态博弈模型示意图。

具体实施方式

见图2,本发明提出的一种不确定环境下软件定义网络流表自动生成方法,针对网络环境的非确定性变化,首先对软件定义网络建立随机博弈模型,对模型增加吞吐量、延迟、能耗等奖励标注,量化模型的期望;然后采用概率时序逻辑规范描述网络属性要求以及优化目标,在随机博弈模型的基础上采用概率模型检验以及线性时序逻辑计算网络模型的期望奖励;利用基于奖励的概率交替时序逻辑(rpatl)检查网络的静态控制逻辑,避免网络黑洞、网络环路;

其中,基于奖励的概率交替时序逻辑rewardprobabilisticalternatingtemporallogic(rpatl),可以验证如的公式语法:

其中c表示博弈参与方,c表示一个实数,表示状态a的可达性。

同时利用基于奖励的概率交替时序逻辑(rpatl)来检查网络的动态控制逻辑,生成对应帕累托最优的多目标优化的网络流转发策略;最后根据转发策略以及jinja模板生成ryu控制器代码。

本发明能够突破现有软件定义网络验证框架的局限性,建立统一的框架验证在不确定环境下软件定义网络的可靠性,并根据网络动态变化权衡网络能效及性能,自动生成网络交换机的转发流表。一方面可以使得转发策略可根据网络环境以及用户需求动态调整,另一方面避免人为引入错误,提高系统可靠性。

参阅图1,该图反映了软件定义网络中各个交换机转发流表的生成过程。首先将网络架构建设为图模g=(v,e),其中v作为图的点,描述网络交换机的集合;e作为图的边,描述数据链路的集合,根据图模型,采用五元组=<s,a,t,r,k>描述网络与网络环境之间的博弈。拟采用描述网络对于网络环境的转发策略。根据网络交换机的状态以及转发策略,可以得到长度为k∈n的路径来描述数据流在软件定义网络中的流向以及对应使用的交换机及数据链路。而根据奖励函数,拟定义整个链路的奖励为公式(1)。对于数据流的集合f,根据对应的路径λ的概率分布,整个策略的期望奖励为公式(2)。

,其中(1)

(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)采用值迭代方法更新的,当时达到收敛条件,即可以求得,进而推出。若最小概率大于网络预设值,则可以证明网络不存在网络环路与黑洞。

(3)

(4)

基于网络可靠性,采取帕累托优化权衡网络能耗,损耗率及吞吐率,即找到使得可以达到最优解。由于能耗,损耗率等变量有不同的单位,首先将三个值归一化,然后采用权重来描述不同参数的权重,具体表示为0到1之间的实数,如果为0,则表示所分配的权重为0,如果为1,表示所分配的权重为1。建立目标函数(5)来计算的最小值。根据凸组合的定义,是一个凸组合,优化变量的可行域是个凸集。由凸优化的超平面分离定理以及支撑超平面定理可知,若可行域为非空凸集,且存在点不属于可行域,则存在超平面可以严格分开,并且上的每个边界点都存在一个支撑超平面。由此,给出算法1通过逼近不可行域与可行域拟合多目标优化的帕累托曲线,减少值函数计算次数。

最终,可得基于权重组合的奖励期望的公式为:

(5)。

算法1是计算基于多权重组合的最小值的核心算法设计,具体步骤如下:

给定,计算的可行域,给定以及权重组合,计算的不可行域

之间的距离大于时,寻找的最小值p与的最大值q,计算w向量使得最大,并根据w计算,若小,则更新为最小值。

参阅图1,本发明根据prism-games引擎生成的转发策略对应至ryu生成流表所需要的指令,主要包括构造match字段、actions字段并通过send_msg()将构造的消息发送至各个交换机。

match字段由ofp_parser.ofpmatch类构造,根据ipv4_src以及ipv4_dst参数根据数据流的源ip地址以及目的地ip地址构造,所有数据包符合条件的数据包可以匹配当前条目。

actions字段由ofpinstructionactions类构造,主要存在转发,丢包,更改源目ip地址以及延时四种操作,对应使用的类如表2所示。

表2转发操作及对应ryu控制器api

对应表2所示类,生成jinja模板,传入的参数为数据流源目ip地址,转发包的端口,更改的源目ip地址,延时队列id。根据prism-games引擎生成的多目标优化策略生成ryu控制器代码,并通过packet-out消息将流表更新信息发送送到各个网络交换机。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1