基于遗传算法求解网络负载均衡问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于遗传算法求解网络负载均衡问题

摘要:基于整数规划的多限制条件下流量分布优化数学模型,提出一种基于遗传算法的优化算法求解MPLS网络负载均衡问题。算法采用自然数编码,自适应的交叉变异算子,并融入启发式信息有效地提高了搜索效率。仿真实验结果证明算法是有效的,显著改善了传统SPF路由算法易于导致的网络流量分布不均衡的状况。

关键字:负载均衡;多协议标签交换;遗传算法

1 引言

随着Internet的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长,特别是对数据中心、大型企业以及门户网站等的访问,其访问流量甚至达到了10Gb/s的级别;同时,服务器网站借助HTTP、FTP、SMTP等应用程序,为访问者提供了越来越丰富的内容和信息,服务器逐渐被数据淹没;另外,大部分网站(尤其电子商务等网站)都需要提供不间断24小时服务,任何服务中断或通信中的关键数据丢失都会造成直接的商业损失。所有这些都对应用服务提出了高性能和高可靠性的需求。这要求网络运营商必须有效地提高现有的网络资源的利用率以满足日益增长的业务量需求,并实现利益的最大化。流量工程的主要目的就是优化资源利用率,提高网络性能,增加网络的顽健性,负载均衡时其中的重要功能。[1]

传统的Internet路由协议采用基于目标的最短路径选路方式,常常导致网络上的流量分布不均衡,使得网络上有些链路因为过负荷产生拥塞现象,而另一些链路资源却处于闲置状态。[1]多协议标签交换(MPLS)技术是综合了三层路由的灵活性以及二层交换的流量管理能力的产物。MPLS的显示路由技术(ER)允许源完全控制数据在网络中的传输路径,可以在传送分组之前即预先建立一定的约束的标签交换路径(LSP),因此可以综合考虑全局业务流量需求,网络拓扑与链路特征,建立优化的LSP,达到均衡网络流量分配的目的。

下面先给出基于整数规划的多限制条件下流量分布优化数学模型。这里以均衡网络业务量,减少拥塞为目的的主要原因在于如果网络拥塞减少了,相应的分组丢失率,传输延时都会降低,网络总吞吐量会增加。该问题是NP-hard问题,本文设计了一种基于遗传算法的优化算法来求解计算复杂度高的负载均衡优化问题,并对算法进行了分析与仿真,仿真结果表明本文的算法是行之有效的,达到了均衡流量分布,尽可能地避免瓶颈链路出现的目的。

2 负载均衡问题建模

用G=(V,E,C)抽象描述网络拓扑。V是网络节点的集合,E是网络链路的集合。参数C则是E 和V的容量和其他一些约束条件限制。用集合K表示网络中的LSP请求。对任意k∈K,用三元组(s k,t k,λk)表示,其中s k ,t k分别为入口节点和出口节点,λk表示(s k ,t k)业务流

表示LSP,k是否经由链路(i,j),(i,j)∈E,h k为LSP的跳数限制。

的带宽需求。X k

ij

优化的目标是使最大链路利用率最小化,这样可以使业务流向相对轻载的链路链接转移,使得由于流量分布不均衡造成拥塞的可能性降到最低。[2]另一方面,在最大链路利用率最小化的同时,相应的,链路的剩余带宽得到最大化,因而网络对将来达到的连接请求具有较高的接纳能力,而不需要对已存的连接进行重路由。网络流量分布优化问题的数学模型描述如下,C ij表示链路(i,j)的容量,a表示网络中的最大链路利用率。

优化目标:

min a (1) 约束条件:

∑∈E j i j X ),(:k ij - ∑∈E i j j X ),(:k ij = 0 , k ∈K,i ≠s k ,t k (2)

∑∈E j i j X ),(:k ij - ∑∈E i j j X ),(:k ij = 1 , k ∈K,i=s k (3)

∑∈E j i j X ),(:k ij - ∑∈E i j j X ),(:k ij = -1 , k ∈K,i=t k (4)

X K k k ⋅∑∈λk ij ≤ C ij ⋅a , (i,j)∈E (5)

∑∈E j i X ),(k ij ≤ h k , k ∈K (6) X k

ij ∈ {0,1} , a ≤0 (7)

其中式(1)以使最大链路利用率最小化的优化目标,以此实现负载均衡;式(2)~(7)是限制条件;式(2)是对中间节点的限制,流入的流量应等于流出的流量;式(3)和(4)

分别是对入口和出口节点的流量限制[3];式(5)是链路上的最大负载限制;式(6)是对入

口至出口节点的路径跳数限制;式(7)是对X k

ij 的整数限制,限制为单路径路由,以及对

a 的非负限制。

这里将对应终端节点对(s k ,t k ,λk )的所有满足约束条件的路由组成的集合称为第k 条LSP 的可行路由集Q k ,Q k ={q k 1,...q j k ,...q k N k },k ∈K ,N k 为第k 条LSP 的可行路由数目。则上述优化问题即要求解优化路由集P=(p 1,...p k ,...p |K|),p k ∈Q k ,满足式(1)优化目标。用l 表示链路(i ,j ),设

δk kl P = {

,l LSPk ,1,0K k E ∈∈经过链路如果否则 (8) 则链路负载)(l p γ和利用率)(l a p 可分别式(9)和(10)计算得出。

)(l p γ=k K k P kl k λδ

∑=||1 (9)

)(l a p =())(/1l C p l λ⨯ (10) 上述优化问题本质上是从每一个多选择域(Q k )中选择正确的变量(p k ),即多选择指派问题,它是NP-hard 问题[4]。目前还没有找到求得最优解的多项式算法,工程中一般倾向于综合考虑算法效率和优化结果,寻求问题的满意解。上述优化问题的特点是搜索空间大,我们基于全局搜索能力强的遗传算法进行求解。

3 算法求解

遗传算法(Genetic Algorithm,GA )是由美国密执安大学的Holland 教授于1969年提出,后经由De Jong 于1975年、Goldberg 于1989年等归纳总结所形成的一类模拟进化算法

(Simulated Evolutionary Algorithm,SEA ),是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法[5]。在应用遗传算法时,需要确定以下要素:(1)染

相关文档
最新文档