Super VLAN,也叫VLAN聚合(VLAN Aggregation)指在一(yī)個物(wù)理網絡内,用多個VLAN(稱爲Sub-VLAN)隔離(lí)廣播域,并将這些Sub-VLAN聚合成一(yī)個邏輯的VLAN(稱爲Super-VLAN),這些Sub-VLAN使用同一(yī)個IP子網和缺省網關,達到節約IP地址資(zī)源的目的。
爲什麽需要Super VLAN
交換網絡中(zhōng),VLAN技術以其對廣播域的靈活控制和部署方便而得到了廣泛的應用。但是在一(yī)般的三層交換機中(zhōng),通常是采用一(yī)個VLAN對應一(yī)個VLANIF接口的方式實現廣播域之間的互通,這在某些情況下(xià)導緻了IP地址的浪費(fèi)。因爲一(yī)個VLAN對應的子網中(zhōng),子網号、子網定向廣播地址、子網缺省網關地址不能用作VLAN内的主機IP地址,且子網中(zhōng)實際接入的主機可能少于編址數,多出來的IP地址也會因不能再被其他VLAN使用而被浪費(fèi)掉。
如下(xià)圖所示的VLAN規劃中(zhōng),VLAN2預計未來有10個主機地址的需求,但按編址方式,至少需要給其分(fēn)配一(yī)個掩碼長度是28的子網10.1.1.0/28,其中(zhōng)10.1.1.0爲子網号,10.1.1.15爲子網定向廣播地址,10.1.1.1爲子網缺省網關地址,這三個地址都不能用作主機地址,剩下(xià)範圍在10.1.1.2~10.1.1.14的地址可以被主機使用,共13個。
這樣,VLAN2子網至少浪費(fèi)3個IP地址,三個VLAN子網一(yī)起至少浪費(fèi)9個IP地址。同時,VLAN2子網實際地址需求隻有10個,剩餘的3個也不能再被其他VLAN使用。網絡中(zhōng)的VLAN越多,浪費(fèi)的IP地址也就越多。
普通VLAN示意圖
爲了解決上述問題,VLAN聚合應運而生(shēng)。通過引入Super-VLAN和Sub-VLAN的概念,使每個Sub-VLAN對應一(yī)個廣播域,并讓多個Sub-VLAN和一(yī)個Super-VLAN關聯,隻給Super-VLAN分(fēn)配一(yī)個IP子網,所有Sub-VLAN都使用Super-VLAN的IP子網和缺省網關進行三層通信。
這樣,多個Sub-VLAN共享一(yī)個網關地址,節約了子網号、子網定向廣播地址、子網缺省網關地址,且各Sub-VLAN間的界線也不再是從前的子網界線了,它們可以根據各自主機的需求數目在Super-VLAN對應子網内靈活的劃分(fēn)地址範圍,從而即保證了各個Sub-VLAN作爲一(yī)個獨立廣播域實現廣播隔離(lí),又(yòu)節省了IP地址資(zī)源,提高了編址的靈活性。
應用場景
如下(xià)圖所示,某公司擁有多個部門,爲了提升業務安全性,将不同部門劃分(fēn)到不同VLAN中(zhōng)。各部門均有訪問Internet需求,且由于業務需要,部門1與部門2間需要互通,部門3與部門4間需要互通,但公司IP地址有限。
VLAN聚合應用組網圖
可通過部署VLAN聚合實現公司的需求,在Switch上部署Super VLAN 2和Super VLAN 3,将Sub VLAN 21和Sub VLAN 22聚合到Super VLAN 2中(zhōng),将Sub VLAN 31和Sub VLAN 32聚合到Super VLAN 3中(zhōng)。這樣,隻需在Switch上爲Super VLAN 2和Super VLAN 3分(fēn)配IP地址,部門1和部門2的用戶可通過Super VLAN 2的IP地址訪問Internet,部門3和部門4的用戶可通過Super VLAN 3的IP地址訪問Internet,既實現了各部門訪問Internet的需求,又(yòu)節約了IP地址資(zī)源。
同時,分(fēn)别在Switch的Super VLAN 2、Super VLAN 3上配置Proxy ARP,即可實現部門1和部門2間的互通、部門3和部門4間的互通。
Super VLAN工(gōng)作原理
VLAN聚合通過定義Super-VLAN和Sub-VLAN,使Sub-VLAN隻包含物(wù)理接口,負責保留各自獨立的廣播域;Super-VLAN不包含物(wù)理接口,隻用來建立三層VLANIF接口。然後再通過建立Super-VLAN和Sub-VLAN間的映射關系,把三層VLANIF接口和物(wù)理接口兩部分(fēn)有機的結合起來,實現所有Sub-VLAN共用一(yī)個網關與外(wài)部網絡通信,并用Proxy ARP實現Sub-VLAN間的三層通信,從而在實現普通VLAN的隔離(lí)廣播域的同時,達到節省IP地址的目的。
工(gōng)作原理
相對每一(yī)個普通VLAN都有一(yī)個三層邏輯接口和若幹物(wù)理接口,VLAN聚合定義的Super-VLAN和Sub-VLAN比較特殊:
-
Sub-VLAN:隻包含物(wù)理接口,不能建立三層VLANIF接口,用于隔離(lí)廣播域。每個Sub-VLAN内的主機與外(wài)部的三層通信是靠Super-VLAN的三層VLANIF接口來實現的。
-
Super-VLAN:隻建立三層VLANIF接口,不包含物(wù)理接口,與子網網關對應。與普通VLAN不同的是,它的VLANIF接口的Up不依賴于自身物(wù)理接口的Up,而是隻要它所含Sub-VLAN中(zhōng)存在Up的物(wù)理接口就Up。
一(yī)個Super-VLAN可以包含一(yī)個或多個Sub-VLAN。Sub-VLAN不再占用一(yī)個獨立的子網網段。在同一(yī)個Super-VLAN中(zhōng),無論主機屬于哪一(yī)個Sub-VLAN,它的IP地址都在Super-VLAN對應的子網網段内。
這樣,Sub-VLAN間共用同一(yī)個網關,既減少一(yī)部分(fēn)子網号、子網缺省網關地址和子網定向廣播地址的消耗,又(yòu)實現不同廣播域使用同一(yī)子網網段地址的目的,消除子網差異,增加編址的靈活性,減少閑置地址浪費(fèi)。
如下(xià)圖所示,按照VLAN聚合的實現方式,令VLAN10爲Super-VLAN,分(fēn)配子網10.1.1.0/24,VLAN2~VLAN4作爲Super-VLAN10的Sub-VLAN。
VLAN聚合實現示意圖
可以看出,Sub-VLAN2、Sub-VLAN3和Sub-VLAN4共用一(yī)個子網10.1.1.0/24,這樣,該網絡中(zhōng)就隻有一(yī)個子網号10.1.1.0、一(yī)個子網缺省網關地址10.1.1.1和一(yī)個子網定向廣播地址10.1.1.255共三個IP地址不能被主機使用,其餘都可以被主機使用。而且,各Sub-VLAN間的界線也不再是從前的子網界線了,它們可以根據其各自主機的需求數目在Super-VLAN對應子網内靈活的劃分(fēn)地址範圍,比如Sub-VLAN2實際需要10個,就給它分(fēn)配10.1.1.2~10.1.1.11的地址段。
Sub-VLAN之間的通信
VLAN聚合在實現不同VLAN共用同一(yī)子網網段地址的同時,也給Sub-VLAN間的三層轉發帶來了問題。普通VLAN中(zhōng),不同VLAN内的主機可以通過各自不同的網關進行三層互通。但是Super-VLAN中(zhōng),所有Sub-VLAN内的主機使用的是同一(yī)個網段的地址,共用同一(yī)個網關地址,主機隻會做二層轉發,而不會送網關進行三層轉發。即實際上,不同Sub-VLAN的主機在二層是相互隔離(lí)的,這就造成了Sub-VLAN間無法通信的問題。解決這一(yī)問題的方法就是使用Proxy ARP。
如下(xià)圖所示,假設Sub-VLAN2内的主機Host_1與Sub-VLAN3内的主機Host_2要通信,在Super-VLAN10的VLANIF接口上啓用Proxy ARP。
Proxy ARP實現不同Sub-VLAN間的三層通信組網圖
Host_1與Host_2的通信過程如下(xià)(假設Host_1的ARP表中(zhōng)無Host_2的對應表項):
-
Host_1将Host_2的IP地址(10.1.1.12)和自己所在網段10.1.1.0/24進行比較,發現Host_2和自己在同一(yī)個子網,但是Host_1的ARP表中(zhōng)無Host_2的對應表項。 -
Host_1發送ARP廣播報文,請求Host_2的MAC地址,目的IP爲10.1.1.12。 -
網關L3 Switch收到Host_1的ARP請求,由于網關上使能Sub-VLAN間的Proxy ARP,開(kāi)始使用報文中(zhōng)的目的IP地址在路由表中(zhōng)查找,發現匹配了一(yī)條路由,下(xià)一(yī)跳爲直連網段(VLANIF10的10.1.1.0/24),VLANIF10對應Super-VLAN10,則向Super-VLAN10的所有Sub-VLAN接口發送一(yī)個ARP廣播,請求Host_2的MAC地址。 -
Host_2收到網關發送的ARP廣播後,對此請求進行ARP應答。 -
網關收到Host_2的應答後,就把自己的MAC地址回應給Host_1。 -
Host_1之後要發給Host_2的報文都先發送給網關,由網關做三層轉發。
Sub-VLAN其他網絡的三層通信
如下(xià)圖所示,用戶主機與服務器處于不同的網段中(zhōng),Switch_1上配置了Sub-VLAN2、Sub-VLAN3、Super-VLAN4和VLAN10,Switch_2上配置了VLAN10和VLAN20。
Sub-VLAN與其他網絡的三層通信組網圖
假設Sub-VLAN2下(xià)的主機Host_1想訪問與Switch_2相連的Server,報文轉發流程如下(xià)(假設Switch_1上已配置了去(qù)往10.1.2.0/24網段的路由,Switch_2上已配置了去(qù)往10.1.1.0/24網段的路由,但兩交換機沒有任何三層轉發表項):
-
Host_1将Server的IP地址(10.1.2.2)和自己所在網段10.1.1.0/24進行比較,發現和自己不在同一(yī)個子網,發送ARP請求給自己的網關,請求網關的MAC地址,目的MAC爲全F,目的IP爲10.1.1.1。
-
Switch_1收到該請求報文後,查找Sub-VLAN和Super-VLAN的對應關系,知(zhī)道應該回應Super-VLAN4對應的VLANIF4的MAC地址,并知(zhī)道從Sub-VLAN2的接口回應給Host_1。
-
Host_1學習到網關的MAC地址後,開(kāi)始發送目的MAC爲Super-VLAN4對應的VLANIF4的MAC地址、目的IP爲10.1.2.2的報文。
-
Switch_1收到該報文後,根據Sub-VLAN和Super-VLAN的對應關系以及目的MAC判斷進行三層轉發,查三層轉發表項沒有找到匹配項,上送CPU查找路由表,得到下(xià)一(yī)跳地址爲10.1.10.2,出接口爲VLANIF10,并通過ARP表項和MAC表項确定出接口,把報文發送給Switch_2。
-
Switch_2根據正常的三層轉發流程把報文發送給Server。
Server收到Host_1的報文後給Host_1回應,回應報文的目的IP爲10.1.1.2,目的MAC爲Switch_2上VLANIF20接口的MAC地址,回應報文的轉發流程如下(xià):
-
Server給Host_1的回應報文按照正常的三層轉發流程到達Switch_1。到達Switch_1時,報文的目的MAC地址爲Switch_1上VLANIF10接口的MAC地址。
-
Switch_1收到該報文後根據目的MAC地址判斷進行三層轉發,查三層轉發表項沒有找到匹配項,上送CPU,CPU查路由表,發現目的IP爲10.1.1.2對應的出接口爲VLANIF4,查找Sub-VLAN和Super-VLAN的對應關系,并通過ARP表項和MAC表項,知(zhī)道報文應該從Sub-VLAN2的接口發送給Host_1。
-
回應報文到達Host_1。
Sub-VLAN與其他設備的二層通信
如下(xià)圖所示,Switch_1上配置了Sub-VLAN2、Sub-VLAN3和Super-VLAN4,Switch_1的IF_1和IF_2配置爲Access接口,IF_3接口配置爲Trunk接口,并允許VLAN2和VLAN3通過;Switch_2連接Switch_1的接口配置爲Trunk接口,并允許VLAN2和VLAN3通過。
Sub-VLAN與其他設備的二層通信組網圖
從Host_1進入Switch_1的報文會被打上VLAN2的Tag。在Switch_1中(zhōng)這個Tag不會因爲VLAN2是VLAN4的Sub-VLAN而變爲VLAN4的Tag。該報文從Switch_1的Trunk接口IF_3出去(qù)時,依然是攜帶VLAN2的Tag。
這意味着,Switch_1本身不會發出VLAN4的報文。就算其他設備有VLAN4的報文發送到該設備上,這些報文也會因爲Switch_1上沒有VLAN4對應的物(wù)理接口而被丢棄。因爲Switch_1的IF_3接口上根本就不允許Super-VLAN4通過。對于其他設備而言,有效的VLAN隻有Sub-VLAN2和Sub-VLAN3,所有的報文都是在這些VLAN中(zhōng)交互的。
這樣,Switch_1上雖然配置了VLAN聚合,但與其他設備的二層通信,不會涉及到Super-VLAN。
*注:本文素材來自華爲,版權歸作者所有