跳轉到

設定 Q-in-Q

本主題說明如何將您的內部部署網路設備連接到使用 Q-in-Q802.1Q 隧道(亦稱為 Q-in-Q 或 802.1ad)是 OSI 第 2 層服務提供者為其客戶所使用的一種技術。802.1ad 提供 內層外層 標籤,其中外層(有時稱為 S-tag,代表服務提供者)可移除,以露出用於區隔資料的內層(C-tag 或客戶)標籤。
的雲端服務提供者(CSP),例如 Azure ExpressRoute。另有部分 CSP 需要 Q-in-Q,但並非所有網路裝置都支援,或不支援在單一實體介面上同時處理單一與多重標籤(「selective Q-in-Q」),因此本主題也提供在未原生支援 Q-in-Q 的網路裝置上,設定多層 VLAN 標籤處理的方法。

Q-in-Q 概觀

Q-in-Q,又稱為 802.1ad,是網路服務供應商(NSP)常用來提供更高第 2 層彈性的通訊協定。Q-in-Q 允許在單一乙太網路訊框中插入多個 VLAN 標籤。在訊框中堆疊多個 VLAN 標籤可實現路由網域的隔離,因為額外的標籤可識別並分離客戶流量。針對每位客戶使用不同的 VLAN 標籤,可在訊框中識別該流量,並在整個服務供應商網路中傳輸。

重要

為了在 802.1ad 標準下區分 VLAN 標籤,內層通常使用 EtherType 0x8100,外層使用 0x88a8。多數網路廠商的 Q-in-Q 預設組態為內外層 EtherType 皆為 0x8100。Megaport 對雙重標記訊框的規範是內外層標籤皆為 0x8100。

在 Q-in-Q 中,當封包從 NSP 或電信業者網路傳遞到 雲端(或其他)服務供應商的 VLAN 時,用於識別客戶流量的內層 VLAN 標籤(C-Tag)會被插入至服務供應商提供的外層 VLAN 標籤(S-Tag)之內。S-Tag 提供一個可在其中封裝多個 VLAN 的單一 VLAN。在此組態下,單一 VXC 可以在兩個網路端點之間承載多個 VLAN 標籤。

如需 Q-in-Q 的詳細資訊,請參閱連線 VXCMegaport blog post Q & A for Q-in-Q: Part 1。 如需在 Azure 設定 Q-in-Q 的詳細資訊,請參閱 Megaport blog post Q & A for Q-in-Q: Part 2

了解搭配 Megaport VXC 的 Q-in-Q

Virtual Cross Connect(VXC)是兩個端點之間的點對點第 2 層電路,兩端各自對應一個 VLAN ID;也可以選擇在 Megaport 網路上獨立對應 A-End 與 B-End 的 VLAN 標籤。

此圖顯示已啟用 private peering 與 Microsoft Peering 的 Azure ExpressRoute。VXC 以 VLAN 1000(S-Tag)將客戶邊緣連接至 Microsoft 邊緣。客戶邊緣支援 Q-in-Q。private peering 於 VLAN 100(C-Tag)上運作,Microsoft Peering 於 VLAN 200(C-Tag)上運作,以與 Azure 建立第 3 層連線與 BGP peering。

使用 VXC 的 Q-in-Q

若我的路由器或交換器不支援 Q-in-Q 怎麼辦?

本節說明即使終止您 Megaport 連線的網路設備未原生支援 Q-in-Q,仍可連接到需要 Q-in-Q 的 B-End 服務的方法。

Q-in-Q 替代作法 方法 缺點
單一 Azure peering VLAN 您可以設定 VXC,讓 Megaport 透過將其中一個 Private Peering 或 Microsoft Peering 的 B-End VLAN ID 重新對應到面向客戶的 Megaport VLAN(A-End),以移除 Q-in-Q 的需求。 每個 VXC 僅能使用單一 Microsoft peering 類型。
將連接至客戶 Port 的 VXC 設為未標記(untagged) 您可以將 VXC 設為未標記(untagged),以自動移除 S-Tag。 將 VLAN 設為未標記會將該 Port 限制為僅能建立單一 VXC 連線。採用此方法代表您的 Port 僅能設定單一 B-End 目標,儘管會從該對等端以單一/dot1q 標記的方式接收所有內層 C-Tag。
部署 Megaport Cloud Router 您可以部署 Megaport Cloud Router(MCR),以自動處理一種或兩種 peering 類型的 Q-in-Q 需求。 需要額外的 MCR 成本,且需額外建立通往 MCR 的 VXC。

連線至 Microsoft ExpressRoute 的 VXC 可能包含一或兩個內層 VLAN 標籤。這些是您在 Microsoft Azure 主控台為指定 peering 類型所設定的 C-tag。請注意,即使僅使用單一 Microsoft 邊緣裝置(主要或次要)或單一 peering 類型(private 或 Microsoft),此情境仍然需要 Q-in-Q。支援 Q-in-Q 的網路設備可透過移除外層 VLAN 標籤(S-Tag)來存取這些內層標籤。若您的網路設備不支援 Q-in-Q,則無法存取內层標籤。

備註

其他 Q-in-Q 因應方式亦可行,例如在客戶端透過多台裝置來解封裝 Q-in-Q 訊框,或在單一裝置內使用回環 網路線,透過多個連接埠級聯並分別以不同 VLAN 組態處理內外層標籤。然而,一般不建議在生產網路中採用這些作法。

單一 Azure peering VLAN

對於 Microsoft Azure ExpressRoute 連線,Megaport 使用 Microsoft Service Key(以及相關的主要與次要目標端點選擇),並提供針對指定 Azure peering 類型 分離 封裝的 C-Tag 的能力。 您可以在建立新的 ExpressRoute 連線時,於 Connection Details 面板中啟用 Configure Single Azure Peering VLAN(在選取主要或次要目標 B-End 連接埠之後),以啟用此功能。

提示

我們建議使用 Single Azure Peering VLAN 選項。此選項提供完整功能且實作最簡單。使用 Single Azure VLAN,您可在單一 ER 電路上同時使用 private 或 Microsoft peering,無需具備 Q-in-Q 功能的設備、MCR,或未標記的連接埠。請注意,使用此選項時,每個 VXC 僅能有一種 peering 類型(private 或 Microsoft),因此若要同時使用兩種 peering 類型,您需要兩個 VXC。

啟用 Single Azure VLAN Peering VLAN 功能後,您可以指定單一 Azure peering VLAN,該值會與您稍後在 Azure ExpressRoute 的所選 Peering 類型組態中(透過 Microsoft Azure 入口網站或其他設定方式)所設定的值相符。詳情請參閱 Tutorial: Create and modify peering for an ExpressRoute circuit using the Azure portal

Azure peering 範例

如果您將 Preferred A-End VLAN(偏好的 A-End VLAN) 欄位留白,系統會在您下單時隨機指派一個 VLAN 給您的 VXC;否則請輸入 VLAN,系統會執行驗證檢查以確保該 VLAN 可用。

此範例顯示,Azure 的 C-tag 值 200(針對相關 ExpressRoute 電路上的 Private 或 Microsoft peering 類型)會透明對應至單一標籤的 VXC VLAN 值 3001。亦即,連接至實體 Megaport 介面的客戶裝置不需要進行任何 Q-in-Q 設定,因為 dot1q VLAN 3001 會以正確的標示傳遞到對應的面向 Microsoft 的 B-End 邊緣裝置。

在此組態中,您可以在同一個 ExpressRoute 電路上同時使用主要與次要 Microsoft ExpressRoute 端點,將其對應到單一客戶端連接埠上的不同 VLAN 標籤。此作法符合 Azure ExpressRoute Service Level Agreement(SLA)之規範。不過,我們建議您採用單一站台的 Port 與設備(zonal)多樣性,或將主要/次要 ExpressRoute 連線分散至兩個已啟用 Megaport 的據點,以確保此組態不存在單一故障點。

如需 Azure ExpressRoute SLA 的詳細資訊,請參閱 SLA for Azure ExpressRoute

使用此方法時,無法在面向主要或次要 ExpressRoute 的 VXC 上使用多於一種的 peering 類型,因為此標籤轉換每個 VXC 電路路徑僅能發生一次。更多替代作法詳見以下章節;然而請注意,Microsoft 目前不支援在單一 ExpressRoute 電路對上對多種 peering 類型進行頻寬切分。在多數情況下,建議部署兩組 ExpressRoute 以達成此組態目標。

備註

下列章節將延續 Microsoft ExpressRoute 範例來說明替代作法。請注意,這些替代作法並非僅適用於 Azure 端點,也可用於其他跨越 Megaport 的連線,其中 B-End 可能會指定或要求使用 Q-in-Q,於單一 S-Tag/外層 VXC VLAN 中承載多個 C-Tag/內層 VLAN。之所以使用 Microsoft ExpressRoute 範例,是為了維持客戶情境的一致性。

將 VXC 設為未標記以自動處理 S-Tag

備註

使用此方法代表客戶 Port 只能設定單一 B-End 目標,儘管會從該對等端以單一/dot1q 標記的方式接收所有內層 C-tag。

您可以設定 VXC,使 Megaport 移除外層 VLAN(S-Tag),並將 Private Peering、Microsoft Peering(或兩者)的內層 VLAN(C-Tag)之一或兩者,呈現給客戶 Port。 目前,每個 ExpressRoute 電路連線僅允許一個 VXC(可從主要或次要連接埠呈現擇一),但兩種 peering 類型皆可透過此 VXC 支援,因為它們會以一或兩個 dot1q VLAN 呈現至客戶連接埠(Private、Microsoft Peering,或兩者)。 未標記的 VXC

重要

客戶連接埠將會依據您在 Azure 入口網站的指定 peering 類型,於 A-End 客戶連接埠所定義的內層 VLAN 標籤來接收。詳情請參閱連線至 Microsoft Azure ExpressRoute

備註

  • 每個 ExpressRoute 訂閱在所選的 Microsoft 邊緣位置都包含兩個連接埠目標。若要同時接收主要與次要 ExpressRoute 電路,在此組態中您需要來自 Megaport 的兩個連接埠。Azure VNET VLAN 標籤在這兩個連接埠上相同。Megaport 無法變更主要與次要電路上的 VLAN 標籤,且無法在同一個實體介面上重複交付相同的 VLAN。
  • 若您僅在 Azure ExpressRoute 組態中設定 private 或 public peering,則在已設定的 VXC 上只會提供與 ExpressRoute service key 相關聯的 VLAN,並與客戶連接埠一對一對應。

部署 Megaport Cloud Router

Megaport Cloud Router(MCR)支援多雲、多區域啟用,包括支援使用 Q-in-Q 連接至多個雲端目的地。S-Tag(外層標籤)屬於與您的 MCR 相關聯的 A-End VLAN,並會透明地承載您的 C-Tag。當您在 Megaport Portal 中佈建至 Azure Cloud 的 private 與 public peering 時,S-Tag 會自動設定。下圖顯示範例組態:

使用 MCR 的 Q-in-Q

當同一個 MCR 上的多個 Azure VXC 使用相同的 VLAN 100 標籤(private peering)與相同的 VLAN 200 標籤(public peering)時,MCR 會為每個終止於該 MCR 的 Azure VXC 管理 Q-in-Q 隧道。每個 Azure VLAN 仍為獨立的邏輯介面。