探索VLAN聚合:如何優化你的網路效能

2023.10.07

探索VLAN聚合:如何優化你的網路效能


本系列主要介紹幾種VLAN的進階技術,包括VLAN聚合、MUX VLAN、QinQ,進一步加深對VLAN進階技術的理解與應用。

VLAN技術在園區網路中應用非常廣泛,通常利用VLAN進行廣播域的隔離,每個VLAN屬於一個廣播域。網路規劃時需要為每個廣播域分配一個網關,如果VLAN數量過多,會導致IP位址規劃難度加大,甚至會出現大量IP位址的浪費。本系列主要介紹幾種VLAN的進階技術,包括VLAN聚合、MUX VLAN、QinQ,進一步加深對VLAN進階技術的理解與應用。

背景

在一般的三層交換器中,通常是採用一個VLAN對應一個VLANIF介面的方式來實現廣播域之間的互通,這在某些情況下導致了IP位址的浪費。因為一個VLAN對應的子網路中,子網路號碼、子網路廣播位址、子網路閘道位址不能用作VLAN內的主機IP位址,且子網路中實際接取的主機可能少於可用IP位址數量,空閒的IP位址也會因為無法再被其他VLAN使用而浪費掉。

例如,上圖所示的VLAN規劃中,VLAN2預計未來有10個主機位址的需求,但以編址方式,至少需要給其分配一個遮罩長度是28的子網路10.1.1.0/28,其中10.1 .1.0為子網路號碼,10.1.1.15為子網路定向廣播位址,10.1.1.1為子網路缺省網關位址,這三個位址都不能用作主機位址,剩下範圍在10.1.1.2~10.1.1.14的位址可以被主機使用,共13個。

為了解決上述問題,VLAN聚合應運而生。它透過引入Super-VLAN和Sub-VLAN的概念,使每個Sub-VLAN對應一個廣播域,並讓多個Sub-VLAN和一個Super-VLAN關聯,只給Super-VLAN分配一個IP子網,所有Sub-VLAN都使用Super-VLAN的IP子網路和預設閘道進行三層通訊。

什麼是VLAN聚合

VLAN聚合(VLAN Aggregation,也稱為Super VLAN)指在一個實體網路內,以多個VLAN(稱為Sub-VLAN)隔離廣播域,並將這些Sub-VLAN聚合成一個邏輯的VLAN(稱為Super- VLAN),這些Sub-VLAN使用同一個IP子網路和預設網關,進而達到節省IP位址資源的目的。

工作原理

相對每一個普通VLAN都有一個三層邏輯介面和若干物理接口,VLAN聚合定義的Super-VLAN和Sub-VLAN比較特殊:

  • Sub-VLAN:只包含實體接口,不能建立三層VLANIF接口,用於隔離廣播域。每個Sub-VLAN內的主機與外部的三層通訊是靠Super-VLAN的三層VLANIF介面來實現的。
  • Super-VLAN:只建立三層VLANIF接口,不包含實體接口,與子網關對應。與普通VLAN不同的是,它的VLANIF介面的Up不依賴於自身物理介面的Up,而是只要它所含Sub-VLAN中存在Up的物理介面就Up。

VLAN聚合實作示意圖

依VLAN聚合的實作方式,設VLAN10為Super-VLAN,並分配子網路10.1.1.0/24,VLAN2~VLAN4作為Super-VLAN10的Sub-VLAN。

1.相同Sub-VLAN內部通信

同一個Sub-VLAN之間屬於同一個廣播域,因此相同Sub-VLAN之間可以透過二層直接通訊。

2.不同Sub-VLAN之間通訊舉例

不同Sub-VLAN之間進行通信,IP位址屬於相同網段,因此主機會發送ARP請求,但實際不同Sub-VLAN之間屬於不同的廣播域,因而ARP封包無法傳遞到其他Sub-VLAN,ARP請求得不到回應,設備無法學習到對端MAC位址,從而無法完成Sub-VLAN之間通訊。要實現Sub-VLAN之間的通信,需要在Super-VLAN 的VLANIF中開啟ARP代理功能。

Super-VLAN VLANIF100開啟ARP代理程式之後PC1與PC2之間通訊流程如下:

  • PC1發現PC2與自己在同一網段,且自己ARP表無PC2對應表項,則直接發送ARP廣播請求PC2的MAC位址。
  • 作為網關的Super-VLAN對應的VLANIF 100收到PC1的ARP請求,由於網關上啟用Sub-VLAN間的ARP代理功能,則向Super-VLAN 100的所有Sub-VLAN介面發送一個ARP廣播,請求PC2的MAC位址。
  • PC2收到網關發送的ARP廣播後,對此請求進行ARP應答。
  • 網關收到PC2的回應後,就把自己的MAC位址回應給PC1,PC1之後要發給PC2的訊息都先傳送給網關,由網關做三層轉送。

3.Sub-VLAN與其他設備的二層通信

當Sub-VLAN與其他設備進行二層通訊時,與普通的VLAN內二層通訊無區別。

由於Super-VLAN不屬於任何實體接口,即不會處理任何攜帶Super-VLAN標籤的封包。

Sub-VLAN二層通訊過程舉例:

  • 從PC1進入SW1的訊息會被打上VLAN10的Tag。在SW1中這個Tag不會因為VLAN10是VLAN100的Sub-VLAN而變成VLAN100的Tag。
  • 當報文從SW1的GE0/0/0出去時,依然攜帶VLAN10的Tag。也就是說,SW1本身不會發出VLAN100的訊息。就算其他設備有VLAN100的封包傳送到該設備上,這些封包也會因為SW1上沒有VLAN100應的實體介面而被丟棄。
  • 對於其他設備而言,有效的VLAN只有Sub-VLAN10,20和30, 所有的封包都是在這些VLAN中互動的。因此,SW1上雖然配置了VLAN聚合,但與其他設備的二層通信,不會涉及到Super-VLAN,與正常的二層通信流程一樣。

當Sub-VLAN內的PC需要與其他網路進行三層通訊時,先將資料傳送至預設網關,也就是Super-VLAN對應的VLANIF,再進行路由。

VLAN聚合應用場景

如下圖,某公司擁有多個部門,為了提升業務安全性,將不同部門分割到不同VLAN中。各部門均有訪問Internet需求,且由於業務需要,部門1與部門2間需要互通,部門3與部門4間需要互通,但公司IP地址有限。

可透過部署VLAN聚合實現公司的需求,在Switch上部署Super VLAN 2和Super VLAN 3,將Sub VLAN 21和Sub VLAN 22聚合到Super VLAN 2中,將Sub VLAN 31和Sub VLAN 32聚合到Super VLAN 3中。這樣,只要在Switch上為Super VLAN 2和Super VLAN 3分配IP位址,部門1和部門2的用戶可透過Super VLAN 2的IP位址存取Internet,部門3和部門4的用戶可透過Super VLAN 3的IP位址存取Internet,既實現了各部門存取Internet的需求,又節約了IP位址資源。同時,分別在Switch的Super VLAN 2、Super VLAN 3上設定Proxy ARP,即可實現部門1、部門2間的互通、部門3和部門4間的互通。

VLAN聚合關鍵設定指令

(1) 建立Super-VLAN:

[Huawei-vlan100] aggregate-vlan
  • Super-VLAN中不能包含任何實體接口,VLAN1不能配置為Super-VLAN。
  • Super-VLAN中的VLAN ID與Sub-VLAN中的VLAN ID 必須使用不同的VLAN ID。

(2) 將Sub-VLAN加入Super-VLAN

[Huawei-vlan100] access-vlan { vlan-id1 [ to vlan-id2 ] }
[Huawei-vlan100] access-vlan { vlan-id1 [ to vlan-id2 ] }

將Sub-VLAN加入Super-VLAN中時,必須保證Sub-VLAN沒有建立對應的VLANIF介面。

(3)(選購)啟用Super-VLAN對應的VLANIF介面的Proxy ARP

[Huawei-vlanif100] arp-proxy inter-sub-vlan-proxy enable

使能Sub-VLAN間的Proxy ARP功能。

配置舉例

設定VLAN聚合組網圖

某公司擁有多個部門且位於同一網段,為了提升業務安全性,將不同部門的使用者劃分到不同VLAN中,如上圖所示,VLAN2和VLAN3屬於不同部門。各部門均有存取Internet需求,同時由於業務需要,不同部門間的使用者需要互通。

1.配置思路

可以在SwitchB上部署VLAN聚合,將不同部門的VLAN聚合到Super VLAN中,這樣,不同部門的使用者可透過Super VLAN存取Internet。同時,為使部門間用戶互通,在Super VLAN上部署Proxy ARP功能。採用以下思路配置VLAN聚合:

  • 在SwitchA和SwitchB上設定VLAN和接口,將不同部門使用者分割到不同VLAN中,並透傳各VLAN到SwitchB。
  • 在SwitchB上設定Super-VLAN及其對應的VLANIF介面、上行路由,使不同部門的使用者能夠存取Internet。
  • 在SwitchB上啟用Super-VLAN的Proxy ARP功能,使不同部門的用戶間三層互通。

2.操作步驟

(1) 基本配置,就不再贅述。給出的是關鍵配置

(2) 在SwitchB上設定Super-VLAN 4,並將VLAN2、VLAN3加入Super-VLAN 4,作為其Sub-VLAN。

[SwitchB] vlan 4
[SwitchB-vlan4] aggregate-vlan
[SwitchB-vlan4] access-vlan 2 to 3
[SwitchB-vlan4] quit

(3) 建立並設定VLANIF4,使不同部門的使用者可透過Super-VLAN 4存取Internet。

[SwitchB] interface vlanif 4
[SwitchB-Vlanif4] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vlanif4] quit

(4) 在SwitchB上設定一條到出口閘道Router的預設靜態路由,使用戶能夠存取Internet。

[SwitchB] ip route-static 0.0.0.0 0.0.0.0 10.10.1.2

(5)在SwitchB的Super-VLAN 4下設定Proxy ARP,使不同部門的用戶間三層互通。

[SwitchB] interface vlanif 4 
[SwitchB-Vlanif4] arp-proxy inter-sub-vlan-proxy enable
[SwitchB-Vlanif4] quit