一种应用于软件定义网络的流量工程方法

文档序号:9600724阅读:508来源:国知局
一种应用于软件定义网络的流量工程方法
【技术领域】
[0001] 本发明涉及通信技术领域,特别是涉及一种应用于软件定义网络的流量工程方 法。
【背景技术】
[0002] 传统网络架构中的控制逻辑和数据转发功能是结合在一起的,即控制平面与数据 平面是耦合的。随着用户需求的持续增长,网络需承载的业务类型越来越多,大量复杂的网 络功能需要加入到移动网络中。这种情况下,运营商需要对每一台网络设备单独地进行配 置、管理和功能更新,带来了极大的操作困难和开销。一种新的网络架构一一软件定义网络 (SDN)提出将网络的控制平面和数据平面分离,并将各种网络节点的控制和管理功能逻辑 上集中至一个站点,从而简化了网络的控制和管理。同时,SDN以业务流为控制粒度,利用 全局的网络和业务信息,可以精确的控制业务行为和分配网络资源,使网络能够更加高效 地运行。
[0003] 流量工程将业务需求映射到网络拓扑上,包括为业务寻找可行的传输路径和为其 分配网络带宽资源,以避免网络出现拥塞和保证用户获得一定的服务质量。在传统网络架 构中,网络资源管理主要基于路由协议实现。Internet的路由协议如RIP,0SPF,基于分布 式的最短路径算法为业务流寻找路径,并没有面向业务流的网络资源分配机制。各个业务 流互相竞争网络资源,容易使网络出现负载不均衡,造成网络拥塞并浪费网络资源。将流 量工程与传统有线网络路由协议结合,如0SPF-TE通过调整网络中链路的权重来改变路由 路径,等代价多路径(ECMP)同时使用多条等价路径来分散业务负载,减少了网络拥塞的发 生,提高网络性能。在SDN网络架构下,流量工程能够发挥更大作用,更加灵活地位业务分 配资源。由于SDN的具有全局的网络和业务信息,因此流量工程机制可以利用这些信息进 行全局优化,得到多路径路由机制,从而优化网络资源利用率。虽然基于多路径路由的流量 工程机制为了网络资源分配带来了极大的灵活性,但是,其对应的数学问题(线性规划)在 中等或大规模网络下难以有效地实时求解,造成基于多路径路由的流量工程机制不能有效 地应用到已有网络中。如果不追求准确解,采取近似解法,则通常要求较高的近似精度才能 满足实际应用需求,而较高的近似精度反之又提高了近似解法的计算复杂度,使之难以实 际应用。

【发明内容】

[0004] 本发明的目的在于克服现有技术的不足,提供一种应用于软件定义网络的流量工 程方法,在获得近似最优网络资源分配方案的同时保证计算时间在可接受的范围内。
[0005] 本发明的目的是通过以下技术方案来实现的:一种应用于软件定义网络的流量工 程方法,包括以下步骤:
[0006] S1.获取网络拓扑信息,网络拓扑信息包括:网络拓扑(7(ΛΛ£),其中Y代表节点 集合,节点数量为n,£代表链路集合,链路总数为m;链路e的链路容量<6;),7££/:;业务 流集合K,其中业务流k的带宽需求为d(k);近似参数w;
[0007]S2.定义链路e的链路长度为1(e),将链路长度1(e)初始化为δ/c(e),其中
,式中,ε为中间参数;
[0008] 为链路e关联第一流变量fk (e)和第二流变量/A. (e),:并将第一流变量fk (e)和第 二流变量/; (e)初始化为〇 ;
[0009]S3.根据源节点对业务流进行分类,将源节点相同的业务流分为一类,得到S类业 务流,S彡1,业务流k待分配的带宽需求初始化为dk=d(k);
[0010] S4.对于第j类业务流,1 <j<S,为第j类业务流中的业务流找到其最短路径, 第j类业务流中的所有的业务流的最短路径构成最短路径树t;
[0011] S5.为第j类业务流中每条业务流对应的最短路径分配带宽资源,直到最短路径 树t上的一条链路的带宽耗尽或第j类业务流中所有业务流的带宽需求都得到满足;
[0012] 记录业务流k分配到的带宽fk、最短路径树t上链路e通过的业务量f(e);然后, 更新链路e关联的第一流变量fk (e);更新业务流k剩余所需分配的带宽d'k,更新链路e的 链路长度1 (e),从第j类业务流中移除带宽需求得到满足的业务流;
[0013]S6.判断迭代条件D(l) < 1是否满足:
[0014] 若D(l) < 1且当前类业务流仍有带宽需求时,则跳转步骤S4;
[0015] 若D(l)<1且当前类业务流没有带宽需求时,则进行下一类业务流的带宽分配, 跳转步骤S4;
[0016] 若D(1)彡1时,则跳转步骤S7;
[0017]S7.当S类业务流均完成带宽分配时,若D(l) < 1,则记录下中间结果,即令 (c,卜/,;⑷,跳转步骤S3 ;若D(1)》1,则跳转步骤S8 ;
[0018]S8.判断最后一轮迭代中所有类业务流的带宽需求是否完全得到满足:
[0019] 当所有类业务流的带宽需求没有完全得到满足时, g为对所有链路求得的链路容量与链路上通过的流量之比的最小值,将/"e)放大
,放大后的0即作为最终的带宽分配方案输出;
[0020] 当所有类业务流的带宽需求完全得到满足时, g为对所有链路求得的链路容量与链路上通过的流量之比的最小值,将fk(e)放大
,放大后的fk(e)即作为最终的带宽分配方案输出。
[0021] 步骤S4中,为第j类业务流中的业务流找到其最短路径采用Dijkstra算法。
[0022] 步骤S5中更新各链路的链路长度的方式为:
[0024] 其中,1'(e)为链路e更新后的链路长度,1 (e)为链路e更新前的链路长度,#为 业务流k的最短路径,c(e)为链路e的链路容量,产为业务流k分配到的带宽。
[0025] 步骤S5中更新每条业务流剩余所需分配的带宽的方式为:
[0026] d'k=dk_fk
[0027] 其中,(^为业务流k更新后的待分配的带宽,d呔业务流k更新前的待分配的带 宽,产为业务流k分配到的带宽。
[0028] 本发明的有益效果是:本发明虽然基于近似算法FPTAS(后续描述以FPTAS表示近 似算法),但得到的近似解非常接近利用线性规划所求得的最优解。同时,本发明提出的近 似算法对近似率参数并不敏感,与FPTAS相比,即使采用较大近似参数w(后续描述以w表 示近似参数)求得的目标函数值与采用较小的w求得的目标函数值非常接近。由于本文提 出的算法与FPTAS在计算复杂度上一样,近似地与w2成正比,因此,选择较大的w可显著地 提升算法的计算效率,而这对大规模网络的流量工程是非常有意义的。
【附图说明】
[0029] 图1为本发明一种应用于软件定义网络的流量工程方法的流程示意图;
[0030] 图2为NSFNET网络拓扑示意图;
[0031] 图3为CERNET网络拓扑示意图;
[0032] 图4为采用胖树交换网络的数据中心的网络拓扑示意图;
[0033] 图5为用于评估的随机核心网拓扑的一个实施例的示意图;
[0034] 图6为FPTAS和i-FPTAS在不同近似参数下的RMLU值变化图;
[0035] 图7为线性规划和不同近似参数的i-FPTAS的运行时间图;
[0036] 图8为NSFNET网络拓扑中FPTAS和i-FPTAS在不同业务矩阵下的RMLU值变化 图;
[0037] 图9为CERNET网络拓扑中FPTAS和i-FPTAS在不同业务矩阵下的RMLU值变化 图;
[0038] 图10为采用胖树交换网络的数据中心的网络拓扑中FPTAS和i-FPTAS在不同业 务矩阵下的RMLU值变化图;
[0039] 图11为随机核心网拓扑网络拓扑中FPTAS和i-FPTAS在不同业务矩阵下的RMLU 值变化图。
【具体实施方式】
[0040] 下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于 以下所述。
[0041] 如图1所示,一种应用于软件定义网络的流量工程方法,包括以下步骤:
[0042] S1.获取网络拓扑信息,网络拓扑信息包括:网络拓扑G(ΛΛ£) 7其中#代表节点 集合,节点数量为n,£.代表链路集合,链路总数为m;链路e的链路容量业务 流集合尤,其中业务流k的带宽需求为d(k);近似参数w。
[0043]S2.定义链路e的链路长度为1 (e),将链路长度1 (e)初始化为δ/c(e),其中
[0044] 为链路e关联第一流变量fk (e)和第二流变量/A.(e),并将第一流变量fk (e)和第 二流变量/Je)初始化为0。第一流变量fk(e)和第二流变量表示业务流在链路e 上通过的流量,相对于第一流变量fk(e)来说,第二流变量&(£〇是中间结果。
[0045]S3.根据源节点对业务流进行分类,将源节点相同的业务流分为一类,得到S类业 务流,S彡1,业务流k待分配的带宽需求初始化为dk=d(k)。
[0046]S4.对于第j类业务流,1 <j<S,为第j类业务流中的业务流找到其最短路径, 第j类业务流中的所有的业务流的最短路径构成最短路径树t。
[0047] 步骤S4中,为第j类业务流中的业务流找到其最短路径采用Dijkstra算法。
[0048]S5.为第j类业务流中每条业务流对应的最短路径分配带宽资源,直到最短路径 树t上的一条链路的带宽耗尽或第j类业务流中所有业务流的带宽需求都得到满足;
[0049] 记录业务流k分配到的带宽fk、最短路径树t上链路e通过的业务量f(e);然后, 更新链路e关联的第一流变量fk (e);更新业务流k剩余所需分配的带宽d'k,更新链路e的 链路长度1 (e),从第j类业务流中移除带宽需求得到满足的业务流。
[0050] 步骤S5中更新各链路的链路长度的方式为:
[0052] 其中,1'(e)为链路e更新后的链路长度,1 (e)为链路e更新前的链路长度,#为 业务流k的最短路径,c(e)为链路e的链路容量,产为业务流k分配到的带宽。
[0053] 步骤S5中更新每条业务流剩余所需分配的带宽的方式为:
[0054]d'k=dk_fk
[0055] 其中,(^为业务流k更新后的待分配的带宽,d呔业务流k更新前的待分配的带 宽,产为业务流k分配到的带宽。
[0056] S6.判断迭代条件D(l)<1是否满足:
[0057] 若D(l) < 1且当前类业务流仍有带宽需求时,则跳转步骤S4;
[0058] 若D(l)<1且当前类业务流没有带宽需求时,则进行下一类业务流的带宽分配, 跳转步骤S4;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1