配置P2MP TE隧道承载业务的示例(双根保护场景)
本例描述了P2MP TE隧道承载业务的配置过程。
组网需求
如图10-46所示,在VPLS P2MP双根保护的场景中,PE1、PE2、PE3、PE4通过BGP AD方式建立VPLS网络,其中,PE1与PE3、PE4之间为主P2MP TE隧道,PE1为主根节点,PE2与PE3、PE4之间为备份P2MP隧道,PE2为备份根节点。当PE1的AC接口GE1/0/1接口故障或者是主P2MP TE隧道故障时,业务流量能够快速的切换到备份P2MP TE隧道上。
配置思路
采用如下的思路配置P2MP TE隧道承载业务:
- 配置网络中设备各接口的IP地址和路由协议,实现各设备之间网络层互通。本示例配置OSPF路由协议。
- 在各设备上全局配置MPLS LSR-ID,全局使能MPLS、MPLS TE和P2MP TE能力。
- 在各节点配置LDP本地会话。
- 在PE1与PE3、PE1与PE4、PE2与PE3、PE2与PE4之间建立BGP AD方式的VPLS。
- 创建主、备P2MP TE隧道。
- 在PE3和PE4上配置叶子节点。
数据准备
为完成此配置例,需准备如下的数据:
网络中各设备接口的IP地址,具体数据参见表10-8。
各节点的OSPF进程号为100,区域标识为0.0.0.0。
PE1、PE2、PE3和PE4上的BGP AS号。
VSI实例的名称、VPLS ID、VPN-Target。
VSI绑定的接口编号。
操作步骤
- 配置网络中设备各接口的IP地址和路由协议,实现各设备之间网络层互通
具体配置过程请参见配置文件。
- 全局配置MPLS LSR-ID,全局使能MPLS、P2MP TE能力
# 在PE1上全局配置MPLS LSR-ID,全局使能MPLS、P2MP TE能力。
<PE1> system-view
[~PE1] mpls lsr-id 1.1.1.1
[*PE1] mpls
[*PE1-mpls] mpls te
[*PE1-mpls] mpls rsvp-te
[*PE1-mpls] mpls te cspf
[*PE1-mpls] mpls te p2mp-te
[*PE1-mpls] quit
[*PE1] commit
# 在PE2上全局配置MPLS LSR-ID,全局使能MPLS、P2MP TE能力。
<PE2> system-view
[~PE2] mpls lsr-id 2.2.2.2
[*PE2] mpls
[*PE2-mpls] mpls te
[*PE2-mpls] mpls rsvp-te
[*PE2-mpls] mpls te cspf
[*PE2-mpls] mpls te p2mp-te
[*PE2-mpls] quit
[*PE2] commit
# 在PE3上全局配置MPLS LSR-ID,全局使能MPLS、P2MP TE能力。
<PE3> system-view
[~PE3] mpls lsr-id 3.3.3.3
[*PE3] mpls
[*PE3-mpls] mpls te
[*PE3-mpls] mpls rsvp-te
[*PE3-mpls] mpls te cspf
[*PE3-mpls] mpls te p2mp-te
[*PE3-mpls] quit
[*PE3] commit
# 在PE4上全局配置MPLS LSR-ID,全局使能MPLS、P2MP TE能力。
<PE4> system-view
[~PE4] mpls lsr-id 4.4.4.4
[*PE4] mpls
[*PE4-mpls] mpls te
[*PE4-mpls] mpls rsvp-te
[*PE4-mpls] mpls te cspf
[*PE4-mpls] mpls te p2mp-te
[*PE4-mpls] quit
[*PE4] commit
- 在各节点配置LDP本地会话
# 配置PE1。
[~PE1] mpls ldp
[*PE1-mpls-ldp] quit
[*PE1] interface gigabitethernet1/0/0
[*PE1-GigabitEthernet1/0/0] mpls
[*PE1-GigabitEthernet1/0/0] mpls te
[*PE1-GigabitEthernet1/0/0] mpls rsvp-te
[*PE1-GigabitEthernet1/0/0] mpls ldp
[*PE1-GigabitEthernet1/0/0] quit
[*PE1] interface gigabitethernet1/0/2
[*PE1-GigabitEthernet1/0/2] mpls
[*PE1-GigabitEthernet1/0/2] mpls te
[*PE1-GigabitEthernet1/0/2] mpls rsvp-te
[*PE1-GigabitEthernet1/0/2] mpls ldp
[*PE1-GigabitEthernet1/0/2] quit
[*PE1] commit
# 配置PE2。
[~PE2] mpls ldp
[*PE2-mpls-ldp] quit
[*PE2] interface gigabitethernet1/0/0
[*PE2-GigabitEthernet1/0/0] mpls
[*PE2-GigabitEthernet1/0/0] mpls te
[*PE2-GigabitEthernet1/0/0] mpls rsvp-te
[*PE2-GigabitEthernet1/0/0] mpls ldp
[*PE2-GigabitEthernet1/0/0] quit
[*PE2] interface gigabitethernet1/0/2
[*PE2-GigabitEthernet1/0/2] mpls
[*PE2-GigabitEthernet1/0/2] mpls te
[*PE2-GigabitEthernet1/0/2] mpls rsvp-te
[*PE2-GigabitEthernet1/0/2] mpls ldp
[*PE2-GigabitEthernet1/0/2] quit
[*PE2] commit
# 配置PE3。
[~PE3] mpls ldp
[*PE3-mpls-ldp] quit
[*PE3] interface gigabitethernet1/0/0
[*PE3-GigabitEthernet1/0/0] mpls
[*PE3-GigabitEthernet1/0/0] mpls te
[*PE3-GigabitEthernet1/0/0] mpls rsvp-te
[*PE3-GigabitEthernet1/0/0] mpls ldp
[*PE3-GigabitEthernet1/0/0] quit
[*PE3] interface gigabitethernet1/0/2
[*PE3-GigabitEthernet1/0/2] mpls
[*PE3-GigabitEthernet1/0/2] mpls te
[*PE3-GigabitEthernet1/0/2] mpls rsvp-te
[*PE3-GigabitEthernet1/0/2] mpls ldp
[*PE3-GigabitEthernet1/0/2] quit
[*PE3] commit
# 配置PE4。
[~PE4] mpls ldp
[*PE4-mpls-ldp] quit
[*PE4] interface gigabitethernet1/0/0
[*PE4-GigabitEthernet1/0/0] mpls
[*PE4-GigabitEthernet1/0/0] mpls te
[*PE4-GigabitEthernet1/0/0] mpls rsvp-te
[*PE4-GigabitEthernet1/0/0] mpls ldp
[*PE4-GigabitEthernet1/0/0] quit
[*PE4] interface gigabitethernet1/0/2
[*PE4-GigabitEthernet1/0/2] mpls
[*PE4-GigabitEthernet1/0/2] mpls te
[*PE4-GigabitEthernet1/0/2] mpls rsvp-te
[*PE4-GigabitEthernet1/0/2] mpls ldp
[*PE4-GigabitEthernet1/0/2] quit
[*PE4] commit
- 在PE1与PE3、PE1与PE4、PE2与PE3、PE2与PE4之间建立BGP AD方式的VPLS。
# 在PE1上配置BGP AD方式的VPLS。
[~PE1] bgp 100
[*PE1-bgp] peer 3.3.3.3 as-number 100
[*PE1-bgp] peer 3.3.3.3 connect-interface loopback1
[*PE1-bgp] peer 4.4.4.4 as-number 100
[*PE1-bgp] peer 4.4.4.4 connect-interface loopback1
[*PE1-bgp] l2vpn-ad-family
[*PE1-bgp-af-l2vpn-ad] peer 3.3.3.3 enable
[*PE1-bgp-af-l2vpn-ad] peer 4.4.4.4 enable
[*PE1-bgp-af-l2vpn-ad] quit
[*PE1-bgp] quit
[*PE1] mpls l2vpn
[*PE1-l2vpn] quit
[*PE1] vsi vsi1
[*PE1-vsi-vsi1] bgp-ad
[*PE1-vsi-vsi1-bgpad] vpls-id 2:2
[*PE1-vsi-vsi1-bgpad] vpn-target 2:2 import-extcommunity
[*PE1-vsi-vsi1-bgpad] vpn-target 2:2 export-extcommunity
[*PE1-vsi-vsi1-bgpad] quit
[*PE1-vsi-vsi1] quit
[*PE1] interface gigabitethernet1/0/1
[*PE1-GigabitEthernet1/0/1] l2 binding vsi vsi1
[*PE1-GigabitEthernet1/0/1] quit
[*PE1] commit
# 在PE2上配置BGP AD方式的VPLS。
[~PE2] bgp 100
[*PE2-bgp] peer 3.3.3.3 as-number 100
[*PE2-bgp] peer 3.3.3.3 connect-interface loopback1
[*PE2-bgp] peer 4.4.4.4 as-number 100
[*PE2-bgp] peer 4.4.4.4 connect-interface loopback1
[*PE2-bgp] l2vpn-ad-family
[*PE2-bgp-af-l2vpn-ad] peer 3.3.3.3 enable
[*PE2-bgp-af-l2vpn-ad] peer 4.4.4.4 enable
[*PE2-bgp-af-l2vpn-ad] quit
[*PE2-bgp] quit
[*PE2] mpls l2vpn
[*PE2-l2vpn] quit
[*PE2] vsi vsi1
[*PE2-vsi-vsi1] bgp-ad
[*PE2-vsi-vsi1-bgpad] vpls-id 2:2
[*PE2-vsi-vsi1-bgpad] vpn-target 2:2 import-extcommunity
[*PE2-vsi-vsi1-bgpad] vpn-target 2:2 export-extcommunity
[*PE2-vsi-vsi1-bgpad] quit
[*PE2-vsi-vsi1] quit
[*PE2] interface gigabitethernet1/0/1
[*PE2-GigabitEthernet1/0/1] l2 binding vsi vsi1
[*PE2-GigabitEthernet1/0/1] quit
[*PE2] commit
# 在PE3上配置BGP AD方式的VPLS。
[~PE3] bgp 100
[*PE3-bgp] peer 1.1.1.1 as-number 100
[*PE3-bgp] peer 1.1.1.1 connect-interface loopback1
[*PE3-bgp] peer 2.2.2.2 as-number 100
[*PE3-bgp] peer 2.2.2.2 connect-interface loopback1
[*PE3-bgp] l2vpn-ad-family
[*PE3-bgp-af-l2vpn-ad] peer 1.1.1.1 enable
[*PE3-bgp-af-l2vpn-ad] peer 2.2.2.2 enable
[*PE3-bgp-af-l2vpn-ad] quit
[*PE3-bgp] quit
[*PE3] mpls l2vpn
[*PE3-l2vpn] quit
[*PE3] vsi vsi1
[*PE3-vsi-vsi1] bgp-ad
[*PE3-vsi-vsi1-bgpad] vpls-id 2:2
[*PE3-vsi-vsi1-bgpad] vpn-target 2:2 import-extcommunity
[*PE3-vsi-vsi1-bgpad] vpn-target 2:2 export-extcommunity
[*PE3-vsi-vsi1-bgpad] quit
[*PE3-vsi-vsi1] quit
[*PE3] interface gigabitethernet1/0/3.1
[*PE3-GigabitEthernet1/0/3.1] vlan-type dot1q 10
[*PE3-GigabitEthernet1/0/3.1] l2 binding vsi vsi1
[*PE3-GigabitEthernet1/0/3.1] quit
[*PE3] commit
# 在PE4上配置BGP AD方式的VPLS。
[~PE4] bgp 100
[*PE4-bgp] peer 1.1.1.1 as-number 100
[*PE4-bgp] peer 1.1.1.1 connect-interface loopback1
[*PE4-bgp] peer 2.2.2.2 as-number 100
[*PE4-bgp] peer 2.2.2.2 connect-interface loopback1
[*PE4-bgp] l2vpn-ad-family
[*PE4-bgp-af-l2vpn-ad] peer 1.1.1.1 enable
[*PE4-bgp-af-l2vpn-ad] peer 2.2.2.2 enable
[*PE4-bgp-af-l2vpn-ad] quit
[*PE4-bgp] quit
[*PE4] mpls l2vpn
[*PE4-l2vpn] quit
[*PE4] vsi vsi1
[*PE4-vsi-vsi1] bgp-ad
[*PE4-vsi-vsi1-bgpad] vpls-id 2:2
[*PE4-vsi-vsi1-bgpad] vpn-target 2:2 import-extcommunity
[*PE4-vsi-vsi1-bgpad] vpn-target 2:2 export-extcommunity
[*PE4-vsi-vsi1-bgpad] quit
[*PE4-vsi-vsi1] quit
[*PE4] interface gigabitethernet1/0/3.1
[*PE4-GigabitEthernet1/0/3.1] vlan-type dot1q 10
[*PE4-GigabitEthernet1/0/3.1] l2 binding vsi vsi1
[*PE4-GigabitEthernet1/0/3.1] quit
[*PE4] commit
- 在主根节点PE1和备根节点PE2上触发P2MP TE隧道,并配置BFD会话监视AC接口GE 1/0/1。
# 配置PE1。
[~PE1] bfd
[*PE1-bfd] quit
[*PE1] mpls te p2mp-template pt1
[*PE1-te-p2mp-template-pt1] bfd enable
[*PE1-te-p2mp-template-pt1] quit
[*PE1] vsi vsi1
[*PE1-vsi-vsi1] inclusive-provider-tunnel
[*PE1-vsi-vsi1-inclusive] root
[*PE1-vsi-vsi1-inclusive-root] data-switch disable
[*PE1-vsi-vsi1-inclusive-root] mpls-te
[*PE1-vsi-vsi1-inclusive-root-mplste] p2mp te-template pt1
[*PE1-vsi-vsi1-inclusive-root-mplste] quit
[*PE1-vsi-vsi1-inclusive-root] bfd track interface gigabitethernet 1/0/1
[*PE1-vsi-vsi1-inclusive-root] quit
[*PE1-vsi-vsi1-inclusive] quit
[*PE1-vsi-vsi1] quit
[*PE1] commit
# 配置PE2。
[~PE2] bfd
[*PE2-bfd] quit
[*PE2] mpls te p2mp-template pt1
[*PE2-te-p2mp-template-pt1] bfd enable
[*PE2-te-p2mp-template-pt1] quit
[*PE2] vsi vsi1
[*PE2-vsi-vsi1] inclusive-provider-tunnel
[*PE2-vsi-vsi1-inclusive] root
[*PE2-vsi-vsi1-inclusive-root] data-switch disable
[*PE2-vsi-vsi1-inclusive-root] mpls-te
[*PE2-vsi-vsi1-inclusive-root-mplste] p2mp te-template pt1
[*PE2-vsi-vsi1-inclusive-root-mplste] quit
[*PE2-vsi-vsi1-inclusive-root] bfd track interface gigabitethernet 1/0/1
[*PE2-vsi-vsi1-inclusive-root] quit
[*PE2-vsi-vsi1-inclusive] quit
[*PE2-vsi-vsi1] quit
[*PE2] commit
- 在PE3和PE4上配置叶子节点,并在叶子节点上指定主备P2MP TE隧道。
# 配置PE3。
[~PE3] bfd
[*PE3-bfd] mpls-passive
[*PE3-bfd] quit
[*PE3] vsi vsi1
[*PE3-vsi-vsi1] inclusive-provider-tunnel
[*PE3-vsi-vsi1-inclusive] leaf
[*PE3-vsi-vsi1-inclusive-leaf] primary-root 1.1.1.1 track bfd backup-root 2.2.2.2 track bfd
[*PE3-vsi-vsi1-inclusive-leaf] quit
[*PE3-vsi-vsi1-inclusive] quit
[*PE3-vsi-vsi1] quit
[*PE3] commit
# 配置PE4。
[~PE4] bfd
[*PE4-bfd] mpls-passive
[*PE4-bfd] quit
[*PE4] vsi vsi1
[*PE4-vsi-vsi1] inclusive-provider-tunnel
[*PE4-vsi-vsi1-inclusive] leaf
[*PE4-vsi-vsi1-inclusive-leaf] primary-root 1.1.1.1 track bfd backup-root 2.2.2.2 track bfd
[*PE4-vsi-vsi1-inclusive-leaf] quit
[*PE4-vsi-vsi1-inclusive] quit
[*PE4-vsi-vsi1] quit
[*PE4] commit
- 检查配置结果
完成上述配置后,在PE1设备上执行命令display vsi name inclusive-provider-tunnel查看组播VPLS的隧道信息。
[~PE1]display vsi name vsi1 inclusive-provider-tunnel
VSI name: vsi1 Ingress provider tunnel Egress provider tunnel Egress PMSI count: 2 *PMSI type : P2MP TE Ingress LSR ID : 3.3.3.3 Session ID : 32801 P2MP ID : 0x2020202 State : up *PMSI type : P2MP TE Ingress LSR ID : 4.4.4.4 Session ID : 32769 P2MP ID : 0x3030303 State : up Protect Information: Group: Ingress LSR ID : 3.3.3.3 Role : primary Valid : true Active State : active OAM Protocol : BFD OAM State : Up Ingress LSR ID : 4.4.4.4 Role : backup Valid : true Active State : active OAM Protocol : BFD OAM State : Up Wtr Interval(s) : 30
配置文件
PE1的配置文件
# sysname PE1 # bfd # mpls lsr-id 1.1.1.1 mpls mpls te mpls rsvp-te mpls te cspf mpls te p2mp-te # mpls l2vpn # vsi vsi1 bgp-ad vpls-id 2:2 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity inclusive-provider-tunnel root data-switch disable bfd track interface GigabitEthernet1/0/1 mpls-te p2mp te-template pt1 # mpls te p2mp-template pt1 bfd enable # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.2.1 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # mpls ldp # interface GigabitEthernet1/0/1 undo shutdown l2 binding vsi vsi1 # interface GigabitEthernet1/0/2 undo shutdown ip address 10.1.3.1 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface LoopBack1 ip address 1.1.1.1 255.255.255.255 # bgp 100 peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack1 peer 4.4.4.4 as-number 100 peer 4.4.4.4 connect-interface LoopBack1 # l2vpn-ad-family peer 3.3.3.3 enable peer 4.4.4.4 enable # ospf 100 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 10.1.2.0 0.0.0.255 network 10.1.3.0 0.0.0.255 # return
PE2的配置文件
# sysname PE1 # bfd # mpls lsr-id 2.2.2.2 mpls mpls te mpls rsvp-te mpls te cspf mpls te p2mp-te # mpls l2vpn # vsi vsi1 bgp-ad vpls-id 2:2 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity inclusive-provider-tunnel root data-switch disable bfd track interface GigabitEthernet1/0/1 mpls-te p2mp te-template pt1 # mpls te p2mp-template pt1 bfd enable # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.5.1 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet1/0/1 undo shutdown l2 binding vsi vsi1 # interface GigabitEthernet1/0/2 undo shutdown ip address 10.1.6.1 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface LoopBack1 ip address 2.2.2.2 255.255.255.255 # bgp 100 peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack1 peer 4.4.4.4 as-number 100 peer 4.4.4.4 connect-interface LoopBack1 # l2vpn-ad-family peer 3.3.3.3 enable peer 4.4.4.4 enable # ospf 100 area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 10.1.5.0 0.0.0.255 network 10.1.6.0 0.0.0.255 # return
PE3的配置文件
# sysname PE3 # bfd mpls-passive # mpls lsr-id 3.3.3.3 mpls mpls te mpls rsvp-te mpls te cspf mpls te p2mp-te # mpls l2vpn # vsi vsi1 bgp-ad vpls-id 2:2 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity inclusive-provider-tunnel leaf primary-root 1.1.1.1 track bfd backup-root 2.2.2.2 track bfd # mpls ldp # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.2.2 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet1/0/2 undo shutdown ip address 10.1.6.2 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet1/0/3.1 vlan-type dot1q 10 l2 binding vsi vsi1 # interface LoopBack1 ip address 3.3.3.3 255.255.255.255 # bgp 100 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack1 peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack1 # l2vpn-ad-family peer 1.1.1.1 enable peer 2.2.2.2 enable # ospf 100 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 10.1.2.0 0.0.0.255 network 10.1.6.0 0.0.0.255 # return
PE4的配置文件
# sysname PE4 # bfd mpls-passive # mpls lsr-id 4.4.4.4 mpls mpls te mpls rsvp-te mpls te cspf mpls te p2mp-te # mpls l2vpn # mpls ldp # vsi vsi1 bgp-ad vpls-id 2:2 vpn-target 2:2 import-extcommunity vpn-target 2:2 export-extcommunity inclusive-provider-tunnel leaf primary-root 1.1.1.1 track bfd backup-root 2.2.2.2 track bfd # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.5.2 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet1/0/2 undo shutdown ip address 10.1.3.2 255.255.255.0 mpls mpls te mpls rsvp-te mpls ldp # interface GigabitEthernet1/0/3.1 vlan-type dot1q 10 l2 binding vsi vsi1 # interface LoopBack1 ip address 4.4.4.4 255.255.255.255 # bgp 100 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack1 peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack1 # l2vpn-ad-family peer 1.1.1.1 enable peer 2.2.2.2 enable # ospf 100 area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 10.1.5.0 0.0.0.255 network 10.1.3.0 0.0.0.255 # return