Super VLAN技術原理和配置
Super VLAN技術原理和配置
Super VLAN產生的背景:
在大型區域網組網中,常採用接入層和核心層二層結構的組網方式,所有的閘道器都設在核心層裝置上。由於每個VLAN都需要一個介面實現路由互通,這樣問題就來了,如果因為特殊的需要,網路中劃分了成百上千個VLAN,此時核心層裝置就會出現VLAN介面數量不足的情況。那麼,如果擁有一種技術,可以對VLAN進行聚合,就可以大幅度縮減實際需要的VLAN介面數量,交換機支援VLAN介面少的問題就可以得到解決。為了解決上面的問題,Super VLAN技術出現了。
super VLAN技術引入Super VLAN和Sub VLAN兩個概念
這裡有需要注意的地方,Super VLAN和通常意義上的VLAN不同,它不包含任何物理介面(通常意義上的VLAN必須依賴於自身物理介面的UP),可以把它看作一個邏輯的三層概念。可以把它看作是若干Sub VLAN的集合,為Sub VLAN提供三層轉發。它依賴於所包含的Sub VLAN中存在UP狀態的物理介面。
Sub VLAN只能包含物理介面,不能建立三層VLAN介面。它與外部的三層通訊靠Super VLAN的介面來實現。
這樣做既減少了一部分子網號、子網預設閘道器地址和子網定向廣播地址的消耗,又可以使不同廣播域使用同一子網網段地址,消除了子網差異,增加了編址靈活性,減少了限制地址浪費,使用代理ARP可以實現Sub VLAN間的三層互訪,從而在實現普通VLAN功能的同時,達到了節省交換機VLAN 介面的目的。
如圖1所示,交換機建立了Sub VLAN2和Sub VLAN3,二者屬於不同的廣播域,所以Super VLAN技術很好的隔離了它們,但這些Sub VLAN沒有自己的VLAN介面,Super VLAN10則屬於另一個獨立的廣播域,它與Sub VLAN2 和Sub VLAN3之間建立了對映關係,它不存在物理介面,只擁有一個VLAN 介面,用該介面為所有對映的Sub VLAN 提供三層通訊服務。
圖1
PCA的IP為10.1.1.2/24,PCB的IP為10.1.1.3/24,可以發現它們的IP地址在同一個網段,可是它們屬於不同的廣播域,它們之間是互相隔離的,Super VLAN10的介面IP為10.1.1.1/24,位PCA和PCB共同提供了閘道器服務。
關於代理ARP
什麼是代理ARP?
如果ARP請求是從一個網路的主機發往同一個網段卻不在同一物理網路上的另一個主機,那麼連線它們的具有代理ARP功能的裝置就可以回答該請求,這個過程就被稱為代理ARP(Proxy ARP)。
代理ARP分為普通代理ARP和本地代理ARP兩種:
普通代理ARP:想要互通的主機分別連線到裝置的不同三層介面上,且這些主機不在同一個廣播域。
圖2
圖2為普通代理ARP的工作原理:
HostA要與HostC通訊,由於目的IP與本機的IP地址在同一個網段,HostA直接傳送ARP請求,解析HostC的MAC地址。運行了代理ARP的交換機接收到ARP請求後,代理HostA在1.1.2.0網段發出ARP請求,解析HostC的MAC地址。
HostC認為交換機向它發出了ARP請求,所以迴應ARP請求,通告自己的MAC地址000F-E203-3333。交換機收到ARP響應後,也向HostA傳送ARP響應,但通告的MAC地址是其連線到1.1.1.0網段的VLAN1介面的MAC地址000F-E202-2222。所以在HostA的ARP表中,會形成IP地址1.1.2.3與MAC地址000F-E202-2222的對映項。即HostA會將所有要傳送給HostC的資料包傳送到交換機上,然後交換機再轉發給HsotC。
本地代理ARP:想要互通的主機連線到裝置的同一個三層介面上,且這些主機不在同一個廣播域。
圖3
圖3為本地代理ARP的工作原理:
這是Super VLAN的典型應用,HostA和HostB分別屬於Sub VLAN2和Sub VLAN3,HostA的IP為1.1.1.1/24,HostB的IP為1.1.1.2/24,雖然HostA和HostB的IP在同一個網段,但它們分別屬於不同的廣播域。通過SWA的Super VLAN10的三層介面上開啟本地代理ARP功能,可以實現HostA和HostB的三層互通。
Sub VLAN的通訊
圖4
如圖4所示,PCA需要傳送報文給PCB,PCA發現目的IP地址和自己是同一網段,所以傳送ARP請求,而PCB在VLAN3的廣播域內,並不能收到這個ARP請求。因此PCA不能及時收到PCB的ARP應答,但是Super VLAN10可以收到這個ARP廣播。又因為Super VLAN10開啟了本地代理ARP,所以當PCA發出ARP請求時,閘道器開始在路由表裡查詢,發現下一跳為直連路由介面,則在Sub VLAN3內傳送新的ARP請求PCB的MAC地址;得到PCB的迴應後,Super VLAN10就把自己介面的MAC地址當做PCB的MAC地址在Sub VLAN2內給予PCA響應。之後,PCA傳送普通IP報文給PCB時,通過Supr VLAN介面進行正常的三層報文轉發。
圖5
圖5所示,是Sub VLAN與外部二層通訊的轉發模型。因為Super VLAN不同於普通的VLAN,它不包含物理介面,所以VLAN10內根本不可能攜帶VLAN10標籤的資料幀傳送到其他交換機,反之,如果接收到來自Trunk鏈路上VLAN10的資料幀,交換機也無法轉發。所以在開啟了Super VALN的交換機上,Trunk鏈路將自動禁止Super VLAN的VLAN流量通過。
圖5中,PCA屬於SWB的VLAN2,PCC屬於SWA的VLAN2,PCA訪問PCC時,從SWB的E1/0/1進入的資料幀會被打上VLAN2的標籤,在SWB中這個標籤不會改變,SWB把資料幀從Trunk口E1/0/24轉發出去,依然是VLAN2的資料幀。對於SWA而言,SWB上有效的VLAN只有VLAN2和VLAN3,從PCC返回的到SWB的資料幀可以在VLAN2中轉發 。
圖6
圖6所示,為Sub VLAN與外部的三層通訊,PCA傳送IP報文到PCC,PCA檢查發現PCC與自己屬於不同的IP網段,所以將報文傳送給自己的閘道器Super VLAN10。因此PCA檢查自己的閘道器IP地址和MAC地址資訊,發現只有IP沒有MAC地址資訊,於是傳送ARP請求報文,請求閘道器的MAC地址。請求報文在Sub VLAN2內傳送並被SWB接收,SWB沒有對應的VLAN2介面,但它發現Sub VLAN2被對映到了Super VLAN10,Super VLAN10提供三層服務,所以交換機給予ARP響應,並在Sub VLAN2內傳送。
至此,PCA成功學習到了閘道器的MAC地址,接下來,PCA傳送目的MAC為Super VLAN 10、目的IP為30.1.1.2的報文。Sub VLAN2接收到報文後,檢測到目的MAC,知道應該進行三層轉發,就去查詢路由表,發現下一跳地址為20.1.1.2,出介面為VLAN 20,於是把報文送給SWA,SWA根據正常的轉發流程把報文傳送給PCC。
PCC返回給PCA的報文到達SWB時,正常IP轉發檢查發現出介面為Super VLAN10的三層介面,但在Super VLAN10內沒有包含任何物理介面,開啟了Super VLAN的交換機注意到,如果存在Super VLAN,那麼需要從Super VLAN轉發出去的報文都應該尋找其對應的Sub VLAN,並在Sub VLAN 內按照ARP和MAC表項進行匹配。所以最終將報文發給PCA,完成雙向通訊。
Super VLAN配置
圖7 Super VLAN配置
圖8 主機PCA配置
圖9 主機PCB配置
SWA配置:
[SWA]vlan 2
[SWA-vlan2]port GigabitEthernet 1/0/1
[SWA]vlan 3.
[SWA-vlan3]port GigabitEthernet 1/0/2
[SWA-vlan3]quit
[SWA]vlan 10
[SWA-vlan10]supervlan
[SWA-vlan10]subvlan 2 3
[SWA-vlan10]quit
[SWA]interface vlan 10
[SWA-Vlan-interface10]ip address 10.1.1.1 24
[SWA-Vlan-interface10]local-proxy-arp enable
[SWA-Vlan-interface10]quit
[SWA]vlan 20
[SWA-vlan20]port GigabitEthernet 1/0/3
[SWA-vlan20]quit
[SWA]interface vlan 20
[SWA-Vlan-interface20]ip address 20.1.1.1 24
[SWA-Vlan-interface20]quit
SWB配置:
[SWB]vlan 20
[SWB-vlan20]port GigabitEthernet 1/0/3
[SWB-vlan20]quit
[SWB]int vlan 20
[SWB-Vlan-interface20]ip address 20.1.1.2 24
[SWB-Vlan-interface20]quit
[SWB]ip route-static 0.0.0.0 0 20.1.1.1
配置完成後,在SWA上用命令檢視Super VLAN 和Sub VLAN之間的對映關係:
<SWA>display supervlan
Super VLAN ID: 10
Sub-VLAN ID: 2-3
VLAN ID: 10
VLAN type: Static
It is a super VLAN.
Route interface: Configured
IPv4 address: 10.1.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0010
Name: VLAN 0010
Tagged ports: None
Untagged ports: None
VLAN ID: 2
VLAN type: Static
It is a sub-VLAN.
Route interface: Configured
IPv4 address: 10.1.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/1
VLAN ID: 3
VLAN type: Static
It is a sub-VLAN.
Route interface: Configured
IPv4 address: 10.1.1.1
IPv4 subnet mask: 255.255.255.0
Description: VLAN 0003
Name: VLAN 0003
Tagged ports: None
Untagged ports:
GigabitEthernet1/0/2