多协议标签交换流量工程中隧道抢占的方法及装置 技术领域 本发明涉及通信技术领域, 尤其涉及一种多协议标签交换流量工程中隧道抢占的 方法及装置。
背景技术 MPLS(Multi-Protocol Label Switching, 多协议标签交换 )TE( 流量工程 ) 是一 种将流量工程技术与 MPLS 相结合的技术, 在多业务融合承载网中起着重要作用。 通过 MPLS TE, 服务提供商可以精确地控制流量流经的路径, 从而可以避开拥塞的节点, 解决一部分路 径过载, 另一部路径空闲的问题, 使现有的带宽资源得到充分利用。
MPLS TE 中, 根据所承载流量的重要性可以为每条隧道配置优先级, 优先级的范围 从 0 到 7, 7 为最低的优先级 ; 在带宽资源不够的情况下, 高优先级的隧道可以抢占低优先级 的隧道, 这样使高优先级的业务的服务质量能够得到更好的满足。
现有 MPLS TE 隧道抢占方法中, 只考虑了最小化被抢占隧道的优先级的因素, 而没 有考虑到如何使抢占造成的网络震荡最小以及对低优先级的业务影响降到最低的因素。 例 如, 当需要占用的带宽为 5M 时, 被拆除的隧道可能是 100M 的, 也可能是 10M 的, 如果拆除的 是 100M 的隧道, 那么就将浪费掉 95M 的带宽资源
发明内容
鉴于上述的分析, 本发明旨在提供一种多协议标签交换流量工程中隧道抢占的方 法及装置, 用以降低隧道抢占带来的网络震荡及对低优先级业务的影响。
本发明的目的主要是通过以下技术方案实现的 :
本发明提供了一种多协议标签交换流量工程中隧道抢占的方法, 包括 :
对流量工程接口的每个优先级带宽所挂载的隧道, 按照隧道消耗带宽的大小进行 排序 ;
在进行隧道抢占时, 优先拆除低优先级带宽所挂载的隧道 ; 并且对于同一优先级 带宽所挂载的隧道, 按照隧道消耗带宽从大到小的顺序进行拆除。
进一步地, 还包括 :
对于最后一条需要被拆除的隧道, 优先选择带宽浪费最小的那条隧道进行拆除。
进一步地, 还包括 : 对于消耗带宽大小相同的隧道, 按照隧道建立时间的早晚进行 排序。
进一步地, 对于消耗带宽大小相同的隧道, 按照隧道建立时间从晚到早的顺序进 行拆除。
进一步地, 优先拆除低优先级挂载的隧道的过程包括 :
判断通过抢占低优先级的隧道能否满足该隧道的带宽要求, 如果是, 计算为满足 该隧道消耗的带宽还需要的带宽, 并按照优先级从低到高的顺序从最低优先级所挂载的隧 道开始拆除, 一直到满足该隧道消耗的带宽为止 ; 否则, 通知下游无法满足该隧道的带宽要求。 本发明还提供了一种多协议标签交换流量工程中隧道抢占的装置, 包括 :
排序模块, 用于对流量工程接口的每个优先级带宽所挂载的隧道, 按照隧道消耗 带宽的大小进行排序 ;
隧道拆除模块, 用于在进行隧道抢占时, 优先拆除低优先级带宽所挂载的隧道 ; 并 且对于同一优先级带宽所挂载的隧道, 按照隧道消耗带宽从大到小的顺序进行拆除。
进一步地, 所述隧道拆除模块还用于, 对于最后一条需要被拆除的隧道, 优先选择 带宽浪费最小的那条隧道进行拆除。
进一步地, 所述排序模块还用于, 对于消耗带宽大小相同的隧道, 按照隧道建立时 间的早晚进行排序。
进一步地, 所述隧道拆除模块还用于, 对于消耗带宽大小相同的隧道, 按照隧道建 立时间从晚到早的顺序进行拆除。
本发明有益效果如下 :
本发明在隧道抢占的实现过程中, 最小化被抢占隧道的优先级, 并使的抢占拆除 的隧道数目最少, 同时尽可能的减少被抢占隧道浪费的带宽, 从而减少了抢占造成的网络 震荡以及对低优先级流量的影响。
本发明的其他特征和优点将在随后的说明书中阐述, 并且, 部分的从说明书中变 得显而易见, 或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、 权利要求书、 以及附图中所特别指出的结构来实现和获得。
附图说明
图 1 为本发明实施例所述方法中, TE 接口带宽管理器的结构示意图 ;
图 2 为本发明实施例所述方法的流程示意图 ;
图 3 为本发明实施例所述方法中, 隧道抢占前各个优先级消耗的带宽示意图 ;
图 4 为本发明实施例所述方法中, 隧道抢占后各个优先级消耗的带宽示意图 ;
图 5 为本发明实施例所述装置的结构示意图。 具体实施方式
下面结合附图来具体描述本发明的优选实施例, 其中, 附图构成本申请一部分, 并 与本发明的实施例一起用于阐释本发明的原理。为了清楚和简化目的, 当其可能使本发明 的主题模糊不清时, 将省略本文所描述的器件中已知功能和结构的详细具体说明。
首先, 对本发明实施例所述方法进行详细说明。
首先, 需要预先定义一个 TE( 流量工程 ) 接口带宽管理器, 如图 1 所示, 图 1 为 TE 接口带宽管理器的结构示意图, 该 TE 接口带宽管理器记录着该 TE 接口的 TE 总带宽、 已用 TE 带宽、 以及优先级带宽数组 ; 其中, 优先级带宽数组的每个数组元素记录着该优先级隧 道消耗的带宽总和、 该优先级隧道的可见带宽 ( 包括可以从低优先级隧道抢占来的带宽 )、 指向该优先级隧道的双向链表的指针 ; 对于优先级带宽数组中的隧道双向链表, 按照隧道 消耗的带宽从大到小排序, 对于消耗带宽一样的隧道, 按照隧道创建时间从小到大排序。
如图 2 所示, 图 2 为本发明实施例所述方法的流程示意图, 具体可以包括 :步骤 201 : 一条隧道向 TE 接口申请带宽 ;
步骤 202 : 判断该隧道消耗的带宽是否不大于 TE 接口现有的剩余带宽, 如果是, 转 到步骤 203, 否则转到步骤 204 ;
步骤 203 : 不需要抢占拆除低优先级的隧道, 直接为该隧道预留资源, 具体包括 : 更新接口的带宽管理器的已用带宽 ; 将该隧道加入优先级带宽数组对应优先级的隧道链表 中, 加入时保证该链表中的隧道是有序的, 即隧道按照消耗的带宽从大到小排序, 对于消耗 带宽一样的隧道, 按照隧道创建时间从小到大排序 ; 更新优先级带宽数组中对应优先级的 消耗带宽和该优先级的可见带宽 ; 更新优先级带宽数组中低于该隧道优先级的各个优先级 的可见带宽 ;
步骤 204 : 判断通过抢占低优先级的隧道能否满足该隧道的带宽要求, 即比较该 隧道消耗的带宽是否大于优先级数组中该优先级的可见带宽, 如果大于, 转到步骤 205 ; 否 则转到步骤 206 ;
步骤 205 : 无法满足该隧道的带宽要求, 发送信令报文给下游, 告诉下游无法为该 隧道预留资源 ;
步骤 206 : 计算为满足该隧道的带宽要求, 还需要的带宽 Req_bw, 并执行步骤 207 ;
步骤 207 : 按照带宽管理器中的优先级数组, 从低优先级到高优先级遍历数组 ; 具 体包括如下步骤 :
步骤 207-1 : 对低优先级数组, 判断 Req_bw 是否不小于该优先级的已用带宽, 如果 是, 表明该优先级下的带宽不为 0 的隧道都要拆除, 转到步骤 207-2 ; 否则, 表明该优先级下 的隧道只要拆除一部分就可以满足要求, 转到步骤 207-3 ;
步骤 207-2 : 遍历该优先级下的隧道链表, 如果隧道消耗的带宽不等于 0, 则拆除 该隧道, 释放带宽 ; 具体包括 : 拆除隧道时, 更新接口的带宽管理器的已用带宽 ; 更新优先 级带宽数组中被拆除隧道对应优先级的消耗带宽和可见带宽 ; 更新优先级带宽数组中低于 被拆除隧道优先级的各个优先级的可见带宽 ; 更新 Req_bw 为 Req_bw 减去拆除的隧道释放 的带宽 ;
207-3 : 判断 Req_bw 是否等于 0, 如果 Req_bw = 0, 表明已经满足新建隧道的带宽 要求, 无需再拆除低优先级隧道了, 转到步骤 208 ; 否则转到步骤 207-4 ;
207-4 : 对高一优先级数组, 遍历该高一优先级下的隧道链表 ;
207-5 : Req_bw 是否大于 0, 如果是, 转到步骤 207-6 ; 否则转到步骤 207-8 ;
207-6 : 判断隧道消耗的带宽是否不大于 Req_bw, 如果是, 转到 207-7 ; 否则转到 207-8 ;
207-7 : 隧道的消耗的带宽不为 0, 则拆除隧道, 释放带宽, 更新 Req_bw = Req_ bw- 隧道释放的带宽 ;
207-8 : 记录这条隧道为 pre_del_lsp, 继续先后遍历该优先级的隧道链表, 寻找 一个隧道消耗带宽不小于 Req_bw, 且满足 min( 隧道消耗带宽减去 Req_bw) 的隧道, 如果找 到, 则拆除找到的隧道, 没找到则拆除 pre_del_lsp, 释放隧道带宽
步骤 208 : 隧道资源申请处理结束。
为了便于理解本发明所述方法, 下面将以一个具体的例子对本发明所述方法作进一步说明。
假设接口配置的 TE 总带宽为 200M, 各个优先级消耗的带宽情况如图 3 所示 ; 当一 条隧道 7( 优先级为 5, 带宽为 155M), 向该接口申请带宽时, 处理步骤如下 :
第1步: 比较接口的剩余带宽和隧道 7 的申请带宽 :
接口上配置的 TE 总带宽为 200M, 已消耗 200M, 剩余的带宽为 0, 无法满足隧道 7 的 带宽要求 ;
第2步: 判断通过抢占低优先级隧道, 能否满足隧道 7 的带宽要求 :
接口优先级 5 的可见带宽为 200M, 大于隧道 7 申请的带宽, 因此通过抢占低优先级 的隧道, 可以满足隧道 7 的带宽要求
第3步: 记录为满足隧道 7 的带宽要求, 需抢占的带宽 Req_bw = 155M, 遍历优先 级带宽数组, 从低优先级开始拆除隧道
第4步: 优先级数组中, 优先级 7 隧道处理 :
判断优先级 7 隧道的已用总带宽为 100M, 小于需抢占的带宽 Req_bw, 说明该优先 级下的隧道必须全部拆除 ;
遍历优先级 7 下的隧道链表, 拆除隧道 1, 隧道 2, 共释放 100M 带宽 ; 更新接口的剩余带宽为 100M ;
更新优先级 7 的已用带宽为 0, 可见带宽为 100M ;
更新还需抢占的带宽 Req_bw 为 (155M-100M) = 55M ;
第5步: 优先级数组中, 优先级 6 隧道处理 :
判断优先级 6 隧道的已用总带宽为 100M, 大于需抢占的带宽 Req_bw, 说明该优先 级下的隧道无需全部拆除, 只需拆除一部分隧道就能满足隧道 7 的带宽要求 ;
第6步: 遍历优先级 6 下的隧道链表 :
取出隧道 3, 消耗带宽为 40M, 小于 Req_bw, 因此拆除隧道 3, 释放带宽 40M ;
更新 TE 接口的剩余带宽为 140M ;
更新优先级 6 的已用带宽为 60M, 可见带宽为 140M ;
更新优先级 7 的已用带宽为 0, 可见带宽为 140M ;
更新还需抢占的带宽 Req_bw 为 (55M-40M) = 15M ;
第7步 : 取出隧道 4, 消耗带宽为 30M, 大于 Req_bw, 说明如果拆除隧道 4, 将会浪费 (30M-Req_bw) = 15M 带宽 ;
标记隧道 4 为 pre_del_lsp, 继续遍历隧道链表, 寻找隧道, 使得 ( 隧道消耗带 宽 -Req_bw) 不小于 0, 且取值最小 ;
第8步 : 取出隧道 5, 消耗带宽为 20M, 大于 Req_bw, 说明如果拆除隧道 5, 将会浪费 (20M-Req_bw) = 5M 带宽 ;
第9步 : 取出隧道 6, 消耗带宽为 10M, 小于 Req_bw, 说明隧道 6 无法满足 Req_bw 带 宽; 因此要拆除链表中隧道 6 的前一条隧道, 即隧道 5 ;
第 10 步 : 拆除隧道 5, 释放带宽 20M ;
更新 TE 接口的剩余带宽为 160M ;
更新优先级 6 的已用带宽为 40M, 可见带宽为 160M ;
更新优先级 7 的已用带宽为 0, 可见带宽为 160M ;
第 11 步 : 为隧道 7 分配带宽资源 :
更新 TE 接口的剩余带宽为 5M ;
更新优先级 5 的已用带宽为 155M, 可见带宽为 45M ;
更新优先级 6 的已用带宽为 40M, 可见带宽为 5M ;
更新优先级 7 的已用带宽为 0, 可见带宽为 5M ;
经过以上步骤, 接口各个优先级消耗的带宽情况如图 4 所示,
需要说明的是, 对于 MPLS TE 隧道, 资源预留风格有 SE 模式和 FF 模式对于 SE 模 式资源预留风格, 相同 SESSION 的隧道可以共享带宽, 也就是说同一 SESSION 下可以有多条 隧道, 每条隧道的带宽都相同 ; 对于 FF 模式的资源预留风格, 每条隧道独享带宽。 本发明实 施例所述方法中, 为了方便描述, 以 FF 模式作为例子进行说明 ; 对于 SE 模式, 被抢占时, 拆 除的应该是同一 SESSION 下的多条隧道, 具体实现过程与 FF 模式相同。
接下来结合附图 5 对本发明实施例所述装置进行详细说明。
如图 5 所示, 图 5 为本发明实施例所述装置的结构示意图, 具体可以包括 :
排序模块, 主要负责对流量工程接口的每个优先级带宽所挂载的隧道, 按照隧道 消耗带宽的大小进行排序 ; 如果隧道消耗带宽大小相同时, 对于消耗带宽大小相同的隧道, 按照隧道建立时间的早晚进行排序。 隧道拆除模块, 主要负责在进行隧道抢占时, 优先拆除低优先级带宽所挂载的隧 道; 并且对于同一优先级带宽所挂载的隧道, 按照隧道消耗带宽从大到小的顺序进行拆除 ; 对于消耗带宽大小相同的隧道, 按照隧道建立时间从晚到早的顺序进行拆除 ; 并且对于最 后一条需要被拆除的隧道, 优先选择带宽浪费最小的那条隧道进行拆除。
综上所述, 本发明实施例提供了一种多协议标签交换流量工程中隧道抢占的方法 及装置, 在隧道抢占中, 增加了这两个考虑因素, 优化隧道抢占 : (1) 为了减少抢占造成的 网络震荡, 提高网络的稳定性, 我们要求抢占中, 拆除的低优先级隧道的数目最少 ; (2) 为 了减少抢占对低优先级用户业务的影响, 提高网络资源的利用率, 我们要求被抢占的隧道 带宽浪费最少 ; 因为新增的第二个因素的求解是一个 NP 完全问题, 计算复杂度和隧道数量 呈指数关系, 考虑到设备对实时性的要求以及实现的复杂度, 我们对这个因素只寻求近似 优化的解, 从而降低了计算的复杂度低, 易于在设备上实现, 在满足高优先级隧道的流量需 求同时, 尽可能的减少抢占造成的网络震荡, 减少对低优先级流量的影响。
以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此, 本发明的保护范围应该以权利要求书的保护范 围为准。