为何使用 MPLS TE?
因为传统的 IGP metric 只是基于目的地址的, 并且 IP 本身是 stateless, 不能支持显示路径在计算带宽的时候也比较死板, 是通过静态的指定接口或链路带宽延时等参数来实现流量工程的综上, 需要一种类似 ATM 的技术来实现流量工程
MPLS TE 实现的必要条件
支持建立面对端到端的, 基于 LSP 的 tunnel (通过 RSVP PATH RESV 来分发标签来组建 LSP)
支持不同优先级来进行隧道抢占 (traffic engineering tunnel 可以设置 priority)
支持提前建立 tunnel
支持故障切换
MPLS TE 的四大组件
1. 信息发布组件
2. 路径计算组件
3. 信令组件
报文转发组件
MPLS 流量工程还需要支持一些高级特性
- FRR
- tunnel backup
- auto bandwidth allocation
路径重优化
信息发布组件
所有的信息都是通过 OSPF 或 ISIS 的扩展 LSA/LSP 来实现的
两张 IGP 的扩展目的是为了传送带有流量参数的 LSA, 满足 MPLS TE 的需求 OSPF-TE 和 ISIS-TE 缺省情况下, 只支持单个区域启用, 如果需要在多个区域运用 MPLS TE, 就得使用 inter-area tunnel 来实现
OSPF-TE 的扩展, 增加了 type 10 的 LSA (opaque LSA)
Opaque LSA 中, 扩展了两种 TLV(type/length/value)
-type=1 路由器地址 TLV
-type=2 链路 TLV Link TLV 有九种不同的 TLV 组成, 描述链路的参数
9 种 sub TLV
- 链路类型: MA 或 p2p
- 链路 ID
- 本地接口 ip 地址, 一般为 TE 的 RID
- 本地接口 IP address, 一般为 TE 的 RID
- 远端接口的地址
-TE metric
- 最大链路带宽
- 最大可保留带宽
- 当前可用带宽 (针对每一个优先级)
- 链路属性标志
ISIS-TE
ISIS-TE 的泛洪信息和 OSPF-TE 基本一样
ISIS-TE 扩展了两种 TLV
-type=135 wide metric
-type=22 IS 可达性 TLV
Wide metric
ISIS 的 metric 分为 narrow metric 与 wide metric, 分别为 6bit 和 24 bit
wide metric 本身和 metric TE 没有必然联系, 但是他可以增加 MPLS TE 的可扩展性
IS 可达性 TLV
type=22 的 IS 可达性 TLV 携带 MPLS TE 信息
IS 可达性 sub-TLV
Type=22 的 IS 可达性 TLV 提供了 7 种不同的 sub-TLV 描述 MPLS TE 信息
- 链路属性标志
-IPv4 接口地址, 用接口的掩码表示
- 邻居地址
- 最大链路带宽
- 最大可用带宽
- 当前可用带宽 (针对每一个优先级)
- 流量工程度量
以下的信息会被宣告
Link Sate information (IGP 自带)
TE metric (缺省情况与 IGP metric 一样)
可用带宽
隧道优先级
亲和属性
带宽信息
最大的物理带宽, 以及可预留带宽通过在物理接口命令配置
- interface gi 0/0
- bandwidth 10000
- ip rsvp bandwidth 8000
隧道优先级
范围 0-7, 越小越好在 tunnel 接口下配置
优先级分为两种
- setup priority
- hold priority
通常会将这两个 priority 值配成一样
- interface tunnel 10
- tunnel mpls traffic-eng prioirty 5 5
亲和属性
这个属性较为复杂, 简单的理解就是给物理链路配上颜色, 然后不同的 tunnel 去匹配此类链路颜色, 来进行流量控制对于生产环境的控制较为不便, 也不知道有没有应用场景
配法:
先给物理链路配颜色
- interface gi 0/0
- mpls traffic-eng attribute-flags 0x0000001
- interface gi 0/1
- mpls traffic-eng attribute-flags 0x0000002
然后就针对不同的 tunnel 去匹配物理流量
- interface tunnel 10
- tunnel mpls traffic-eng affinity 0x00000001 mask 0x00000001
- interface tunnel 20
- tunnel mpls traffic-eng affinity 0x00000010 mask 0x00000010
有如 ip 地址, 0 代表不匹配, 1 代表匹配
Administrative Weight
实际上就是 TE metric, 默认情况下等于 IGP metric
以上, 这篇大概涵盖了 MPLS TE 的基本概念, 四大组件, 四大组件中最复杂的信息发布组件往后的实验会涵盖抓包来更好的阐述
MPLS TE 概念梳理
来源: http://www.bubuko.com/infodetail-2499367.html