Super VLAN,也叫(jiào)VLAN聚合(VLAN Aggregation)指在一個物理網絡内,用多個VLAN(稱爲Sub-VLAN)隔離廣播域,并將(jiāng)這(zhè)些Sub-VLAN聚合成(chéng)一個邏輯的VLAN(稱爲Super-VLAN),這(zhè)些Sub-VLAN使用同一個IP子網和缺省網關,達到節約IP地址資源的目的。
爲什麼(me)需要Super VLAN
交換網絡中,VLAN技術以其對(duì)廣播域的靈活控制和部署方便而得到了廣泛的應用。但是在一般的三層交換機中,通常是采用一個VLAN對(duì)應一個VLANIF接口的方式實現廣播域之間的互通,這(zhè)在某些情況下導緻了IP地址的浪費。因爲一個VLAN對(duì)應的子網中,子網号、子網定向(xiàng)廣播地址、子網缺省網關地址不能(néng)用作VLAN内的主機IP地址,且子網中實際接入的主機可能(néng)少于編址數,多出來的IP地址也會(huì)因不能(néng)再被(bèi)其他VLAN使用而被(bèi)浪費掉。
如下圖所示的VLAN規劃中,VLAN2預計未來有10個主機地址的需求,但按編址方式,至少需要給其分配一個掩碼長(cháng)度是28的子網10.1.1.0/28,其中10.1.1.0爲子網号,10.1.1.15爲子網定向(xiàng)廣播地址,10.1.1.1爲子網缺省網關地址,這(zhè)三個地址都(dōu)不能(néng)用作主機地址,剩下範圍在10.1.1.2~10.1.1.14的地址可以被(bèi)主機使用,共13個。
這(zhè)樣(yàng),VLAN2子網至少浪費3個IP地址,三個VLAN子網一起(qǐ)至少浪費9個IP地址。同時,VLAN2子網實際地址需求隻有10個,剩餘的3個也不能(néng)再被(bèi)其他VLAN使用。網絡中的VLAN越多,浪費的IP地址也就(jiù)越多。
普通VLAN示意圖
爲了解決上述問題,VLAN聚合應運而生。通過(guò)引入Super-VLAN和Sub-VLAN的概念,使每個Sub-VLAN對(duì)應一個廣播域,并讓多個Sub-VLAN和一個Super-VLAN關聯,隻給Super-VLAN分配一個IP子網,所有Sub-VLAN都(dōu)使用Super-VLAN的IP子網和缺省網關進(jìn)行三層通信。
這(zhè)樣(yàng),多個Sub-VLAN共享一個網關地址,節約了子網号、子網定向(xiàng)廣播地址、子網缺省網關地址,且各Sub-VLAN間的界線也不再是從前的子網界線了,它們可以根據各自主機的需求數目在Super-VLAN對(duì)應子網内靈活的劃分地址範圍,從而即保證了各個Sub-VLAN作爲一個獨立廣播域實現廣播隔離,又節省了IP地址資源,提高了編址的靈活性。
應用場景
如下圖所示,某公司擁有多個部門,爲了提升業務安全性,將(jiāng)不同部門劃分到不同VLAN中。各部門均有訪問Internet需求,且由于業務需要,部門1與部門2間需要互通,部門3與部門4間需要互通,但公司IP地址有限。

VLAN聚合應用組網圖
可通過(guò)部署VLAN聚合實現公司的需求,在Switch上部署Super VLAN 2和Super VLAN 3,將(jiāng)Sub VLAN 21和Sub VLAN 22聚合到Super VLAN 2中,將(jiāng)Sub VLAN 31和Sub VLAN 32聚合到Super VLAN 3中。這(zhè)樣(yàng),隻需在Switch上爲Super VLAN 2和Super VLAN 3分配IP地址,部門1和部門2的用戶可通過(guò)Super VLAN 2的IP地址訪問Internet,部門3和部門4的用戶可通過(guò)Super VLAN 3的IP地址訪問Internet,既實現了各部門訪問Internet的需求,又節約了IP地址資源。
同時,分别在Switch的Super VLAN 2、Super VLAN 3上配置Proxy ARP,即可實現部門1和部門2間的互通、部門3和部門4間的互通。
Super VLAN工作原理
VLAN聚合通過(guò)定義Super-VLAN和Sub-VLAN,使Sub-VLAN隻包含物理接口,負責保留各自獨立的廣播域;Super-VLAN不包含物理接口,隻用來建立三層VLANIF接口。然後(hòu)再通過(guò)建立Super-VLAN和Sub-VLAN間的映射關系,把三層VLANIF接口和物理接口兩(liǎng)部分有機的結合起(qǐ)來,實現所有Sub-VLAN共用一個網關與外部網絡通信,并用Proxy ARP實現Sub-VLAN間的三層通信,從而在實現普通VLAN的隔離廣播域的同時,達到節省IP地址的目的。
工作原理
相對(duì)每一個普通VLAN都(dōu)有一個三層邏輯接口和若幹物理接口,VLAN聚合定義的Super-VLAN和Sub-VLAN比較特殊:
-
Sub-VLAN:隻包含物理接口,不能(néng)建立三層VLANIF接口,用于隔離廣播域。每個Sub-VLAN内的主機與外部的三層通信是靠Super-VLAN的三層VLANIF接口來實現的。
-
Super-VLAN:隻建立三層VLANIF接口,不包含物理接口,與子網網關對(duì)應。與普通VLAN不同的是,它的VLANIF接口的Up不依賴于自身物理接口的Up,而是隻要它所含Sub-VLAN中存在Up的物理接口就(jiù)Up。
一個Super-VLAN可以包含一個或多個Sub-VLAN。Sub-VLAN不再占用一個獨立的子網網段。在同一個Super-VLAN中,無論主機屬于哪一個Sub-VLAN,它的IP地址都(dōu)在Super-VLAN對(duì)應的子網網段内。
這(zhè)樣(yàng),Sub-VLAN間共用同一個網關,既減少一部分子網号、子網缺省網關地址和子網定向(xiàng)廣播地址的消耗,又實現不同廣播域使用同一子網網段地址的目的,消除子網差異,增加編址的靈活性,減少閑置地址浪費。
如下圖所示,按照VLAN聚合的實現方式,令VLAN10爲Super-VLAN,分配子網10.1.1.0/24,VLAN2~VLAN4作爲Super-VLAN10的Sub-VLAN。

VLAN聚合實現示意圖
可以看出,Sub-VLAN2、Sub-VLAN3和Sub-VLAN4共用一個子網10.1.1.0/24,這(zhè)樣(yàng),該網絡中就(jiù)隻有一個子網号10.1.1.0、一個子網缺省網關地址10.1.1.1和一個子網定向(xiàng)廣播地址10.1.1.255共三個IP地址不能(néng)被(bèi)主機使用,其餘都(dōu)可以被(bèi)主機使用。而且,各Sub-VLAN間的界線也不再是從前的子網界線了,它們可以根據其各自主機的需求數目在Super-VLAN對(duì)應子網内靈活的劃分地址範圍,比如Sub-VLAN2實際需要10個,就(jiù)給它分配10.1.1.2~10.1.1.11的地址段。
Sub-VLAN之間的通信
VLAN聚合在實現不同VLAN共用同一子網網段地址的同時,也給Sub-VLAN間的三層轉發(fā)帶來了問題。普通VLAN中,不同VLAN内的主機可以通過(guò)各自不同的網關進(jìn)行三層互通。但是Super-VLAN中,所有Sub-VLAN内的主機使用的是同一個網段的地址,共用同一個網關地址,主機隻會(huì)做二層轉發(fā),而不會(huì)送網關進(jìn)行三層轉發(fā)。即實際上,不同Sub-VLAN的主機在二層是相互隔離的,這(zhè)就(jiù)造成(chéng)了Sub-VLAN間無法通信的問題。解決這(zhè)一問題的方法就(jiù)是使用Proxy ARP。
如下圖所示,假設Sub-VLAN2内的主機Host_1與Sub-VLAN3内的主機Host_2要通信,在Super-VLAN10的VLANIF接口上啓用Proxy ARP。

Proxy ARP實現不同Sub-VLAN間的三層通信組網圖
Host_1與Host_2的通信過(guò)程如下(假設Host_1的ARP表中無Host_2的對(duì)應表項):
-
Host_1將(jiāng)Host_2的IP地址(10.1.1.12)和自己所在網段10.1.1.0/24進(jìn)行比較,發(fā)現Host_2和自己在同一個子網,但是Host_1的ARP表中無Host_2的對(duì)應表項。 -
Host_1發(fā)送ARP廣播報文,請求Host_2的MAC地址,目的IP爲10.1.1.12。 -
網關L3 Switch收到Host_1的ARP請求,由于網關上使能(néng)Sub-VLAN間的Proxy ARP,開(kāi)始使用報文中的目的IP地址在路由表中查找,發(fā)現匹配了一條路由,下一跳爲直連網段(VLANIF10的10.1.1.0/24),VLANIF10對(duì)應Super-VLAN10,則向(xiàng)Super-VLAN10的所有Sub-VLAN接口發(fā)送一個ARP廣播,請求Host_2的MAC地址。 -
Host_2收到網關發(fā)送的ARP廣播後(hòu),對(duì)此請求進(jìn)行ARP應答。 -
網關收到Host_2的應答後(hòu),就(jiù)把自己的MAC地址回應給Host_1。 -
Host_1之後(hòu)要發(fā)給Host_2的報文都(dōu)先發(fā)送給網關,由網關做三層轉發(fā)。
Sub-VLAN其他網絡的三層通信
如下圖所示,用戶主機與服務器處于不同的網段中,Switch_1上配置了Sub-VLAN2、Sub-VLAN3、Super-VLAN4和VLAN10,Switch_2上配置了VLAN10和VLAN20。
Sub-VLAN與其他網絡的三層通信組網圖
假設Sub-VLAN2下的主機Host_1想訪問與Switch_2相連的Server,報文轉發(fā)流程如下(假設Switch_1上已配置了去往10.1.2.0/24網段的路由,Switch_2上已配置了去往10.1.1.0/24網段的路由,但兩(liǎng)交換機沒(méi)有任何三層轉發(fā)表項):
-
Host_1將(jiāng)Server的IP地址(10.1.2.2)和自己所在網段10.1.1.0/24進(jìn)行比較,發(fā)現和自己不在同一個子網,發(fā)送ARP請求給自己的網關,請求網關的MAC地址,目的MAC爲全F,目的IP爲10.1.1.1。
-
Switch_1收到該請求報文後(hòu),查找Sub-VLAN和Super-VLAN的對(duì)應關系,知道(dào)應該回應Super-VLAN4對(duì)應的VLANIF4的MAC地址,并知道(dào)從Sub-VLAN2的接口回應給Host_1。
-
Host_1學(xué)習到網關的MAC地址後(hòu),開(kāi)始發(fā)送目的MAC爲Super-VLAN4對(duì)應的VLANIF4的MAC地址、目的IP爲10.1.2.2的報文。
-
Switch_1收到該報文後(hòu),根據Sub-VLAN和Super-VLAN的對(duì)應關系以及目的MAC判斷進(jìn)行三層轉發(fā),查三層轉發(fā)表項沒(méi)有找到匹配項,上送CPU查找路由表,得到下一跳地址爲10.1.10.2,出接口爲VLANIF10,并通過(guò)ARP表項和MAC表項确定出接口,把報文發(fā)送給Switch_2。
-
Switch_2根據正常的三層轉發(fā)流程把報文發(fā)送給Server。
Server收到Host_1的報文後(hòu)給Host_1回應,回應報文的目的IP爲10.1.1.2,目的MAC爲Switch_2上VLANIF20接口的MAC地址,回應報文的轉發(fā)流程如下:
-
Server給Host_1的回應報文按照正常的三層轉發(fā)流程到達Switch_1。到達Switch_1時,報文的目的MAC地址爲Switch_1上VLANIF10接口的MAC地址。
-
Switch_1收到該報文後(hòu)根據目的MAC地址判斷進(jìn)行三層轉發(fā),查三層轉發(fā)表項沒(méi)有找到匹配項,上送CPU,CPU查路由表,發(fā)現目的IP爲10.1.1.2對(duì)應的出接口爲VLANIF4,查找Sub-VLAN和Super-VLAN的對(duì)應關系,并通過(guò)ARP表項和MAC表項,知道(dào)報文應該從Sub-VLAN2的接口發(fā)送給Host_1。
-
回應報文到達Host_1。
Sub-VLAN與其他設備的二層通信
如下圖所示,Switch_1上配置了Sub-VLAN2、Sub-VLAN3和Super-VLAN4,Switch_1的IF_1和IF_2配置爲Access接口,IF_3接口配置爲Trunk接口,并允許VLAN2和VLAN3通過(guò);Switch_2連接Switch_1的接口配置爲Trunk接口,并允許VLAN2和VLAN3通過(guò)。

Sub-VLAN與其他設備的二層通信組網圖
從Host_1進(jìn)入Switch_1的報文會(huì)被(bèi)打上VLAN2的Tag。在Switch_1中這(zhè)個Tag不會(huì)因爲VLAN2是VLAN4的Sub-VLAN而變爲VLAN4的Tag。該報文從Switch_1的Trunk接口IF_3出去時,依然是攜帶VLAN2的Tag。
這(zhè)意味著(zhe),Switch_1本身不會(huì)發(fā)出VLAN4的報文。就(jiù)算其他設備有VLAN4的報文發(fā)送到該設備上,這(zhè)些報文也會(huì)因爲Switch_1上沒(méi)有VLAN4對(duì)應的物理接口而被(bèi)丢棄。因爲Switch_1的IF_3接口上根本就(jiù)不允許Super-VLAN4通過(guò)。對(duì)于其他設備而言,有效的VLAN隻有Sub-VLAN2和Sub-VLAN3,所有的報文都(dōu)是在這(zhè)些VLAN中交互的。
這(zhè)樣(yàng),Switch_1上雖然配置了VLAN聚合,但與其他設備的二層通信,不會(huì)涉及到Super-VLAN。
*注:本文素材來自華爲,版權歸作者所有