一种基于SDN的网络多业务流量QoS的传输及调度方法与流程

文档序号:15402169发布日期:2018-09-11 17:47阅读:1753来源:国知局

本发明涉及一种多业务流量qos的传输及调度方法,尤其适用于井下安全信息全方位采集和监测所使用的基于sdn的网络多业务流量qos的传输及调度方法。



背景技术:

新世纪互联网+与网络技术发展迅速,为煤炭安全生产提供了有效保障,其中可靠的井下流量传输和动态的数据调度方法是矿井安全信息全方位采集和监测的关键。

1.当前井下流量传输及数据调度方法在矿山监控及灾害预警方面仍存在如下一些问题。

(1)首先,井下通信对关键业务传输的可靠性要求较高,但当前井下流量调度策略动态适应性差,难以满足不同业务所需的差异化需求,尤其是高优先级业务的时延和丢包率难以得到保障。

(2)其次,现有技术难以在传输容量和链路利用率等各方面同时满足未来井下大量安全监测终端设备高效通信的要求。

(3)此外,现有的分布式网络管理机制缺乏动态性和灵活性,人工管理需要一个非常复杂的体系和风险管控流程。

2.传统意义上,为确保关键业务流量的传输可靠性,我们采用qos方法为关键业务提供延迟、抖动和丢包率的保证,但仍存在如下问题:

(1)传统qos技术对设备要求相对较高,无法灵活满足变速率多等级业务的时延要求,也难以保障端到端业务的服务质量。

(2)此外,传统qos都是建立在路由逐条、网络完全分布的体系结构之上,缺乏整体网络资源的全局统一视图,容易导致当前井下网络链路利用率低、管理困难等问题。



技术实现要素:

技术问题:针对上述技术的不足之处,提供一种井下多业务流服务质量可靠、调度策略动态适应性强、分布式管理容易,可获得井下动态多业务流的全局传输最优路径,网络时延与丢包率低,链路利用率和网络管理效率高的一种基于sdn的网络多业务流量qos的传输及调度方法。

技术方案:为实现上述技术目的,本发明的基于sdn的网络多业务流量qos的传输及调度方法,使用opendaylight控制器的服务功能模块,由基本网络服务功能模块和拓展服务模块组成,所述拓展服务模块包括关键流识别模块、网络资源触发更新模块、qos路由计算与选择模块和动态路由配置模块;

具体步骤为:

步骤1:利用sdn交换机接收来自井下信息采集设备的数据包,通过openflow流表匹配域判别是否为关键业务流量;关键流识别模块通过openflow匹配域对交换机所接收数据包中的端口号、应用层协议或dscp字段进行解析,判断数据包是否为关键流量;

步骤2:若接收到的数据包与openflow匹配域匹配成功,则接收到的数据包为关键业务数据,并通过packet-in消息反馈给网络资源触发更新模块,激活基本网络服务功能模块,收集整个网络系统的流量传输时延、链路可用带宽、链路丢包率和转发节点的ip地址、mac地址信息;

步骤3:首先利用基本网络服务功能模块收集到的全网流量传输时延和链路可用带宽,计算时延约束下的反适应函数,反适应函数值越小,链路通信质量越优,然后利用马尔科夫预测法预测出各链路最小丢包率出现的概率,使用ga-bpso算法对反适应函数和丢包率预测结果进行关键流量传输路径的选择;

步骤4:在当基于ga-bpso算法的路径不满足关键业务传输的时延约束时,则利用qos路由计算与选择模块对此路径上的普通业务流量进行重路由,即将普通业务流量转移到不同于关键业务流量的传输路径上,最大限度地保证高优先级流量的传输质量,并将所有的传输路径计算结果都被发送至动态路由配置模块。

步骤5:关键流识别模块对交换机所接收数据包的端口号、应用层协议或dscp字段进行解析,并将解析结果通过openflow匹配域进行匹配,若匹配不成功,则判断识别出数据包是普通业务流量,使用传统网络协议中ospf协议所使用的dijkstra最短路径算法计算普通业务流量的传输路径;

步骤6:将满足约束条件的关键业务的流量传输路径、重路由后的普通流量的传输路径信息、使用dijkstra最短路径算法计算的普通流量的流量传输路径,包括关键业务和普通业务流量的源目ip地址、源目mac地址,以及流经交换机的入端口号和出端口号信息都被发送至动态路由配置模块,模块将业务最优传输路径以openflow流表项的形式发送至sdn交换机,进入交换机的各类数据流量匹配相应的流表并完成所要求的动作,从而实现对各类数据传输路径的路由配置。

步骤2具体步骤为:

步骤2.1:利用网络资源触发更新模块触发基本网络服务进行网络资源参数的采集,触发方式将定时触发和关键流识别模块触发两种方式相结合。从当前时刻开始,定时触发每隔时间t就对基本网络服务进行一次触发,在周期t内,若关键流识别模块发现重要业务数据流,则直接触发基本网络服务功能,并将计时清零;

步骤2.2:使用基本网络服务功能收集整个网络系统的流量传输时延、链路可用带宽、链路丢包率和转发节点的ip地址、mac地址信息,并发送给qos路由计算与选择模块进行流量传输路径的计算和选择。

步骤3中的ga-bpso算法流程步骤为:

首先利用bpso算法,通过计算流量传输路径最小反适应度函数值追寻局部最优转发节点和全局最优转发节点,获得一条初始的流量传输路径;然后利用ga算法,选择下一时刻最小丢包率出现概率最大的流量传输路径,并对初始的流量传输路径中丢包率较大的子路径进行替换,从而得到井下数据流量传输路径的最优流量传输路径;

具体步骤为:

步骤3.1:对于采集到的从源节点s到目的节点t的流量传输时延d(s,t),满足数据包在路径r(s,t)的正传输时延约束vdelay,d(e)代表流量在链路e上的传输时延,即:

对于采集到的从源节点s到目的节点t所经路径的可用带宽ba(s,t),工作流负载带宽bn(s,t)在路径r(s,t)上的惩罚函数s(s,t)如式(3-2)所示:

定义路径r(s,t)的反适应度函数f(s,t)如式(3-3):

f(s,t)=α*d(s,t)+β*s(s,t)(3-3)

其中α为时延因子,β为惩罚因子,反适应度函数用来评价流量传输路径的优劣;

步骤3.2:对于采集到的链路丢包率,在此链路上将丢包率分为r1、r2、…、rn,将周期t均分成m个时间段,每个时间段末尾时刻为t1、t2、…、tm,各个时刻对应不同的丢包率p(ri),i=1,2,…,m,对当前时刻而言,丢包率在下一时刻从ri变为rj的可能性称作状态转移概率,记为pij,

矩阵:

表示从当前时刻开始,丢包率在下一时刻的状态转移概率矩阵。pij(k)为链路丢包率ri经过k步转移后变为rj的概率,则在第k个时刻,此链路最小丢包率rm出现概率如式(3-5)所示:

步骤3.3:将网络设备标示为粒子i,将流量传输路径标示为粒子运动轨迹,将时延约束下的最小反适应度函数作为优化目标,求解井下数据流的动态初始路由路径:

粒子i在第d维空间中第k次迭代的速度更新公式为式(3-6):

其中分别表示粒子i在第k次迭代时速度矢量的d维分量和位置矢量的d维分量,分别表示粒子i在第k次迭代时d维分量的局部和全局最优位置,选取与粒子i直连的具有最小反适应函数值的链路对端为与目的节点t直连的具有最小反适应函数值的链路对端为c1、c2为学习因子,设c1=c2=2时为最优解,r1、r2是介于(0、1)之间的随机数;

利用线性递减权值策略定义惯性权重ω,如式(3-7)所示:

其中ωmax为最大惯性权重,ωmin为最小惯性权重,run为当前迭代次数,runmax为算法迭代总次数;

在bpso位置更新公式中,一般使用sigmoid函数将粒子速度映射至区间[0.5,1],如式(3-8):

bpso的位置更新公式(3-9)如下,其中rand()是一个从区间[0.5,1]中产生的随机数;

对bpso算法循环迭代操作,直至设置为粒子i到达目的节点t,迭代结束,得到从源节点s到目的节点t的初始传输路径r(s,t),然后使用ga算法对初始流量传输路径进行优化;之后将优化结果发送至步骤4中qos路由计算与选择模块中使用。

所述使用ga算法对流量传输路径的优化过程:首先选择初始的流量传输路径r(s,t),利用马尔科夫链预测法,推断出此路径上各个流量传输路径在第k个时刻最小丢包率rm出现的概率p(rm)(k),选择p(rm)(k)较小的子路径r(m,n)作为待替换路径,其中r(m,n)∈r(s,t),选取不同于子路径r(m,n)且p(rm)(k)最大的子路径r’(m,n)作为交叉路径,若带替换子路径r(m,n)(这里的子路径和前文较小的子路径是同一个含义吗?)上的p(rm)(k)大于r’(m,n)上的p(rm)(k),则不进行替换操作,否则执行以下步骤:

1)将初始的流量传输路径r(s,t)中的路由路径r(m,n)交叉替换成r’(m,n),得到r’(s,t);

2)检查r’(s,t)中是否有重复节点以确保交叉替换后从源节点s到目的节点t的路径r’(s,t)是一条无环路径,若没有重复节点,则r’(s,t)是井下数据流的一条最优全局传输路径;

3)若有重复节点,则保留一个重复节点,并将重复节点之间的路径剔除,得到的即为流量的最优全局传输路径。

有益效果:

基于sdn的井下数据流的qos动态调度方法,利用马尔科夫链预测法预测出各链路最小丢包率出现的概率,作为后续遗传算法ga轮盘赌选择策略的依据;在离散二进制粒子群算法bpso的基础上引入时延约束下的反适应度函数,用于追踪局部最优值和全局最优值,筛选出初始的数据流传输路径;将筛选结果与ga的选择、交叉结合,重构出ga-bpso算法,生成流量调度策略,最终得到井下数据流传输路径的最优解。该方法可获得井下动态多业务流的全局传输最优路径,减少网络时延与丢包,提高链路利用率。

附图说明:

图1是本发明的整体流程图;

图2是本发明的控制器服务模块架构及依赖关系示意图;

图3是本发明的ga-bpso算法流程示意图;

具体实施方式

下面结合附图对本申请的一个实施例做进一步说明:

如图1和图2所示,本发明的一种基于sdn的网络多业务流量qos的传输及调度方法,使用opendaylight控制器的服务功能模块,由基本网络服务功能模块和拓展服务模块组成,所述拓展服务模块包括关键流识别模块、网络资源触发更新模块、qos路由计算与选择模块和动态路由配置模块;

具体步骤为:

步骤1:利用sdn交换机接收来自井下信息采集设备的数据包,通过openflow流表匹配域判别是否为关键业务流量;关键流识别模块通过openflow匹配域对交换机所接收数据包中的端口号、应用层协议或dscp字段进行解析,判断数据包是否为关键流量;

步骤2:若接收到的数据包与openflow匹配域匹配成功,则接收到的数据包为关键业务数据,并通过packet-in消息反馈给网络资源触发更新模块,激活基本网络服务功能模块,收集整个网络系统的流量传输时延、链路可用带宽、链路丢包率和转发节点的ip地址、mac地址信息;

步骤2.1:网络资源触发更新模块用来触发基本网络服务进行网络资源参数的采集,为降低参数收集频率,节省网络资源,同时不影响采集信息精度,提出了定时触发和关键流识别模块触发两种方式结合的方案。定时触发每隔时间t就对基本网络服务进行一次触发,而关键流识别模块触发是当匹配域识别出关键业务的时候对基本网络服务进行触发,此时触发更新模块的时间t清零;

步骤2.2:基本网络服务功能用来收集网络中链路、节点和主机等信息,如链路负载带宽、时延及丢包率,主机的ip、mac地址及连接交换机的节点和端口等信息,并发送给qos路由计算与选择模块;

步骤3:首先利用基本网络服务功能模块收集到的全网流量传输时延和链路可用带宽,计算时延约束下的反适应函数,反适应函数值越小,链路通信质量越优,然后利用马尔科夫预测法预测出各链路最小丢包率出现的概率,使用ga-bpso(遗传-离散二进制粒子群算法)算法对反适应函数和丢包率预测结果进行关键流量传输路径的选择;

ga-bpso具体算法流程如图3所示:

步骤3.1:初始化粒子。将粒子比作交换机等网络设备,粒子运动轨迹比作数据流传输路径,时延约束下的最小反适应度函数作为优化目标,求解井下数据流的动态初始路由路径。

步骤3.2:计算链路反适应度函数值。链路e的反适应度函数为f(e),值与时延及工作负载流带宽有关,越小表示链路质量越优。

将sdn网络拓扑抽象为一个加权无向图,用g=(v,e,f)表示。其中有穷非空集v=(v1,v2,...,vn)称为顶点集,代表交换机等网络设备。e代表链路集合,链路e=(u,v)代表从顶点u到顶点v的一条无环链路,e∈e。r(s,t)代表由源节点s到目的节点t的一条路径,r(s,t)代表源节点s到目的节点t的路径的集合,r(s,t)∈r(s,t)。加性度量参数d(e)代表数据包在链路e上的时延。若ti时刻将某数据包由交换机注入链路e,ti+1时刻此数据包经链路e由交换机出端口进行转发,δti=ti+1-ti,则在任意的m个时间段内,数据包在链路e上的平均时延为:

凹性度量参数ba(e)代表链路e上的可用带宽,其值等于链路e固定带宽bs(e)与工作流负载带宽bl(e)之差,即:

ba(e)=bs(e)-bl(e)

则从源节点s到目的节点t所经路径的可用带宽表示为:

ba(s,t)=mine∈p(s,t)ba(e)

工作流负载带宽在路径p(s,t)上的惩罚函数s(s,t)被定义为:

即在路径r(s1t)上,当所需工作流负载带宽bn(s1t)小于可用带宽ba(s1t)时,惩罚函数置零;当所需工作流负载带宽bn(s1t)大于可用带宽ba(s1t)时,惩罚函数值随需求带宽的增加呈指数上升。

反适应度函数用来评价r(s1t)通信质量的优劣,值越小则链路通信质量越优。定义路径r(s1t)的反适应度函数为:

f(s,t)=α*d(s,t)+β*s(s1t)

其中α为时延因子,β为惩罚因子,如果α与β过小,则惩罚较轻,导致收敛较慢;如果α与β过大,则会造成较重的惩罚,使算法陷入局部最优,反适应度值较大的链路将很难被选中。

步骤3.3:bpso更新粒子速度位置

根据基本粒子群算法pso,粒子i在第d维空间中的速度和位置更新公式为:

其中表示粒子i在第k次迭代时速度矢量的d维分量,表示粒子i在第k次迭代时位置矢量的d维分量。分别表示粒子i在第k次迭代时d维分量的局部和全局最优位置,选取粒子i当前位置直连的最小反适应度值链路的对端为选取目的节点直连的最小反适应度值链路的对端为粒子通过追踪这两个最优值实时更新自己的速度和位置,最终到达目的节点。

c1和c2为学习因子,代表将粒子推向位置的统计加速项的权值。较低的值使得粒子在被拉回之前可以在目标区域外徘徊,较高的值导致粒子突然冲向或越过目标区域,suganthan的实验表明:c1、c2为常数时可以得到较好的解,通常设c1=c2=2。r1、r2是介于(0、1)之间的随机数;

ω表示惯性权重,描述上一代粒子速度对当代速度的影响,并对解空间的搜索范围进行调节,ω越大,全局寻优能力越强,局部寻优能力越弱;ω越小则反之。因此我们利用线性递减权值策略来定义ω:

ωmax为最大惯性权重,ωmin为最小惯性权重,run为当前迭代次数,runmax为算法迭代总次数。当粒子到达目的节点时,迭代结束。通过不断迭代bpso的速度和位置公式获取井下数据流的动态传输路径。

基本粒子群算法通常用于求解连续域中的优化问题,但不能解决井下数据流的路由选择等离散问题,因此提出使用离散二进制粒子群算法进行优化。bpso的速度更新公式与pso相同。而在位置更新公式中,首先使用sigmoid函数将速度映射至区间[0.5,1]:

其中与粒子在下一时刻的位置相关。为了避免太靠近0.5或1,使用vmin和vmax对进行限制,小于vmin或大于vmax的值分别按vmin和vmax来计。bpso的位置更新公式为:

上式中rand()是一个从区间[0.5,1]中产生的随机数。当时,此交换机上数据流量的传输路径将沿着和夹角最小的链路移至下一交换机位置。否则,传输路径不变。

步骤3.4:是否满足迭代终止条件。将迭代终止条件设置为粒子是否到达目的节点,在此之前循环迭代操作,每一次循环将迭代次数加一。当粒子到达目的节点时,迭代结束,得到井下数据流传输路径的初始解,并跳至步骤3.5,否则跳至步骤3.2。

步骤3.5:预测链路最小丢包率出现的概率。使用基于马尔科夫预测法的数学模型,预测链路在时刻k最小丢包率出现的概率p(rm)(k)

乘性度量参数p(e)代表链路e上的丢包率。ns为由交换机注入此链路的字节数,nr为经由此链路至交换机所接收到的字节数,则链路e的丢包率为:

从源节点s到目的节点t所经路径的丢包率为:

随机选择某条链路,在此链路上将丢包率分为r1、r2、…、rn,将周期t均分成m个时间段,每个时间段末尾的时刻为t1、t2、…、tm,各个时刻对应不同的丢包率p(ri),i=1,2,...,m。对当前时刻而言,丢包率在下一时刻从ri转移到rj的可能性称为状态转移概率,记为:

p(ri→rj)=p(rj/ri)=pij

矩阵

称为一步转移概率矩阵。此矩阵表示从当前时刻开始,丢包率在下一时刻的状态转移概率,概率矩阵满足:

定义pij(k)为链路丢包率ri经过k步转移后变为rj的概率,则:

pij(k)=[pk]ij

pij(k)为k步转移概率矩阵,即在第k个时刻丢包率的概率预测矩阵,因此可以推断,在第k个时刻,此链路最小丢包率rm出现概率为:

马尔科夫预测法的基本要求是状态转移概率矩阵必须具有一定的稳定性,因此预测前期我们必须采集足够数量的链路丢包率进行统计;

步骤3.6:使用ga对井下数据流的传输路径进行选择和交叉替换操作。优化过程中,首先通过马尔科夫链预测法,推断出第k个时刻链路最小丢包率rm出现的概率p(rm)(k)。选择p(rm)(k)较小的路径r(m,n)作为待替换路径,其中r(m,n)∈r(s,t)。并利用轮盘赌选择策略,选取p(rm)(k)最大的路径r′(m,n)作为交叉路径。然后执行以下步骤:

步骤3.6.1:将r(s,t)中的路由路径r(m,n)交叉替换成r′(m,n),得到r′(s,t)。

步骤3.6.2:为确保交叉替换后从源节点s到目的节点t的路径r′(s,t)是一条无环路径,检查r′(s,t)中是否有重复节点,若没有重复节点,则r′(s,t)是井下数据流的一条最优全局传输路径;

步骤3.6.3:如存在重复节点,则删除重复节点之间的路径,重复节点只保留一个,所得路径即为数据流的最优全局传输路径。

交叉替换是ga-bpso中产生新路径、跳出局部解的主要方法。若此路径满足时延、丢包等约束,则转至步骤6,否则转至步骤4。

步骤4:在当基于ga-bpso算法的路径不满足关键业务传输的时延约束时,则利用qos路由计算与选择模块对此路径上的普通业务流量进行重路由,即将普通业务流量转移到不同于关键业务流量的传输路径上,最大限度地保证高优先级流量的传输质量,并将所有的传输路径计算结果都被发送至动态路由配置模块。

步骤5:关键流识别模块对交换机所接收数据包的端口号、应用层协议或dscp字段进行解析,并将解析结果通过openflow匹配域进行匹配,若匹配不成功,则判断识别出数据包是普通业务流量,使用传统网络协议中ospf协议所使用的dijkstra最短路径算法计算普通业务流量的传输路径;

步骤6:将满足约束条件的关键业务的流量传输路径、重路由后的普通流量的传输路径信息、使用dijkstra最短路径算法计算的普通流量的流量传输路径,包括关键业务和普通业务流量的源目ip地址、源目mac地址,以及流经交换机的入端口号和出端口号信息都被发送至动态路由配置模块,模块将业务最优传输路径以openflow流表项的形式发送至sdn交换机,进入交换机的各类数据流量匹配相应的流表并完成所要求的动作,从而实现对各类数据传输路径的路由配置。

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