配置EVC承载VPLS业务示例(VSI管道业务模式)
从典型的应用场景描述了通过EVC模型实现VSI(Virtual Switching Instance)承载多个BD流量进行网络通信。
组网需求
如图9-9所示,网络管理者已经规划VSI采用VLAN方式接入VPLS(Virtual Private LAN Service)网络,网络中VSI作为网络侧管道,BD作为接入侧业务实例,VSI承载多个BD的流量。为了保证同一个VPN的不同站点之间能够互通,需要将不同BD绑定在VSI实例时,配置不同的PW(Pseudo Wire)Tag。
设备 |
序号 |
接口 |
所属BD |
所属VLAN |
---|---|---|---|---|
PE1 |
a |
GE0/1/1.1 |
BD 10 |
VLAN10 |
b |
GE0/1/1.2 |
BD 20 |
VLAN20 |
|
c |
GE0/1/1.3 |
BD 20 |
VLAN30 |
|
CE1 |
a |
GE0/1/2 |
— |
VLAN10 |
b |
GE0/1/4 |
— |
VLAN20 |
|
c |
GE0/1/6 |
— |
VLAN30 |
|
d |
GE0/1/1 |
— |
VLAN10 |
|
e |
GE0/1/3 |
— |
VLAN20 |
|
f |
GE0/1/5 |
— |
VLAN30 |
|
PE2 |
a |
GE0/1/1.1 |
BD 10 |
VLAN10 |
b |
GE0/1/1.2 |
BD 20 |
VLAN20 |
|
c |
GE0/1/1.3 |
BD 20 |
VLAN30 |
|
CE2 |
a |
GE0/1/2 |
— |
VLAN10 |
b |
GE0/1/4 |
— |
VLAN20 |
|
c |
GE0/1/6 |
— |
VLAN30 |
|
d |
GE0/1/1 |
— |
VLAN10 |
|
e |
GE0/1/3 |
— |
VLAN20 |
|
f |
GE0/1/5 |
— |
VLAN30 |
配置思路
采用如下的思路配置EVC承载VPLS业务:
分别在CE上配置二层转发功能。
- 在CE上创建VLAN,将CE的下行口加入VLAN,确定业务所属的VLAN。
- 在CE的上行口上配置二层转发功能,使得CE发往PE的报文带有一层VLAN Tag。
分别在PE上配置VPLS。
- 分别在PE上配置路由协议,保证网络三层互通。
- 分别在PE上配置MPLS(Multiprotocol Label Switching)基本能力和MPLS LDP(Label Distribution Protocol),建立MPLS LSP(Label Switched Path)。
- 分别在PE上使能MPLS L2VPN,全局使能设备L2VPN功能。
- 分别在PE上创建VSI并配置LDP(Label Distribution Protocol)信令,VSI ID用于区分不同的VSI,在PW信令协商时使用。
- 分别在PE设备上搭建EVC模型:
- 配置广播域BD,用来转发业务。
- 创建EVC二层子接口,并加入BD,同时在下行口配置流封装和流动作,以实现业务接入点接入业务。
- 将BD绑定VSI,实现通过EVC模型承载VPLS业务。
数据准备
- 用户所属的VLAN ID。
- CE设备连接用户的接口编号、CE与PE之间连接的接口编号。
- PE之间连接的接口编号和IP地址。
- PE上的VSI ID(必须一致)、MPLS LSR-ID、VSI名称及绑定VSI的接口。
- 广播域BD ID、流封装类型和流动作。
此处本端PW Tag必须与远端的PW Tag匹配。
操作步骤
- 在CE上配置二层转发功能
# 配置CE1。
HUAWEI> system-view
[~HUAWEI] sysname CE1
[*HUAWEI] commit
[~CE1] vlan 10
[*CE1-vlan10] quit
[*CE1] interface gigabitethernet 0/1/1
[*CE1-GigabitEthernet0/1/1] undo shutdown
[*CE1-GigabitEthernet0/1/1] portswitch
[*CE1-GigabitEthernet0/1/1] port link-type access
[*CE1-GigabitEthernet0/1/1] port default vlan 10
[*CE1-GigabitEthernet0/1/1] quit
[*CE1] interface gigabitethernet 0/1/2
[*CE1-GigabitEthernet0/1/2] undo shutdown
[*CE1-GigabitEthernet0/1/2] portswitch
[*CE1-GigabitEthernet0/1/2] port link-type trunk
[*CE1-GigabitEthernet0/1/2] port trunk allow-pass vlan 10
[*CE1-GigabitEthernet0/1/2] commit
[~CE1-GigabitEthernet0/1/2] quit
此处只以GigabitEthernet0/1/1及GigabitEthernet0/1/2的配置进行举例,其他接口请参考配置文件。
# 配置CE2。
HUAWEI> system-view
[~HUAWEI] sysname CE2
[*HUAWEI] commit
[~CE2] vlan 10
[*CE2-vlan10] quit
[*CE2] interface gigabitethernet 0/1/1
[*CE2-GigabitEthernet0/1/1] undo shutdown
[*CE2-GigabitEthernet0/1/1] portswitch
[*CE2-GigabitEthernet0/1/1] port link-type access
[*CE2-GigabitEthernet0/1/1] port default vlan 10
[*CE2-GigabitEthernet0/1/1] quit
[*CE2] interface gigabitethernet 0/1/2
[*CE2-GigabitEthernet0/1/2] undo shutdown
[*CE2-GigabitEthernet0/1/2] portswitch
[*CE2-GigabitEthernet0/1/2] port link-type trunk
[*CE2-GigabitEthernet0/1/2] port trunk allow-pass vlan 10
[*CE2-GigabitEthernet0/1/2] commit
[~CE2-GigabitEthernet0/1/2] quit
此处只以GigabitEthernet0/1/1及GigabitEthernet0/1/2的配置进行举例,其他接口请参考配置文件。
- 配置VPLS
分别在PE上配置OSPF协议。
配置PE的各接口地址。配置OSPF时,注意需要发布PE的32位Loopback接口地址。
# 配置PE1。
HUAWEI> system-view
[~HUAWEI] sysname PE1
[*HUAWEI] commit
[~PE1] interface loopback 1
[*PE1-LoopBack1] ip address 1.1.1.9 32
[*PE1-LoopBack1] quit
[*PE1] interface gigabitethernet 0/1/2
[*PE1-GigabitEthernet0/1/2] undo shutdown
[*PE1-GigabitEthernet0/1/2] ip address 10.1.1.1 24
[*PE1-GigabitEthernet0/1/2] quit
[*PE1] ospf
[*PE1-ospf-1] area 0
[*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] network 10.1.1.0 0.0.0.255
[*PE1-ospf-1-area-0.0.0.0] quit
[*PE1-ospf-1] quit
[*PE1] commit
# 配置PE2。
HUAWEI> system-view
[~HUAWEI] sysname PE2
[*HUAWEI] commit
[~PE2] interface loopback 1
[*PE2-LoopBack1] ip address 2.2.2.9 32
[*PE2-LoopBack1] quit
[*PE2] interface gigabitethernet 0/1/2
[*PE2-GigabitEthernet0/1/2] undo shutdown
[*PE2-GigabitEthernet0/1/2] ip address 10.1.1.2 24
[*PE2-GigabitEthernet0/1/2] quit
[*PE2] ospf
[*PE2-ospf-1] area 0
[*PE2-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[*PE2-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[*PE2-ospf-1-area-0.0.0.0] quit
[*PE2-ospf-1] quit
[*PE2] commit
完成上述步骤后,PE1和PE2之间通过OSPF协议发现的对方Loopback1的IP路由,并能互相Ping通。
以PE1的显示为例。
[~PE1] display ip routing-table
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ Routing Table : _public_ Destinations : 9 Routes : 9 Destination/Mask Proto Pre Cost Flags NextHop Interface 1.1.1.9/32 Direct 0 0 D 127.0.0.1 LoopBack1 2.2.2.9/32 OSPF 10 1 D 10.1.1.2 GigabitEthernet0/1/2 10.1.1.0/24 Direct 0 0 D 10.1.1.1 GigabitEthernet0/1/2 10.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/1/2 10.1.1.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/1/2 127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
使能MPLS基本能力和LDP。
# 配置PE1。
[~PE1] mpls lsr-id 1.1.1.9
[*PE1] mpls
[*PE1-mpls] quit
[*PE1] mpls ldp
[*PE1-mpls-ldp] quit
[*PE1] interface gigabitethernet 0/1/2
[*PE1-GigabitEthernet0/1/2] mpls
[*PE1-GigabitEthernet0/1/2] mpls ldp
[*PE1-GigabitEthernet0/1/2] quit
[*PE1] commit
# 配置PE2。
[~PE2] mpls lsr-id 2.2.2.9
[*PE2] mpls
[*PE2-mpls] quit
[*PE2] mpls ldp
[*PE2-mpls-ldp] quit
[*PE2] interface gigabitethernet 0/1/2
[*PE2-GigabitEthernet0/1/2] mpls
[*PE2-GigabitEthernet0/1/2] mpls ldp
[*PE2-GigabitEthernet0/1/2] quit
[*PE2] commit
上述配置完成后,PE1与PE2之间建立LDP会话,执行命令display mpls ldp session可以看到显示结果中Status项为“Operational”。
[~PE1] display mpls ldp session
LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM) An asterisk (*) before a session means the session is being deleted. -------------------------------------------------------------------------- PeerID Status LAM SsnRole SsnAge KASent/Rcv -------------------------------------------------------------------------- 2.2.2.9:0 Operational DU Passive 0000:00:00 1/1 -------------------------------------------------------------------------- TOTAL: 1 Session(s) Found.
如果PE之间非直连,还需要使用mpls ldp remote-peer和remote-ip命令,在PE之间建立远端LDP会话。
使能MPLS L2VPN。
# 配置PE1。
[~PE1] mpls l2vpn
[*PE1-l2vpn] quit
[*PE1] commit
# 配置PE2。
[~PE2] mpls l2vpn
[*PE2-l2vpn] quit
[*PE2] commit
创建VSI并配置LDP信令。
# 配置PE1。
[~PE1] vsi ldp1 bd-mode
[*PE1-vsi-ldp1] pwsignal ldp
[*PE1-vsi-ldp1-ldp] vsi-id 2
[*PE1-vsi-ldp1-ldp] peer 2.2.2.9 [*PE1-vsi-ldp1-ldp] encapsulation vlan
[*PE1-vsi-ldp1-ldp] quit
[*PE1-vsi-ldp1] quit
[*PE1] commit
# 配置PE2。
[~PE2] vsi ldp1 bd-mode
[*PE2-vsi-ldp1] pwsignal ldp
[*PE2-vsi-ldp1-ldp] vsi-id 2
[*PE2-vsi-ldp1-ldp] peer 1.1.1.9 [*PE2-vsi-ldp1-ldp]encapsulation vlan
[*PE2-vsi-ldp1-ldp] quit
[*PE2-vsi-ldp1] quit
[*PE2] commit
- 搭建EVC模型
在分别在PE上创建BD
# 配置PE1。
[~PE1] bridge-domain 10
[*PE1-bd10] quit
[~PE1] bridge-domain 20
[*PE1-bd20] quit
[*PE1] commit
# 配置PE2。
[~PE2] bridge-domain 10
[*PE2-bd10] quit
[~PE2] bridge-domain 20
[*PE2-bd20] quit
[*PE2] commit
创建EVC二层子接口并加入BD,同时在下行口配置流封装和流动作。
# 配置PE1。
[*PE1] interface gigabitethernet 0/1/1
[*PE1-GigabitEthernet0/1/1] undo shutdown
[*PE1-GigabitEthernet0/1/1] quit
[*PE1] interface gigabitethernet 0/1/1.1 mode l2
[*PE1-GigabitEthernet0/1/1.1] encapsulation dot1q vid 10
[*PE1-GigabitEthernet0/1/1.1] rewrite pop single
[*PE1-GigabitEthernet0/1/1.1] bridge-domain 10
[*PE1-GigabitEthernet0/1/1.1] commit
[~PE1-GigabitEthernet0/1/1.1] quit
[*PE1] interface gigabitethernet 0/1/1.2 mode l2
[*PE1-GigabitEthernet0/1/1.2] encapsulation dot1q vid 20
[*PE1-GigabitEthernet0/1/1.2] rewrite pop single
[*PE1-GigabitEthernet0/1/1.2] bridge-domain 20
[*PE1-GigabitEthernet0/1/1.2] commit
[~PE1-GigabitEthernet0/1/1.2] quit
[*PE1] interface gigabitethernet 0/1/1.3 mode l2
[*PE1-GigabitEthernet0/1/1.3] encapsulation dot1q vid 30
[*PE1-GigabitEthernet0/1/1.3] rewrite pop single
[*PE1-GigabitEthernet0/1/1.3] bridge-domain 20
[*PE1-GigabitEthernet0/1/1.3] commit
[~PE1-GigabitEthernet0/1/1.3] quit
# 配置PE2。
[~PE2] interface gigabitethernet 0/1/1
[*PE2-GigabitEthernet0/1/1] undo shutdown
[*PE2-GigabitEthernet0/1/1] quit
[*PE2] interface gigabitethernet 0/1/1.1 mode l2
[*PE2-GigabitEthernet0/1/1.1] encapsulation dot1q vid 10
[*PE2-GigabitEthernet0/1/1.1] rewrite pop single
[*PE2-GigabitEthernet0/1/1.1] bridge-domain 10
[*PE2-GigabitEthernet0/1/1.1] commit
[~PE2-GigabitEthernet0/1/1.1] quit
[*PE2] interface gigabitethernet 0/1/1.2 mode l2
[*PE2-GigabitEthernet0/1/1.2] encapsulation dot1q vid 20
[*PE2-GigabitEthernet0/1/1.2] rewrite pop single
[*PE2-GigabitEthernet0/1/1.2] bridge-domain 20
[*PE2-GigabitEthernet0/1/1.2] commit
[~PE2-GigabitEthernet0/1/1.2] quit
[*PE2] interface gigabitethernet 0/1/1.3 mode l2
[*PE2-GigabitEthernet0/1/1.3] encapsulation dot1q vid 30
[*PE2-GigabitEthernet0/1/1.3] rewrite pop single
[*PE2-GigabitEthernet0/1/1.3] bridge-domain 20
[*PE2-GigabitEthernet0/1/1.3] commit
[~PE2-GigabitEthernet0/1/1.3] quit
将BD绑定VSI
# 配置PE1。
[~PE1] bridge-domain 10
[*PE1-bd10] l2 binding vsi ldp1 pw-tag 10
[*PE1-bd10] commit
[~PE1-bd10] quit
[~PE1] bridge-domain 20
[*PE1-bd20] l2 binding vsi ldp1 pw-tag 20
[*PE1-bd20] commit
[~PE1-bd20] quit
# 配置PE2。
[~PE2] bridge-domain 10
[*PE2-bd10] l2 binding vsi ldp1 pw-tag 10
[*PE2-bd10] commit
[~PE2] quit
[~PE2] bridge-domain 20
[*PE2-bd20] l2 binding vsi ldp1 pw-tag 20
[*PE2-bd20] commit
[~PE2] quit
- 验证配置结果
上述配置完成后,执行命令display bridge-domain命令,可以查看到EVC二层子接口加入的BD、BD的状态等信息。以PE1为例:
[~PE1] display bridge-domain
The total number of bridge-domains is : 1 -------------------------------------------------------------------------------- MAC_LRN: MAC learning; STAT: Statistics; SPLIT: Split-horizon; BC: Broadcast; MC: Unknown multicast; UC: Unknown unicast; *down: Administratively down; FWD: Forward; DSD: Discard; -------------------------------------------------------------------------------- BDID State MAC-LRN STAT BC MC UC SPLIT Description -------------------------------------------------------------------------------- 10 up enable disable FWD FWD FWD disable 20 up enable disable FWD FWD FWD disable
执行display ethernet uni information命令,可以查看到EVC二层子接口上配置的流封装和流动作。以PE2为例:
[~PE2] display ethernet uni information
GigabitEthernet0/1/1.1 Total encapsulation number: 1 encapsulation dot1q vid 10 Rewrite pop single GigabitEthernet0/1/1.2 Total encapsulation number: 1 encapsulation dot1q vid 20 Rewrite pop single GigabitEthernet0/1/1.3 Total encapsulation number: 1 encapsulation dot1q vid 30 Rewrite pop single
执行命令display vsi name ldp1 verbose,可以看到名字为ldp1的VSI建立了到PE2的PW,VSI状态为Up。以PE1为例:
[~PE1] display vsi name ldp1 verbose
***VSI Name : ldp1 Administrator VSI : no Isolate Spoken : disable VSI Index : 2 PW Signaling : ldp Member Discovery Style : -- Bridge-domain Mode : enable PW MAC Learn Style : qualify Encapsulation Type : ethernet MTU : 1500 Ignore AcState : disable P2P VSI : disable Create Time : 0 days, 0 hours, 1 minutes, 56 seconds VSI State : up Resource Status : -- VSI ID : 2 *Peer Router ID : 2.2.2.9 primary or secondary : primary ignore-standby-state : no VC Label : 32830 Peer Type : dynamic Session : up Tunnel ID : 0x0000000001004c4b42 Broadcast Tunnel ID : -- Broad BackupTunnel ID : -- CKey : 33 NKey : 1409286261 Stp Enable : 0 PwIndex : 33 Control Word : disable Access Bridge-domain : Bridge-domain 10 , PW tag 10 Access Bridge-domain : Bridge-domain 20 , PW tag 20 **PW Information: *Peer Ip Address : 2.2.2.9 PW State : up Local VC Label : 32830 Remote VC Label : 32831 Remote Control Word : disable PW Type : label Tunnel ID : 0x0000000001004c4b42 Broadcast Tunnel ID : -- Broad BackupTunnel ID : -- Ckey : 33 Nkey : 1409286261 Main PW Token : 0x0 Slave PW Token : 0x0 Tnl Type : ldp OutInterface : Backup OutInterface : -- Stp Enable : 0 Mac Flapping : 0 PW Last Up Time : 1976/12/04 00:05:59 PW Total Up Time : 0 days, 0 hours, 0 minutes, 17 seconds
配置文件
PE1的配置文件
# sysname PE1 # vlan batch 10 vlan batch 20 vlan batch 30 # mpls lsr-id 1.1.1.9 # mpls # mpls l2vpn # vsi ldp1 bd-mode pwsignal ldp vsi-id 2 peer 2.2.2.9 encapsulation vlan # bridge-domain 10 l2 binding vsi ldp1 pw-tag 10 # bridge-domain 20 l2 binding vsi ldp1 pw-tag 20 # interface GigabitEthernet0/1/1 undo shutdown # interface GigabitEthernet0/1/1.1 mode l2 encapsulation dot1q vid 10 rewrite pop single bridge-domain 10 # interface GigabitEthernet0/1/1.2 mode l2 encapsulation dot1q vid 20 rewrite pop single bridge-domain 20 # interface GigabitEthernet0/1/1.3 mode l2 encapsulation dot1q vid 30 rewrite pop single bridge-domain 20 # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.1.1 255.255.255.0 mpls mpls ldp # 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 # return
PE2的配置文件
# sysname PE2 # mpls lsr-id 2.2.2.9 # mpls # mpls l2vpn # vsi ldp1 bd-mode pwsignal ldp vsi-id 2 peer 1.1.1.9 encapsulation vlan # bridge-domain 10 l2 binding vsi ldp1 pw-tag 10 # bridge-domain 20 l2 binding vsi ldp1 pw-tag 20 # mpls ldp # interface GigabitEthernet0/1/1 undo shutdown # interface GigabitEthernet0/1/1.1 mode l2 encapsulation dot1q vid 10 rewrite pop single bridge-domain 10 # interface GigabitEthernet0/1/1.2 mode l2 encapsulation dot1q vid 20 rewrite pop single bridge-domain 20 # interface GigabitEthernet0/1/1.3 mode l2 encapsulation dot1q vid 30 rewrite pop single bridge-domain 20 # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.1.2 255.255.255.0 mpls mpls ldp # ospf 1 area 0.0.0.0 network 2.2.2.9 0.0.0.0 network 10.1.1.0 0.0.0.255 # return
CE1的配置文件
# sysname CE1 # vlan batch 10 vlan batch 20 vlan batch 30 # interface GigabitEthernet0/1/1 portswitch undo shutdown port link-type access port default vlan 10 # interface GigabitEthernet0/1/3 portswitch undo shutdown port link-type access port default vlan 20 # interface GigabitEthernet0/1/5 portswitch undo shutdown port link-type access port default vlan 30 # interface GigabitEthernet0/1/2 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 10 # interface GigabitEthernet0/1/4 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 20 # interface GigabitEthernet0/1/6 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 30 # return
CE2的配置文件
# sysname CE1 # vlan batch 10 # interface GigabitEthernet0/1/1 portswitch undo shutdown port link-type access port default vlan 10 # interface GigabitEthernet0/1/3 portswitch undo shutdown port link-type access port default vlan 20 # interface GigabitEthernet0/1/5 portswitch undo shutdown port link-type access port default vlan 30 # interface GigabitEthernet0/1/2 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 10 # interface GigabitEthernet0/1/4 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 20 # interface GigabitEthernet0/1/6 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 30 # return