08-H3C_VPLS典型配置举例
本章节下载: 08-H3C_VPLS典型配置举例 (509.65 KB)
H3C VPLS典型配置举例
资料版本:6W100-20190330
产品版本:Release 7577P04
Copyright © 2019 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
目 录
5 全连接模型的VPLS(BGP自动发现LDP信令方式)典型配置举例
7 H-VPLS模型的VPLS(LSP接入方式)典型配置举例
8 H-VPLS模型的VPLS(QinQ接入方式)典型配置举例
VPLS是一种基于L2VPN的技术,在MPLS网络中为VPN建立了类似于传统以太网的广播式传输环境,使VPN用户得到更接近传统以太网的使用感受。
VPLS的典型组网分为两种模型:
· 全连接模型,适用于MPLS网络层次比较简单,PE数量较少的MPLS骨干网。此模型下有三种方式的组网:
¡ LDP方式:采用LDP协议作为信令协议,适用于用户站点数量少且比较固定的情况。
¡ BGP自动发现LDP信令方式:通过BGP协议自动发现远端PE,然后采用LDP协议作为信令协议,适用于用户站点数量多但比较固定的情况。
¡ BGP方式:采用BGP扩展协议作为信令协议,适用于用户站点数量较多且具有扩充需求的情况。
· H-VPLS模型,适用于MPLS网络比较复杂,PE数量较多的MPLS骨干网。该模型采用层次化网络结构,划分UPE和NPE设备,UPE负责用户站点接入以及与最近的NPE间建立连接,而NPE之间进行逻辑全连接,UPE通过NPE与对端站点进行报文交换。此模型下有两种方式的组网:
¡ LSP接入方式:用户报文直接进入LSP隧道进行传输,适用于UPE设备支持VPLS功能的情况。
¡ QinQ接入方式: 用户报文被封装外层VLAN标签后,再进入LSP隧道进行传输,适用于UPE设备不支持VPLS功能的情况。
本文中将根据这两种模型介绍VPLS在设备上的配置举例。
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文档假设您已了解VPLS特性。
如图1所示,某公司有三个位于不同位置的办公地点:公司总部和两个分支机构。该公司要求服务提供商提供二层VPN服务,使三个办公地点实现二层的互联,能够相互共享内部资源。
该公司分支机构较少,且后续不会扩容。为满足用户需求,可通过部署LDP方式的VPLS技术实现三个用户站点之间的二层通信。
图1 配置全连接模型的VPLS组网示意图(LDP方式)
· 在骨干网中部署MPLS服务,使用LSP作为公网隧道。
· 在任意两台PE之间配置并建立LDP方式的PW,实现PW的全互联。
· 在PE设备的下行端口上配置服务实例和相应的匹配规则,用来识别用户网络中需要使用VPLS隧道进行传输的报文。
· 为了实现站点间的VLAN隔离,需要创建VSI实例“user_a”和“user_b”分别于VLAN100和VLAN200的报文绑定。
· 配置PE 1
# 配置环回口地址。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
# 创建VLAN2,并将Ten-GigabitEthernet1/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port ten-gigabitethernet 1/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] quit
# 在PE 1上运行OSPF。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
· 配置PE 2
# 配置环回口地址。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
# 创建VLAN3,并将Ten-GigabitEthernet1/0/1端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port ten-gigabitethernet 1/0/1
[PE2-vlan3] quit
# 创建接口Vlan-interface3。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] quit
# 在PE 2上运行OSPF。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
· 配置PE 3
# 配置环回口地址。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 4.4.4.9 32
[PE3-LoopBack0] quit
# 创建VLAN4,并将Ten-GigabitEthernet1/0/1端口加入VLAN4。
[PE3] vlan 4
[PE3-vlan4] port ten-gigabitethernet 1/0/1
[PE3-vlan4] quit
# 创建接口Vlan-interface4。
[PE3] interface vlan-interface 4
[PE3-Vlan-interface4] ip address 10.1.3.2 24
[PE3-Vlan-interface4] quit
# 在PE 3上运行OSPF。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
· 配置P
# 配置环回口地址。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
# 创建VLAN2,将端口Ten-GigabitEthernet1/0/2加入VLAN2。
[P] vlan 2
[P-vlan2] port ten-gigabitethernet 1/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] quit
# 创建VLAN3,将端口Ten-GigabitEthernet1/0/3加入VLAN3。
[P] vlan 3
[P-vlan3] port ten-gigabitethernet 1/0/3
[P-vlan3] quit
# 配置接口Vlan-interface3。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] quit
# 创建VLAN4,将端口Ten-GigabitEthernet1/0/4加入VLAN4。
[P] vlan 4
[P-vlan4] port ten-gigabitethernet 1/0/4
[P-vlan4] quit
# 配置接口Vlan-interface4。
[P] interface vlan-interface 4
[P-Vlan-interface4] ip address 10.1.3.1 24
[P-Vlan-interface4] quit
# 在P上运行OSPF。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
· 配置PE 1
# 配置LSR ID。
[PE1] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置接口Vlan-interface2使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] mpls enable
[PE1-Vlan-interface2] mpls ldp enable
[PE1-Vlan-interface2] quit
· 配置PE 2
# 配置LSR ID。
[PE2] mpls lsr-id 3.3.3.9
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置接口Vlan-interface3使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] mpls enable
[PE2-Vlan-interface3] mpls ldp enable
[PE2-Vlan-interface3] quit
· 配置PE 3
# 配置LSR ID。
[PE3] mpls lsr-id 4.4.4.9
# 全局使能LDP。
[PE3] mpls ldp
[PE3-ldp] quit
# 配置接口Vlan-interface4使能MPLS和LDP。
[PE3] interface vlan-interface 4
[PE3-Vlan-interface4] mpls enable
[PE3-Vlan-interface4] mpls ldp enable
[PE3-Vlan-interface4] quit
· 配置P
# 配置LSR ID。
[P] mpls lsr-id 2.2.2.9
# 全局使能LDP。
[P] mpls ldp
[P-ldp] quit
# 配置接口Vlan-interface2使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] mpls enable
[P-Vlan-interface2] mpls ldp enable
[P-Vlan-interface2] quit
# 配置接口Vlan-interface3,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] mpls enable
[P-Vlan-interface3] mpls ldp enable
[P-Vlan-interface3] quit
# 配置接口Vlan-interface4,使能MPLS和LDP。
[P] interface vlan-interface 4
[P-Vlan-interface4] mpls enable
[P-Vlan-interface4] mpls ldp enable
[P-Vlan-interface4] quit
· 配置PE 1
# 全局使能MPLS L2VPN。
[PE1] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用LDP信令协议。
[PE1] vsi user_a
[PE1-vsi-user_a] pwsignaling ldp
# 在该VSI实例下配置PE 2和PE 3为远端PE,并指定PW ID为500。
[PE1-vsi-user_a-ldp] peer 3.3.3.9 pw-id 500
[PE1-vsi-user_a-ldp-3.3.3.9-500] quit
[PE1-vsi-user_a-ldp] peer 4.4.4.9 pw-id 500
[PE1-vsi-user_a-ldp-4.4.4.9-500] quit
[PE1-vsi-user_a-ldp] quit
[PE1-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用LDP信令协议。
[PE1] vsi user_b
[PE1-vsi-user_b] pwsignaling ldp
# 在该VSI实例下配置PE 2和PE 3为远端PE,并指定PW ID为600。
[PE1-vsi-user_b-ldp] peer 3.3.3.9 pw-id 600
[PE1-vsi-user_b-ldp-3.3.3.9-600] quit
[PE1-vsi-user_b-ldp] peer 4.4.4.9 pw-id 600
[PE1-vsi-user_b-ldp-4.4.4.9-600] quit
[PE1-vsi-user_b-ldp] quit
[PE1-vsi-user_b] quit
· 配置PE 2
# 全局使能MPLS L2VPN。
[PE2] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用LDP信令协议。
[PE2] vsi user_a
[PE2-vsi-user_a] pwsignaling ldp
# 在该VSI实例下配置PE 1和PE 3为远端PE,并指定PW ID为500。
[PE2-vsi-user_a-ldp] peer 1.1.1.9 pw-id 500
[PE2-vsi-user_a-ldp-1.1.1.9-500] quit
[PE2-vsi-user_a-ldp] peer 4.4.4.9 pw-id 500
[PE2-vsi-user_a-ldp-4.4.4.9-500] quit
[PE2-vsi-user_a-ldp] quit
[PE2-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用LDP信令协议。
[PE2] vsi user_b
[PE2-vsi-user_b] pwsignaling ldp
# 在该VSI实例下配置PE 1和PE 3为远端PE,并指定PW ID为600。
[PE2-vsi-user_b-ldp] peer 1.1.1.9 pw-id 600
[PE2-vsi-user_b-ldp-1.1.1.9-600] quit
[PE2-vsi-user_b-ldp] peer 4.4.4.9 pw-id 600
[PE2-vsi-user_b-ldp-4.4.4.9-600] quit
[PE2-vsi-user_b-ldp] quit
[PE2-vsi-user_b] quit
· 配置PE 3
# 全局使能MPLS L2VPN。
[PE3] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用LDP信令协议。
[PE3] vsi user_a
[PE3-vsi-user_a] pwsignaling ldp
# 在该VSI实例下配置PE 1和PE 2为远端PE,并指定PW ID为500。
[PE3-vsi-user_a-ldp] peer 1.1.1.9 pw-id 500
[PE3-vsi-user_a-ldp-1.1.1.9-500] quit
[PE3-vsi-user_a-ldp] peer 3.3.3.9 pw-id 500
[PE3-vsi-user_a-ldp-3.3.3.9-500] quit
[PE3-vsi-user_a-ldp] quit
[PE3-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用LDP信令协议。
[PE3] vsi user_b
[PE3-vsi-user_b] pwsignaling ldp
# 在该VSI实例下配置PE 1和PE 2为远端PE,并指定PW ID为600。
[PE3-vsi-user_b-ldp] peer 1.1.1.9 pw-id 600
[PE3-vsi-user_b-ldp-1.1.1.9-600] quit
[PE3-vsi-user_b-ldp] peer 3.3.3.9 pw-id 600
[PE3-vsi-user_b-ldp-3.3.3.9-600] quit
[PE3-vsi-user_b-ldp] quit
[PE3-vsi-user_b] quit
· 配置PE 1
# 在接入CE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 100
[PE1-Ten-GigabitEthernet1/0/1-srv100] encapsulation s-vid 100
[PE1-Ten-GigabitEthernet1/0/1-srv100] xconnect vsi user_a
[PE1-Ten-GigabitEthernet1/0/1-srv100] quit
# 在接入CE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE1-Ten-GigabitEthernet1/0/1] service-instance 200
[PE1-Ten-GigabitEthernet1/0/1-srv200] encapsulation s-vid 200
[PE1-Ten-GigabitEthernet1/0/1-srv200] xconnect vsi user_b
[PE1-Ten-GigabitEthernet1/0/1-srv200] quit
[PE1-Ten-GigabitEthernet1/0/1] quit
· 配置PE 2
# 在接入CE 2的端口Ten-GigabitEthernet1/0/2上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE2] interface ten-gigabitethernet 1/0/2
[PE2-Ten-GigabitEthernet1/0/2] service-instance 100
[PE2-Ten-GigabitEthernet1/0/2-srv100] encapsulation s-vid 100
[PE2-Ten-GigabitEthernet1/0/2-srv100] xconnect vsi user_a
[PE2-Ten-GigabitEthernet1/0/2-srv100] quit
# 在接入CE 2的端口Ten-GigabitEthernet1/0/2上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE2-Ten-GigabitEthernet1/0/2] service-instance 200
[PE2-Ten-GigabitEthernet1/0/2-srv200] encapsulation s-vid 200
[PE2-Ten-GigabitEthernet1/0/2-srv200] xconnect vsi user_b
[PE2-Ten-GigabitEthernet1/0/2-srv200] quit
[PE2-Ten-GigabitEthernet1/0/2] quit
· 配置PE 3
# 在接入CE 3的端口Ten-GigabitEthernet1/0/2上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE3] interface ten-gigabitethernet 1/0/2
[PE3-Ten-GigabitEthernet1/0/2] service-instance 100
[PE3-Ten-GigabitEthernet1/0/2-srv100] encapsulation s-vid 100
[PE3-Ten-GigabitEthernet1/0/2-srv100] xconnect vsi user_a
[PE3-Ten-GigabitEthernet1/0/2-srv100] quit
# 在接入CE 3的端口Ten-GigabitEthernet1/0/2上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE3-Ten-GigabitEthernet1/0/2] service-instance 200
[PE3-Ten-GigabitEthernet1/0/2-srv200] encapsulation s-vid 200
[PE3-Ten-GigabitEthernet1/0/2-srv200] xconnect vsi user_b
[PE3-Ten-GigabitEthernet1/0/2-srv200] quit
[PE3-Ten-GigabitEthernet1/0/2] quit
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE 1为例,CE 2和CE 3的配置与CE 1完全相同,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] vlan 200
[CE1-vlan200] quit
[CE1] interface ten-gigabitethernet 1/0/1
[CE1-Ten-GigabitEthernet1/0/1] port link-type trunk
[CE1-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100 200
# 在MPLS网络内各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以PE 1为例。
[PE1] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 4 Ingress LSPs: 3 Transit LSPs: 3 Egress LSPs: 1
FEC In/Out Label Nexthop OutInterface
1.1.1.9/32 3/-
-/1151(L)
-/1151(L)
-/1151(L)
2.2.2.9/32 -/3 10.1.1.2 Vlan2
1151/3 10.1.1.2 Vlan2
-/1150(L)
-/1150(L)
3.3.3.9/32 -/1150 10.1.1.2 Vlan2
1150/1150 10.1.1.2 Vlan2
-/3(L)
-/1149(L)
4.4.4.9/32 -/1149 10.1.1.2 Vlan2
1149/1149 10.1.1.2 Vlan2
-/1149(L)
-/3(L)
# 完成上述配置后,在各个PE上执行display l2vpn pw命令,可以看到建立了PW连接,且状态为up。以PE 1为例。
[PE1] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 4
4 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: user_a
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
3.3.3.9 500 131198/131198 LDP M 64 Up
4.4.4.9 500 131199/1150 LDP M 65 Up
VSI Name: user_b
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
3.3.3.9 600 131196/131196 LDP M 64 Up
4.4.4.9 600 131197/1147 LDP M 65 Up
# 检测相同VLAN内不同站点的主机之间是否可以ping通,如可以ping通,则表示VPLS建立成功。
· PE 1
#
ospf 1
area 0.0.0.0
network 1.1.1.9 0.0.0.0
network 10.1.1.0 0.0.0.255
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 3.3.3.9 pw-id 500
peer 4.4.4.9 pw-id 500
vsi user_b
pwsignaling ldp
peer 3.3.3.9 pw-id 600
peer 4.4.4.9 pw-id 600
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
#
· PE 2
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.9 pw-id 500
peer 4.4.4.9 pw-id 500
#
vsi user_b
pwsignaling ldp
peer 1.1.1.9 pw-id 600
peer 4.4.4.9 pw-id 600
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 3
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
· PE 3
#
ospf 1
area 0.0.0.0
network 10.1.3.0 0.0.0.255
network 4.4.4.9 0.0.0.0
#
mpls lsr-id 4.4.4.9
#
vlan 4
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.9 pw-id 500
peer 3.3.3.9 pw-id 500
#
vsi user_b
pwsignaling ldp
peer 1.1.1.9 pw-id 600
peer 3.3.3.9 pw-id 600
#
interface LoopBack0
ip address 4.4.4.9 255.255.255.255
#
interface Vlan-interface4
ip address 10.1.3.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 4
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
· P
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 10.1.3.0 0.0.0.255
network 2.2.2.9 0.0.0.0
#
mpls lsr-id 2.2.2.9
#
vlan 2 to 4
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface3
ip address 10.1.2.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface4
ip address 10.1.3.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
port access vlan 3
#
interface Ten-GigabitEthernet1/0/4
port link-mode bridge
port access vlan 4
#
· CE 1~CE 3
#
vlan 100
#
vlan 200
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100 200
#
如图2所示,某公司有多个位于不同位置的办公地点:公司总部和n个分支机构。该公司要求服务提供商提供二层VPN服务,使所有的办公地点实现二层的互联,能够相互共享内部资源。
该公司分支机构较多,但后续不会扩容。为满足用户需求且减少配置及维护工作量,可通过部署BGP自动发现LDP信令方式的VPLS技术实现所有用户站点之间的二层通信。
图2 配置全连接模型的VPLS组网示意图(BGP自动发现LDP信令方式)
· 在骨干网中部署MPLS服务,使用LSP作为公网隧道。
· 在任意两台PE之间配置并建立BGP发现LDP信令方式的PW,实现PW的全互联。
· 在PE设备的下行端口上配置服务实例和相应的匹配规则,用来识别用户网络中需要使用VPLS隧道进行传输的报文。
· 为了实现站点间的VLAN隔离,需要创建VSI实例“user_a”和“user_b”分别于VLAN100和VLAN200的报文绑定。
· 配置PE 1
# 配置环回口地址。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
# 创建VLAN2,并将Ten-GigabitEthernet1/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port ten-gigabitethernet 1/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] quit
# 在PE 1上运行OSPF。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
· 配置PE 2
# 配置环回口地址。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
# 创建VLAN3,并将Ten-GigabitEthernet1/0/1端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port ten-gigabitethernet 1/0/1
[PE2-vlan3] quit
# 创建接口Vlan-interface3。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] quit
# 在PE 2上运行OSPF。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
· 配置PE 3
# 配置环回口地址。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 4.4.4.9 32
[PE3-LoopBack0] quit
# 创建VLAN4,并将Ten-GigabitEthernet1/0/1端口加入VLAN4。
[PE3] vlan 4
[PE3-vlan4] port ten-gigabitethernet 1/0/1
[PE3-vlan4] quit
# 创建接口Vlan-interface4。
[PE3] interface vlan-interface 4
[PE3-Vlan-interface4] ip address 10.1.3.2 24
[PE3-Vlan-interface4] quit
# 在PE 3上运行OSPF。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
· 配置P
# 配置环回口地址。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
# 创建VLAN2,将端口Ten-GigabitEthernet1/0/2加入VLAN2。
[P] vlan 2
[P-vlan2] port ten-gigabitethernet 1/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] quit
# 创建VLAN3,将端口Ten-GigabitEthernet1/0/3加入VLAN3。
[P] vlan 3
[P-vlan3] port ten-gigabitethernet 1/0/3
[P-vlan3] quit
# 配置接口Vlan-interface3。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] quit
# 创建VLAN4,将端口Ten-GigabitEthernet1/0/4加入VLAN4。
[P] vlan 4
[P-vlan4] port ten-gigabitethernet 1/0/4
[P-vlan4] quit
# 配置接口Vlan-interface4。
[P] interface vlan-interface 4
[P-Vlan-interface4] ip address 10.1.3.1 24
[P-Vlan-interface4] quit
# 在P上运行OSPF。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
· 配置PE 1
# 配置LSR ID。
[PE1] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置接口Vlan-interface2使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] mpls enable
[PE1-Vlan-interface2] mpls ldp enable
[PE1-Vlan-interface2] quit
· 配置PE 2
# 配置LSR ID。
[PE2] mpls lsr-id 3.3.3.9
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置接口Vlan-interface3使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] mpls enable
[PE2-Vlan-interface3] mpls ldp enable
[PE2-Vlan-interface3] quit
· 配置PE 3
# 配置LSR ID。
[PE3] mpls lsr-id 4.4.4.9
# 全局使能LDP。
[PE3] mpls ldp
[PE3-ldp] quit
# 配置接口Vlan-interface4使能MPLS和LDP。
[PE3] interface vlan-interface 4
[PE3-Vlan-interface4] mpls enable
[PE3-Vlan-interface4] mpls ldp enable
[PE3-Vlan-interface4] quit
· 配置P
# 配置LSR ID。
[P] mpls lsr-id 2.2.2.9
# 全局使能LDP。
[P] mpls ldp
[P-ldp] quit
# 配置接口Vlan-interface2使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] mpls enable
[P-Vlan-interface2] mpls ldp enable
[P-Vlan-interface2] quit
# 配置接口Vlan-interface3,使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] mpls enable
[P-Vlan-interface3] mpls ldp enable
[P-Vlan-interface3] quit
# 配置接口Vlan-interface4,使能MPLS和LDP。
[P] interface vlan-interface 4
[P-Vlan-interface4] mpls enable
[P-Vlan-interface4] mpls ldp enable
[P-Vlan-interface4] quit
· 配置PE 1
# 与PE 2、PE 3分别建立IBGP连接。
[PE1] bgp 100
[PE1-bgp] peer 3.3.3.9 as-number 100
[PE1-bgp] peer 3.3.3.9 connect-interface loopback 0
[PE1-bgp] peer 4.4.4.9 as-number 100
[PE1-bgp] peer 4.4.4.9 connect-interface loopback 0
# 使能在PE之间交换BGP L2VPN信息的能力。
[PE1-bgp] address-family l2vpn
[PE1-bgp-l2vpn] peer 3.3.3.9 enable
[PE1-bgp-l2vpn] peer 4.4.4.9 enable
[PE1-bgp-l2vpn] quit
[PE1-bgp] quit
# 全局使能MPLS L2VPN。
[PE1] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用BGP方式自动发现邻居。
[PE1] vsi user_a
[PE1-vsi-user_a] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE1-vsi-user_a-auto] route-distinguisher 100:1
[PE1-vsi-user_a-auto] vpn-target 111:1
# 配置通过BGP自动发现远端PE后,采用LDP信令协议与该PE建立PW。
[PE1-vsi-user_a-auto] signaling-protocol ldp
# 配置该VSI实例的VPLS ID为100:100。
[PE1-vsi-user_a-auto-ldp] vpls-id 100:100
[PE1-vsi-user_a-auto-ldp] quit
[PE1-vsi-user_a-auto] quit
[PE1-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用BGP方式自动发现邻居。
[PE1] vsi user_b
[PE1-vsi-user_b] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE1-vsi-user_b-auto] route-distinguisher 200:1
[PE1-vsi-user_b-auto] vpn-target 222:1
# 配置通过BGP自动发现远端PE后,采用LDP信令协议与该PE建立PW。
[PE1-vsi-user_b-auto] signaling-protocol ldp
# 配置该VSI实例的VPLS ID为200:200。
[PE1-vsi-user_b-auto-ldp] vpls-id 200:200
[PE1-vsi-user_b-auto-ldp] quit
[PE1-vsi-user_b-auto] quit
[PE1-vsi-user_b] quit
· 配置PE 2
# 与PE 1、PE 3分别建立IBGP连接。
[PE2] bgp 100
[PE2-bgp] peer 1.1.1.9 as-number 100
[PE2-bgp] peer 1.1.1.9 connect-interface loopback 0
[PE2-bgp] peer 4.4.4.9 as-number 100
[PE2-bgp] peer 4.4.4.9 connect-interface loopback 0
# 使能在PE之间交换BGP L2VPN信息的能力。
[PE2-bgp] address-family l2vpn
[PE2-bgp-l2vpn] peer 1.1.1.9 enable
[PE2-bgp-l2vpn] peer 4.4.4.9 enable
[PE2-bgp-l2vpn] quit
[PE2-bgp] quit
# 全局使能MPLS L2VPN。
[PE2] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用BGP方式自动发现邻居。
[PE2] vsi user_a
[PE2-vsi-user_a] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE2-vsi-user_a-auto] route-distinguisher 100:1
[PE2-vsi-user_a-auto] vpn-target 111:1
# 配置通过BGP自动发现远端PE后,采用LDP信令协议与该PE建立PW。
[PE2-vsi-user_a-auto] signaling-protocol ldp
# 配置该VSI实例的VPLS ID为100:100。
[PE2-vsi-user_a-auto-ldp] vpls-id 100:100
[PE2-vsi-user_a-auto-ldp] quit
[PE2-vsi-user_a-auto] quit
[PE2-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用BGP方式自动发现邻居。
[PE2] vsi user_b
[PE2-vsi-user_b] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE2-vsi-user_b-auto] route-distinguisher 200:1
[PE2-vsi-user_b-auto] vpn-target 222:1
# 配置通过BGP自动发现远端PE后,采用LDP信令协议与该PE建立PW。
[PE2-vsi-user_b-auto] signaling-protocol ldp
# 配置该VSI实例的VPLS ID为200:200。
[PE2-vsi-user_b-auto-ldp] vpls-id 200:200
[PE2-vsi-user_b-auto-ldp] quit
[PE2-vsi-user_b-auto] quit
[PE2-vsi-user_b] quit
· 配置PE 3
# 与PE 1、PE 2分别建立IBGP连接。
[PE3] bgp 100
[PE3-bgp] peer 1.1.1.9 as-number 100
[PE3-bgp] peer 1.1.1.9 connect-interface loopback 0
[PE3-bgp] peer 3.3.3.9 as-number 100
[PE3-bgp] peer 3.3.3.9 connect-interface loopback 0
# 使能在PE之间交换BGP L2VPN信息的能力。
[PE3-bgp] address-family l2vpn
[PE3-bgp-l2vpn] peer 1.1.1.9 enable
[PE3-bgp-l2vpn] peer 3.3.3.9 enable
[PE3-bgp-l2vpn] quit
[PE3-bgp] quit
# 全局使能MPLS L2VPN。
[PE3] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用BGP方式自动发现邻居。
[PE3] vsi user_a
[PE3-vsi-user_a] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE3-vsi-user_a-auto] route-distinguisher 100:1
[PE3-vsi-user_a-auto] vpn-target 111:1
# 配置通过BGP自动发现远端PE后,采用LDP信令协议与该PE建立PW。
[PE3-vsi-user_a-auto] signaling-protocol ldp
# 配置该VSI实例的VPLS ID为100:100。
[PE3-vsi-user_a-auto-ldp] vpls-id 100:100
[PE3-vsi-user_a-auto-ldp] quit
[PE3-vsi-user_a-auto] quit
[PE3-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用BGP方式自动发现邻居。
[PE3] vsi user_b
[PE3-vsi-user_b] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE3-vsi-user_b-auto] route-distinguisher 200:1
[PE3-vsi-user_b-auto] vpn-target 222:1
# 配置通过BGP自动发现远端PE后,采用LDP信令协议与该PE建立PW。
[PE3-vsi-user_b-auto] signaling-protocol ldp
# 配置该VSI实例的VPLS ID为200:200。
[PE3-vsi-user_b-auto-ldp] vpls-id 200:200
[PE3-vsi-user_b-auto-ldp] quit
[PE3-vsi-user_b-auto] quit
[PE3-vsi-user_b] quit
· 配置PE 1
# 在接入CE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 100
[PE1-Ten-GigabitEthernet1/0/1-srv100] encapsulation s-vid 100
[PE1-Ten-GigabitEthernet1/0/1-srv100] xconnect vsi user_a
[PE1-Ten-GigabitEthernet1/0/1-srv100] quit
# 在接入CE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE1-Ten-GigabitEthernet1/0/1] service-instance 200
[PE1-Ten-GigabitEthernet1/0/1-srv200] encapsulation s-vid 200
[PE1-Ten-GigabitEthernet1/0/1-srv200] xconnect vsi user_b
[PE1-Ten-GigabitEthernet1/0/1-srv200] quit
[PE1-Ten-GigabitEthernet1/0/1] quit
· 配置PE 2
# 在接入CE 2的端口Ten-GigabitEthernet1/0/2上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE2] interface ten-gigabitethernet 1/0/2
[PE2-Ten-GigabitEthernet1/0/2] service-instance 100
[PE2-Ten-GigabitEthernet1/0/2-srv100] encapsulation s-vid 100
[PE2-Ten-GigabitEthernet1/0/2-srv100] xconnect vsi user_a
[PE2-Ten-GigabitEthernet1/0/2-srv100] quit
# 在接入CE 2的端口Ten-GigabitEthernet1/0/2上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE2-Ten-GigabitEthernet1/0/2] service-instance 200
[PE2-Ten-GigabitEthernet1/0/2-srv200] encapsulation s-vid 200
[PE2-Ten-GigabitEthernet1/0/2-srv200] xconnect vsi user_b
[PE2-Ten-GigabitEthernet1/0/2-srv200] quit
[PE2-Ten-GigabitEthernet1/0/2] quit
· 配置PE 3
# 在接入CE 3的端口Ten-GigabitEthernet1/0/2上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE3] interface ten-gigabitethernet 1/0/2
[PE3-Ten-GigabitEthernet1/0/2] service-instance 100
[PE3-Ten-GigabitEthernet1/0/2-srv100] encapsulation s-vid 100
[PE3-Ten-GigabitEthernet1/0/2-srv100] xconnect vsi user_a
[PE3-Ten-GigabitEthernet1/0/2-srv100] quit
# 在接入CE 3的端口Ten-GigabitEthernet1/0/2上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE3-Ten-GigabitEthernet1/0/2] service-instance 200
[PE3-Ten-GigabitEthernet1/0/2-srv200] encapsulation s-vid 200
[PE3-Ten-GigabitEthernet1/0/2-srv200] xconnect vsi user_b
[PE3-Ten-GigabitEthernet1/0/2-srv200] quit
[PE3-Ten-GigabitEthernet1/0/2] quit
# 接入其它CE的端口上的配置与Ten-GigabitEthernet1/0/2上的配置类似,这里不再赘述。
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE 1为例,其它CE的配置与CE 1完全相同,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] vlan 200
[CE1-vlan200] quit
[CE1] interface ten-gigabitethernet 1/0/1
[CE1-Ten-GigabitEthernet1/0/1] port link-type trunk
[CE1-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100 200
# 在MPLS网络内各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以PE 1为例。
[PE1] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 4 Ingress LSPs: 3 Transit LSPs: 3 Egress LSPs: 1
FEC In/Out Label Nexthop OutInterface
1.1.1.9/32 3/-
-/1148(L)
-/1151(L)
-/1151(L)
2.2.2.9/32 -/3 10.1.1.2 Vlan2
1151/3 10.1.1.2 Vlan2
-/1150(L)
-/1150(L)
3.3.3.9/32 -/1146 10.1.1.2 Vlan2
1149/1146 10.1.1.2 Vlan2
-/1149(L)
-/3(L)
4.4.4.9/32 -/1147 10.1.1.2 Vlan2
1150/1147 10.1.1.2 Vlan2
-/3(L)
-/1149(L)
# 完成上述配置后,在各个PE上执行display l2vpn pw命令,可以看到建立了PW连接,且状态为up。以PE 1为例。
[PE1] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 4
4 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: user_a
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
3.3.3.9 - 131195/131195 LDP M 64 Up
4.4.4.9 - 131194/1145 LDP M 65 Up
VSI Name: user_b
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
4.4.4.9 - 131193/1143 LDP M 64 Up
3.3.3.9 - 131192/131192 LDP M 65 Up
# 检测相同VLAN内不同站点的主机之间是否可以ping通,如可以ping通,则表示VPLS建立成功。
· PE 1
#
ospf 1
area 0.0.0.0
network 1.1.1.9 0.0.0.0
network 10.1.1.0 0.0.0.255
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
mpls ldp
#
l2vpn enable
#
vsi user_a
auto-discovery bgp
route-distinguisher 100:1
vpn-target 111:1 export-extcommunity
vpn-target 111:1 import-extcommunity
signaling-protocol ldp
vpls-id 100:100
#
vsi user_b
auto-discovery bgp
route-distinguisher 200:1
vpn-target 222:1 export-extcommunity
vpn-target 222:1 import-extcommunity
signaling-protocol ldp
vpls-id 200:200
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
#
bgp 100
peer 3.3.3.9 as-number 100
peer 3.3.3.9 connect-interface LoopBack0
peer 4.4.4.9 as-number 100
peer 4.4.4.9 connect-interface LoopBack0
#
address-family l2vpn
peer 3.3.3.9 enable
peer 4.4.4.9 enable
#
· PE 2
#
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
mpls ldp
#
l2vpn enable
#
vsi user_a
auto-discovery bgp
route-distinguisher 100:1
vpn-target 111:1 export-extcommunity
vpn-target 111:1 import-extcommunity
signaling-protocol ldp
vpls-id 100:100
#
vsi user_b
auto-discovery bgp
route-distinguisher 200:1
vpn-target 222:1 export-extcommunity
vpn-target 222:1 import-extcommunity
signaling-protocol ldp
vpls-id 200:200
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 3
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
bgp 100
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack0
peer 4.4.4.9 as-number 100
peer 4.4.4.9 connect-interface LoopBack0
#
address-family l2vpn
peer 1.1.1.9 enable
peer 4.4.4.9 enable
#
· PE 3
#
ospf 1
area 0.0.0.0
network 10.1.3.0 0.0.0.255
network 4.4.4.9 0.0.0.0
#
mpls lsr-id 4.4.4.9
#
vlan 4
#
mpls ldp
#
l2vpn enable
#
vsi user_a
auto-discovery bgp
route-distinguisher 100:1
vpn-target 111:1 export-extcommunity
vpn-target 111:1 import-extcommunity
signaling-protocol ldp
vpls-id 100:100
#
vsi user_b
auto-discovery bgp
route-distinguisher 200:1
vpn-target 222:1 export-extcommunity
vpn-target 222:1 import-extcommunity
signaling-protocol ldp
vpls-id 200:200
#
interface LoopBack0
ip address 4.4.4.9 255.255.255.255
#
interface Vlan-interface4
ip address 10.1.3.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 4
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
bgp 100
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack0
peer 3.3.3.9 as-number 100
peer 3.3.3.9 connect-interface LoopBack0
#
address-family l2vpn
peer 1.1.1.9 enable
peer 3.3.3.9 enable
#
· P
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 10.1.3.0 0.0.0.255
network 2.2.2.9 0.0.0.0
#
mpls lsr-id 2.2.2.9
#
vlan 2 to 4
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface3
ip address 10.1.2.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface4
ip address 10.1.3.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
port access vlan 3
#
interface Ten-GigabitEthernet1/0/4
port link-mode bridge
port access vlan 4
#
· CE 1~CE n
#
vlan 100
#
vlan 200
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100 200
#
如图3所示,某公司正在搭建数据中心,目前已搭建了10个数据中心且分别位于不同的地理位置,后续还会计划增加15个数据中心。该公司要求服务提供商提供二层VPN的服务,使所有的数据中心能够实现二层互联,共享数据资源。
该公司的数据中心站点较多,且有大规模扩容的需求,为满足用户需求,需要部署BGP方式的VPLS服务。
图3 配置全连接模型的VPLS组网示意图(BGP方式)
· 在骨干网中部署MPLS服务,使用LSP作为公网隧道。
· 在PE设备上部署BGP方式的VPLS服务,通过配置标签块满足扩容需求。
· 为了实现站点间的VLAN隔离,需要创建VSI实例“user_a”和“user_b”分别于VLAN100和VLAN200的报文绑定。
· 配置PE 1
# 配置环回口地址。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.9 32
[PE1-LoopBack0] quit
# 创建VLAN2,并将Ten-GigabitEthernet1/0/2端口加入VLAN2。
[PE1] vlan 2
[PE1-vlan2] port ten-gigabitethernet 1/0/2
[PE1-vlan2] quit
# 创建接口Vlan-interface2。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.1.1.1 24
[PE1-Vlan-interface2] quit
# 在PE 1上运行OSPF。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
· 配置PE 2
# 配置环回口地址。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.9 32
[PE2-LoopBack0] quit
# 创建VLAN3,并将Ten-GigabitEthernet1/0/1端口加入VLAN3。
[PE2] vlan 3
[PE2-vlan3] port ten-gigabitethernet 1/0/1
[PE2-vlan3] quit
# 创建接口Vlan-interface3。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip address 10.1.2.2 24
[PE2-Vlan-interface3] quit
# 在PE 2上运行OSPF。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
· 配置PE 3
# 配置环回口地址。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 4.4.4.9 32
[PE3-LoopBack0] quit
# 创建VLAN4,并将Ten-GigabitEthernet1/0/1端口加入VLAN4。
[PE3] vlan 4
[PE3-vlan4] port ten-gigabitethernet 1/0/1
[PE3-vlan4] quit
# 创建接口Vlan-interface4。
[PE3] interface vlan-interface 4
[PE3-Vlan-interface4] ip address 10.1.3.2 24
[PE3-Vlan-interface4] quit
# 在PE 3上运行OSPF。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
· 配置P
# 配置环回口地址。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 2.2.2.9 32
[P-LoopBack0] quit
# 创建VLAN2,将端口Ten-GigabitEthernet1/0/2加入VLAN2。
[P] vlan 2
[P-vlan2] port ten-gigabitethernet 1/0/2
[P-vlan2] quit
# 配置接口Vlan-interface2。
[P] interface vlan-interface 2
[P-Vlan-interface2] ip address 10.1.1.2 24
[P-Vlan-interface2] quit
# 创建VLAN3,将端口Ten-GigabitEthernet1/0/3加入VLAN3。
[P] vlan 3
[P-vlan3] port ten-gigabitethernet 1/0/3
[P-vlan3] quit
# 配置接口Vlan-interface3。
[P] interface vlan-interface 3
[P-Vlan-interface3] ip address 10.1.2.1 24
[P-Vlan-interface3] quit
# 创建VLAN4,将端口Ten-GigabitEthernet1/0/4加入VLAN4。
[P] vlan 4
[P-vlan4] port ten-gigabitethernet 1/0/4
[P-vlan4] quit
# 配置接口Vlan-interface4。
[P] interface vlan-interface 4
[P-Vlan-interface4] ip address 10.1.3.1 24
[P-Vlan-interface4] quit
# 在P上运行OSPF。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
· 配置PE 1
# 配置LSR ID。
[PE1] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置接口Vlan-interface2使能MPLS和LDP。
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] mpls enable
[PE1-Vlan-interface2] mpls ldp enable
[PE1-Vlan-interface2] quit
· 配置PE 2
# 配置LSR ID。
[PE2] mpls lsr-id 3.3.3.9
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置接口Vlan-interface3使能MPLS和LDP。
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] mpls enable
[PE2-Vlan-interface3] mpls ldp enable
[PE2-Vlan-interface3] quit
· 配置PE 3
# 配置LSR ID。
[PE3] mpls lsr-id 4.4.4.9
# 全局使能LDP。
[PE3] mpls ldp
[PE3-ldp] quit
# 配置接口Vlan-interface4使能MPLS和LDP。
[PE3] interface vlan-interface 4
[PE3-Vlan-interface4] mpls enable
[PE3-Vlan-interface4] mpls ldp enable
[PE3-Vlan-interface4] quit
· 配置P
# 配置LSR ID。
[P] mpls lsr-id 2.2.2.9
# 全局使能LDP。
[P] mpls ldp
[P-ldp] quit
# 配置接口Vlan-interface2使能MPLS和LDP。
[P] interface vlan-interface 2
[P-Vlan-interface2] mpls enable
[P-Vlan-interface2] mpls ldp enable
[P-Vlan-interface2] quit
# 配置接口Vlan-interface3使能MPLS和LDP。
[P] interface vlan-interface 3
[P-Vlan-interface3] mpls enable
[P-Vlan-interface3] mpls ldp enable
[P-Vlan-interface3] quit
# 配置接口Vlan-interface4使能MPLS和LDP。
[P] interface vlan-interface 4
[P-Vlan-interface4] mpls enable
[P-Vlan-interface4] mpls ldp enable
[P-Vlan-interface4] quit
· 配置PE 1
# 与PE 2、PE 3分别建立IBGP连接。
[PE1] bgp 100
[PE1-bgp] peer 3.3.3.9 as-number 100
[PE1-bgp] peer 3.3.3.9 connect-interface loopback 0
[PE1-bgp] peer 4.4.4.9 as-number 100
[PE1-bgp] peer 4.4.4.9 connect-interface loopback 0
# 使能在PE之间交换BGP L2VPN信息的能力。
[PE1-bgp] address-family l2vpn
[PE1-bgp-l2vpn] peer 3.3.3.9 enable
[PE1-bgp-l2vpn] peer 4.4.4.9 enable
[PE1-bgp-l2vpn] quit
[PE1-bgp] quit
# 全局使能MPLS L2VPN。
[PE1] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用BGP方式自动发现邻居。
[PE1] vsi user_a
[PE1-vsi-user_a] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE1-vsi-user_a-auto] route-distinguisher 100:1
[PE1-vsi-user_a-auto] vpn-target 111:1
# 配置通过BGP自动发现远端PE后,采用BGP信令协议与该PE建立PW。
[PE1-vsi-user_a-auto] signaling-protocol bgp
# 配置PE 1在该实例中的站点编号(以1为例),以及在该实例中能够建立连接的PE数量(目前网络中有10个站点且后续计划再增加15个站点,这里取值应为25)。
[PE1-vsi-user_a-auto-bgp] site 1 range 25
[PE1-vsi-user_a-auto-bgp] quit
[PE1-vsi-user_a-auto] quit
[PE1-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用BGP方式自动发现邻居。
[PE1] vsi user_b
[PE1-vsi-user_b] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE1-vsi-user_b-auto] route-distinguisher 200:1
[PE1-vsi-user_b-auto] vpn-target 222:1
# 配置通过BGP自动发现远端PE后,采用BGP信令协议与该PE建立PW。
[PE1-vsi-user_b-auto] signaling-protocol bgp
# 配置PE 1在该实例中的站点编号(以1为例),以及在该实例中能够建立连接的PE数量(目前网络中有10个站点且后续计划再增加15个站点,这里取值应为25)。
[PE1-vsi-user_b-auto-bgp] site 1 range 25
[PE1-vsi-user_b-auto-bgp] quit
[PE1-vsi-user_b-auto] quit
[PE1-vsi-user_b] quit
· 配置PE 2
# 与PE 1、PE 3分别建立IBGP连接。
[PE2] bgp 100
[PE2-bgp] peer 1.1.1.9 as-number 100
[PE2-bgp] peer 1.1.1.9 connect-interface loopback 0
[PE2-bgp] peer 4.4.4.9 as-number 100
[PE2-bgp] peer 4.4.4.9 connect-interface loopback 0
# 使能在PE之间交换BGP L2VPN信息的能力。
[PE2-bgp] address-family l2vpn
[PE2-bgp-l2vpn] peer 1.1.1.9 enable
[PE2-bgp-l2vpn] peer 4.4.4.9 enable
[PE2-bgp-l2vpn] quit
[PE2-bgp] quit
# 全局使能MPLS L2VPN。
[PE2] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用BGP方式自动发现邻居。
[PE2] vsi user_a
[PE2-vsi-user_a] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE2-vsi-user_a-auto] route-distinguisher 100:1
[PE2-vsi-user_a-auto] vpn-target 111:1
# 配置通过BGP自动发现远端PE后,采用BGP信令协议与该PE建立PW。
[PE2-vsi-user_a-auto] signaling-protocol bgp
# 配置PE 2在该实例中的站点编号(以2为例),以及在该实例中能够建立连接的PE数量(目前网络中有10个站点且后续计划再增加15个站点,这里取值应为25)。
[PE2-vsi-user_a-auto-bgp] site 2 range 25
[PE2-vsi-user_a-auto-bgp] quit
[PE2-vsi-user_a-auto] quit
[PE2-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用BGP方式自动发现邻居。
[PE2] vsi user_b
[PE2-vsi-user_b] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE2-vsi-user_b-auto] route-distinguisher 200:1
[PE2-vsi-user_b-auto] vpn-target 222:1
# 配置通过BGP自动发现远端PE后,采用BGP信令协议与该PE建立PW。
[PE2-vsi-user_b-auto] signaling-protocol bgp
# 配置PE 2在该实例中的站点编号(以2为例),以及在该实例中能够建立连接的PE数量(目前网络中有10个站点且后续计划再增加15个站点,这里取值应为25)。
[PE2-vsi-user_b-auto-bgp] site 2 range 25
[PE2-vsi-user_b-auto-bgp] quit
[PE2-vsi-user_b-auto] quit
[PE2-vsi-user_b] quit
· 配置PE 3
# 与PE 1、PE 2分别建立IBGP连接。
[PE3] bgp 100
[PE3-bgp] peer 1.1.1.9 as-number 100
[PE3-bgp] peer 1.1.1.9 connect-interface loopback 0
[PE3-bgp] peer 3.3.3.9 as-number 100
[PE3-bgp] peer 3.3.3.9 connect-interface loopback 0
# 使能在PE之间交换BGP L2VPN信息的能力。
[PE3-bgp] address-family l2vpn
[PE3-bgp-l2vpn] peer 1.1.1.9 enable
[PE3-bgp-l2vpn] peer 3.3.3.9 enable
[PE3-bgp-l2vpn] quit
[PE3-bgp] quit
# 全局使能MPLS L2VPN。
[PE3] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例采用BGP方式自动发现邻居。
[PE3] vsi user_a
[PE3-vsi-user_a] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE3-vsi-user_a-auto] route-distinguisher 100:1
[PE3-vsi-user_a-auto] vpn-target 111:1
# 配置通过BGP自动发现远端PE后,采用BGP信令协议与该PE建立PW。
[PE3-vsi-user_a-auto] signaling-protocol bgp
# 配置PE 3在该实例中的站点编号(以3为例),以及在该实例中能够建立连接的PE数量(目前网络中有10个站点且后续计划再增加15个站点,这里取值应为25)。
[PE3-vsi-user_a-auto-bgp] site 3 range 25
[PE3-vsi-user_a-auto-bgp] quit
[PE3-vsi-user_a-auto] quit
[PE3-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例采用BGP方式自动发现邻居。
[PE3] vsi user_b
[PE3-vsi-user_b] auto-discovery bgp
# 配置该VSI实例的RD和Route Target属性,用以区分其它VSI实例。
[PE3-vsi-user_b-auto] route-distinguisher 200:1
[PE3-vsi-user_b-auto] vpn-target 222:1
# 配置通过BGP自动发现远端PE后,采用BGP信令协议与该PE建立PW。
[PE3-vsi-user_b-auto] signaling-protocol bgp
# 配置PE 3在该实例中的站点编号(以3为例),以及在该实例中能够建立连接的PE数量(目前网络中有10个站点且后续计划再增加15个站点,这里取值应为25)。
[PE3-vsi-user_b-auto-bgp] site 3 range 25
[PE3-vsi-user_b-auto-bgp] quit
[PE3-vsi-user_b-auto] quit
[PE3-vsi-user_b] quit
· 配置PE 1
# 在接入CE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 100
[PE1-Ten-GigabitEthernet1/0/1-srv100] encapsulation s-vid 100
[PE1-Ten-GigabitEthernet1/0/1-srv100] xconnect vsi user_a
[PE1-Ten-GigabitEthernet1/0/1-srv100] quit
# 在接入CE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE1-Ten-GigabitEthernet1/0/1] service-instance 200
[PE1-Ten-GigabitEthernet1/0/1-srv200] encapsulation s-vid 200
[PE1-Ten-GigabitEthernet1/0/1-srv200] xconnect vsi user_b
[PE1-Ten-GigabitEthernet1/0/1-srv200] quit
[PE1-Ten-GigabitEthernet1/0/1] quit
· 配置PE 2
# 在接入CE 2的端口Ten-GigabitEthernet1/0/2上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE2] interface ten-gigabitethernet 1/0/2
[PE2-Ten-GigabitEthernet1/0/2] service-instance 100
[PE2-Ten-GigabitEthernet1/0/2-srv100] encapsulation s-vid 100
[PE2-Ten-GigabitEthernet1/0/2-srv100] xconnect vsi user_a
[PE2-Ten-GigabitEthernet1/0/2-srv100] quit
# 在接入CE 2的端口Ten-GigabitEthernet1/0/2上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE2-Ten-GigabitEthernet1/0/2] service-instance 200
[PE2-Ten-GigabitEthernet1/0/2-srv200] encapsulation s-vid 200
[PE2-Ten-GigabitEthernet1/0/2-srv200] xconnect vsi user_b
[PE2-Ten-GigabitEthernet1/0/2-srv200] quit
[PE2-Ten-GigabitEthernet1/0/2] quit
· 配置PE 3
# 在接入CE 3的端口Ten-GigabitEthernet1/0/2上创建服务实例100,匹配用户网络中VLAN100的报文,并将其与VSI实例“user_a”进行绑定。
[PE3] interface ten-gigabitethernet 1/0/2
[PE3-Ten-GigabitEthernet1/0/2] service-instance 100
[PE3-Ten-GigabitEthernet1/0/2-srv100] encapsulation s-vid 100
[PE3-Ten-GigabitEthernet1/0/2-srv100] xconnect vsi user_a
[PE3-Ten-GigabitEthernet1/0/2-srv100] quit
# 在接入CE 3的端口Ten-GigabitEthernet1/0/2上创建服务实例200,匹配用户网络中VLAN200的报文,并将其与VSI实例“user_b”进行绑定。
[PE3-Ten-GigabitEthernet1/0/2] service-instance 200
[PE3-Ten-GigabitEthernet1/0/2-srv200] encapsulation s-vid 200
[PE3-Ten-GigabitEthernet1/0/2-srv200] xconnect vsi user_b
[PE3-Ten-GigabitEthernet1/0/2-srv200] quit
[PE3-Ten-GigabitEthernet1/0/2] quit
# 接入其它CE的端口上的配置与Ten-GigabitEthernet1/0/2上的配置类似,这里不再赘述。
# 对于各个CE来说,只要配置上行到PE的端口允许本站点内的报文携带Tag通过即可,这里以CE 1为例,其它CE的配置与CE 1完全相同,这里不再赘述。
<CE1> system-view
[CE1] vlan 100
[CE1-vlan100] quit
[CE1] vlan 200
[CE1-vlan200] quit
[CE1] interface ten-gigabitethernet 1/0/1
[CE1-Ten-GigabitEthernet1/0/1] port link-type trunk
[CE1-Ten-GigabitEthernet1/0/1] port trunk permit vlan 100 200
# 在MPLS网络内各设备上执行display mpls ldp lsp命令,可以看到LDP LSP的建立情况。以PE 1为例。
[PE1] display mpls ldp lsp
Status Flags: * - stale, L - liberal
Statistics:
FECs: 4 Ingress LSPs: 3 Transit LSPs: 3 Egress LSPs: 1
FEC In/Out Label Nexthop OutInterface
1.1.1.9/32 3/-
-/1151(L)
2.2.2.9/32 -/3 10.1.1.2 Vlan2
1151/3 10.1.1.2 Vlan2
3.3.3.9/32 -/1150 10.1.1.2 Vlan2
1150/1150 10.1.1.2 Vlan2
4.4.4.9/32 -/1149 10.1.1.2 Vlan2
1149/1149 10.1.1.2 Vlan2
# 完成上述配置后,在各个PE上执行display l2vpn pw命令,可以看到建立了PW连接,且状态为up。以PE 1为例。
[PE1] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 2, 2 up, 0 blocked, 0 down, 0 defect
VSI Name: user_a
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
3.3.3.9 2 131074/131073 BGP M 257 Up
4.4.4.9 3 131075/131073 BGP M 258 Up
VSI Name: user_b
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
3.3.3.9 2 131071/131070 BGP M 257 Up
4.4.4.9 3 131072/131070 BGP M 258 Up
# 检测相同VLAN内不同站点的主机之间是否可以ping通,如可以ping通,则表示VPLS建立成功。
· PE 1
#
ospf 1
area 0.0.0.0
network 1.1.1.9 0.0.0.0
network 10.1.1.0 0.0.0.255
#
mpls lsr-id 1.1.1.9
#
vlan 2
#
mpls ldp
#
l2vpn enable
#
vsi user_a
auto-discovery bgp
route-distinguisher 100:1
vpn-target 111:1 export-extcommunity
vpn-target 111:1 import-extcommunity
signaling-protocol bgp
site 1 range 25 default-offset 0
#
vsi user_b
auto-discovery bgp
route-distinguisher 200:1
vpn-target 222:1 export-extcommunity
vpn-target 222:1 import-extcommunity
signaling-protocol bgp
site 1 range 25 default-offset 0
#
interface LoopBack0
ip address 1.1.1.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
#
bgp 100
peer 3.3.3.9 as-number 100
peer 3.3.3.9 connect-interface LoopBack0
peer 4.4.4.9 as-number 100
peer 4.4.4.9 connect-interface LoopBack0
#
address-family l2vpn
peer 3.3.3.9 enable
peer 4.4.4.9 enable
#
· PE 2
#
ospf 1
area 0.0.0.0
network 10.1.2.0 0.0.0.255
network 3.3.3.9 0.0.0.0
#
mpls lsr-id 3.3.3.9
#
vlan 3
#
mpls ldp
#
l2vpn enable
#
vsi user_a
auto-discovery bgp
route-distinguisher 100:1
vpn-target 111:1 export-extcommunity
vpn-target 111:1 import-extcommunity
signaling-protocol bgp
site 2 range 25 default-offset 0
#
vsi user_b
auto-discovery bgp
route-distinguisher 200:1
vpn-target 222:1 export-extcommunity
vpn-target 222:1 import-extcommunity
signaling-protocol bgp
site 2 range 25 default-offset 0
#
interface LoopBack0
ip address 3.3.3.9 255.255.255.255
#
interface Vlan-interface3
ip address 10.1.2.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 3
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
bgp 100
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack0
peer 4.4.4.9 as-number 100
peer 4.4.4.9 connect-interface LoopBack0
#
address-family l2vpn
peer 1.1.1.9 enable
peer 4.4.4.9 enable
#
· PE 3
#
ospf 1
area 0.0.0.0
network 10.1.3.0 0.0.0.255
network 4.4.4.9 0.0.0.0
#
mpls lsr-id 4.4.4.9
#
vlan 4
#
mpls ldp
#
l2vpn enable
#
vsi user_a
auto-discovery bgp
route-distinguisher 100:1
vpn-target 111:1 export-extcommunity
vpn-target 111:1 import-extcommunity
signaling-protocol bgp
site 3 range 25 default-offset 0
#
vsi user_b
auto-discovery bgp
route-distinguisher 200:1
vpn-target 222:1 export-extcommunity
vpn-target 222:1 import-extcommunity
signaling-protocol bgp
site 3 range 25 default-offset 0
#
interface LoopBack0
ip address 4.4.4.9 255.255.255.255
#
interface Vlan-interface4
ip address 10.1.3.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 4
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 100
encapsulation s-vid 100
xconnect vsi user_a
service-instance 200
encapsulation s-vid 200
xconnect vsi user_b
#
bgp 100
peer 1.1.1.9 as-number 100
peer 1.1.1.9 connect-interface LoopBack0
peer 3.3.3.9 as-number 100
peer 3.3.3.9 connect-interface LoopBack0
#
address-family l2vpn
peer 1.1.1.9 enable
peer 3.3.3.9 enable
#
· P
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.1.2.0 0.0.0.255
network 10.1.3.0 0.0.0.255
network 2.2.2.9 0.0.0.0
#
mpls lsr-id 2.2.2.9
#
vlan 2 to 4
#
mpls ldp
#
interface LoopBack0
ip address 2.2.2.9 255.255.255.255
#
interface Vlan-interface2
ip address 10.1.1.2 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface3
ip address 10.1.2.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface4
ip address 10.1.3.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
port access vlan 3
#
interface Ten-GigabitEthernet1/0/4
port link-mode bridge
port access vlan 4
#
· CE 1~CE 10
#
vlan 100
#
vlan 200
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port link-type trunk
port trunk permit vlan 100 200
#
某服务提供商正在搭建VPLS网络,用于提供VPLS服务。该服务提供商的用户较多,且位于不同的地理位置,为了简化网络结构,降低设备负载压力和配置维护的工作量,现通过部署H-VPLS,向用户提供VPLS服务。
如图4所示,具体需求如下:
· 位于不同位置的用户分支机构分别通过UPE设备(支持MPLS L2VPN功能)接入运营商MPLS网络;
· NPE设备通过LSP接入方式接入UPE;
· 采用UPE双归属组网方式,即UPE双上行至两台NPE设备,提高可靠性。
图4 配置H-VPLS模型的VPLS(LSP接入方式)
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
UPE 1 |
Loop0 |
11.1.1.1/32 |
UPE 2 |
Loop0 |
14.1.1.1/32 |
|
Vlan-int10 |
11.1.2.1/24 |
|
Vlan-int12 |
20.1.1.1/24 |
|
Vlan-int11 |
11.1.3.1/24 |
|
Vlan-int13 |
20.1.2.1/24 |
NPE 1 |
Loop0 |
1.1.1.1/32 |
NPE 3 |
Loop0 |
3.3.3.3/32 |
|
Vlan-int10 |
11.1.2.2/24 |
|
Vlan-int13 |
20.1.2.2/24 |
NPE 2 |
Loop0 |
2.2.2.2/32 |
NPE 4 |
Loop0 |
4.4.4.4/32 |
|
Vlan-int11 |
11.1.3.2/24 |
|
Vlan-int12 |
20.1.1.2/24 |
· 为了实现内层标签的协商,需要在UPE和与其相连的所有NPE设备之间,以及任意两个NPE之间,都建立远程LDP对等体关系。
· 在UPE设备上设定主用/备用对等体,用来确定链路的主备状态。
· 在UPE的下行端口上配置服务实例和相应的匹配规则,用来识别用户网络中需要使用VPLS隧道进行传输的报文。
· 为了实现站点间的VLAN隔离,需要创建VSI实例“user_a”和“user_b”分别于VLAN100和VLAN200的报文绑定。
(1) 如图4所示创建UPE和NPE设备的各个接口,并配置IP地址,具体配置略。
(2) 在MPLS骨干网络上配置IGP协议,使所有NPE和UPE的各接口之间路由可达,具体配置略。
(3) 在MPLS骨干网络上配置MPLS基本能力和MPLS LDP,建立LDP LSP,具体配置略。
(4) 配置各CE连接UPE的端口为Trunk端口,允许VLAN100和VLAN200的报文携带Tag通过,具体配置略。
# 配置MPLS基本能力。
<UPE1> system-view
[UPE1] mpls lsr-id 11.1.1.1
[UPE1] mpls ldp
[UPE1-ldp] quit
# 配置与NPE 1相连接口的MPLS基本能力。
[UPE1] interface vlan-interface 10
[UPE1-Vlan-interface10] mpls enable
[UPE1-Vlan-interface10] mpls ldp enable
[UPE1-Vlan-interface10] quit
# 配置与NPE 2相连接口的MPLS基本能力。
[UPE1] interface vlan-interface 11
[UPE1-Vlan-interface11] mpls enable
[UPE1-Vlan-interface11] mpls ldp enable
[UPE1-Vlan-interface11] quit
# 开启MPLS L2VPN功能。
[UPE1] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例使用LDP信令协议。
[UPE1] vsi user_a
[UPE1-vsi-user_a] pwsignaling ldp
# 配置在主备PW切换后,当主PW链路恢复120秒时,流量切换回主PW传输。
[UPE1-vsi-user_a-ldp] revertive wtr 120
# 在UPE 1和NPE 1之间建立主PW、在UPE 1和NPE 2之间建立备份PW。
[UPE1-vsi-user_a-ldp] peer 1.1.1.1 pw-id 500
[UPE1-vsi-user_a-ldp-1.1.1.1-500] backup-peer 2.2.2.2 pw-id 500
[UPE1-vsi-user_a-ldp-1.1.1.1-500-backup] quit
[UPE1-vsi-user_a-ldp-1.1.1.1-500] quit
[UPE1-vsi-user_a-ldp] quit
[UPE1-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例使用LDP信令协议。
[UPE1] vsi user_b
[UPE1-vsi-user_b] pwsignaling ldp
# 配置在主备PW切换后,当主PW链路恢复120秒时,流量切换回主PW传输。
[UPE1-vsi-user_b-ldp] revertive wtr 120
# 在UPE 1和NPE 1之间建立主PW、在UPE 1和NPE 2之间建立备份PW。
[UPE1-vsi-user_b-ldp] peer 1.1.1.1 pw-id 600
[UPE1-vsi-user_b-ldp-1.1.1.1-600] backup-peer 2.2.2.2 pw-id 600
[UPE1-vsi-user_b-ldp-1.1.1.1-600-backup] quit
[UPE1-vsi-user_b-ldp-1.1.1.1-600] quit
[UPE1-vsi-user_b-ldp] quit
[UPE1-vsi-user_b] quit
# 在连接Site A的端口Ten-GigabitEthernet1/0/1上创建服务实例1000,并将该端口收到的VLAN100的报文与VSI实例user_a进行绑定,通过该实例进行传输。
[UPE1] interface ten-gigabitethernet 1/0/1
[UPE1-Ten-GigabitEthernet1/0/1] service-instance 1000
[UPE1-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 100
[UPE1-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi user_a
[UPE1-Ten-GigabitEthernet1/0/1-srv1000] quit
# 在端口Ten-GigabitEthernet1/0/1上创建服务实例2000,并将该端口收到的VLAN200的报文与VSI实例user_b进行绑定,通过该实例进行传输。
[UPE1-Ten-GigabitEthernet1/0/1] service-instance 2000
[UPE1-Ten-GigabitEthernet1/0/1-srv2000] encapsulation s-vid 200
[UPE1-Ten-GigabitEthernet1/0/1-srv2000] xconnect vsi user_b
[UPE1-Ten-GigabitEthernet1/0/1-srv2000] quit
# 按同样方法在连接Site B的端口Ten-GigabitEthernet1/0/2上创建两个服务实例,分别将VLAN100绑定到user_a实例,VLAN200绑定到user_b实例。
[UPE1] interface ten-gigabitethernet 1/0/2
[UPE1-Ten-GigabitEthernet1/0/2] service-instance 1000
[UPE1-Ten-GigabitEthernet1/0/2-srv1000] encapsulation s-vid 100
[UPE1-Ten-GigabitEthernet1/0/2-srv1000] xconnect vsi user_a
[UPE1-Ten-GigabitEthernet1/0/2-srv1000] quit
[UPE1-Ten-GigabitEthernet1/0/2] service-instance 2000
[UPE1-Ten-GigabitEthernet1/0/2-srv2000] encapsulation s-vid 200
[UPE1-Ten-GigabitEthernet1/0/2-srv2000] xconnect vsi user_b
[UPE1-Ten-GigabitEthernet1/0/2-srv2000] quit
# 配置与UPE 1相连接口的MPLS基本能力。
<NPE1> system-view
[NPE1] interface vlan-interface 10
[NPE1-Vlan-interface10] mpls enable
[NPE1-Vlan-interface10] mpls ldp enable
[NPE1-Vlan-interface10] quit
# 开启MPLS L2VPN功能。
[NPE1] l2vpn enable
# 在NPE 1上创建VSI实例user_a,并配置该VSI实例使用LDP信令协议。
[NPE1] vsi user_a
[NPE1-vsi-user_a] pwsignaling ldp
# 配置UPE 1为UPE对等体。
[NPE1-vsi-user_a-ldp] peer 11.1.1.1 pw-id 500 no-split-horizon
[NPE1-vsi-user_a-ldp-11.1.1.1-500] quit
# 配置NPE 2、NPE 3和NPE 4为NPE对等体。
[NPE1-vsi-user_a-ldp] peer 2.2.2.2 pw-id 500
[NPE1-vsi-user_a-ldp-2.2.2.2-500] quit
[NPE1-vsi-user_a-ldp] peer 3.3.3.3 pw-id 500
[NPE1-vsi-user_a-ldp-3.3.3.3-500] quit
[NPE1-vsi-user_a-ldp] peer 4.4.4.4 pw-id 500
[NPE1-vsi-user_a-ldp-4.4.4.4-500] quit
[NPE1-vsi-user_a-ldp] quit
[NPE1-vsi-user_a] quit
# 在NPE 1上创建VSI实例user_b,并配置该VSI实例使用LDP信令协议。
[NPE1] vsi user_b
[NPE1-vsi-user_b] pwsignaling ldp
# 配置UPE 1为UPE对等体。
[NPE1-vsi-user_b-ldp] peer 11.1.1.1 pw-id 600 no-split-horizon
[NPE1-vsi-user_b-ldp-11.1.1.1-500] quit
# 配置NPE 2、NPE 3和NPE 4为NPE对等体。
[NPE1-vsi-user_b-ldp] peer 2.2.2.2 pw-id 600
[NPE1-vsi-user_b-ldp-2.2.2.2-600] quit
[NPE1-vsi-user_b-ldp] peer 3.3.3.3 pw-id 600
[NPE1-vsi-user_b-ldp-3.3.3.3-600] quit
[NPE1-vsi-user_b-ldp] peer 4.4.4.4 pw-id 600
[NPE1-vsi-user_b-ldp-4.4.4.4-600] quit
[NPE1-vsi-user_b-ldp] quit
[NPE1-vsi-user_b] quit
NPE 2的配置与NPE 1类似,仅与UPE相连的VLAN接口编号及NPE对等体存在不同,配置过程这里省略,请参考配置文件部分。
# 配置MPLS基本能力。
<UPE2> system-view
[UPE2] mpls lsr-id 14.1.1.1
[UPE2] mpls ldp
[UPE2-ldp] quit
# 配置与NPE 3相连接口的MPLS基本能力。
[UPE2] interface vlan-interface 13
[UPE2-Vlan-interface13] mpls enable
[UPE2-Vlan-interface13] mpls ldp enable
[UPE2-Vlan-interface13] quit
# 配置与NPE 4相连接口的MPLS基本能力。
[UPE2] interface vlan-interface 12
[UPE2-Vlan-interface12] mpls enable
[UPE2-Vlan-interface12] mpls ldp enable
[UPE2-Vlan-interface12] quit
# 开启MPLS L2VPN功能。
[UPE2] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例使用LDP信令协议。
[UPE2] vsi user_a
[UPE2-vsi-user_a] pwsignaling ldp
# 配置在主备PW切换后,当主PW链路恢复120秒时,流量切换回主PW传输。
[UPE2-vsi-user_a-ldp] revertive wtr 120
# 在UPE 2和NPE 3之间建立主PW、在UPE 2和NPE 4之间建立备份PW。
[UPE2-vsi-user_a-ldp] peer 3.3.3.3 pw-id 500
[UPE2-vsi-user_a-ldp-3.3.3.3-500] backup-peer 4.4.4.4 pw-id 500
[UPE2-vsi-user_a-ldp-3.3.3.3-500-backup] quit
[UPE2-vsi-user_a-ldp-3.3.3.3-500] quit
[UPE2-vsi-user_a-ldp] quit
[UPE2-vsi-user_a] quit
# 创建VSI实例user_b,并配置该VSI实例使用LDP信令协议。
[UPE2] vsi user_b
[UPE2-vsi-user_b] pwsignaling ldp
# 配置在主备PW切换后,当主PW链路恢复120秒时,流量切换回主PW传输。
[UPE2-vsi-user_b-ldp] revertive wtr 120
# 在UPE 2和NPE 3之间建立主PW、在UPE 2和NPE 4之间建立备份PW。
[UPE2-vsi-user_b-ldp] peer 3.3.3.3 pw-id 600
[UPE2-vsi-user_b-ldp-3.3.3.3-600] backup-peer 4.4.4.4 pw-id 600
[UPE2-vsi-user_b-ldp-3.3.3.3-600-backup] quit
[UPE2-vsi-user_b-ldp-3.3.3.3-600] quit
[UPE2-vsi-user_b-ldp] quit
[UPE2-vsi-user_b] quit
# 在连接Site E的端口Ten-GigabitEthernet1/0/1上创建服务实例1000,并将该端口收到的VLAN100的报文与VSI实例user_a进行绑定,通过该实例进行传输。
[UPE2] interface ten-gigabitethernet 1/0/1
[UPE2-Ten-GigabitEthernet1/0/1] service-instance 1000
[UPE2-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 100
[UPE2-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi user_a
[UPE2-Ten-GigabitEthernet1/0/1-srv1000] quit
# 在端口Ten-GigabitEthernet1/0/1上创建服务实例2000,并将该端口收到的VLAN200的报文与VSI实例user_b进行绑定,通过该实例进行传输。
[UPE2-Ten-GigabitEthernet1/0/1] service-instance 2000
[UPE2-Ten-GigabitEthernet1/0/1-srv2000] encapsulation s-vid 200
[UPE2-Ten-GigabitEthernet1/0/1-srv2000] xconnect vsi user_b
[UPE2-Ten-GigabitEthernet1/0/1-srv2000] quit
# 配置与UPE 2相连接口的MPLS基本能力。
[NPE3] interface vlan-interface 13
[NPE3-Vlan-interface13] mpls enable
[NPE3-Vlan-interface13] mpls ldp enable
[NPE3-Vlan-interface13] quit
# 配置MPLS L2VPN
[NPE3] l2vpn enable
# 在NPE 3上创建VSI实例user_a,并配置该VSI实例使用LDP信令协议。
[NPE3] vsi user_a
[NPE3-vsi-user_a] pwsignaling ldp
# 配置UPE 2为UPE对等体。
[NPE3-vsi-user_a-ldp] peer 14.1.1.1 pw-id 500 no-split-horizon
[NPE3-vsi-user_a-ldp-14.1.1.1-500] quit
# 配置NPE 1、NPE 2和NPE 4为NPE对等体。
[NPE3-vsi-user_a-ldp] peer 1.1.1.1 pw-id 500
[NPE3-vsi-user_a-ldp-1.1.1.1-500] quit
[NPE3-vsi-user_a-ldp] peer 2.2.2.2 pw-id 500
[NPE3-vsi-user_a-ldp-2.2.2.2-500] quit
[NPE3-vsi-user_a-ldp] peer 4.4.4.4 pw-id 500
[NPE3-vsi-user_a-ldp-4.4.4.4-500] quit
[NPE3-vsi-user_a-ldp] quit
[NPE3-vsi-user_a] quit
# 在NPE 3上创建VSI实例user_b,并配置该VSI实例使用LDP信令协议。
[NPE3] vsi user_b
[NPE3-vsi-user_b] pwsignaling ldp
# 配置UPE 2为UPE对等体。
[NPE3-vsi-user_b-ldp] peer 14.1.1.1 pw-id 600 no-split-horizon
[NPE3-vsi-user_b-ldp-14.1.1.1-600] quit
# 配置NPE 1、NPE 2和NPE 4为NPE对等体。
[NPE3-vsi-user_b-ldp] peer 1.1.1.1 pw-id 600
[NPE3-vsi-user_b-ldp-1.1.1.1-600] quit
[NPE3-vsi-user_b-ldp] peer 2.2.2.2 pw-id 600
[NPE3-vsi-user_b-ldp-2.2.2.2-600] quit
[NPE3-vsi-user_b-ldp] peer 4.4.4.4 pw-id 600
[NPE3-vsi-user_b-ldp-4.4.4.4-600] quit
[NPE3-vsi-user_b-ldp] quit
[NPE3-vsi-user_b] quit
NPE 4的配置与NPE 3类似,仅与UPE相连的VLAN接口编号及NPE对等体存在不同,配置过程这里省略,请参考配置文件部分。
在各UPE和NPE上查看PW的状态,这里以UPE 1和NPE 1为例。
# 在UPE 1上使用display l2vpn pw命令查看PW连接状态。
[UPE1] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 4, 4 up, 0 blocked, 0 down, 0 defect
VSI Name: user_a
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
1.1.1.1 500 131199/131199 LDP M 256 Up
2.2.2.2 500 131198/131199 LDP B 257 Blocked
VSI Name: user_b
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
1.1.1.1 600 131195/131195 LDP M 256 Up
2.2.2.2 600 131194/131195 LDP B 257 Blocked
# 在NPE 1上使用display l2vpn pw命令查看PW连接状态。
[NPE1] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 4, 4 up, 0 blocked, 0 down, 0 defect
VSI Name: user_a
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
2.2.2.2 500 131199/131199 LDP M 256 Up
3.3.3.3 500 131198/131198 LDP M 257 Up
4.4.4.4 500 131197/131197 LDP M 258 Up
11.1.1.1 500 131196/131196 LDP MN 259 Up
VSI Name: user_b
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
2.2.2.2 600 131195/131195 LDP M 256 Up
3.3.3.3 600 131194/131194 LDP M 257 Up
4.4.4.4 600 131193/131193 LDP M 258 Up
11.1.1.1 600 131192/131192 LDP MN 259 Up
# 检测相同VLAN内不同站点的主机之间是否可以ping通,如可以ping通,则表示VPLS建立成功。
由于手册篇幅有限,此处仅列出关于H-VPLS的配置文件,CE的配置以及PE间路由协议的配置这里省略。
· UPE 1
#
mpls lsr-id 11.1.1.1
#
vlan 10 to 11
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
revertive wtr 120
peer 1.1.1.1 pw-id 500
backup-peer 2.2.2.2 pw-id 500
#
vsi user_b
pwsignaling ldp
revertive wtr 120
peer 1.1.1.1 pw-id 600
backup-peer 2.2.2.2 pw-id 600
#
interface LoopBack0
ip address 11.1.1.1 255.255.255.255
#
interface Vlan-interface10
ip address 11.1.2.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface11
ip address 11.1.3.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 1000
encapsulation s-vid 100
xconnect vsi user_a
service-instance 2000
encapsulation s-vid 200
xconnect vsi user_b
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
service-instance 1000
encapsulation s-vid 100
xconnect vsi user_a
service-instance 2000
encapsulation s-vid 200
xconnect vsi user_b
#
· NPE 1
#
mpls lsr-id 1.1.1.1
#
vlan 10
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 2.2.2.2 pw-id 500
peer 3.3.3.3 pw-id 500
peer 4.4.4.4 pw-id 500
peer 11.1.1.1 pw-id 500 no-split-horizon
#
vsi user_b
pwsignaling ldp
peer 2.2.2.2 pw-id 600
peer 3.3.3.3 pw-id 600
peer 4.4.4.4 pw-id 600
peer 11.1.1.1 pw-id 600 no-split-horizon
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
interface Vlan-interface10
ip address 11.1.2.2 255.255.255.0
mpls enable
mpls ldp enable
#
· NPE 2
#
mpls lsr-id 2.2.2.2
#
vlan 11
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.1 pw-id 500
peer 3.3.3.3 pw-id 500
peer 4.4.4.4 pw-id 500
peer 11.1.1.1 pw-id 500 no-split-horizon
#
vsi user_b
pwsignaling ldp
peer 1.1.1.1 pw-id 600
peer 3.3.3.3 pw-id 600
peer 4.4.4.4 pw-id 600
peer 11.1.1.1 pw-id 600 no-split-horizon
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
interface Vlan-interface11
ip address 11.1.3.2 255.255.255.0
mpls enable
mpls ldp enable
#
· UPE 2
#
mpls lsr-id 14.1.1.1
#
vlan 12 to 13
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
revertive wtr 120
peer 3.3.3.3 pw-id 500
backup-peer 4.4.4.4 pw-id 500
#
vsi user_b
pwsignaling ldp
revertive wtr 120
peer 3.3.3.3 pw-id 600
backup-peer 4.4.4.4 pw-id 600
#
interface LoopBack0
ip address 14.1.1.1 255.255.255.255
#
interface Vlan-interface12
ip address 20.1.1.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Vlan-interface13
ip address 20.1.2.1 255.255.255.0
mpls enable
mpls ldp enable
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 1000
encapsulation s-vid 100
xconnect vsi user_a
service-instance 2000
encapsulation s-vid 200
xconnect vsi user_b
#
· NPE 3
#
mpls lsr-id 3.3.3.3
#
vlan 13
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.1 pw-id 500
peer 2.2.2.2 pw-id 500
peer 4.4.4.4 pw-id 500
peer 14.1.1.1 pw-id 500 no-split-horizon
#
vsi user_b
pwsignaling ldp
peer 1.1.1.1 pw-id 600
peer 2.2.2.2 pw-id 600
peer 4.4.4.4 pw-id 600
peer 14.1.1.1 pw-id 600 no-split-horizon
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
interface Vlan-interface13
ip address 20.1.2.2 255.255.255.0
mpls enable
mpls ldp enable
#
· NPE 4
#
mpls lsr-id 4.4.4.4
#
vlan 12
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.1 pw-id 600
peer 2.2.2.2 pw-id 600
peer 3.3.3.3 pw-id 600
peer 14.1.1.1 pw-id 600 no-split-horizon
#
vsi user_b
pwsignaling ldp
peer 1.1.1.1 pw-id 600
peer 2.2.2.2 pw-id 600
peer 3.3.3.3 pw-id 600
peer 14.1.1.1 pw-id 600 no-split-horizon
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
interface Vlan-interface12
ip address 20.1.1.2 255.255.255.0
mpls enable
mpls ldp enable
#
某服务提供商正在搭建VPLS网络,用于提供VPLS服务。该服务提供商的用户较多,且位于不同的地理位置,为了简化网络结构,降低设备负载压力和配置维护的工作量,现通过部署H-VPLS,向用户提供VPLS服务。
如图5所示,具体需求如下:
· 位于不同位置的用户分支机构分别通过UPE设备(不支持MPLS L2VPN功能)接入运营商MPLS网络;
· NPE设备使用QinQ接入方式接入UPE;
· 采用UPE双归属组网方式,即UPE双上行至两台NPE设备,提高可靠性。
图5 配置H-VPLS模型的VPLS(QinQ接入方式)
· 在UPE的下行端口上配置QinQ功能,为用户上行的报文封装外层标签(该标签使用运营商网络的VLAN资源),NPE将使用该外层标签识别用户流量。
· 使用STP功能实现链路的环路保护和备份功能。
· 在NPE的下行端口上配置服务实例,匹配规则为UPE为用户报文封装的外层标签,用来将用户报文使用绑定的PW进行传输。
· 为了实现内层标签的协商,需要在任意两台NPE设备之间建立远程LDP对等体关系。
(1) 在MPLS骨干网络上配置IGP协议,使各NPE接口之间路由可达,具体配置略。
(2) 在MPLS骨干网络上配置MPLS基本能力和MPLS LDP,建立LDP LSP,具体配置略。
(3) 配置各CE连接UPE的端口为Trunk端口,允许VLAN100和VLAN200的报文携带Tag通过,具体配置略。
# 配置UPE1使能PVST功能,避免环路。
<UPE1> system-view
[UPE1] stp global enable
[UPE1] stp mode pvst
# 在Ten-GigabitEthernet1/0/1端口开启QinQ功能,为报文封装运营商外层VLAN标签,此处以1000为例。
[UPE1] vlan 1000
[UPE1-vlan1000] quit
[UPE1] interface ten-gigabitethernet 1/0/1
[UPE1-Ten-GigabitEthernet1/0/1] port access vlan 1000
[UPE1-Ten-GigabitEthernet1/0/1] qinq enable
[UPE1-Ten-GigabitEthernet1/0/1] quit
# 在Ten-GigabitEthernet1/0/2端口开启QinQ功能,为报文封装运营商外层VLAN标签1000。
[UPE1] interface ten-gigabitethernet 1/0/2
[UPE1-Ten-GigabitEthernet1/0/2] port access vlan 1000
[UPE1-Ten-GigabitEthernet1/0/2] qinq enable
[UPE1-Ten-GigabitEthernet1/0/2] quit
# 配置Ten-GigabitEthernet1/0/3为Trunk端口,允许VLAN1000的报文携带Tag发送给NPE 1。
[UPE1] interface ten-gigabitethernet 1/0/3
[UPE1-Ten-GigabitEthernet1/0/3] port link-type trunk
[UPE1-Ten-GigabitEthernet1/0/3] port trunk permit vlan 1000
[UPE1-Ten-GigabitEthernet1/0/3] quit
# 配置Ten-GigabitEthernet1/0/4为Trunk端口,允许VLAN1000的报文携带Tag发送给NPE 2。
[UPE1] interface ten-gigabitethernet 1/0/4
[UPE1-Ten-GigabitEthernet1/0/4] port link-type trunk
[UPE1-Ten-GigabitEthernet1/0/4] port trunk permit vlan 1000
[UPE1-Ten-GigabitEthernet1/0/4] quit
# 开启MPLS L2VPN功能。
[NPE1] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例使用LDP信令协议。
[NPE1] vsi user_a
[NPE1-vsi-user_a] pwsignaling ldp
# 在该VSI实例下配置NPE 2、NPE 3和NPE 4为远端NPE对等体。
[NPE1-vsi-user_a-ldp] peer 2.2.2.2 pw-id 500
[NPE1-vsi-user_a-ldp-2.2.2.2-500] quit
[NPE1-vsi-user_a-ldp] peer 3.3.3.3 pw-id 500
[NPE1-vsi-user_a-ldp-3.3.3.3-500] quit
[NPE1-vsi-user_a-ldp] peer 4.4.4.4 pw-id 500
[NPE1-vsi-user_a-ldp-4.4.4.4-500] quit
[NPE1-vsi-user_a-ldp] quit
[NPE1-vsi-user_a] quit
# 在接入UPE 1的端口Ten-GigabitEthernet1/0/1上创建服务实例1000,匹配UPE 1上行的VLAN1000的报文,并将其与VSI实例“user_a”进行绑定。由于上行报文携带运营商的VLAN,因此这里AC的接入方式应该是VLAN方式(可选配置,缺省为VLAN方式)。
[NPE1] interface ten-gigabitethernet 1/0/1
[NPE1-Ten-GigabitEthernet1/0/1] service-instance 1000
[NPE1-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 1000
[NPE1-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi user_a access-mode vlan
[NPE1-Ten-GigabitEthernet1/0/1-srv1000] quit
NPE 2的配置与NPE 1类似,仅NPE对等体存在不同,配置过程这里省略,请参考配置文件部分。
# 配置UPE2使能PVST功能,避免环路。
<UPE2> system-view
[UPE2] stp global enable
[UPE2] stp mode pvst
# 在Ten-GigabitEthernet1/0/1端口开启QinQ功能,为报文封装运营商外层VLAN标签,此处应与UPE 1保持一致,VLAN ID为1000。
[UPE2] vlan 1000
[UPE2-vlan1000] quit
[UPE2] interface ten-gigabitethernet 1/0/1
[UPE2-Ten-GigabitEthernet1/0/1] port access vlan 1000
[UPE2-Ten-GigabitEthernet1/0/1] qinq enable
[UPE2-Ten-GigabitEthernet1/0/1] quit
# 配置Ten-GigabitEthernet1/0/3为Trunk端口,允许VLAN1000的报文携带Tag发送给NPE 3。
[UPE2] interface ten-gigabitethernet 1/0/3
[UPE2-Ten-GigabitEthernet1/0/3] port link-type trunk
[UPE2-Ten-GigabitEthernet1/0/3] port trunk permit vlan 1000
[UPE2-Ten-GigabitEthernet1/0/3] quit
# 配置Ten-GigabitEthernet1/0/4为Trunk端口,允许VLAN1000的报文携带Tag发送给NPE 4。
[UPE2] interface ten-gigabitethernet 1/0/4
[UPE2-Ten-GigabitEthernet1/0/4] port link-type trunk
[UPE2-Ten-GigabitEthernet1/0/4] port trunk permit vlan 1000
[UPE2-Ten-GigabitEthernet1/0/4] quit
# 开启MPLS L2VPN功能。
[NPE3] l2vpn enable
# 创建VSI实例user_a,并配置该VSI实例使用LDP信令协议。
[NPE3] vsi user_a
[NPE3-vsi-user_a] pwsignaling ldp
# 配置NPE 1、NPE 2和NPE 4为NPE对等体。
[NPE3-vsi-user_a-ldp] peer 1.1.1.1 pw-id 500
[NPE3-vsi-user_a-ldp-1.1.1.1-500] quit
[NPE3-vsi-user_a-ldp] peer 2.2.2.2 pw-id 500
[NPE3-vsi-user_a-ldp-2.2.2.2-500] quit
[NPE3-vsi-user_a-ldp] peer 4.4.4.4 pw-id 500
[NPE3-vsi-user_a-ldp-4.4.4.4-500] quit
[NPE3-vsi-user_a-ldp] quit
[NPE3-vsi-user_a] quit
# 在接入UPE 2的端口Ten-GigabitEthernet1/0/1上创建服务实例1000,匹配UPE 2上行的VLAN1000的报文,并将其与VSI实例“user_a”进行绑定。由于上行报文携带运营商的VLAN,因此这里AC的接入方式应该是VLAN方式(可选配置,缺省为VLAN方式)。
[NPE3] interface ten-gigabitethernet 1/0/1
[NPE3-Ten-GigabitEthernet1/0/1] service-instance 1000
[NPE3-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 1000
[NPE3-Ten-GigabitEthernet1/0/1-srv1000] xconnect vsi user_a access-mode vlan
[NPE3-Ten-GigabitEthernet1/0/1-srv1000] quit
NPE 4的配置与NPE 3类似,仅NPE对等体存在不同,配置过程这里省略,请参考配置文件部分。
在各NPE上查看PW的状态,这里以NPE 1为例。
# 在NPE 1上使用display l2vpn pw命令查看PW连接状态。
[NPE1] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 3, 3 up, 0 blocked, 0 down, 0 defect
VSI Name: user_a
Peer PW ID/Rmt Site In/Out Label Proto Flag Link ID State
2.2.2.2 500 131199/131199 LDP M 256 Up
3.3.3.3 500 131198/131198 LDP M 257 Up
4.4.4.4 500 131197/131197 LDP M 258 Up
# 检测相同VLAN内不同站点的主机之间是否可以ping通,如可以ping通,则表示VPLS建立成功。
由于手册篇幅有限,此处仅列出关于H-VPLS的配置文件,CE的配置以及PE间路由协议的配置这里省略。
· UPE 1
#
vlan 1000
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 1000
qinq enable
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 1000
qinq enable
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 1000
#
interface Ten-GigabitEthernet1/0/4
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 1000
#
· NPE 1
#
mpls lsr-id 1.1.1.1
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 2.2.2.2 pw-id 500
peer 3.3.3.3 pw-id 500
peer 4.4.4.4 pw-id 500
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 1000
encapsulation s-vid 1000
xconnect vsi user_a
#
· NPE 2
#
mpls lsr-id 2.2.2.2
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.1 pw-id 500
peer 3.3.3.3 pw-id 500
peer 4.4.4.4 pw-id 500
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 1000
encapsulation s-vid 1000
xconnect vsi user_a
#
· UPE 2
#
vlan 1000
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
port access vlan 1000
qinq enable
#
interface Ten-GigabitEthernet1/0/3
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 1000
#
interface Ten-GigabitEthernet1/0/4
port link-mode bridge
port link-type trunk
port trunk permit vlan 1 1000
#
· NPE 3
#
mpls lsr-id 3.3.3.3
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.1 pw-id 500
peer 2.2.2.2 pw-id 500
peer 4.4.4.4 pw-id 500
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 1000
encapsulation s-vid 1000
xconnect vsi user_a
#
· NPE 4
#
mpls lsr-id 4.4.4.4
#
mpls ldp
#
l2vpn enable
#
vsi user_a
pwsignaling ldp
peer 1.1.1.1 pw-id 500
peer 2.2.2.2 pw-id 500
peer 3.3.3.3 pw-id 500
#
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
service-instance 1000
encapsulation s-vid 1000
xconnect vsi user_a
#
· H3C S10500系列交换机 MPLS配置指导-R757X
· H3C S10500系列交换机 MPLS命令参考-R757X
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!