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。
相同Sub-VLAN內部通信
同一個Sub-VLAN之間屬于同一個廣播域,因此相同Sub-VLAN之間可以通過二層直接通信。

不同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的報文都先發送給網關,由網關做三層轉發。
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中。各部門均有訪問Inte.NET需求,且由于業務需要,部門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聚合關鍵配置命令
- 創建Super-VLAN
[Huawei-vlan100] aggregate-vlan
Super-VLAN中不能包含任何物理接口,VLAN1不能配置為Super-VLAN。
Super-VLAN中的VLAN ID與Sub-VLAN中的VLAN ID 必須使用不同的 VLAN ID。
- 將Sub-VLAN加入Super-VLAN
[Huawei-vlan100] access-vlan { vlan-id1 [ to vlan-id2 ] }
將Sub-VLAN加入到Super-VLAN中時,必須保證Sub-VLAN沒有創建對應的VLANIF接口。
- (可選)使能Super-VLAN對應的VLANIF接口的Proxy ARP
[Huawei-vlanif100] arp-proxy inter-sub-vlan-proxy enable
使能Sub-VLAN間的Proxy ARP功能。
配置舉例

配置VLAN聚合組網圖
某公司擁有多個部門且位于同一網段,為了提升業務安全性,將不同部門的用戶劃分到不同VLAN中,如上圖所示,VLAN2和VLAN3屬于不同部門。各部門均有訪問Internet需求,同時由于業務需要,不同部門間的用戶需要互通。
配置思路
可以在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功能,使不同部門的用戶間三層互通。
操作步驟
- 基本配置,就不再贅述。給出的是關鍵配置
- 在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
- 創建并配置VLANIF4,使不同部門的用戶可通過Super-VLAN 4訪問Internet。
[SwitchB] interface vlanif 4
[SwitchB-Vlanif4] ip address 10.1.1.1 255.255.255.0
[SwitchB-Vlanif4] quit
- 在SwitchB上配置一條到出口網關Router的缺省靜態路由,使用戶能夠訪問Internet。
[SwitchB] ip route-static 0.0.0.0 0.0.0.0 10.10.1.2
- 在SwitchB的Super-VLAN 4下配置Proxy ARP,使不同部門的用戶間三層互通。
[SwitchB] interface vlanif 4
[SwitchB-Vlanif4] arp-proxy inter-sub-vlan-proxy enable
[SwitchB-Vlanif4] quit