配置基于混合VLAN的二层协议透明传输示例
本示例组网特点是骨干网设备收到的二层协议报文有携带VLAN Tag,也有不携带VLAN Tag,通过配置基于混合VLAN的二层协议透明传输功能,实现用户网络的二层协议报文在骨干网络中沿着不同的二层隧道穿越骨干网络到达目的用户网络中,实现正常的协议计算功能。本实例以STP协议和用户自定义协议为例。
组网需求
如果骨干网设备的每个接口有多个用户网络接入,且用户网络发送的二层协议报文有携带VLAN Tag,也有不携带VLAN Tag。为了实现不同用户网络的二层协议报文在骨干网络的透明传输,可以配置基于混合VLAN的二层协议透明传输。这样,用户网络的二层协议报文在骨干网络中沿着不同的二层隧道穿越骨干网络到达目的用户网络中,实现正常的协议计算功能。
如图6-5所示,CE设备通过PE设备相连。CE1与CE2网络之间运行STP协议且发送到PE的BPDU(Bridge Protocol Data Unit)报文带有VLAN Tag100,CE3与CE4之间运行用户自定义的二层协议(协议的组播目的地址是0100-c300-0100)且发送到PE的BPDU报文不带VLAN Tag。即骨干网设备同时收到带有VLAN Tag的二层协议报文和不带VLAN Tag的二层协议报文。此时,可以在PE上配置基于混合VLAN的二层协议透明传输功能,使得:
CE1和CE2中的设备可以共同完成生成树计算。
CE3和CE4中的设备可以共同完成用户自定义协议的计算。
此外,对于PE而言,仍需要:
收到不带VLAN Tag的二层协议报文后,打上接口的缺省VLAN后透明传输。
收到带有VLAN Tag的二层协议报文后,再封装一层运营商的VLAN ID且该VLAN ID固定为接口的缺省VLAN。
本例采用替换来自用户网络的原始二层协议报文的组播MAC地址为指定组播MAC地址的方法,配置骨干网络透明传输CE发送来的BPDU报文,默认的BPDU报文的目的MAC地址为0180-C200-0000。
配置思路
采用如下的思路配置基于混合VLAN的二层协议透明的基本功能:
(可选)分别将CE、L、PE、P上的接口切换为二层接口。
如果接口已经是二层接口,则不需要执行此步配置。
- 在CE、PE上分别使能STP功能。
配置CE二层转发功能,使得CE1、CE2发送到PE1的报文携带指定的VLAN Tag值,CE3、CE4发送到PE2的报文不携带VLAN Tag值。
- 在汇聚设备L上配置二层转发功能,允许指定VLAN报文和不携带VLAN Tag的报文通过。
在PE上配置基于混合VLAN的二层协议透明传输功能:
- 在PE上配置二层转发功能,允许指定VLAN报文和不携带VLAN Tag的报文通过。
- 去使能PE用户侧接口STP功能,并分别使能tagged类型和untagged类型接口的二层协议透明传输功能。
- 替换接收到CE的报文的MAC地址。
- 在P上配置二层转发功能,允许指定VLAN报文和不携带VLAN Tag的报文通过。
数据准备
为完成此配置例,需准备如下的数据:
- CE与L互连的接口类型、编号;PE与L互连的接口类型、编号;PE与P互连的接口类型、编号。
- CE所属的VLAN ID。
- L、PE允许通过的报文的VLAN Tag值。
- 二层协议报文的目的MAC地址被替换后的组播MAC地址。
操作步骤
- (可选)分别将CE、L、PE、P上的接口切换为二层接口
使用portswitch命令,将图6-5中CE设备、L设备、PE设备和P设备的所有接口都转换成二层接口。
- 在CE、PE上分别使能STP功能
# 配置CE1。
[~CE1] stp enable
[*CE1] commit
# 配置CE2。
[~CE2] stp enable
[*CE2] commit
# 配置PE1。
[~PE1] stp enable
[*PE1] commit
# 配置PE2。
[~PE2] stp enable
[*PE2] commit
CE3与CE4上运行用户自定义的二层协议,配置过程略。
- 配置CE二层转发功能
# 配置CE1。
[~CE1] vlan 100
[*CE1-vlan100] quit
[*CE1] interface gigabitethernet 0/1/1
[*CE1-GigabitEthernet0/1/1] undo shutdown
[*CE1-GigabitEthernet0/1/1] port link-type trunk
[*CE1-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*CE1-GigabitEthernet0/1/1] stp bpdu vlan 100
[*CE1-GigabitEthernet0/1/1] quit
[*CE1] commit
# 配置CE2。
[~CE2] vlan 100
[*CE2-vlan100] quit
[*CE2] interface gigabitethernet 0/1/1
[*CE2-GigabitEthernet0/1/1] undo shutdown
[*CE2-GigabitEthernet0/1/1] port link-type trunk
[*CE2-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*CE2-GigabitEthernet0/1/1] stp bpdu vlan 100
[*CE2-GigabitEthernet0/1/1] quit
[*CE2] commit
CE3与CE4上运行用户自定义的二层协议,且该协议报文不带有VLAN Tag,配置过程略。
- 在汇聚设备L配置二层转发功能
# 配置L1
[~L1] vlan batch 100 200
[*L1] interface gigabitethernet 0/1/3
[*L1-GigabitEthernet0/1/3] undo shutdown
[*L1-GigabitEthernet0/1/3] port link-type hybrid
[*L1-GigabitEthernet0/1/3] port hybrid untagged 200
[*L1-GigabitEthernet0/1/3] port hybrid tagged 100
[*L1-GigabitEthernet0/1/3] quit
[*L1] interface gigabitethernet 0/1/1
[*L1-GigabitEthernet0/1/1] undo shutdown
[*L1-GigabitEthernet0/1/1] port link-type trunk
[*L1-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*L1-GigabitEthernet0/1/1] quit
[*L1] interface gigabitethernet 0/1/2
[*L1-GigabitEthernet0/1/2] undo shutdown
[*L1-GigabitEthernet0/1/1] port link-type access
[*L1-GigabitEthernet0/1/2] port default vlan 200
[*L1-GigabitEthernet0/1/2] quit
[*L1] commit
# 配置L2
[~L2] vlan batch 100 200
[*L2] interface gigabitethernet 0/1/3
[*L2-GigabitEthernet0/1/3] port link-type hybrid
[*L2-GigabitEthernet0/1/3] port hybrid untagged 200
[*L2-GigabitEthernet0/1/3] port hybrid tagged 100
[*L2-GigabitEthernet0/1/3] quit
[*L2] interface gigabitethernet 0/1/1
[*L2-GigabitEthernet0/1/1] undo shutdown
[*L2-GigabitEthernet0/1/1] port link-type trunk
[*L2-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*L2-GigabitEthernet0/1/1] quit
[*L2] interface gigabitethernet 0/1/2
[*L2-GigabitEthernet0/1/2] undo shutdown
[*L2-GigabitEthernet0/1/1] port link-type access
[*L2-GigabitEthernet0/1/2] port default vlan 200
[*L2-GigabitEthernet0/1/2] quit
[*L2] commit
- 在PE上配置基于混合VLAN的二层协议透明传输功能
在PE上配置二层转发功能
PE收到不带VLAN Tag的二层协议报文后,打上接口的缺省VLAN 100后透明传输;收到带VLAN100的二层协议报文后,再封装一层运营商的VLAN100后透明传输。
# 配置PE1。
[~PE1] vlan 100
[*PE1] interface gigabitethernet 0/1/2
[*PE1-GigabitEthernet0/1/2] undo shutdown
[*PE1-GigabitEthernet0/1/2] port link-type trunk
[*PE1-GigabitEthernet0/1/2] port trunk allow-pass vlan 100
[*PE1-GigabitEthernet0/1/2] quit
[*PE1] interface gigabitethernet 0/1/1
[*PE1-GigabitEthernet0/1/1] undo shutdown
[*PE1-GigabitEthernet0/1/1] port link-type dot1q-tunnel
[*PE1-GigabitEthernet0/1/1] port default vlan 100
[*PE1-GigabitEthernet0/1/1] commit
# 配置PE2。
[~PE2] vlan 100
[*PE2] interface gigabitethernet 0/1/2
[*PE2-GigabitEthernet0/1/2] undo shutdown
[*PE2-GigabitEthernet0/1/2] port link-type trunk
[*PE2-GigabitEthernet0/1/2] port trunk allow-pass vlan 100
[*PE2-GigabitEthernet0/1/2] quit
[*PE2] interface gigabitethernet 0/1/1
[*PE2-GigabitEthernet0/1/1] undo shutdown
[*PE2-GigabitEthernet0/1/1] port link-type dot1q-tunnel
[*PE2-GigabitEthernet0/1/1] port default vlan 100
[*PE2-GigabitEthernet0/1/1] commit
去使能PE用户侧接口STP功能,并分别使能tagged类型和untagged类型接口的二层协议透明传输功能。
# 配置PE1
[~PE1-GigabitEthernet0/1/1] stp disable
[*PE1-GigabitEthernet0/1/1] l2protocol-tunnel stp enable
[*PE1-GigabitEthernet0/1/1] l2protocol-tunnel stp enable
[*PE1-GigabitEthernet0/1/1] quit
[*PE1] commit
# 配置PE1
[~PE2-GigabitEthernet0/1/1] stp disable
[*PE2-GigabitEthernet0/1/1] l2protocol-tunnel stp enable
[*PE2-GigabitEthernet0/1/1] quit
[*PE2] commit
替换接收到CE的报文的MAC地址。
# 配置PE1
[~PE1] l2protocol-tunnel stp group-mac 0100-5e00-0011
[*PE1] commit
# 配置PE2
[~PE2] l2protocol-tunnel stp group-mac 0100-5e00-0011
[*PE2] commit
- 在P上配置二层转发功能
[~P] vlan 100
[*P] interface gigabitethernet 0/1/2
[*P-GigabitEthernet0/1/2] undo shutdown
[*P-GigabitEthernet0/1/2] port link-type trunk
[*P-GigabitEthernet0/1/2] port trunk allow-pass vlan 100
[*P-GigabitEthernet0/1/2] quit
[*P] interface gigabitethernet 0/1/1
[*P-GigabitEthernet0/1/1] undo shutdown
[*P-GigabitEthernet0/1/1] port link-type trunk
[*P-GigabitEthernet0/1/1] port trunk allow-pass vlan 100
[*P-GigabitEthernet0/1/1] quit
[*P] commit
- 检查配置结果
配置完成后,在PE上使用display l2protocol-tunnel group-mac命令可以查看透明传输的二层协议名称、协议类型、协议报文的组播目的MAC地址、Group-MAC地址。
以PE1的显示为例。
[~PE1] display l2protocol-tunnel group-mac stp
Protocol Protocol-MAC Group-MAC ----------------------------------------------------------------------------- stp 0180-c200-0000 0100-5e00-0011
配置完成后,在CE设备上执行display stp brief命令可以检查MSTP的根。以CE1和CE2为例,CE1和CE2之间完成了生成树计算功能。CE1上的GE0/1/1为根(Root)端口,CE2上的GE0/1/1为指定(Designated)端口。
[~CE1] display stp brief
MSTID Port Role STP State Protection Cost Edged 0 GigabitEthernet0/1/1 ROOT forwarding none 199999 disable
[~CE2] display stp brief
MSTID Port Role STP State Protection Cost Edged 0 GigabitEthernet0/1/1 DESI forwarding none 199999 disable
配置文件
CE1的配置文件
# sysname CE1 # vlan batch 100 # stp enable # interface GigabitEthernet0/1/1 undo shutdown port link-type trunk port trunk allow-pass vlan 100 stp bpdu vlan 100 # return
CE2的配置文件
# sysname CE2 # vlan batch 100 # stp enable # interface GigabitEthernet0/1/1 undo shutdown port link-type trunk port trunk allow-pass vlan 100 stp bpdu vlan 100 # return
PE1的配置文件
# sysname PE1 # vlan 100 # l2protocol-tunnel stp group-mac 0100-5e00-0011 # interface GigabitEthernet0/1/1 undo shutdown port link-type dot1q-tunnel port default vlan 100 stp disable l2protocol-tunnel stp enable # interface GigabitEthernet0/1/2 undo shutdown port link-type trunk port trunk allow-pass vlan 100 # return
PE2的配置文件
# sysname PE2 # vlan 100 # l2protocol-tunnel stp group-mac 0100-5e00-0011 # interface GigabitEthernet0/1/1 undo shutdown port link-type dot1q-tunnel port default vlan 100 stp disable l2protocol-tunnel stp enable # interface GigabitEthernet0/1/2 undo shutdown port link-type trunk port trunk allow-pass vlan 100 # return
P的配置文件
# sysname P # vlan 100 # interface GigabitEthernet0/1/1 undo shutdown port link-type trunk port trunk allow-pass vlan 100 # interface GigabitEthernet0/1/2 undo shutdown port link-type trunk port trunk allow-pass vlan 100 # return
L1的配置文件
# sysname L1 # vlan batch 100 200 # interface GigabitEthernet0/1/1 undo shutdown port link-type trunk port trunk allow-pass vlan 100 # interface GigabitEthernet0/1/2 undo shutdown port link-type access port default vlan 200 # interface GigabitEthernet0/1/3 undo shutdown port link-type hybrid port hybrid tagged 100 port hybrid untagged 200 # return
L2的配置文件
# sysname L2 # vlan batch 100 200 # interface GigabitEthernet0/1/1 undo shutdown port link-type trunk port trunk allow-pass vlan 100 # interface GigabitEthernet0/1/2 undo shutdown port link-type access port default vlan 200 # interface GigabitEthernet0/1/3 undo shutdown port link-type hybrid port hybrid tagged 100 port hybrid untagged 200 # return