配置MPLS LDP基本功能
配置LSR ID
(可选)配置LDP传输地址
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入建立LDP会话的接口视图。
- 执行命令mpls ldp transport-address { interface-type interface-number | interface },配置LDP传输地址为指定接口的IP地址。
缺省情况下,公网的LDP传输地址等于节点的LSR ID,私网的传输地址等于接口的主IP地址。
两个LSR之间存在多条链路时,若要在多条链路上建立LDP会话,会话同一端的接口都应采用默认的传输地址,或者配置相同的传输地址。如果会话的一端接口配置了不同的传输地址,将导致LDP会话只能建立在一条链路上。
修改LDP传输地址的配置时,会导致LDP会话中断,造成MPLS业务中断,请谨慎配置。
(可选)配置LDP会话的定时器
背景信息
LDP会话使用的定时器如表3-8所示。
定时器 |
描述 |
使用建议 |
---|---|---|
Hello发送定时器:
|
LSR使用Hello定时器周期性地发送Hello消息,向邻居LSR通告它在网络中的存在,并建立Hello邻接关系。 |
在网络状况不是很好的网络中,可以适当调小Hello发送定时器的时间,以便尽早发现网络故障。 |
Hello保持定时器:
|
建立了Hello邻接关系的LDP对等体之间,通过周期性发送Hello报文表明自己希望继续维持这种邻接关系。如果Hello保持定时器超时,没有收到新的Hello报文,则拆除Hello邻接关系。 |
在链路状态不稳定,或者发送报文数量较大的网络中,可以适当调大Hello保持定时器的时间,以避免会话被频繁拆除和建立。 |
Keepalive发送定时器 |
LDP会话建立以后,LSR启动Keepalive发送定时器周期性地发送Keepalive消息,用于保持LDP会话。 |
在网络状况不是很好的网络中,可以适当调小Keepalive发送定时器的时间,以便尽早发现网络故障。 |
Keepalive保持定时器 |
LDP对等体之间通过LDP协议报文(PDU)维持LDP会话,如果Keepalive保持定时器超时,没有收到任何LDP PDU,则关闭连接,结束LDP会话。 |
在链路状态不稳定的网络中,可以适当调大Keepalive保持定时器的时间,以尽量避免LDP会话振荡。 |
指数回退定时器 |
LDP会话初始化消息处理失败或者收到对端LSR会话初始化消息的拒绝通知后,会话发起的主动端会启动指数回退定时器,定期尝试重新建立会话。 |
|
本地和远端会话共存时,本地和远端会话的Keepalive发送定时器和Keepalive保持定时器必须保持一致。
(可选)配置PHP特性
背景信息
在LSP的最后一跳节点,已不需要再进行标签交换。此时,可以配置倒数第二跳弹出特性PHP(Penultimate Hop Popping),在倒数第二跳节点处将标签弹出,最后一跳节点直接进行IP转发或者下一层标签转发,减少最后一跳标签交换的负担。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令mpls,进入MPLS视图。
- 执行命令label advertise { explicit-null | implicit-null | non-null },配置向倒数第二跳分配的标签。
根据参数的不同,可以配置Egress向倒数第二跳分配不同的标签。
缺省情况下,使用的是implicit-null,表示支持PHP。Egress向倒数第二跳节点分配隐式空标签,值为3。
如果配置的是explicit-null,表示不支持PHP。Egress节点向倒数第二跳分配显式空标签,值为0。当需要支持MPLS QoS属性时,可以选用explicit-null。
如果配置的是non-null,表示不支持PHP。Egress向倒数第二跳正常分配标签,即分配的标签值不小于16。
执行命令label advertise修改本节点的标签分配方式只会对新建的LSP生效,如果修改label advertise之前已经存在LSP,则不会生效,需要执行reset mpls ldp或lsp-trigger策略命令后才会生效。
(可选)配置LDP标签分配控制方式
背景信息
缺省情况下,LDP的标签分配控制方式为有序标签分配控制,对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息或者该LSR就是此FEC的出节点时,该LSR才可以向上游LSR发送此FEC的标签映射。如果重新部署业务时,希望业务能够快速建立,则可以配置独立标签分配控制,即本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游LSR的标签。
但是,独立标签分配控制方式时,如果本LSR未收到此FEC的下游LSR分配的标签,则没有成功建立LSP。然而入节点无法感知到没有成功建立LSP,而继续转发业务,当业务转发到该LSR时,该LSR无法转发给下游LSR,造成业务中断。例如,主备LSP场景时,业务会无法切换到备份LSP,而造成业务中断。
(可选)配置LDP标签发布方式
(可选)配置LDP自动触发DoD请求功能
(可选)配置MPLS MTU
背景信息
最大传输单元MTU(Maximum Transmission Unit)的大小决定了发送端一次能够发送报文的最大字节数,如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,这样就会造成报文分片甚至丢弃,加重网络传输的负担。所以设备在进行通信之前必须要把MTU计算明确,才能保证每次发送的报文都能够畅通无阻的到达接收端,确保报文发送一次成功。
如果没有配置接口的MPLS MTU值,则采用接口的MTU值。
如果配置了接口的MPLS MTU值,则与接口的MTU值比较,采用两者中的较小值作为接口实际生效的MTU值。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令mpls ldp,进入MPLS LDP视图。
- 执行下面命令,根据需要选择其一配置:
执行命令undo mtu-signalling,禁止发送标签映射消息时携带MTU TLV。
缺省情况下,发送标签映射消息时携带华为私有的MTU TLV。
如果其他厂商设备不支持MTU TLV,为了实现互通则需要禁止发送标签映射消息时携带MTU TLV。若已禁止LSR发送MTU TLV,则配置的MPLS MTU值不生效。
执行命令mtu-signalling apply-tlv,配置发送标签映射消息时携带RFC3988定义的MTU TLV。
缺省情况下,发送标签映射消息时携带华为私有的MTU TLV。
如果其他厂商设备支持MTU TLV,为了实现互通则需要使LSR发送RFC3988中定义的标准MTU TLV,否则可能导致用户配置的MPLS MTU值不生效。
使能或去使能MTU TLV发送功能的操作将导致原始LDP会话重建,造成MPLS业务中断。
- 执行命令quit,退回系统视图。
- 执行命令interface interface-type interface-number,进入使能了MPLS的接口视图。
- 执行命令mpls
mtu mtu,配置接口的MPLS MTU。
缺省情况下,接口MPLS报文的MTU等于接口本身的MTU。
仅L2VPN(VLL和PWE3)场景下配置的MPLS MTU值生效。
(可选)配置MPLS对TTL的处理
背景信息
MPLS对TTL的处理模式
在MPLS VPN应用中,出于网络安全的考虑,需要隐藏MPLS骨干网络的结构,这种情况下,对于私网报文,Ingress上使用MPLS Pipe模式。若想反映报文实际经过的路径,则在Ingress上使用MPLS Uniform模式。
ICMP响应报文使用的路径
缺省情况下,收到的MPLS报文只带一层标签时,LSR使用IP路由返回ICMP响应报文;收到的MPLS报文包含多层标签时,LSR使用LSP返回ICMP响应报文。
但是,在MPLS VPN中,ASBR(Autonomous System Boundary Router,自治系统边界路由器)和HoVPN组网应用中的SPE(Superstratum PE or Service Provider-end PE,上层PE或运营商侧PE),接收到的承载VPN报文的MPLS报文可能只有一层标签,此时,这些设备上并不存在到达报文发送者的路由,则LSR使用LSP返回ICMP响应报文。
(可选)配置LDP标签策略
(可选)禁止向远端对等体分配标签
(可选)配置LDP LSP建立的触发策略
背景信息
使能MPLS LDP后,LSP将自动建立,如果不通过策略控制,将有大量的LSP建立导致资源浪费。
在Ingress和Egress上配置lsp-trigger策略,使符合条件的路由触发LSP的建立,从而控制LSP的数量,节约网络资源。
在Transit上配置propagate mapping策略,只允许通过过滤条件的路由触发LSP的建立,而对于没有通过过滤条件的路由,本地将不往上游发送标签映射消息,这样可以有效减少LSP的数量,节约网络资源。
通常情况下,建议配置lsp-trigger策略;若由于某种特殊原因在Ingress和Egress上不能配置策略,则在Transit上配置propagate mapping策略。
(可选)配置Label Withdraw消息延迟发送
(可选)使能收到错误报文不中断会话功能
检查MPLS LDP基本功能配置结果
操作步骤
- 执行命令display default-parameter mpls management,查看MPLS管理的缺省配置。
- 执行命令display default-parameter mpls ldp,查看MPLS LDP的缺省配置。
- 执行命令display mpls interface [ interface-type interface-number ] [ verbose ],查看使能了MPLS的接口信息。
- 执行命令display mpls ldp [ all ] [ verbose ],查看LDP的信息。
- 执行命令display mpls ldp interface [ interface-type interface-number | [ all ] [ verbose ] ],查看使能了LDP的接口信息。
- 执行命令display mpls ldp adjacency [ interface interface-type interface-number | remote ] [ peer peer-id ] [ verbose ],查看LDP邻接体信息。
- 执行命令display mpls ldp adjacency statistics,查看LDP邻接体的统计信息。
- 执行命令display mpls ldp session [ [ all ] [ verbose ] | peer-id ],查看LDP会话状态信息。
- 执行命令display mpls ldp session statistics,查看LDP对等体间的会话个数统计信息。
- 执行命令display mpls ldp peer [ [ all ] [ verbose ] | peer-id ],查看LDP会话的对等体信息。
- 执行命令display mpls ldp peer statistics,查看LDP对等体个数的统计信息。
- 执行命令display mpls ldp remote-peer [ remote-peer-name | peer-id lsr-id ],查看LDP会话的远端对等体信息。
- 执行命令display mpls ldp lsp [ all ],查看LDP LSP的建立信息。
- 执行命令display mpls ldp lsp statistics,查看LDP LSP的统计信息。
- 执行命令display mpls route-state [ { exclude | include } { idle | ready | settingup } * | destination-address mask-length ] [ verbose ],查看动态LSP对应的路由相关信息。
- 执行命令display mpls lsp [ verbose ],查看LSP的建立信息。
- 执行命令display mpls lsp statistics,查看当前处于Up状态的LSP数目,并显示在Ingress节点、Transit节点和Egress节点的当前激活的LSP数目。
- 执行命令display mpls label all summary,查看MPLS所有标签的分配信息。