配置基于VLAN的二层协议透明传输示例
组网需求
如图14-7所示,CE设备为企业处于不同地域网络的边缘设备,PE1和PE2为运营商的边缘设备。VLAN100和VLAN200所属二层网络为不同用户,并且通过运营商网络实现互联。为了防止二层网络形成环路,网络中运行STP协议,并且企业用户希望STP只在各自自有网络中运行以生成正确的生成树,即:
VLAN100中的设备可以共同完成生成树计算。
VLAN200中的设备可以共同完成生成树计算。
配置思路
采用如下的思路配置基于VLAN的二层协议透明传输的基本功能:
配置CE设备的STP功能,破除二层网络中的环路。
配置CE发送到PE的STP协议报文带有指定的Tag值,实现VLAN100和VLAN200中STP独立计算。
配置PE基于VLAN的二层协议透明传输功能,实现STP协议报文不上送PE设备的CPU进行处理。
操作步骤
- 使能CE的生成树计算功能
# 配置CE1。
<HUAWEI> system-view [~HUAWEI] sysname CE1 [*HUAWEI] commit [~CE1] stp enable [*CE1] commit
# 配置CE2。
<HUAWEI> system-view [~HUAWEI] sysname CE2 [*HUAWEI] commit [~CE2] stp enable [*CE2] commit
# 配置CE3。
<HUAWEI> system-view [~HUAWEI] sysname CE3 [*HUAWEI] commit [~CE3] stp enable [*CE3] commit
# 配置CE4。
<HUAWEI> system-view [~HUAWEI] sysname CE4 [*HUAWEI] commit [~CE4] stp enable [*CE4] commit
- 配置CE1与CE2发送到PE的STP协议报文带Tag100。配置CE3与CE4发送到PE的STP协议报文带Tag200
# 配置CE1。
[~CE1] vlan 100 [*CE1-vlan100] quit [*CE1] interface 10ge 1/0/1 [*CE1-10GE1/0/1] port link-type trunk [*CE1-10GE1/0/1] port trunk allow-pass vlan 100 [*CE1-10GE1/0/1] stp bpdu vlan 100 [*CE1-10GE1/0/1] quit [*CE1] commit
# 配置CE2。
[~CE2] vlan 100 [*CE2-vlan100] quit [*CE2] interface 10ge 1/0/1 [*CE2-10GE1/0/1] port link-type trunk [*CE2-10GE1/0/1] port trunk allow-pass vlan 100 [*CE2-10GE1/0/1] stp bpdu vlan 100 [*CE2-10GE1/0/1] quit [*CE2] commit
# 配置CE3。
[~CE3] vlan 200 [*CE3-vlan200] quit [*CE3] interface 10ge 1/0/1 [*CE3-10GE1/0/1] port link-type trunk [*CE3-10GE1/0/1] port trunk allow-pass vlan 200 [*CE3-10GE1/0/1] stp bpdu vlan 200 [*CE3-10GE1/0/1] quit [*CE3] commit
# 配置CE4。
[~CE4] vlan 200 [*CE4-vlan200] quit [*CE4] interface 10ge 1/0/1 [*CE4-10GE1/0/1] port link-type trunk [*CE4-10GE1/0/1] port trunk allow-pass vlan 200 [*CE4-10GE1/0/1] stp bpdu vlan 200 [*CE4-10GE1/0/1] quit [*CE4] commit
- 配置PE的接口,使得CE的STP协议报文可以透明传输到对端
# 配置PE1。
<HUAWEI> system-view [~HUAWEI] sysname PE1 [~PE1] vlan 100 [*PE1-vlan100] quit [*PE1] vlan 200 [*PE1-vlan200] quit [*PE1] interface 10ge 1/0/2 [*PE1-10GE1/0/2] port link-type trunk [*PE1-10GE1/0/2] port trunk allow-pass vlan 100 [*PE1-10GE1/0/2] l2protocol-tunnel stp vlan 100 [*PE1-10GE1/0/2] quit [*PE1] interface 10ge 1/0/3 [*PE1-10GE1/0/3] port link-type trunk [*PE1-10GE1/0/3] port trunk allow-pass vlan 200 [*PE1-10GE1/0/3] l2protocol-tunnel stp vlan 200 [*PE1-10GE1/0/3] quit [*PE1] commit
# 配置PE2。
<HUAWEI> system-view [~HUAWEI] sysname PE2 [~PE2] vlan 100 [*PE2-vlan100] quit [*PE2] vlan 200 [*PE2-vlan200] quit [*PE2] interface 10ge 1/0/2 [*PE2-10GE1/0/2] port link-type trunk [*PE2-10GE1/0/2] port trunk allow-pass vlan 100 [*PE2-10GE1/0/2] l2protocol-tunnel stp vlan 100 [*PE2-10GE1/0/2] quit [*PE2] interface 10ge 1/0/3 [*PE2-10GE1/0/3] port link-type trunk [*PE2-10GE1/0/3] port trunk allow-pass vlan 200 [*PE2-10GE1/0/3] l2protocol-tunnel stp vlan 200 [*PE2-10GE1/0/3] quit [*PE2] commit
如果对端设备发送的为非标准协议报文,用户可以先执行命令l2protocol-tunnel user-defined-protocol protocol-name protocol-mac protocol-mac [ encap-type { { ethernetii | snap } protocol-type protocol-type-value | llc dsap dsap-value ssap ssap-value } ] group-mac { group-mac | default-group-mac },自定义二层透明传输协议的特征信息,然后执行命令l2protocol-tunnel user-defined-protocol protocol-name vlan { low-id [ to high-id ] } &<1-10>,使能接口基于VLAN的二层协议透明传输功能。
- 配置PE替换接收到CE的STP协议报文的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
- 配置CE2和CE4设备的优先级为4096
# 配置CE2。
[~CE2] stp priority 4096 [*CE2] commit
# 配置CE4。
[~CE4] stp priority 4096 [*CE4] commit
- 检查配置结果
# 配置完成后,在PE上使用display l2protocol-tunnel group-mac命令可以查看透明传输的二层协议名称、协议类型、协议报文的组播目的MAC地址、Group MAC地址以及报文的优先级。
以PE1的显示为例。
[~PE1] display l2protocol-tunnel group-mac stp Protocol EncapeType ProtocolType Protocol-MAC Group-MAC Pri ----------------------------------------------------------------------------- stp llc dsap 0x42 0180-c200-0000 0100-5e00-0011 0 ssap 0x42
# 等待30秒后,在CE1和CE2设备上执行display stp brief命令可以检查MSTP的根。CE1和CE2之间完成了生成树计算功能。CE1上的10GE1/0/1为根(Root)端口,CE2上的10GE1/0/1为指定(Designated)端口。
[~CE1] display stp brief MSTID Port Role STP State Protection Cost Edged 0 10GE1/0/1 ROOT forwarding none 2000 disable
[~CE2] display stp brief MSTID Port Role STP State Protection Cost Edged 0 10GE1/0/1 DESI forwarding none 2000 disable
# 等待30秒后,在CE3和CE4设备上执行display stp brief命令可以检查MSTP的根。CE3和CE4之间完成了生成树计算功能。CE3上的10GE1/0/1为根(Root)端口,CE4上的10GE1/0/1为指定(Designated)端口。
[~CE3] display stp brief MSTID Port Role STP State Protection Cost Edged 0 10GE1/0/1 ROOT forwarding none 2000 disable
[~CE4] display stp brief MSTID Port Role STP State Protection Cost Edged 0 10GE1/0/1 DESI forwarding none 2000 disable
配置文件
CE1的配置文件
# sysname CE1 # vlan batch 100 # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 100 stp bpdu vlan 100 # return
CE2的配置文件
# sysname CE2 # vlan batch 100 # stp instance 0 priority 4096 # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 100 stp bpdu vlan 100 # return
CE3的配置文件
# sysname CE3 # vlan batch 200 # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 200 stp bpdu vlan 200 # return
CE4的配置文件
# sysname CE4 # vlan batch 200 # stp instance 0 priority 4096 # # interface 10GE1/0/1 port link-type trunk port trunk allow-pass vlan 200 stp bpdu vlan 200 # return
PE1的配置文件
# sysname PE1 # vlan batch 100 200 # l2protocol-tunnel stp group-mac 0100-5e00-0011 # interface 10GE1/0/2 port link-type trunk port trunk allow-pass vlan 100 l2protocol-tunnel stp vlan 100 # interface 10GE1/0/3 port link-type trunk port trunk allow-pass vlan 200 l2protocol-tunnel stp vlan 200 # return
PE2的配置文件
# sysname PE2 # vlan batch 100 200 # l2protocol-tunnel stp group-mac 0100-5e00-0011 # interface 10GE1/0/2 port link-type trunk port trunk allow-pass vlan 100 l2protocol-tunnel stp vlan 100 # interface 10GE1/0/3 port link-type trunk port trunk allow-pass vlan 200 l2protocol-tunnel stp vlan 200 # return