配置动态MPLS TE隧道
动态MPLS TE隧道使用RSVP-TE信令协议建立,可以根据网络变化动态改变,在规模较大的组网中,可以避免逐跳配置的麻烦。配置动态MPLS TE隧道是配置MPLS TE的所有高级特性和应用的基础。
使能MPLS TE和RSVP-TE
配置MPLS TE隧道接口
背景信息
需要在隧道入节点创建一个Tunnel接口,确保完成隧道的建立及指导隧道的数据报文转发。
- 隧道建立:配置好隧道接口后,可以在隧道接口下配置隧道的路径约束、带宽属性等,以及其他高级属性,如TE FRR,隧道自动重优化等。
- 隧道管理:可以在基本TE隧道建立完成后,在隧道接口上配置隧道相关属性,调整隧道的建立。
由于MPLS TE隧道转发的是MPLS报文,因此,在隧道接口下配置IP报文转发相关的命令是无效的。
请在MPLS TE隧道入节点进行如下配置。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface tunnel interface-number,创建Tunnel接口,并进入Tunnel接口视图。
如果在Tunnel接口下执行shutdown命令,则该Tunnel对应的LSP都将被删除。
- 配置隧道接口的IP地址,选择如下方式之一:
执行命令ip address ip-address { mask | mask-length } [ sub ],配置Tunnel接口的IP地址。
必须先配置主IP地址,才能为Tunnel接口配置从IP地址。
执行命令ip address unnumbered interface interface-type interface-number,配置隧道接口借用其他接口的IP地址。
如果Tunnel接口不配置IP地址,不影响TE隧道的成功建立。但是如果需要实现流量转发,则必须为Tunnel接口配置IP地址。由于MPLS TE隧道是单向的,没有必要为Tunnel接口单独配置IP地址。通常的做法是在Ingress节点创建一个Loopback接口并配置与LSR ID相同的32位IP地址,然后Tunnel接口借用该Loopback接口的IP地址。
- 执行命令tunnel-protocol mpls te,配置隧道协议为MPLS TE。
- 执行命令destination dest-ip-address,配置隧道的目的地址,一般配置为出节点的LSR
ID。
由于不同类型的隧道对于目的地址要求不同,当隧道协议从其他类型改变为MPLS TE时,原先配置的隧道目的地址将被自动删除,需要重新配置。
- 执行命令mpls te tunnel-id tunnel-id,配置隧道ID。
- 执行命令mpls te signal-protocol rsvp-te,配置隧道使用RSVP-TE作为信令协议。
- (可选)执行命令mpls te signalled
tunnel-name tunnel-name,配置TE隧道的名称。
缺省情况下,TE隧道的名称用隧道接口的名称来标识,如Tunnel0/0/1。
配置本步骤出于以下目的:
- 便于维护管理。
- 允许华为设备与不使用隧道接口名作为隧道名称的其他厂商设备互通。
- (可选)执行命令mpls te cspf disable,使能在建立MPLS TE隧道时屏蔽CSPF计算。
- 执行命令mpls
te commit,提交隧道当前配置。
每次更改Tunnel接口上的MPLS TE参数后,都需要使用mpls te commit命令提交配置。
(可选)配置链路的带宽
背景信息
当其他厂商设备作为MPLS TE隧道入节点发起有带宽约束的隧道建立请求时,需要在华为设备上配置链路的带宽与其进行协商,使得这条具有带宽约束的CR-LSP可以被建立,从而合理利用网络资源。
请在MPLS TE隧道各节点进行如下配置。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入使能了MPLS TE的接口的视图。
- 执行命令mpls
te bandwidth max-reservable-bandwidth bw-value,配置链路最大可预留带宽。
缺省情况下,链路的最大可预留带宽为0bit/s。当MPLS TE隧道入节点发起建立具有带宽约束的CR-LSP时,如果不配置链路的最大可预留带宽,那么要求的CR-LSP带宽(肯定大于0bit/s)就会大于链路最大可预留带宽,CR-LSP也就无法建立成功。
- 执行命令mpls te bandwidth { bc0 bc0-bw-value | bc1 bc1-bw-value } *,配置链路的BC带宽。
链路的最大可预留带宽不能大于链路的实际带宽,建议配置链路的可预留最大带宽不超过链路实际带宽的80%。
链路的BC0带宽和BC1带宽都不能大于链路最大可预留带宽。
配置TE信息发布
背景信息
OSPF TE
OSPF TE在OSPF原有协议基础上扩展使用Opaque Type 10 LSA携带链路的TE属性信息,能在MPLS区域中的各LSR间扩散TE信息,形成TEDB提供给CSPF计算。
缺省情况下,OSPF区域不支持TE。因此,必须使能OSPF的Opaque。并且只有当至少有一个邻居处于FULL状态时,才会产生Opaque Type 10 LSA。
如果不配置OSPF TE,网络中就不会有Opaque Type 10 LSA,不能形成TEDB。这种情况下生成的CR-LSP是由IGP路由得到的,而不是CSPF计算出来的。
IS-IS TE
IS-IS TE是IS-IS为了支持MPLS TE而做的扩展,它通过在IS-IS LSP报文中定义新的TLV的方式,携带该设备MPLS TE的配置信息,通过LSP的泛洪同步,实现各LSR间MPLS TE信息的泛洪和同步。IS-IS TE把所有LSP中携带的TE信息提取出来,传递给MPLS的CSPF模块,用来计算隧道路径。
根据骨干网使用的IGP路由协议类型来选择TE信息发布形式。请在MPLS TE隧道各节点进行如下配置。
(可选)配置MPLS TE隧道的约束条件
背景信息
在入节点上配置隧道的显式路径等约束条件,可以精确、灵活地控制RSVP-TE隧道的建立。
-
如果需要配置隧道的显式路径约束条件时,需要先创建显式路径。
显式路径由一系列节点构成,按配置的先后顺序组成一条向量路径。显式路径中的IP地址是指节点上接口的IP地址,通常采用出节点上Loopback接口的地址作为显式路径的目的地址。通过配置显式路径,可以指定CR-LSP必须经过某些路径或节点,更好的进行资源的合理分配,增加隧道路径的可控性。
显式路径上的两个相邻节点之间存在两种关系:
严格下一跳(strict):两个节点必须直接相连,用于精确控制LSP所经过的路径。
松散下一跳(loose):两个节点之间可以存在其他节点。
严格方式与松散方式可以单独使用,也可以混合使用。
-
指定隧道的约束条件,CSPF会根据隧道的约束条件进行路径计算,保证CR-LSP的正确建立。
配置路径计算
背景信息
为了计算出满足指定约束条件的隧道路径,需要在隧道的入节点上配置CSPF。
- 从IGP-TE获得并在TEDB中维护的链路状态信息。
- 从IGP-TE承载并存储在TEDB中的与网络资源状态相关的属性(链路最大带宽、最大可预留带宽、亲和属性等)。
- 由用户指定的路径约束条件(显式路径)。
隧道入节点不使能CSPF,RSVP-TE隧道也可以建立成功。但是为了使隧道路径能够满足预设的约束条件,建议使能CSPF。
推荐在所有的Transit节点也使能CSPF。如果隧道入节点没有使能CSPF也没有在IGP下使能TE,部分Transit节点或者Egress节点也没有在IGP下使能TE,但是部分Transit节点使能了CSPF,会导致隧道功能不可用。
请在MPLS TE隧道入节点进行如下配置。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令mpls,进入MPLS视图。
- 执行命令mpls te cspf,使能本节点的CSPF。
缺省情况下,未使能CSPF。
- (可选)执行命令mpls te cspf preferred-igp { isis [ isis-process-id [ level-1 | level-2 ] ] | ospf [ ospf-process-id [ area { area-id-1 | area-id-2 } ] ] },配置CSPF选路时的首选IGP协议。
缺省情况下,CSPF选路时的首选OSPF协议。
如果骨干网只配置了单一的IGP协议来发布TE信息(OSPF TE或者IS-IS TE),则不需要执行该步骤。
检查动态MPLS TE隧道的配置结果
操作步骤
- 执行命令display mpls te link-administration bandwidth-allocation [ interface interface-type interface-number ],查看链路带宽分配信息。
- 执行命令display ospf [ process-id ] mpls-te [ area area-id ] [ self-originated ],查看OSPF TE信息。
- 执行以下命令查看IS-IS
TE状态:
- display isis traffic-eng advertisements
- display isis traffic-eng link
- display isis traffic-eng network
- display isis traffic-eng statistics
- display isis traffic-eng sub-tlvs
- 执行命令display explicit-path [ [ name ] path-name ] [ tunnel-interface | verbose ],查看已经配置的显式路径。
- 执行命令display mpls te cspf destination ip-address [ affinity properties [ mask mask-value ] | bandwidth { ct0 ct0-bandwidth | ct1 ct1-bandwidth | ct2 ct2-bandwidth | ct3 ct3-bandwidth | ct4 ct4-bandwidth | ct5 ct5-bandwidth | ct6 ct6-bandwidth | ct7 ct7-bandwidth } * | explicit-path path-name | hop-limit hop-limit-number | metric-type { igp | te } | priority setup-priority | srlg-strict exclude-path-name | tie-breaking { random | most-fill | least-fill } ] * [ hot-standby [ explicit-path path-name | overlap-path | affinity properties [ mask mask-value ] | hop-limit hop-limit-number | srlg { preferred | strict } ] * ],查看满足指定条件的CSPF计算的路径。
- 执行命令display mpls te cspf tedb { all | area { area-id | area-id-ip } | interface ip-address | network-lsa | node [ router-id ] | srlg srlg-number | overload-node },查看满足指定条件的用于CSPF计算的TEDB信息。
- 执行命令display mpls rsvp-te,查看RSVP的相关信息。
- 执行命令display mpls rsvp-te established [ interface interface-type interface-number peer-ip-address ],查看已建立的RSVP LSP信息。
- 执行命令display mpls rsvp-te peer [ interface interface-type interface-number ],查看RSVP邻居参数。
- 执行命令display mpls rsvp-te reservation [ interface interface-type interface-number peer-ip-address ],查看RSVP资源预留信息。
- 执行命令display mpls rsvp-te request [ interface interface-type interface-number peer-ip-address ],查看接口的RSVP-TE请求消息信息。
- 执行命令display mpls rsvp-te sender [ interface interface-type interface-number peer-ip-address ],查看RSVP发送方信息。
- 执行命令display mpls rsvp-te statistics { global | interface [ interface-type interface-number ] },查看RSVP-TE运行统计信息。
- 执行命令display mpls te link-administration admission-control [ interface interface-type interface-number | stale-interface interface-index ],查看本地接纳的隧道。
- 执行命令display mpls te tunnel [ destination ip-address ] [ lsp-id ingress-lsr-id session-id local-lsp-id ] [ lsr-role { all | egress | ingress | remote | transit } ] [ name tunnel-name ] [ { incoming-interface | interface | outgoing-interface } interface-type interface-number ] [ te-class0 | te-class1 | te-class2 | te-class3 | te-class4 | te-class5 | te-class6 | te-class7 ] [ verbose ],查看隧道信息。
- 执行命令display mpls te tunnel statistics或者display mpls lsp statistics,查看隧道统计信息。
- 执行命令display mpls te tunnel-interface [ tunnel interface-number | auto-bypass-tunnel [ tunnel-name ] ],查看MPLS TE隧道的接口信息。
- 执行命令display mpls te tunnel c-hop [ tunnel-name ] [ lsp-id ingress-lsr-id session-id lsp-id ],查看隧道算路结果。
- 执行命令display mpls te session-entry [ ingress-lsr-id tunnel-id egress-lsr-id ],查看隧道的LSP会话详细信息。