12-MAC-in-MAC配置
本章節下載: 12-MAC-in-MAC配置 (306.5 KB)
目 錄
當係統工作模式為標準模式時,設備不支持MAC-in-MAC。有關係統工作模式配置的介紹請參見“基礎配置指導”中的“設備管理”。
MAC-in-MAC協議由IEEE 802.1ah所定義,又稱為PBB(Provider Backbone Bridge,運營商骨幹網橋)協議。作為一種二層VPN(Virtual Private Network,虛擬專用網絡)技術,它通過MAC地址嵌套,將用戶MAC地址封裝在運營商MAC地址之中,從而對不同的用戶業務進行隔離。
圖1-1是MAC-in-MAC的基本組網模型,本節將對MAC-in-MAC裏的一些基本概念進行介紹。
圖1-1 MAC-in-MAC基本組網模型
我們將采用了MAC-in-MAC協議的網絡稱為PBBN(Provider Backbone Bridge Network,運營商骨幹橋接網),也稱為MAC-in-MAC網絡。從用戶的角度來看,PBBN就是一個二層交換網絡,可以在不同節點之間建立二層連接。
我們將連接用戶網絡和PBBN的網絡稱為PBN(Provider Bridge Network,運營商橋接網)。用戶網絡既可以直接接入PBBN,也可以通過PBN接入PBBN。
我們將經過MAC-in-MAC封裝的報文簡稱為MAC-in-MAC報文,有關MAC-in-MAC報文的具體封裝格式,請參見“1.1.2 MAC-in-MAC報文封裝”一節的介紹。
BEB(Backbone Edge Bridge,骨幹網邊緣網橋)設備是PBBN的邊緣設備,相當於MPLS網絡中的PE設備。它負責將來自用戶網絡的報文進行MAC-in-MAC封裝,並轉發到PBBN中;或者將來自PBBN的MAC-in-MAC報文進行解封裝,並轉發到用戶網絡中。
BCB(Backbone Core Bridge,骨幹網核心網橋)設備是PBBN的核心設備,相當於MPLS網絡中的P設備。它負責按照B-MAC和B-VLAN轉發MAC-in-MAC報文。BCB設備隻需要轉發報文和學習骨幹網中的MAC地址,不需要學習用戶網絡中大量的MAC地址,從而降低了網絡部署的成本,也為PBBN提供了更好的可擴展性。
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進行封裝。
BEB設備上連接PBBN的端口稱為上行口,連接用戶網絡的端口稱為下行口。來自用戶網絡的報文被封裝成MAC-in-MAC報文後,會通過BEB設備相應的上行口轉發出去;而來自PBBN的MAC-in-MAC報文被解封裝後,會按照用戶MAC地址通過BEB設備相應的下行口轉發出去。
在PBBN中,一個MAC-in-MAC實例代表了運營商提供的一類業務,I-SID(Backbone Service Instance Identifier,骨幹網服務實例編號)就是這個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-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報文解封裝,還原成標準的以太網報文,然後通過其相應的下行口向用戶網絡轉發。
與MAC-in-MAC相關的協議規範有:
· IEEE 802.1ah:Virtual Bridged Local Area Networks Amendment 7: Provider Backbone Bridges
請在BEB設備上配置MAC-in-MAC。BCB設備隻需按照B-MAC和B-VLAN轉發MAC-in-MAC報文,因此無需配置MAC-in-MAC。
表1-2 MAC-in-MAC配置任務簡介
配置任務 |
說明 |
詳細配置 |
使能L2VPN功能 |
必選 |
|
創建MAC-in-MAC實例 |
必選 |
|
配置B-VLAN |
必選 |
|
配置上行口 |
必選 |
|
配置下行口 |
必選 |
|
應用全局CAR |
可選 |
作為二層VPN技術的一種,在配置MAC-in-MAC時,必須首先使能L2VPN功能。
表1-3 使能L2VPN功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能L2VPN功能,並進入L2VPN視圖 |
l2vpn |
必選 缺省情況下,L2VPN功能處於關閉狀態 |
有關l2vpn命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS L2VPN”。
創建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實例。
配置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”。
在BEB設備上,來自用戶網絡的報文被封裝成MAC-in-MAC報文後,將通過BEB設備的相應的上行口轉發出去。
可以為一個MAC-in-MAC實例配置一個或多個上行口。配置上行口的操作可以在VSI視圖或接口視圖下進行,二者的配置效果相同。如果在這兩個視圖下對同一個端口進行了配置,則最後進行的配置將生效。
· 隻有為MAC-in-MAC實例指定了B-VLAN後,上行口的配置才會生效。
· 上行口必須加入到MAC-in-MAC實例的B-VLAN中,否則該上行口將不會生效。
表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”。
表1-7 在接口視圖下配置上行口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入二層以太網或二層聚合接口視圖 |
interface interface-type interface-number |
- |
將端口指定為MAC-in-MAC實例的上行口 |
minm uplink vsi vsi-name |
必選 缺省情況下,端口不是任何MAC-in-MAC實例的上行口 |
在BEB設備上,來自用戶網絡的報文先根據下行口上的匹配規則判斷其所屬的MAC-in-MAC實例,然後被封裝成MAC-in-MAC報文並通過上行口轉發出去;而來自PBBN、屬於某MAC-in-MAC實例的MAC-in-MAC報文被解封裝後,將按照其用戶MAC地址通過相應的下行口轉發出去。
可以為一個MAC-in-MAC實例配置一個或多個下行口。
操作 |
命令 |
說明 |
進入係統視圖 |
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-instance、encapsulation和xconnect vsi命令的詳細介紹,請參見“MPLS命令參考”中的“VPLS”。
在服務實例上,可以應用全局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”。
在完成上述配置後,在任意視圖下執行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 ] ] ] |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP。
· 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協議實現互通。
圖1-4 MAC-in-MAC典型配置組網圖
(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
用戶報文無法透過MAC-in-MAC網絡到達對方。
· BEB設備上沒有配置MAC-in-MAC類型的VSI,或該VSI的狀態為down。
· 各BEB設備上的MAC-in-MAC配置不一致。
· BCB設備上沒有創建與BEB設備中B-VLAN相同的VLAN,或者連接BEB和BCB設備的端口沒有全部加入該VLAN。
(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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!