路由器 : Cisco ASR 9000 系列汇聚服务路由器

与生成树协议的ASR 9000系列常见问题

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文描述遇到的常见问题,当您集成您的在运行Cisco IOS XR的Cisco IOS交换机的当前Layer2 (L2)时生成树网络用Cisco聚合9000系列服务的路由器(ASR)。

贡献用布莱恩诗歌选和大卫鲍尔斯, Cisco TAC工程师。

问题端口VLAN ID (PVID)不一致

运行每VLAN生成树加强的Cisco IOS交换机(PVST+)块交换机端口,当他们接收与一insconsistent PVID的网桥协议数据单元(BPDU)。当在交换机之间的一个设备更改或翻译在PVST+ BPDU的IEEE 802.1Q标记此问题发生。

当ASR 9000提供L2VPN点对点或多点服务在运行PVST+并且重写VLAN标记的交换机之间时,这些系统消息在基于Cisco IOS的交换机也许显示:

%SPANTREE-2-RECV_PVID_ERR: Received BPDU with inconsistent 
peer vlan id 10 on GigabitEthernet0/10 VLAN20.

%SPANTREE-2-BLOCK_PVID_LOCAL: Blocking GigabitEthernet0/10
on VLAN20. Inconsistent local vlan.

此问题归结于包括与PVST+ BPDU的PVID标记。此标记设计为了检测误配置和避免偶然环路。但是,在此方案,它造成每个末端阻塞和不允许流量通过。

示例如下:

这是ASR 9000系列(a9k1)配置的配置:

2vpn
bridge group bg1
bridge-domain bd1
interface TenGigE0/0/0/0.10
!
interface TenGigE0/0/0/1.20

interface TenGigE0/0/0/0.10 l2transport
encapsulation dot1q 10
rewrite ingress tag pop 1 symmetric

interface TenGigE0/0/0/1.20 l2transport
encapsulation dot1q 20
rewrite ingress tag pop 1 symmetric

解决方案

为了防止此问题,您能阻塞PVST+ BPDU。如果冗余连接是可用的在交换机之间,此操作禁用生成树,并且能导致环路。

警告:当您阻塞BPDU和有效禁用生成树时,请当心。

BPDU在交换机过滤

BPDU阻塞与在交换机的BPDU过滤器功能。BPDU过滤器阻塞在两个方向的BPDU,有效禁用在端口的生成树。BPDU过滤器防止入站和出站BPDU。如果启用过滤在接口的BPDU,这是一样,好象您禁用对此的生成树,能导致生成树环路。

在switch1和switch2,有此的enable (event) BPDU过滤器发出命令:

interface TenGigabitEthernet1/2
spanning-tree bpdufilter enable

在ASR 9000的块PVST+ BPDU

如果配置ASR9000为了下降PVST+ BPDU,此问题避免。这执行与L2以太网服务access-list丢弃数据包被注定对PVST+ BPDU MAC地址。

non-vlan1的(非本土) VLAN PVST+ BPDU发送对PVST+ MAC地址(也呼叫共享生成树协议[SSTP] MAC地址, 0100.0ccc.cccd),并且用一对应的IEEE 802.1Q VLAN标记标记。

此访问控制表(ACL)可以用于为了阻塞PVST+ BPDU :

ethernet-services access-list l2acl
10 deny any host 0100.0ccc.cccd  
 20 permit any any

应用ACL对作为l2transport配置的接口:

interface TenGigE0/0/0/0.10 l2transport
encapsulation dot1q 10
rewrite ingress tag pop 1 symmetric
ethernet-services access-group l2acl ingress

interface TenGigE0/0/0/1.20 l2transport
encapsulation dot1q 20
rewrite ingress tag pop 1 symmetric
ethernet-services access-group l2acl ingress

问题-在阻塞和转发之间的交换机端口摆动,当您通过ASR 9000使用多种类型生成树协议(STP)

默认情况下ASR9000不执行生成树类似多数Cisco IOS交换机。在以太网虚拟电路(EVC)型号中, BPDU是完全另一个L2组播信息包。遇到的常见问题是生成树不一致由于在ASR 9000网桥域间运行STP的多种类型。这出现用一些个不同的方式。

考虑此简单拓扑:

假设switch1运行多个生成树和switch2运行PVST+。如果a9k1不运行生成树任何表,则switch1看到此作为边界端口。Switch1下跌回到VLAN的PVST模式不在通用生成树实例0 (CST0)。如果这是希望的设计,您应该熟悉MST和PVST交互作用正如了解多生成树协议(802.1s)白皮书所描述。

现在假设您运行MST在switch1和在去switch1的a9k1接口,但是您仍然运行在switch2的PVST+。PVST+ BPDU穿过网桥域并且到达在switch1。Switch1然后看到从a9k1的MST BPDU,并且从switch2的PVST+ BPDU,造成在switch1端口的生成树从阻塞经常去没有阻塞并且导致数据流损失。

Switch1报告这些Syslog :

%SPANTREE-SP-2-PVSTSIM_FAIL: Superior PVST BPDU received on VLAN 2 port Gi2/13,
claiming root 2:000b.45b7.1100. Invoking root guard to block the port
%SPANTREE-SP-2-ROOTGUARD_BLOCK: Root guard blocking port GigabitEthernet2/13
on MST1.
%SPANTREE-SP-2-ROOTGUARD_UNBLOCK: Root guard unblocking port GigabitEthernet2/13
on MST0.
%SPANTREE-SP-2-PVSTSIM_FAIL: Superior PVST BPDU received on VLAN 2 port Gi2/13,
claiming root 2:000b.45b7.1100. Invoking root guard to block the port
%SPANTREE-SP-2-ROOTGUARD_BLOCK: Root guard blocking port GigabitEthernet2/13
on MST1.

show spanning-tree interface命令输出显示输出在switch1 Cisco IOS设备经常更改:

show spanning-tree interface gig 2/13
Mst Instance Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- -------
MST0 Desg BKN*20000 128.269 P2p Bound(PVST) *ROOT_Inc
MST1 Desg BKN*20000 128.269 P2p Bound(PVST) *ROOT_Inc
MST2 Desg BKN*20000 128.269 P2p Bound(PVST) *ROOT_Inc

show spanning-tree interface gig 2/13
Mst Instance Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- ---------
MST0 Desg FWD 20000 128.269 P2p
MST1 Desg FWD 20000 128.269 P2p
MST2 Desg FWD 20000 128.269 P2p

解决方案

 有三个选项考虑为了防止此问题。

  • 配置在switch2的MST,并且启用在a9k1接口的MST对switch1和switch2。
  • 请使用以太网服务access-list在a9k1为了从switch2下降PVST+ BPDU在入口或在出口到switch1。
  • 每个VLAN生成树接入网关(PVSTAG)运行在往switch2的a9k1接口。这造成a9k1消耗从switch2的PVST+ BPDU。

问题-生成树端口阻塞由于赛弗环路的检测

当交换机接收传送同一个接口的生成树BPDU时,阻塞该VLAN由于赛弗环路。这是发生的常见问题,当一交换机用中继端口连接到提供L2多点服务的ASR 9000路由器时,并且ASR 9000不重写在l2transport接口的VLAN标记在同一个网桥域。

考虑以前显示的同样简单拓扑。但是当前,对于在a9k1的一个设计原因,来自同一个交换机中继接口的多个VLAN在一个网桥域一起合并。

这是a9k1配置:

l2vpn
bridge group bg1
bridge-domain bd1
interface GigabitEthernet0/1/0/31.2
!
interface GigabitEthernet0/1/0/31.3
!
interface GigabitEthernet0/1/0/31.4
!
interface GigabitEthernet0/1/0/32.2
!
interface GigabitEthernet0/1/0/32.3
!
interface GigabitEthernet0/1/0/32.4

interface GigabitEthernet0/1/0/31.2 l2transport
encapsulation dot1q 2
!
interface GigabitEthernet0/1/0/31.3 l2transport
encapsulation dot1q 3
!
interface GigabitEthernet0/1/0/31.4 l2transport
encapsulation dot1q 4

此桥接虚拟局域网2至4一起在a9k1的一个网桥域。

默认情况下ASR 9000 EVC型号不重写任何标记也不弹出。VLAN2的PVST+ BPDU在接口gig 0/1/0/31.2gig 0/1/0/31.3gig 0/1/0/31.4进来和转发取消。因为配置不是入口pop操作重写, BPDU返回不可更改。交换机看到此,当获得其自己的BPDU上一步和块该VLAN由于赛弗环路。

show spanning-tree interface命令显示阻塞的VLAN :

6504-A#show spanning-tree interface gig 2/13


Vlan Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- --------
VLAN0002 Desg BLK 4 128.269 self-looped P2p
VLAN0003 Desg BLK 4 128.269 self-looped P2p
VLAN0004 Desg BLK 4 128.269 self-looped P2p

解决方案

此问题通过使用以太网出口过滤器严格on命令被排除ASR 9000 l2transport接口。

这不是一推荐的设计。然而,如果这真是希望的设计,然后您能使用此解决方案为了防止交换机接收BPDU退还在同一个接口。

您能使用以太网出口过滤器严格on命令a9k1 l2transport接口或全局。这是示例它在接口下:

interface GigabitEthernet0/1/0/31.2 l2transport
encapsulation dot1q 2
ethernet egress-filter strict
!
interface GigabitEthernet0/1/0/31.3 l2transport
encapsulation dot1q 3
ethernet egress-filter strict
!
interface GigabitEthernet0/1/0/31.4 l2transport
encapsulation dot1q 4
ethernet egress-filter strict

以太网出口过滤器严格命令enable (event)严格出口以太网流在接口的点(EFP)过滤。通过在接口的入口EFP过滤器仅的数据包传送在此接口外面。其他数据包丢弃在出口过滤器。这意味着,如果数据包出口不匹配encapsulation dot1q标签在接口配置,然后没有被派出。

相关信息



Document ID: 116514