第八篇 配置BGP AD方式VPLS示例
配置BGP AD方式VPLS示例
当PE设备支持BGP作为VPLS信令时,可以配置BGP AD方式的VPLS。这种方式通过配置VPN Target实现VPLS PE的自动发现。
组网需求
传统的VPLS网络包括LDP和BGP两种方式。
- LDP VPLS需要通过手工部署VPLS成员,通过LDP信令协商建立PW。在多台PE设备全连接组网场景下配置复杂,且不利于网络扩展。
- BGP VPLS通过BGP协议动态发现成员来实现自动部署,但是存在标签浪费问题,而且需要管理Site ID,增加运营成本。
部署BGP AD VPLS可以很好的解决以上问题。BGP AD VPLS结合了BGP VPLS和LDP VPLS两种类型的VPLS信令的优势,利用扩展BGP报文在成员自动发现方面的优势来完成VSI之间的成员发现,再利用LDP FEC 129信令来协商建立PW,完成VPLS PW业务的自动部署。从而简化了网络配置,实现了业务自动部署,并降低了运营成本。
如图1,三台设备PE1、PE2和PE3作为PE,配置BGP AD方式VPLS功能。CE1接入PE1,CE2接入PE2,CE3接入PE3。CE1、CE2和CE3属于一个VPLS。
图1 配置BGP AD方式VPLS组网图
- 本示例中interface2,interface3,subinterface1.1,分别代表GE0/1/0,GE0/2/0,GE0/1/0.1。
配置思路
采用如下的思路配置BGP AD方式VPLS的基本功能:
- 在骨干网上配置路由协议实现互通,并配置MPLS基本能力。
- 在PE之间建立LSP隧道。
- 在PE上使能MPLS L2VPN。
- 在PE上使能BGP对等体交换VPLS成员信息的能力。
- 在PE上创建VSI,指定信令为BGP,指定VPLS ID、VPN-Target。
- 将AC接口与VSI进行绑定。
数据准备
为完成此配置例,需准备如下的数据:
- 对等体的IP地址。
- PE1、PE2和PE3上的VSI名称。
- PE1、PE2和PE3上的BGP AS号。
- VSI的信令模式为BGP。
- PE上VPLS ID和VPN-Target。
- 绑定VSI的接口和接口上封装的VLAN ID值。
操作步骤
- 配置IGP,本例中使用OSPF。
按图1配置PE设备的各接口地址,配置OSPF时,注意需要发布PE1、PE2和PE3的32位Loopback接口地址(LSR-ID)。
配置完成后,在PE1、PE2和PE3上执行display ip routing-table命令可以看到已学到彼此的路由。
具体配置步骤参考配置文件。
- 配置MPLS基本能力和LDP
具体配置步骤参考配置文件。
配置完成后,在PE1、PE2和PE3上执行display mpls ldp peer命令可以看到PE1和PE2之间、PE1和PE3之间及PE2和PE3之间的对等体关系已建立。在PE1、PE2和PE3上执行display mpls ldp session命令可以看到对等体之间的LDP会话已建立。执行display mpls lsp命令可以看到LSP的建立情况。
- 使能BGP对等体交换VPLS成员信息的能力
# 配置PE1。
[~PE1] bgp 100
[*PE1-bgp] peer 2.2.2.9 as-number 100
[*PE1-bgp] peer 3.3.3.9 as-number 100
[*PE1-bgp] peer 2.2.2.9 connect-interface loopback1
[*PE1-bgp] peer 3.3.3.9 connect-interface loopback1
[*PE1-bgp] l2vpn-ad-family
[*PE1-bgp-af-l2vpn-ad] peer 2.2.2.9 enable
[*PE1-bgp-af-l2vpn-ad] peer 3.3.3.9 enable
[*PE1-bgp-af-l2vpn-ad] quit
[*PE1-bgp] quit
[*PE1] commit
# 配置PE2。
[~PE2] bgp 100
[*PE2-bgp] peer 1.1.1.9 as-number 100
[*PE2-bgp] peer 3.3.3.9 as-number 100
[*PE2-bgp] peer 1.1.1.9 connect-interface loopback1
[*PE2-bgp] peer 3.3.3.9 connect-interface loopback1
[*PE2-bgp] l2vpn-ad-family
[*PE2-bgp-af-l2vpn-ad] peer 1.1.1.9 enable
[*PE2-bgp-af-l2vpn-ad] peer 3.3.3.9 enable
[*PE2-bgp-af-l2vpn-ad] quit
[*PE2-bgp] quit
[*PE2] commit
# 配置PE3。
[~PE3] bgp 100
[*PE3-bgp] peer 1.1.1.9 as-number 100
[*PE3-bgp] peer 2.2.2.9 as-number 100
[*PE3-bgp] peer 1.1.1.9 connect-interface loopback1
[*PE3-bgp] peer 2.2.2.9 connect-interface loopback1
[*PE3-bgp] l2vpn-ad-family
[*PE3-bgp-af-l2vpn-ad] peer 1.1.1.9 enable
[*PE3-bgp-af-l2vpn-ad] peer 2.2.2.9 enable
[*PE3-bgp-af-l2vpn-ad] quit
[*PE3-bgp] quit
[*PE3] commit
- 在PE上使能MPLS L2VPN
# 配置PE1。
[~PE1] mpls l2vpn
[*PE1] commit
# 配置PE2。
[~PE2] mpls l2vpn
[*PE2] commit
# 配置PE3。
[~PE3] mpls l2vpn
[*PE3] commit
- 在PE上配置VSI
# 配置PE1。
[~PE1] vsi vplsad1
[*PE1-vsi-vplsad1]bgp-ad
[*PE1-vsi-vplsad1-bgpad] vpls-id 10.10.1.1:1
[*PE1-vsi-vplsad1-bgpad] vpn-target 100:1 import-extcommunity
[*PE1-vsi-vplsad1-bgpad] vpn-target 100:1 export-extcommunity
[*PE1-vsi-vplsad1-bgpad] quit
[*PE1-vsi-vplsad1] quit
[*PE1] commit
# 配置PE2。
[*PE2] vsi vplsad1
[*PE2-vsi-vplsad1]bgp-ad
[*PE2-vsi-vplsad1-bgpad] vpls-id 10.10.1.1:1
[*PE2-vsi-vplsad1-bgpad] vpn-target 100:1 import-extcommunity
[*PE2-vsi-vplsad1-bgpad] vpn-target 100:1 export-extcommunity
[*PE2-vsi-vplsad1-bgpad] quit
[*PE2-vsi-vplsad1] quit
[*PE2] commit
# 配置PE3。
[~PE3] vsi vplsad1
[*PE3-vsi-vplsad1]bgp-ad
[*PE3-vsi-vplsad1-bgpad] vpls-id 10.10.1.1:1
[*PE3-vsi-vplsad1-bgpad] vpn-target 100:1 import-extcommunity
[*PE3-vsi-vplsad1-bgpad] vpn-target 100:1 export-extcommunity
[*PE3-vsi-vplsad1-bgpad] quit
[*PE3-vsi-vplsad1] quit
[*PE3] commit
- 在PE上将VSI与AC接口进行绑定
# 在PE1上创建子接口,允许接收VLAN10的报文,绑定VSI。
[~PE1] interface gigabitethernet0/1/0.1
[*PE1-GigabitEthernet0/1/0.1] shutdown
[*PE1-GigabitEthernet0/1/0.1] vlan-type dot1q 10
[*PE1-GigabitEthernet0/1/0.1] l2 binding vsi vplsad1
[*PE1-GigabitEthernet0/1/0.1] undo shutdown
[*PE1-GigabitEthernet0/1/0.1] quit
[*PE1] commit
# 在PE2上创建子接口,允许接收VLAN10的报文,绑定VSI。
[~PE2] interface gigabitethernet0/1/0.1
[*PE2-GigabitEthernet0/1/0.1] shutdown
[*PE2-GigabitEthernet0/1/0.1] vlan-type dot1q 10
[*PE2-GigabitEthernet0/1/0.1] l2 binding vsi vplsad1
[*PE2-GigabitEthernet0/1/0.1] undo shutdown
[*PE2-GigabitEthernet0/1/0.1] quit
[*PE2] commit
# 在PE3上创建子接口,允许接收VLAN10的报文,绑定VSI。
[~PE3] interface gigabitethernet0/1/0.1
[*PE3-GigabitEthernet0/1/0.1] shutdown
[*PE3-GigabitEthernet0/1/0.1] vlan-type dot1q 10
[*PE3-GigabitEthernet0/1/0.1] l2 binding vsi vplsad1
[*PE3-GigabitEthernet0/1/0.1] undo shutdown
[*PE3-GigabitEthernet0/1/0.1] quit
[*PE3] commit
- 配置CE
# 配置CE1
[~HUAWEI] sysname CE1
[*HUAWEI] commit
[*CE1] interface gigabitethernet0/1/0.1
[*CE1-GigabitEthernet0/1/0.1] shutdown
[*CE1-GigabitEthernet0/1/0.1] vlan-type dot1q 10
[*CE1-GigabitEthernet0/1/0.1] ip address 10.1.1.1 255.255.255.0
[*CE1-GigabitEthernet0/1/0.1] undo shutdown
[*CE1-GigabitEthernet0/1/0.1] quit
[*CE1] commit
# 配置CE2
[~HUAWEI] sysname CE2
[*HUAWEI] commit
[*CE2] interface gigabitethernet0/1/0.1
[*CE2-GigabitEthernet0/1/0.1] shutdown
[*CE2-GigabitEthernet0/1/0.1] vlan-type dot1q 10
[*CE2-GigabitEthernet0/1/0.1] ip address 10.1.1.2 255.255.255.0
[*CE2-GigabitEthernet0/1/0.1] undo shutdown
[*CE2-GigabitEthernet0/1/0.1] quit
[*CE2] commit
# 配置CE3
<HUAWEI> sysname CE2
[~CE3] interface gigabitethernet0/1/0.1
[*CE3-GigabitEthernet0/1/0.1] shutdown
[*CE3-GigabitEthernet0/1/0.1] vlan-type dot1q 10
[*CE3-GigabitEthernet0/1/0.1] ip address 10.1.1.3 255.255.255.0
[*CE3-GigabitEthernet0/1/0.1] undo shutdown
[*CE3-GigabitEthernet0/1/0.1] quit
[*CE3] commit
- 验证配置结果
完成上述配置后,在PE1上执行display vsi name vplsad1 verbose命令,可以看到名字为vplsad1的VSI建立了一条到PE2的PW和一条到PE3的PW,VSI状态均为UP。同样的,PE2和PE3之间也建立了PW,VSI状态为UP。
<PE1> display vsi name vplsad1 verbose
***VSI Name : vplsad1
Administrator VSI : no
Isolate Spoken : disable
VSI Index : 0
PW Signaling : ad
Member Discovery Style : --
Bridge-domain Mode : disable
PW MAC Learn Style : unqualify
Encapsulation Type : vlan
MTU : 1500
Diffserv Mode : uniform
Service Class : --
Color : --
DomainId : 255
Domain Name :
Ignore AcState : disable
Create Time : 0 days, 18 hours, 5 minutes, 30 seconds
VSI State : up
Resource Status : --
VPLS ID : 10.10.1.1:1
RD : 10.10.1.1:1
Import vpn target : 100:1
Export vpn target : 100:1
VSI ID : 1.1.1.9
*Peer Router ID : 2.2.2.9
VPLS ID : 10.10.1.1:1
SAII : 1.1.1.9
TAII : 2.2.2.9
VC Label : 1024
Peer Type : dynamic
Session : up
Tunnel ID : 0x80003f
Broadcast Tunnel ID : 0x80003f
CKey : 2
NKey : 1
*Peer Router ID : 3.3.3.9
VPLS ID : 10.10.1.1:1
SAII : 1.1.1.9
TAII : 3.3.3.9
VC Label : 1025
Peer Type : dynamic
Session : up
Tunnel ID : 0x800033
Broadcast Tunnel ID : 0x800033
CKey : 4
NKey : 3
Interface Name : GigabitEthernet0/1/0.1
State : up
Last Up Time : 2010/10/18 15:54:46
Total Up Time : 0 days, 17 hours, 58 minutes, 24 seconds
**PW Information:
*Peer Ip Address : 3.3.3.9
PW State : up
Local VC Label : 1025
Remote VC Label : 1025
PW Type : label
Tunnel ID : 0x800033
Broadcast Tunnel ID : 0x800033
Broad BackupTunnel ID : 0x0
Ckey : 0x4
Nkey : 0x3
Main PW Token : 0x800033
Slave PW Token : 0x0
Tnl Type : LSP
OutInterface : GigabitEthernet0/2/0
Backup OutInterface :
Stp Enable : 0
PW Last Up Time : 2010/10/18 18:22:01
PW Total Up Time : 62 days, 6 hours, 48 minutes, 45 seconds
*Peer Ip Address : 2.2.2.9
PW State : up
Local VC Label : 1024
Remote VC Label : 1024
PW Type : label
Tunnel ID : 0x80003f
Broadcast Tunnel ID : 0x80003f
Broad BackupTunnel ID : 0x0
Ckey : 0x2
Nkey : 0x1
Main PW Token : 0x80003f
Slave PW Token : 0x0
Tnl Type : LSP
OutInterface : GigabitEthernet0/1/0
Backup OutInterface :
Stp Enable : 0
PW Last Up Time : 2010/10/18 18:24:23
PW Total Up Time : 38 days, 13 hours, 46 minutes, 13 seconds
# CE1、CE2和CE3之间能够互相ping通。以CE1(10.1.1.1)ping CE2(10.1.1.2)为例。
<CE1> ping 10.1.1.2
PING 10.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=140 ms
Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=140 ms
Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=140 ms
Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=190 ms
Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=110 ms
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 110/144/190 ms
配置文件
- CE1的配置文件
- #
- sysname CE1
- #
- interface GigabitEthernet0/1/0
- undo shutdown
- #
- interface GigabitEthernet0/1/0.1
- vlan-type dot1q 10
- ip address 10.1.1.1 255.255.255.0
- #
return
- CE2的配置文件
- #
- sysname CE2
- #
- interface GigabitEthernet0/1/0
- undo shutdown
- #
- interface GigabitEthernet0/1/0.1
- vlan-type dot1q 10
- ip address 10.1.1.2 255.255.255.0
- #
- return
- CE3的配置文件
- #
- sysname CE3
- #
- interface GigabitEthernet0/1/0
- undo shutdown
- #
- interface GigabitEthernet0/1/0.1
- vlan-type dot1q 10
- ip address 10.1.1.3 255.255.255.0
- #
return
- PE1的配置文件
- #
- sysname PE1
- #
- mpls lsr-id 1.1.1.9
- mpls
- #
- mpls l2vpn
- #
- vsi vplsad1
- bgp-ad
- vpls-id 10.10.1.1:1
- vpn-target 100:1 import-extcommunity
- vpn-target 100:1 export-extcommunity
- #
- mpls ldp
- #
- #
- interface GigabitEthernet0/1/0
- undo shutdown
- #
- interface GigabitEthernet0/1/0.1
- vlan-type dot1q 10
- l2 binding vsi vplsad1
- #
- interface GigabitEthernet0/1/0
- ip address 10.10.2.1 255.255.255.0
- mpls
- mpls ldp
- #
- interface GigabitEthernet0/1/0
- ip address 10.10.1.1 255.255.255.0
- mpls
- mpls ldp
- #
- interface LoopBack1
- ip address 1.1.1.9 255.255.255.255
- #
- bgp 100
- peer 2.2.2.9 as-number 100
- peer 2.2.2.9 connect-interface LoopBack1
- peer 3.3.3.9 as-number 100
- peer 3.3.3.9 connect-interface LoopBack1
- #
- ipv4-family unicast
- peer 2.2.2.9 enable
- peer 3.3.3.9 enable
- #
- l2vpn-ad-family
- policy vpn-target
- peer 2.2.2.9 enable
- peer 3.3.3.9 enable
- #
- ospf 1
- area 0.0.0.0
- network 1.1.1.9 0.0.0.0
- network 10.10.1.0 0.0.0.255
- network 10.10.2.0 0.0.0.255
- #
return
- PE2的配置文件
- #
- sysname PE2
- #
- mpls lsr-id 2.2.2.9
- mpls
- #
- mpls l2vpn
- #
- vsi vplsad1
- bgp-ad
- vpls-id 10.10.1.1:1
- vpn-target 100:1 import-extcommunity
- vpn-target 100:1 export-extcommunity
- #
- mpls ldp
- #
- #
- interface GigabitEthernet0/1/0
- undo shutdown
- #
- interface GigabitEthernet0/1/0.1
- vlan-type dot1q 10
- l2 binding vsi vplsad1
- #
- interface GigabitEthernet0/1/0
- ip address 10.10.2.2 255.255.255.0
- mpls
- mpls ldp
- #
- interface GigabitEthernet0/1/0
- ip address 10.20.3.1 255.255.255.0
- mpls
- mpls ldp
- #
- interface LoopBack1
- ip address 2.2.2.9 255.255.255.255
- #
- bgp 100
- peer 1.1.1.9 as-number 100
- peer 1.1.1.9 connect-interface LoopBack1
- peer 3.3.3.9 as-number 100
- peer 3.3.3.9 connect-interface LoopBack1
- #
- ipv4-family unicast
- peer 1.1.1.9 enable
- peer 3.3.3.9 enable
- #
- l2vpn-ad-family
- policy vpn-target
- peer 1.1.1.9 enable
- peer 3.3.3.9 enable
- #
- ospf 1
- area 0.0.0.0
- network 2.2.2.9 0.0.0.0
- network 10.10.2.0 0.0.0.255
- network 10.20.3.0 0.0.0.255
- #
return
- PE3的配置文件
- #
- sysname PE3
- #
- mpls lsr-id 3.3.3.9
- mpls
- #
- mpls l2vpn
- #
- vsi vplsad1
- bgp-ad
- vpls-id 10.10.1.1:1
- vpn-target 100:1 import-extcommunity
- vpn-target 100:1 export-extcommunity
- #
- mpls ldp
- #
- #
- interface GigabitEthernet0/1/0
- undo shutdown
- #
- interface GigabitEthernet0/1/0.1
- vlan-type dot1q 10
- l2 binding vsi vplsad1
- #
- interface GigabitEthernet0/1/0
- ip address 10.20.3.2 255.255.255.0
- mpls
- mpls ldp
- #
- interface GigabitEthernet0/1/0
- ip address 10.10.1.2 255.255.255.0
- mpls
- mpls ldp
- #
- interface LoopBack1
- ip address 3.3.3.9 255.255.255.255
- #
- bgp 100
- peer 1.1.1.9 as-number 100
- peer 1.1.1.9 connect-interface LoopBack1
- peer 2.2.2.9 as-number 100
- peer 2.2.2.9 connect-interface LoopBack1
- #
- ipv4-family unicast
- peer 1.1.1.9 enable
- peer 2.2.2.9 enable
- #
- l2vpn-ad-family
- policy vpn-target
- peer 1.1.1.9 enable
- peer 2.2.2.9 enable
- #
- ospf 1
- area 0.0.0.0
- network 3.3.3.9 0.0.0.0
- network 10.20.3.0 0.0.0.255
- network 10.10.1.0 0.0.0.255