MPLS TE信息发布
MPLS TE中的信息发布是指通过路由协议发布网络中各节点的资源分配情况。MPLS TE网络中的各个节点尤其是隧道的入节点将根据信息发布的结果决定隧道经过哪些节点。
信息如何发布
TE信息的发布主要是依靠现有链路状态路由协议的扩展,包括OSPF TE和IS-IS TE。两种IGP路由协议会自动收集信息发布内容,并对这些信息进行泛洪,发布给MPLS TE网络中的其他节点。
OSPF是一种基于链路状态信息的路由协议,具有较强的扩展功能。OSPF定义了第1~5、7类的LSA来携带区域内、区域间、自治系统外部等路由信息,并用于路由计算。但是这几种LSA的固定格式不能够适应MPLS TE的需求,因而出现了Opaque LSA和TE LSA扩展。
Opaque LSA
Opaque LSA分为三类,分别为第9、10、11类LSA。第9类LSA只能在某一个接口上扩散;第10类LSA只能在某一个区域内扩散;而第11类LSA则与第5类LSA具有相同的扩散范围,可以在除了STUB、NSSA之外的整个自治系统内部扩散。
Opaque LSA与其它几类LSA具有相同的头部结构。只是四字节的Link State ID字段被分为了两部分:“Opaque Type”和“Opaque ID”,如图4-9。
最高位的一个字节称为“Opaque Type”,用来区分此LSA的应用类型;低位的三个字节称为“Opaque ID”,用来区分同一种应用类型的不同的LSA。因此,同一种Opaque LSA可以有255种不同的应用,而每一种应用可以在相应的扩散范围内同时拥有16777216个不同的LSA。
例如,应用于OSPF Graceful Restart的LSA属于第9类LSA,其应用类型为“3”;而应用于流量工程扩展的则属于第10类LSA,其应用类型为“1”。
“Opaque Information”字段中是LSA携带的信息,信息格式可由不同的应用根据各自的需求来单独定义。通常采用的格式是一种非常具有扩展能力的TLV(Type/Length/Value)结构:
Type:标志了这个结构中携带的信息类型。
Length:标明了“Value”字段的有效字节长度。
Value:TLV携带的信息。可以是一个TLV结构,这种嵌套的TLV称为“子TLV(sub-TLV)”。
TE LSA扩展
应用于流量工程扩展的LSA称为TE LSA,属于第10类LSA,其应用类型为“1”。因此,TE LSA都具有“1.x.x.x”形式的Link State ID,而其扩散范围被限制在一个区域内。TE LSA的结构如图4-11所示。
TE LSA使用TLV结构来携带需要的信息。目前只定义了两种TLV:
TLV Type 1
Router Address TLV,唯一标识一个MPLS节点,在CSPF中相当于OSPF中的Router ID的作用。
TLV Type 2
Link TLV,携带了使能MPLS TE的一条链路的属性。其中,Link TLV中可携带的sub-TLV请参见表4-2。
表4-2 Link TLV携带的子TLVsub-TLV
说明
Type1:Link Type(Value域长度为1字节)
链路类型。Point-to-Point:值为1
MultiAccess:值为2
Type2:Link ID(Value域长度为4字节)
链路标识,IP地址格式。Point-to-Point:邻居的OSPF Router ID。
MultiAccess:DR节点的接口IP地址。
Type3:Local IP Address(Value域长度为4N字节)
本地接口的IP地址,可以包含多个本地接口的IP地址,每个4字节。
Type4:Remote IP Address(Value域长度为4N字节)
对端接口的IP地址,可以包含多个对端接口的IP地址,每个4字节。Point-to-Point链路:使用对端IP地址。
MultiAccess链路:可以使用0.0.0.0,也可以省略此sub-TLV。
Type5:Traffic Engineering Metric(Value域长度为4字节)
在TE链路上配置的TE Metric。ULONG数据格式。
Type6:Maximum Bandwidth(Value域长度为4字节)
链路上的最大带宽。以四个字节存储的浮点数据格式。
Type7:Maximum Reservable Bandwidth(Value域长度为4字节)
链路上的最大可预留带宽。以四个字节存储的浮点数据格式。
Type8:Unreserved Bandwidth(Value域长度为32字节)
链路上的8个优先级的可预留带宽。每个优先级都是以四个字节存储的浮点数据格式。
Type9:Administrative Group(Value域长度为4字节)
链路管理组属性。
当将一条链路标记为一条MPLS TE链路时,若该链路也同时运行了OSPF协议、并且已经建立了OSPF邻居,那么OSPF的TE扩展功能就会根据这一条TE链路产生一条对应的TE LSA发布到区域中。如果区域中有其它的节点也支持TE的扩展,那么在这些节点之间就会产生一个TE链路组成的网络拓扑。每一个发布TE LSA的节点必须具有一个唯一的Router Address。
Opaque Type 10 LSA是在OSPF区域内发布的,所以CSPF计算也是基于区域的,跨区域的LSP需要分段计算。
IS-IS也是基于链路状态信息的路由协议,因此可以使用扩展的IS-IS发布TE信息。
IS-IS扩展了两种新的TLV:
Type 135:Wide Metric
IS-IS的有两种度量:
Narrow Metric:6比特窄域度量。
Wide Metric:32比特广域度量。该TLV不用于路由计算,仅用于传递TE相关信息。
Narrow Metric只有64个度量值,难以满足大型流量工程的需求。因此使用Wide Metric来传递TE相关信息。
在窄域向广域过渡中,IS-IS TE需要支持以下兼容的度量值:
Compatible:可以接收和发送度量类型为narrow和wide的报文。
Wide Compatible:可以接收度量类型为narrow和wide的报文,但只发送wide的报文。
Type 22:IS可达性TLV
Type类型为22的IS可达性TLV格式如图4-12所示:
IS可达性TLV结构包括:
系统ID和伪节点ID
缺省链路度量
子TLV长度
可变长的子TLV
其中子TLV的描述请参见表4-3。
表4-3 IS-IS TE的子TLVSub-TLV
描述
Type3:Administrative group(4字节)
链路管理组属性,以32个比特标识32个管理组。
Type6:IPv4 interface address(4N字节)
本地接口的IP地址,可以包含多个本地接口的IP地址,每个4字节。
Type8:IPv4 neighbor address(4N字节)
对端接口的IP地址可以包含多个对端接口的IP地址,每个4字节。Point-to-Point链路:使用对端IP地址。
MultiAccess链路:使用0.0.0.0。
Type9:Maximum link bandwidth(4字节)
链路上的最大带宽。
Type10:Reservable link bandwidth(4字节)
链路上的最大可预留带宽。
Type11:Unreserved bandwidth(32字节)
链路上的8个优先级的可预留带宽。
Type18:TE Default metric(3字节)
在TE链路上配置的TE Metric。
信息发布时机
为了形成本区域内统一的流量工程数据库,OSPF TE和IS-IS TE需要对链路信息进行泛洪。除了首次配置MPLS TE隧道会触发泛洪之外,其他的泛洪时机和条件如下:
达到IGP TE的泛洪周期,此周期可由用户配置
链路生效或失效
由于没有足够的资源来预留带宽导致LSP无法建立时,该节点会马上泛洪,通告链路的当前可用带宽
链路属性发生变化,如链路的管理组和亲和属性发生变化
链路带宽发生变化
当MPLS接口的剩余带宽发生变化时,系统会更新TEDB并进行泛洪。当节点上创建大量需要预留带宽的隧道时,系统会频繁更新TEDB并泛洪。例如某条链路带宽为100Mbit/s,在此链路上建立100条1Mbit/s的TE隧道时,则需要进行100次泛洪。
为了抑制更新TEDB和泛洪的频率,提供了如下带宽泛洪机制:
一条链路上为MPLS TE隧道保留的带宽与TEDB中的链路剩余带宽的比值等于或大于设定的阈值。
MPLS TE隧道释放的带宽与TEDB中剩余带宽的比值等于或大于设定的阈值。
当满足以上两种条件的任意一个时,IGP将对该链路信息进行泛洪,随之更新TEDB。
例如某条链路剩余带宽为100Mbit/s,在此链路上建立100条1Mbit/s的TE隧道时,如果设置泛洪阈值为10%,则变化带宽与剩余带宽的比值如图4-13。
建立第1~9条时,不进行泛洪;当建立第10条时才对第1~10条所占用的10Mbit/s带宽进行泛洪。此时剩余带宽为90Mbit/s。当建立第11~18条隧道时不进行泛洪,当建立第19条时才泛洪。依此类推。
信息发布结果
OSPF TE或IS-IS TE泛洪完成后,将形成本区域内统一的流量工程数据库TEDB。
在网络中部署MPLS TE,需要把相关资源信息进行通告。每台设备收集本区域内各链路的约束信息、带宽使用状况等信息,形成描述网络链路属性和拓扑属性的数据库。这种数据库称为流量工程数据库TEDB。
设备根据TEDB中的信息计算出节点到达区域内其它节点的最合适的路径。MPLS TE使用该路径建立CR-LSP。
TEDB与IGP路由协议的LSDB是两个完全独立的数据库。两者来源相同,都是IGP路由协议泛洪的产物。但内容和功能不同,TEDB除了具备LSDB中所有的内容外,还包含流量工程的信息。LSDB用于IGP最短路径的计算而TEDB则用于流量工程LSP最优路径的计算。