为何使用MPLS TE?
因为传统的IGP metric只是基于目的地址的,并且IP本身是stateless,不能支持显示路径。在计算带宽的时候也比较死板,是通过静态的指定接口或链路带宽延时等参数来实现流量工程的。综上,需要一种类似ATM的技术来实现流量工程。

MPLS TE实现的必要条件

  1. 支持建立面对端到端的,基于LSP的tunnel (通过RSVP PATH RESV来分发标签来组建LSP)
  2. 支持不同优先级来进行隧道抢占 (traffic engineering tunnel可以设置priority)
  3. 支持提前建立tunnel
  4. 支持故障切换

MPLS TE的四大组件
1.信息发布组件
2.路径计算组件
3.信令组件

  1. 报文转发组件

MPLS流量工程还需要支持一些高级特性

  1. FRR
  2. tunnel backup
  3. auto bandwidth allocation
  4. 路径重优化

信息发布组件
所有的信息都是通过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接口地址,用接口的掩码表示
-邻居地址
-最大链路带宽
-最大可用带宽
-当前可用带宽(针对每一个优先级)
-流量工程度量

以下的信息会被宣告

  1. Link Sate information (IGP自带)
  2. TE metric (缺省情况与IGP metric一样)
  3. 可用带宽
  4. 隧道优先级
  5. 亲和属性

带宽信息
最大的物理带宽,以及可预留带宽。通过在物理接口命令配置。
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的基本概念,四大组件,四大组件中最复杂的信息发布组件。往后的实验会涵盖抓包来更好的阐述。