配置IS-IS SR-MPLS TE隧道(转发器算路)
如果网络中没有控制器进行路径计算,用户可以在头节点配置CSPF算路来实现SR-MPLS TE。
使能MPLS TE
在SR MPLS域的所有节点上使能MPLS TE是配置所有SR-MPLS TE特性的首要步骤。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令mpls lsr-id lsr-id,配置本节点的LSR ID。配置LSR ID时,请注意以下事项:
配置LSR ID是进行所有MPLS配置的前提。
LSR没有缺省的LSR ID,必须手工配置。
推荐使用LSR某个Loopback接口的地址做为LSR ID。
- 执行命令mpls,进入MPLS视图。
- 执行命令mpls te,全局使能本节点的MPLS TE。
- (可选)使能接口的MPLS TE能力
在控制器算路和头节点算路场景,使能接口的MPLS TE能力是必须配置。静态显式路径场景,可以忽略该步骤。
- 执行命令quit,退回系统视图。
- 执行命令interface interface-type interface-number,进入MPLS TE链路的接口视图。
- 执行命令mpls,使能接口的MPLS能力。
- 执行命令mpls te,使能接口的MPLS TE。
- 执行命令commit,提交配置。
配置SR-MPLS TE的基本功能
介绍了SR-MPLS TE的基础配置。
背景信息
SR-MPLS TE有严格路径(Strict Explicit)和松散路径(Loose Explicit)两种,严格路径主要使用Adjacency SID,松散路径使用Adjacency SID和Node SID。配置SR-MPLS TE隧道之前需要先配置生成Adjacency SID和Node SID。
操作步骤
- 配置Segment Routing全局标签范围
- 执行命令system-view,进入系统视图。
- 执行命令isis [ process-id ],进入IS-IS协议视图。
- 执行命令network-entity net,设置网络实体名称。
- 执行命令cost-style { wide | compatible | wide-compatible },配置IS-IS的Wide Metric属性。
- 执行命令traffic-eng [ level-1 | level-2 | level-1-2 ],使能IS-IS TE。
- 执行命令segment-routing mpls命令用来使能IS-IS对应拓扑的Segment Routing功能。
- 执行命令segment-routing global-block begin-value end-value命令用来配置当前IS-IS实例的Segment Routing全局标签范围。
- 执行命令commit,提交配置。
- 配置Segment Routing前缀标签
- 执行命令system-view,进入系统视图。
- 执行命令interface loopback loopback-number,创建Loopback接口并进入接口视图。
- 执行命令isis enable [ process-id ],使能IS-IS接口。
- 执行命令ip address ip-address { mask | mask-length },配置Loopback接口的IP地址。
- 执行命令isis prefix-sid { absolute sid-value | index index-value } [ node-disable ]用来在Loopback接口下配置该接口的IP地址为Segment Routing标签前缀。
- 执行命令commit,提交配置。
配置SR-MPLS TE隧道接口
SR-MPLS TE隧道是通过Tunnel接口来建立和管理的,因此需要在隧道的入节点上配置SR-MPLS TE隧道接口。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface tunnel tunnel-number,创建Tunnel接口,并进入Tunnel接口视图。
- 配置隧道接口的IP地址,选择如下方式之一:
执行命令ip address ip-address { mask | mask-length } [ sub ],配置Tunnel接口的IP地址。
必须先配置主IP地址,才能为Tunnel接口配置从IP地址。
执行命令ip address unnumbered interface interface-type interface-number,配置隧道接口借用其他接口的IP地址。
MPLS TE隧道是单向的,不存在对端地址的问题,不建议为Tunnel接口单独配置IP地址,通常的做法是Tunnel接口借用Ingress节点的LSR ID作为地址。
- 执行命令tunnel-protocol mpls te,配置隧道协议为MPLS TE。
- 执行命令destination ip-address,配置隧道的目的地址,一般配置为出节点的LSR ID。
由于不同类型的隧道对于目的地址要求不同,当隧道协议从其他类型改变为MPLS TE时,原先配置的destination将被自动删除,需要重新配置。
- 执行命令mpls te tunnel-id tunnel-id,配置隧道ID。
- 执行命令mpls te signal-protocol segment-routing,使能segment routing能力。
- (可选)执行命令mpls te cspf path-selection adjacency-sid,配置使能在SR-MPLS TE隧道下建立LSP时严格按照邻接标签进行CSPF计算。
如果未配置mpls te cspf path-selection adjacency-sid命令,SR-MPLS TE隧道下建立LSP时,节点标签和邻接标签都会参与CSPF计算。
- (可选)执行命令mpls te path verification enable,使能SR-MPLS TE隧道路径校验,如果标签故障,会将使用该标签的LSP联动置Down。
如果已经存在控制器或者BFD,无需配置此功能。
如果所有SR-MPLS TE隧道都要配置此功能,可以在MPLS视图全局使能命令mpls te path verification enable。
- (可选)执行命令match dscp ipv4 { default | { dscp-value1 | to dscp-value2 ] } &<1-32> },配置IPv4报文入SR-MPLS TE的DSCP值。
SR-MPLS TE下的DSCP配置和service-class配置互斥,不可同时配置,配置时互斥,并打出提示。
- 执行命令commit,提交配置。
(可选)配置SR-MPLS TE隧道UCMP功能
当有多条SR-MPLS TE隧道指向下游设备时,可以通过配置负载分担权重,将总流量在各SR-MPLS TE隧道上进行非等值多路径负载分担UCMP(Unequal Cost Multi-Path Loadbalance)。
检查配置结果
SR-MPLS TE隧道配置成功后,您可以查看SR-MPLS TE隧道的信息和隧道的状态统计信息。
操作步骤
- 使用以下命令查看IS-IS TE状态:
- display isis traffic-eng advertisements [ { level-1 | level-2 | level-1-2 } | { lsp-id | local } ] * [ process-id | [ vpn-instance vpn-instance-name ] ]
- display isis traffic-eng statistics [ process-id | [ vpn-instance vpn-instance-name ] ]
- 使用display mpls te tunnel [ destination ip-address ] [ lsp-id 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 ] [ verbose ]命令查看隧道信息。
- 使用display mpls te tunnel statistics或者display mpls sr-te-lsp命令查看LSP统计信息。
- 使用display mpls te tunnel-interface [ tunnel tunnel-number ]命令在隧道入节点查看隧道接口信息。
- (可选)当标签栈深度超过转发器所支持的标签栈深度时,控制器将整条路径分为多个标签栈携带,当控制器将后半段标签下发给粘连节点,在粘连节点上使用display mpls te stitch-label-stack命令可以查看粘连标签栈的信息。