简介
本文档介绍基本的提供商主干网桥技术(PBB)的功能。 它在核心网络中使用多生成树(MST)来避免环路。
先决条件
要求
思科建议您具备MST和VPLS(虚拟专用局域网服务)的基本知识。
使用的组件
本文档不限于特定的软件和硬件版本。本文档中的信息是在特定实验环境中使用聚合服务路由器9000(ASR9K)设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。
IEEE 802.1ah提供商主干桥接概述
电气和电子工程师协会(IEEE)802.1ah PBB功能在提供商主干桥接网络(PBBN)边缘的主干边缘桥接(BEB)上封装或解封最终用户流量。PBB提供可扩展性,以配置网络中更多的服务实例。PBB将客户的网络封装到802.1ah报头中。这些封装的数据包使用核心网络中唯一且手动配置的主干地址进行交换。这样,主干核心网桥就无需学习每个客户的所有MAC地址,从而提高了可扩展性。为了了解技术行为,了解本文档中经常使用的一些术语的含义非常重要。
使用的术语
本文档将经常使用与PBB相关的一些术语。下面列出了这些内容并作了简要说明。
B-MAC : All the bridges(routers) in backbone network are manually configured with a unique MAC address. These MAC addresses are used in forwarding base to identify which remote BEB
should customer traffic be forwarded to.
B-SA : Denotes backbone MAC address of source bridge.
B-DA : Denotes backbone MAC address of destination bridge.
BEB : Backbone edge bridge is the router that faces customer edge node.
BCB : Backbone core bridge is transit node in provider's core network that switches frame towards destination.
B-VID : Vlan that carries PBB encapsulated customer traffic within core.
I-SID : Represents a unique service identifier associated with service instances.
B-Tag : Contains backbone vlan(B-VLAN) id information.
I-Tag : Contains I-SID value and helps destination BEB router to determine which I-Component or service instance should the traffic be forwarded to.
S-VID : Vlan that receives customer traffic and is called Service Vlan identifier(S-VID).
C-VID : Vlan tag received in customer's frame. This remains intact while it encapsulated and transported across provider network.
C-SA : Original source MAC address of customer's frame.
C-DA : Original destination MAC address of customer's frame.
注意:构成客户帧的C-VID、C-SA和C-DA和负载在PBB网络中从未改变。
PBB组件
IEEE 802.1ah提供了一个框架,用于互连多个提供商桥接网络(通常称为PBN)。它提供了扩展提供商网络中服务VLAN的方法。PBB网络由两个主要组件组成,称为I-Component和B-Component。
I组件:此组件驻留在BEB(主干边缘节点)路由器上,面向客户网络。它负责处理客户流量并向其添加PBB报头。I-Component维护重要的映射信息:
— 维护S-VID和I-SID之间的映射
— 它维护客户MAC(C-DA)到桥接主干MAC地址(B-DA)映射。
I组件配置:这两个组件以不同的l2vpn网桥组和域的形式定义。
l2vpn
bridge group I-Comp-Grp
bridge-domain I-Comp-Dmn
interface GigabitEthernet X.Y // X= Attachment Circuit; Y= S-VID
!
pbb edge i-sid
core-bridge B-Comp-Dmn // Z= I-SID value
!
!
!
!
B组件:此组件负责转发核心网络中的流量。它维护一个B-MAC数据库以及从中学习的接口。转发引擎使用此信息来选择传出流量到其他远程BEB的出口路径。
B组件配置:
l2vpn
bridge group B-Comp-Grp
bridge-domain B-Comp-Dmn
interface GigabitEthernet <> // Adds an interface to a bridge domain that allows packets to be
// forwarded and received from other interfaces that are part of the same bridge domain.
pbb core
rewrite ingress tag push dot1ad
symmetric // Defines backbone vlan id for core
!
!
!
!
B-MAC配置:PBB环境中的每台路由器都由唯一的MAC地址标识。这些主干MAC地址用于802.1ah封装,以B-VID转发流量。
l2vpn
pbb
backbone-source-mac XXXX.YYYY.ZZZZ
!
!
第2层环路避免协议
PBB的两个组件接收客户流量并将其封装在802.1ah中。此封装帧使用主干VLAN到达其目的地。哪个主干VLAN用于转发流量取决于在B-Component网桥域中配置的B-VID值。所有第2层网络都容易出现环路,因此提供商的核心需要环路避免协议来检查这一点。此方案将使用多生成树(MST)
802.1ah封装
下图描述了BEB路由器上存在的两个组件。它显示强加于客户流量的报头。使用802.1q标记接收的原始客户流量在最终设置为核心网络进行转发之前,会进一步采用802.1ad和802.1ah封装。
诊断1
配置
网络图
诊断。2
配置
PBB要求在BEB(面向客户)节点上配置“I”和“B”组件。不连接到任何客户终端路由器的BCB(核心路由器)只需B组件。
PBB配置
// Below is BEB-1 configuration. Similar configuration applies to other BEBs.
// B-MAC Configuration
l2vpn
pbb
backbone-source-mac 000a.2500.0001
!
!
//I-Component Configuration
l2vpn
bridge group I-Comp-Grp
bridge-domain I-Comp-Dmn
interface GigabitEthernet0/0/0/12.554
!
pbb edge i-sid 5554 core-bridge B-Comp-Dmn
!
!
!
!
//B-Component Configuration
l2vpn
bridge group B-Comp-Grp
bridge-domain B-Comp-Dmn
interface Bundle-Ether2.1506
!
pbb core
rewrite ingress tag push dot1ad 1506 symmetric
!
!
!
!
同样,BCB-1、BEB-2、BCB-2也使用类似的配置结构。
MST配置:
以下是所有BEB和BCB上使用的MST配置结构。在本测试场景中,B-VID属于所有四台路由器的实例1。MST在核心路由器和边缘路由器之间提供无环路第2层路径。 根网桥所需的节点需要设置较低的优先级。
++Snipped output++
spanning-tree mst
name
maximum age
revision
provider-bridge
instance 1
vlan-ids 1505-1507
priority 4096
interface Bundle-Ether1
instance 1 cost 10000
interface Bundle-Ether11
instance 1 cost 20000
PBB如何工作?
单播流量转发
本场景讨论从客户接收的流量发往单播目的MAC地址的情况。以下是此场景中考虑的流量配置文件。
表 1
源封装(BEB-1)
- 客户边缘(CE)节点将流量转发到BEB-1。此流量的源MAC地址和目标MAC地址分别为0000.0000.1111和0000.0000.2222。
- 在I-Comp-Dmn的接口GigabitEthernet0/0/0/12.554上,在VLAN ID 554(S-VID)中接收流量。
- PBB的I-Component接收此流量,并查找客户的目的MAC地址0000.0000.2222的转发基本映射。
RP/0/RSP0/CPU0:BEB-1#show l2vpn forwarding bridge-domain I-Comp-Grp:I-Comp-Dmn mac-address location 0/0/cpu0
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
0000.0000.1111 dynamic Gi0/0/0/12.554 0/0/CPU0 29 Nov 11:16:11 N/A
0000.0000.2222 dynamic BD id: 24 0/0/CPU0 29 Nov 11:18:41 a000.7500.0001
e0ac.f15f.8a8b routed BD id: 24 N/A N/A N/A
4. I-Component有一个目的MAC地址0000.0000.2222的条目,发现它被映射到“主干地址a000.7500.0001”。 此查找提供构建帧所需的B-MAC(主干MAC)。
5. I-Component使用I-SID、B-SA、B-DA、S-VID等必要字段封装客户帧,然后将其传递到B-Component以进行转发。
6. B-Component对B-DA执行查找并确定转发流量的出口接口。
RP/0/RSP0/CPU0:BEB-1#show l2vpn forwarding bridge-domain B-Comp-Grp:B-Comp-Dmn mac-address location 0/0/cpu0
To Resynchronize MAC table from the Network Processors, use the command...
l2vpn resynchronize forwarding mac-address-table location
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
a000.7500.0001 dynamic BE2.1506 0/RSP0/CP 29 Nov 11:20:41 N/A
000a.2500.0001 S-BMAC BD id: 19 N/A N/A N/A
7.目的B-MAC地址“a000.7500.0001”具有经由BE2.1506的无环路径,用于将流量设置到核心网络。
在核心中转发流量(BCB-1)
1.中转节点BCB-1根据B-VID 1506在其B-Component中接收802.1ah封装帧。它执行查找,并通过接口BE11.1506转发流量
RP/0/RSP0/CPU0:BCB-1#show l2vpn forwarding bridge-domain B-Comp-Grp:B-Comp-Dmn mac-address location 0/0/cpu0
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
000a.2500.0001 dynamic BE2.1506 0/RSP0/CP 29 Nov 11:57:28 N/A
a000.7500.0001 dynamic BE11.1506 0/RSP0/CP 29 Nov 11:56:28 N/A
a000.3500.0001 S-BMAC BD id: 12 N/A N/A N/A
目的地解封(BEB-2)
1.目的BEB-2接收流量。它根据I-SID执行查找,以确定关联的I-Component/服务实例。在这种情况下,查找提供“I-Comp-Dmn”。 然后,802.1ah报头被剥离,流量被发送到关联的服务实例。
2.对客户目的地址0000.0000.2222执行MAC查找,以确定此帧需要从发送的附件电路。在这种情况下,流量通过附件电路“Gi0/0/0/12.554”转发到客户CE。
RP/0/RSP0/CPU0:9001-80A#show l2vpn forwarding bridge-domain I-Comp-Grp:I-Comp-Dmn mac-address location 0/0/cpu0
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
0000.0000.2222 dynamic Gi0/0/0/12.554 0/0/CPU0 29 Nov 18:58:40 N/A
0000.0000.1111 dynamic BD id: 26 0/0/CPU0 29 Nov 18:59:10 000a.2500.0001
8478.ac46.fb38 routed BD id: 26 N/A N/A N/A
802.1ah封装数据包视图(单播流量)
下面是封装的客户帧的数据包级视图。其值/配置文件与表1中列出的相同。每个PBB数据包都是802.1q、802.1ah和802.1ad的封装组合。在数据包HEX转储中可以看到这些以太网类型。
0x88a8 - 802.1ad
0x88e7 - 802.1ah
0x8100 - 802.1q
Frame 1: 512 bytes on wire (4096 bits), 512 bytes captured (4096 bits)
// Source and destination backbone MACs
Ethernet II, Src: CeragonN_00:00:01 (00:0a:25:00:00:01), Dst: a0:00:75:00:00:01 (a0:00:75:00:00:01)
// MAC addresses in original customer frame are intact in encapsulation.
IEEE 802.1ah, B-VID: 1506, I-SID: 5554, C-Src: 00:00:00_00:11:11 (00:00:00:00:11:11), C-Dst: 00:00:00_00:22:22 (00:00:00:00:22:22)
B-Tag, B-VID: 1506
000. .... .... .... = Priority: 0
...0 .... .... .... = DEI: 0
.... 0101 1110 0010 = ID: 1506
I-Tag, I-SID: 5554
C-Destination: 00:00:00_00:22:22 (00:00:00:00:22:22)
C-Source: 00:00:00_00:11:11 (00:00:00:00:11:11)
Type: 802.1Q Virtual LAN (0x8100)
// S-VID
802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 554
000. .... .... .... = Priority: Best Effort (default) (0)
...0 .... .... .... = CFI: Canonical (0)
.... 0010 0010 1010 = ID: 554
Type: IPv4 (0x0800)
//Payload
Internet Protocol Version 4, Src: 10.0.0.1, Dst: 10.0.0.2
Internet Control Message Protocol
未知单播、组播和广播流量转发
上述场景描述了“I-Comp-Dmn”网桥域已具有S-DA到B-DA映射的情况。因此,路由器在到达下一帧之前就已经知道要将其发送到哪个远程BEB。
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
0000.0000.1111 dynamic Gi0/0/0/12.554 0/0/CPU0 29 Nov 11:16:11 N/A
0000.0000.2222 dynamic BD id: 24 0/0/CPU0 29 Nov 11:18:41 a000.7500.0001
客户流量可以是组播、广播或未知单播。此类流量的目标MAC地址未映射到任何特定远程BEB,因此发送方/封装BEB不知道要将此流量发送到哪个远程BEB。本示例使用ARP形式的广播流量来解释PBB如何处理此类流量。在这种情况下,两台客户主机在不同的BEB上被视为新加入了同一广播域中的网络。在这两台计算机开始发送任何数据包之前,它们需要在目的MAC地址ffff.ffff.ffff处发送广播ARP请求,以了解彼此的MAC地址。当源封装BEB收到ARP请求时,它通过查看接收帧的目的MAC地址来确定它是广播流量。
处理未知单播、组播或广播帧时,主干目的MAC(B-DA)使用特殊组MAC。此主干组MAC使用以下规则从I-service实例标识符(ISID)派生。

入口BEB接收ARP请求,该BEB将其封装到802.1ah帧中,并按照上述说明派生了特殊B-DA。然后,核心路由器(BCB)接收此帧。 核心BCB使用相同的B-VID(1506)将此帧转发到所有BEB。当远程BEB接收到此封装帧时,它们检查I-SID以确定与其对应的关联服务实例。一旦识别到I-Component(或与I-SID关联的网桥域),就会查找客户的MAC地址,以确定将流量转发出去的附加电路。在以下场景中,主机10.0.0.20位于BEB-4后面,它以ARP应答作出响应。BEB-2和BEB-3后面的其他网络设备接收ARP请求并忽略。

802.1ah封装数据包视图(广播流量)
以下是使用特殊B-DA地址封装的CE广播流量的数据包级视图。
Frame 1: 256 bytes on wire (2048 bits), 256 bytes captured (2048 bits)
// Use of special derived B-DA
Ethernet II, Src: CeragonN_00:00:01 (00:0a:25:00:00:01), Dst: Lan/ManS_00:15:b2 (01:1e:83:00:15:b2)
Destination: Lan/ManS_00:15:b2 (01:1e:83:00:15:b2)
Source: CeragonN_00:00:01 (00:0a:25:00:00:01)
Type: 802.1ad Provider Bridge (Q-in-Q) (0x88a8)
IEEE 802.1ah, B-VID: 1506, I-SID: 5554, C-Src: 00:00:00_00:11:11 (00:00:00:00:11:11), C-Dst: Broadcast (ff:ff:ff:ff:ff:ff)
B-Tag, B-VID: 1506
000. .... .... .... = Priority: 0
...0 .... .... .... = DEI: 0
.... 0101 1110 0010 = ID: 1506
I-Tag, I-SID: 5554
C-Destination: Broadcast (ff:ff:ff:ff:ff:ff)
C-Source: 00:00:00_00:11:11 (00:00:00:00:11:11)
Type: 802.1Q Virtual LAN (0x8100)
802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 554
Address Resolution Protocol (request)
Hardware type: Ethernet (1)
Protocol type: IPv4 (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (1)
Sender MAC address: 00:00:00_00:11:11 (00:00:00:00:11:11)
Sender IP address: 10.0.0.10
Target MAC address: 00:00:00_00:12:34 (00:00:00:00:12:34)
Target IP address: 10.0.0.20
验证
要验证PBB,请检查参与的组件,如MST、I-Component和B-Component。
1.在路径中的所有节点上使用以下命令可以确定网桥域和连接电路的状态。下面的验证以BEB-1为例。
RP/0/RSP0/CPU0:BEB-1#show l2vpn bridge group I-Comp-Grp bd-name I-Comp-Dmn
Legend: pp = Partially Programmed.
Bridge group: I-Comp-Grp, bridge-domain: I-Comp-Dmn, id: 17, state: up, ShgId: 0, MSTi: 0
Type: pbb-edge, I-SID: 5554
Aging: 300 s, MAC limit: 150, Action: limit, no-flood, Notification: syslog, trap
Filter MAC addresses: 0
ACs: 1 (1 up), VFIs: 0, PWs: 0 (0 up), PBBs: 1 (1 up), VNIs: 0 (0 up)
List of PBBs:
PBB Edge, state: up, Static MAC addresses: 0
List of ACs:
Gi0/0/0/12.554, state: up, Static MAC addresses: 0
List of Access PWs:
List of VFIs:
2.使用以下命令验证是否在I-Component(I-Comp-Dmn)中学习了客户目的MAC地址。
RP/0/RSP0/CPU0:BEB-1#show l2vpn forwarding bridge-domain I-Comp-Grp:I-Comp-Dmn mac-address location 0/0/cpu0
To Resynchronize MAC table from the Network Processors, use the command...
l2vpn resynchronize forwarding mac-address-table location
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
0000.0000.1111 dynamic Gi0/0/0/12.554 0/0/CPU0 29 Nov 11:16:11 N/A
0000.0000.2222 dynamic BD id: 24 0/0/CPU0 29 Nov 11:18:41 a000.7500.0001
e0ac.f15f.8a8b routed BD id: 24 N/A N/A N/A
3.验证B-Component是否在其数据库中为B-DA转发信息。
RP/0/RSP0/CPU0:BEB-1#show l2vpn forwarding bridge-domain B-Comp-Grp:B-Comp-Dmn mac-address location 0/0/cpu0
To Resynchronize MAC table from the Network Processors, use the command...
l2vpn resynchronize forwarding mac-address-table location
Mac Address Type Learned from/Filtered on LC learned Resync Age/Last Change Mapped to
-------------- ------- --------------------------- ---------- ---------------------- --------------
a000.7500.0001 dynamic BE2.1506 0/RSP0/CP 29 Nov 11:20:41 N/A
000a.2500.0001 S-BMAC BD id: 19 N/A N/A N/A
4.检验核心第2层网络中的MST是否稳定,并确认路径中的节点上存在到达目的B-DA的无环路径。