选择区域语言: EN CN HK

04-二层技术-以太网交换配置指导

12-MAC-in-MAC配置

本章节下载  (309.52 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500/Configure/Operation_Manual/H3C_S12500_CG-R1828P04-6W182/04/201407/834573_30005_0.htm

12-MAC-in-MAC配置


1 MAC-in-MAC

说明

·     当系统工作模式为标准模式时,设备不支持MAC-in-MAC。有关系统工作模式配置的介绍请参见“基础配置指导”中的“设备管理”。

·     EC2类单板不支持MAC-in-MAC。EC2类单板指的是丝印后缀为EC2的单板。

 

1.1  MAC-in-MAC简介

MAC-in-MAC协议由IEEE 802.1ah所定义,又称为PBB(Provider Backbone Bridge,运营商骨干网桥)协议。作为一种二层VPN(Virtual Private Network,虚拟专用网络)技术,它通过MAC地址嵌套,将用户MAC地址封装在运营商MAC地址之中,从而对不同的用户业务进行隔离。

1.1.1  MAC-in-MAC基本概念

图1-1是MAC-in-MAC的基本组网模型,本节将对MAC-in-MAC里的一些基本概念进行介绍。

图1-1 MAC-in-MAC基本组网模型

 

1. PBBN

我们将采用了MAC-in-MAC协议的网络称为PBBN(Provider Backbone Bridge Network,运营商骨干桥接网),也称为MAC-in-MAC网络。从用户的角度来看,PBBN就是一个二层交换网络,可以在不同节点之间建立二层连接。

2. PBN

我们将连接用户网络和PBBN的网络称为PBN(Provider Bridge Network,运营商桥接网)。用户网络既可以直接接入PBBN,也可以通过PBN接入PBBN。

3. MAC-in-MAC报文

我们将经过MAC-in-MAC封装的报文简称为MAC-in-MAC报文,有关MAC-in-MAC报文的具体封装格式,请参见“1.1.2  MAC-in-MAC报文封装”一节的介绍。

4. BEB

BEB(Backbone Edge Bridge,骨干网边缘网桥)设备是PBBN的边缘设备,相当于MPLS网络中的PE设备。它负责将来自用户网络的报文进行MAC-in-MAC封装,并转发到PBBN中;或者将来自PBBN的MAC-in-MAC报文进行解封装,并转发到用户网络中。

5. BCB

BCB(Backbone Core Bridge,骨干网核心网桥)设备是PBBN的核心设备,相当于MPLS网络中的P设备。它负责按照B-MAC和B-VLAN转发MAC-in-MAC报文。BCB设备只需要转发报文和学习骨干网中的MAC地址,不需要学习用户网络中大量的MAC地址,从而降低了网络部署的成本,也为PBBN提供了更好的可扩展性。

6. B-MAC/B-VLAN

BEB设备在对用户报文进行封装时,会为其打上运营商分配的MAC地址和VLAN。这个由运营商分配的MAC地址和VLAN就分别称为B-MAC(Backbone MAC,骨干网MAC)和B-VLAN(Backbone VLAN,骨干网VLAN)。在PBBN中,BCB设备就是按照B-MAC和B-VLAN转发MAC-in-MAC报文的。

B-MAC包括源B-MAC和目的B-MAC,BEB设备在对用户报文进行封装时,会将自己的MAC作为源B-MAC、将PBBN隧道目的端BEB设备的MAC作为目的B-MAC进行封装。

7. 上行口/下行口

BEB设备上连接PBBN的端口称为上行口,连接用户网络的端口称为下行口。来自用户网络的报文被封装成MAC-in-MAC报文后,会通过BEB设备相应的上行口转发出去;而来自PBBN的MAC-in-MAC报文被解封装后,会按照用户MAC地址通过BEB设备相应的下行口转发出去。

8. MAC-in-MAC实例和I-SID

在PBBN中,一个MAC-in-MAC实例代表了运营商提供的一类业务,I-SID(Backbone Service Instance Identifier,骨干网服务实例编号)就是这个MAC-in-MAC实例的唯一编号。

1.1.2  MAC-in-MAC报文封装

图1-2 MAC-in-MAC报文封装格式

 

图1-2是MAC-in-MAC报文的封装格式,其中各重点字段的具体含义如表1-1所示。

表1-1 MAC-in-MAC报文封装重点字段含义

字段

全称

含义

B-DA

Backbone Destination MAC address(骨干网目的MAC地址)

即目的B-MAC,是MAC-in-MAC封装的外层目的MAC地址,为PBBN隧道目的端BEB设备的MAC地址,与B-SA合称为B-MAC

B-SA

Backbone Source MAC address(骨干网源MAC地址)

即源B-MAC,是MAC-in-MAC封装的外层源MAC地址,为PBBN隧道源端BEB设备的MAC地址,与B-DA合称为B-MAC

B-Tag

Backbone VLAN Tag(骨干网VLAN标签)

即B-VLAN Tag,是MAC-in-MAC封装的外层VLAN Tag,用来标识报文在PBBN中的VLAN和优先级信息,其TPID值固定为0x8100

I-Tag

Backbone Service Instance Tag(骨干网服务实例标签)

MAC-in-MAC封装中的业务标记,包括报文在BEB设备上处理时的传送优先级I-PCP和丢弃优先级I-DEI、标识业务实例的I-SID,以及用户报文原始的目的MAC地址(即C-DA)和源MAC地址(即C-SA),其TPID值固定为0x88E7

S-Tag

Service VLAN Tag(服务VLAN标签)

报文在PBN中的外层VLAN Tag,用来标识报文在PBN中的VLAN和优先级信息

C-Tag

Customer VLAN Tag(用户VLAN标签)

报文在PBN中的内层VLAN Tag,用来标识报文在用户网络中的VLAN和优先级信息

 

说明

有关TPID(Tag Protocol Identifier,标签协议标识符)的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN”。

 

1.1.3  MAC-in-MAC报文转发

图1-3 MAC-in-MAC报文转发示意图

 

在如图1-3所示的PBBN中,MAC-in-MAC报文的转发过程如下:

(1)     BEB 1将来自用户网络的报文封装上相应的B-MAC、B-VLAN和I-SID头,然后通过其上行口转发给BCB;

(2)     BCB将来自BEB 1的MAC-in-MAC报文按照B-MAC和B-VLAN转发给BEB 2;

(3)     BEB 2将来自BCB的MAC-in-MAC报文解封装,还原成标准的以太网报文,然后通过其相应的下行口向用户网络转发。

1.1.4  协议规范

与MAC-in-MAC相关的协议规范有:

·     IEEE 802.1ah:Virtual Bridged Local Area Networks Amendment 7: Provider Backbone Bridges

1.2  MAC-in-MAC配置任务简介

请在BEB设备上配置MAC-in-MAC。BCB设备只需按照B-MAC和B-VLAN转发MAC-in-MAC报文,因此无需配置MAC-in-MAC。

表1-2 MAC-in-MAC配置任务简介

配置任务

说明

详细配置

使能L2VPN功能

必选

1.3.1 

创建MAC-in-MAC实例

必选

1.3.2 

配置B-VLAN

必选

1.3.3 

配置上行口

必选

1.3.4 

配置下行口

必选

1.3.5 

应用全局CAR

可选

1.3.6 

 

1.3  配置MAC-in-MAC

1.3.1  使能L2VPN功能

作为二层VPN技术的一种,在配置MAC-in-MAC时,必须首先使能L2VPN功能。

表1-3 使能L2VPN功能

操作

命令

说明

进入系统视图

system-view

-

使能L2VPN功能,并进入L2VPN视图

l2vpn

必选

缺省情况下,L2VPN功能处于关闭状态

 

说明

有关l2vpn命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L2VPN”。

 

1.3.2  创建MAC-in-MAC实例

创建MAC-in-MAC实例就是创建一个MAC-in-MAC类型的VSI(Virtual Switch Instance,虚拟交换实例),并同时指定其I-SID。I-SID是MAC-in-MAC实例的唯一编号,用来标识同一类型的服务,在同一个MAC-in-MAC网络中必须指定相同的I-SID。有关VSI的详细介绍,请参见“MPLS配置指导”中的“VPLS”。

表1-4 创建MAC-in-MAC实例

操作

命令

说明

进入系统视图

system-view

-

创建MAC-in-MAC类型的VSI,指定I-SID,并进入VSI视图

vsi vsi-name minm i-sid i-sid [ pxp ]

必选

 

说明

·     有关vsi命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

·     MAC-in-MAC网络中,如果有一台BEB设备配置了带pxp参数的MAC-in-MAC实例,则最多允许1台其他BEB设备配置与该实例I-SID相同的MAC-in-MAC实例。

 

1.3.3  配置B-VLAN

配置MAC-in-MAC实例时必须为其指定B-VLAN,只有I-SID和B-VLAN都相同的MAC-in-MAC实例才能互通。

表1-5 配置B-VLAN

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name minm i-sid i-sid [ pxp ]

-

指定MAC-in-MAC实例的B-VLAN

minm bvlan vlan-id

必选

缺省情况下,没有为MAC-in-MAC实例指定B-VLAN

 

说明

·     每个MAC-in-MAC实例只能指定一个B-VLAN,不同的MAC-in-MAC实例可以指定相同的B-VLAN。

·     只能将已创建的静态VLAN指定为MAC-in-MAC实例的B-VLAN。

·     有关vsi命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

 

1.3.4  配置上行口

在BEB设备上,来自用户网络的报文被封装成MAC-in-MAC报文后,将通过BEB设备的相应的上行口转发出去。

可以为一个MAC-in-MAC实例配置一个或多个上行口。配置上行口的操作可以在VSI视图或接口视图下进行,二者的配置效果相同。如果在这两个视图下对同一个端口进行了配置,则最后进行的配置将生效。

注意

·     只有为MAC-in-MAC实例指定了B-VLAN后,上行口的配置才会生效。

·     上行口必须加入到MAC-in-MAC实例的B-VLAN中,否则该上行口将不会生效。

 

1. 在VSI视图下配置上行口

表1-6 在VSI视图下配置上行口

操作

命令

说明

进入系统视图

system-view

-

进入VSI视图

vsi vsi-name minm i-sid i-sid [ pxp ]

-

为MAC-in-MAC实例指定上行口

minm uplink interface-type interface-number

必选

缺省情况下,没有为MAC-in-MAC实例指定上行口

 

说明

有关vsi命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

 

2. 在接口视图下配置上行口

表1-7 在接口视图下配置上行口

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网或二层聚合接口视图

interface interface-type interface-number

-

将端口指定为MAC-in-MAC实例的上行口

minm uplink vsi vsi-name

必选

缺省情况下,端口不是任何MAC-in-MAC实例的上行口

 

1.3.5  配置下行口

在BEB设备上,来自用户网络的报文先根据下行口上的匹配规则判断其所属的MAC-in-MAC实例,然后被封装成MAC-in-MAC报文并通过上行口转发出去;而来自PBBN、属于某MAC-in-MAC实例的MAC-in-MAC报文被解封装后,将按照其用户MAC地址通过相应的下行口转发出去。

可以为一个MAC-in-MAC实例配置一个或多个下行口。

表1-8 配置下行口

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

创建服务实例,并进入服务实例视图

service-instance instance-id

必选

缺省情况下,端口上不存在任何服务实例

配置报文匹配规则

encapsulation { s-vid vlan-id [ only-tagged ] | port-based | tagged | untagged }

必选

缺省情况下,不存在任何报文匹配规则

将服务实例与MAC-in-MAC实例相关联

xconnect vsi vsi-name [ access-mode { ethernet | vlan } ]

必选

缺省情况下,服务实例没有与任何MAC-in-MAC实例关联

 

说明

有关service-instanceencapsulationxconnect vsi命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

 

1.3.6  应用全局CAR

在服务实例上,可以应用全局CAR,对服务实例出入方向的流量进行限速。

表1-9 配置全局CAR

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

进入服务实例视图

service-instance instance-id

-

应用全局CAR

car { inbound | outbound } name car-name

必选

缺省情况下,没有在服务实例上应用全局CAR

 

说明

AC(Attachment Circuit,接入电路)上的流量监管功能必须在绑定MAC-in-MAC实例之前配置。有关AC的详细介绍,请参见“MPLS配置指导”中的“VPLS”。

 

1.4  MAC-in-MAC显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC-in-MAC的运行情况,通过查看显示信息验证配置的效果。

在系统视图下执行undo minm connection命令可以清除MAC-in-MAC的连接信息。在用户视图下执行reset命令可以清除指定接口上服务实例的流量统计信息。

表1-10 MAC-in-MAC显示和维护

操作

命令

查看MAC-in-MAC实例的上行连接信息

display minm connection [ vsi vsi-name ] [ | { begin | exclude | include } regular-expression ]

清除MAC-in-MAC实例的上行连接信息

undo minm connection [ vsi vsi-name [ linkid link-id ] | { bvlan vlan-id | interface interface-type interface-number } * ]

清除指定接口上服务实例的流量统计信息

reset service-instance statistics [ interface interface-type interface-number [ service-instance instance-id [ inbound | outbound ] ] ]

 

1.5  MAC-in-MAC典型配置举例

说明

缺省情况下,以太网接口、VLAN接口及聚合接口处于DOWN状态。如果要对这些接口进行配置,请先使用undo shutdown命令使接口状态处于UP。

 

1. 组网需求

·     Device A通过端口GigabitEthernet3/0/1连接核心网络,通过端口GigabitEthernet3/0/2连接用户网络A;Device B的通过端口GigabitEthernet3/0/1连接核心网络,通过端口GigabitEthernet3/0/2连接用户网络B。

·     通过配置,使Customer network A和Customer network B之间利用MAC-in-MAC协议实现互通。

2. 组网图

图1-4 MAC-in-MAC典型配置组网图

 

 

3. 配置步骤

(1)     配置Device A

# 创建VLAN 20。

<DeviceA> system-view

[DeviceA] vlan 20

[DeviceA-vlan20] quit

# 使能L2VPN功能。

[DeviceA] l2vpn

[DeviceA-l2vpn] quit

# 创建名为aaa的MAC-in-MAC类型的VSI,指定其I-SID为100,并指定其封装类型为Ethernet类型。

[DeviceA] vsi aaa minm i-sid 100

[DeviceA-vsi-aaa] encapsulation ethernet

# 将VLAN 20指定为MAC-in-MAC实例aaa的B-VLAN。

[DeviceA-vsi-aaa] minm bvlan 20

[DeviceA-vsi-aaa] quit

# 配置上行口:将端口GigabitEthernet3/0/1配置为Trunk端口且允许VLAN 20通过,并将该端口指定为MAC-in-MAC实例aaa的上行口。

[DeviceA] interface GigabitEthernet 3/0/1

[DeviceA-GigabitEthernet3/0/1] port link-type trunk

[DeviceA-GigabitEthernet3/0/1] port trunk permit vlan 20

[DeviceA-GigabitEthernet3/0/1] minm uplink vsi aaa

[DeviceA-GigabitEthernet3/0/1] quit

# 配置下行口:将端口GigabitEthernet3/0/2配置为Trunk端口且允许所有VLAN通过;在该端口上创建服务实例1,配置报文匹配规则为基于端口匹配,并将该服务实例与MAC-in-MAC实例aaa关联(接入模式为Ethernet方式)。

[DeviceA] interface GigabitEthernet 3/0/2

[DeviceA-GigabitEthernet3/0/2] port link-type trunk

[DeviceA-GigabitEthernet3/0/2] port trunk permit vlan all

[DeviceA-GigabitEthernet3/0/2] service-instance 1

[DeviceA-GigabitEthernet3/0/2-srv1] encapsulation port-based

[DeviceA-GigabitEthernet3/0/2-srv1] xconnect vsi aaa access-mode ethernet

[DeviceA-GigabitEthernet3/0/2-srv1] quit

[DeviceA-GigabitEthernet3/0/2] quit

(2)     配置Device B

Device B的配置与Device A相似,配置过程略。

(3)     检验配置效果

通过使用display minm connection命令可以查看MAC-in-MAC实例的上行连接信息(即学习到的远端B-MAC信息)。例如:

# 在Device A上显示MAC-in-MAC实例aaa的上行连接信息。

[DeviceA] display minm connection vsi aaa

1 connection(s) exist

VSIIndex  LinkID  BMAC            BVLAN  Interface Name           State    AGING TIME(s)

1         1       000f-e200-0001  20     GigabitEthernet3/0/1     Learned  AGING

1.6  常见配置错误举例

1. 故障现象

用户报文无法透过MAC-in-MAC网络到达对方。

2. 故障分析

·     BEB设备上没有配置MAC-in-MAC类型的VSI,或该VSI的状态为down。

·     各BEB设备上的MAC-in-MAC配置不一致。

·     BCB设备上没有创建与BEB设备中B-VLAN相同的VLAN,或者连接BEB和BCB设备的端口没有全部加入该VLAN。

3. 故障排除

(1)     使用display vsi verbose命令查看VSI中的MAC-in-MAC配置。如果没有配置MAC-in-MAC,需要进行配置;如果VSI的状态为down,需要执行undo shutdown命令使该VSI的状态变为up。有关display vsi verbose命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。

(2)     在所有BEB设备上通过display vsi verbose命令查看MAC-in-MAC的配置是否一致,特别是I-SID和B-VLAN是否一致。所有BEB设备上的MAC-in-MAC配置都应保持一致。

(3)     在所有BCB设备上通过命令display vlan all查看是否创建了与BEB设备中B-VLAN相同的VLAN,且各设备间相连的端口是否都已加入该VLAN。所有连接BEB和BCB设备的端口都应加入该VLAN。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!