VLAN(Virtual Local Area Network)即虛拟局域網,是將(jiāng)一個物理的LAN在邏輯上劃分成(chéng)多個廣播域的通信技術。每個VLAN是一個廣播域,VLAN内的主機間可以直接通信,而VLAN間則不能(néng)直接互通。這(zhè)樣(yàng),廣播報文就(jiù)被(bèi)限制在一個VLAN内。
爲什麼(me)需要VLAN
早期以太網是一種(zhǒng)基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通訊介質的數據網絡通訊技術。當主機數目較多時會(huì)導緻沖突嚴重、廣播泛濫、性能(néng)顯著下降甚至造成(chéng)網絡不可用等問題。通過(guò)二層設備實現LAN互連雖然可以解決沖突嚴重的問題,但仍然不能(néng)隔離廣播報文和提升網絡質量。
在這(zhè)種(zhǒng)情況下出現了VLAN技術。這(zhè)種(zhǒng)技術可以把一個LAN劃分成(chéng)多個邏輯的VLAN,每個VLAN是一個廣播域,VLAN内的主機間通信就(jiù)和在一個LAN内一樣(yàng),而VLAN間則不能(néng)直接互通,廣播報文就(jiù)被(bèi)限制在一個VLAN内,如下圖所示:

因此,VLAN具備以下優點:
-
限制廣播域:廣播域被(bèi)限制在一個VLAN内,節省了帶寬,提高了網絡處理能(néng)力。
-
增強局域網的安全性:不同VLAN内的報文在傳輸時相互隔離,即一個VLAN内的用戶不能(néng)和其它VLAN内的用戶直接通信。
-
提高了網絡的健壯性:不同VLAN内的報文在傳輸時相互隔離,即一個VLAN内的用戶不能(néng)和其它VLAN内的用戶直接通信。
-
靈活構建虛拟工作組:用VLAN可以劃分不同的用戶到不同的工作組,同一工作組的用戶也不必局限于某一固定的物理範圍,網絡構建和維護更方便靈活。
VLAN vs 子網
通過(guò)將(jiāng)IP地址的網絡部分進(jìn)一步劃分爲若幹個子網,可以解決IP地址空間利用率低和兩(liǎng)級IP地址不夠靈活的問題。
與VLAN相類似的是,子網也可以隔離主機間的通信。屬于不同VLAN的主機之間不能(néng)直接通信,屬于不同的子網的主機之間也不能(néng)直接通信。但二者沒(méi)有必然的對(duì)應關系。
VLAN vs 子網
VLAN Tag 和 VLAN ID
要使交換機能(néng)夠分辨不同VLAN的報文,需要在報文中添加标識VLAN信息的字段。IEEE 802.1Q協議規定,在以太網數據幀中加入4個字節的VLAN标簽(又稱VLAN Tag,簡稱Tag),用以标識VLAN信息。

數據幀中的VID字段标識了該數據幀所屬的VLAN,數據幀隻能(néng)在其所屬VLAN内進(jìn)行傳輸。VID字段代表VLAN ID,VLAN ID取值範圍是0~4095。由于0和4095爲協議保留取值,所以VLAN ID的有效取值範圍是1~4094。
交換機内部處理的數據幀都(dōu)帶有VLAN标簽。而交換機連接的部分設備(如用戶主機、服務器)隻會(huì)收發(fā)不帶VLAN tag的傳統以太網數據幀。因此,要與這(zhè)些設備交互,就(jiù)需要交換機的接口能(néng)夠識别傳統以太網數據幀,并在收發(fā)時給幀添加、剝除VLAN标簽。添加什麼(me)VLAN标簽,由接口上的缺省VLAN(Port Default VLAN ID,PVID)決定。
接口類型和标簽處理機制
現網中屬于同一個VLAN的用戶可能(néng)會(huì)被(bèi)連接在不同的交換機上,且跨越交換機的VLAN可能(néng)不止一個,如果需要用戶間的互通,就(jiù)需要交換機間的接口能(néng)夠同時識别和發(fā)送多個VLAN的數據幀。根據接口連接對(duì)象以及對(duì)收發(fā)數據幀處理的不同,當前有VLAN的多種(zhǒng)接口類型,以适應不同的連接和組網。
不同廠商對(duì)VLAN接口類型的定義可能(néng)不同。對(duì)于華爲設備來說,常見的VLAN接口類型有三種(zhǒng),包括:Access、Trunk和Hybrid。
Access接口
Access接口一般用于和不能(néng)識别Tag的用戶終端(如用戶主機、服務器)相連,或者不需要區分不同VLAN成(chéng)員時使用。
在一個VLAN交換網絡中,以太網數據幀主要有以下兩(liǎng)種(zhǒng)形式:
-
無标記幀(Untagged幀):原始的、未加入4字節VLAN标簽的幀。
-
有标記幀(Tagged幀):加入了4字節VLAN标簽的幀。
Access接口大部分情況隻能(néng)收發(fā)Untagged幀,且隻能(néng)爲Untagged幀添加唯一VLAN的Tag。交換機内部隻處理Tagged幀,所以Access接口需要給收到的數據幀添加VLAN Tag,也就(jiù)必須配置缺省VLAN。配置缺省VLAN後(hòu),該Access接口也就(jiù)加入了該VLAN。
當Access接口收到帶有Tag的幀,并且幀中VID與PVID相同時,Access接口也能(néng)接收并處理該幀。在發(fā)送帶有Tag的幀前,Access接口會(huì)剝離Tag。
Trunk接口
Trunk接口一般用于連接交換機、路由器、AP以及可同時收發(fā)Tagged幀和Untagged幀的語音終端。它可以允許多個VLAN的幀帶Tag通過(guò),但隻允許屬于缺省VLAN的幀從該類接口上發(fā)出時不帶Tag(即剝除Tag)。
Trunk接口上的缺省VLAN,有的廠商也將(jiāng)它定義爲native VLAN。當Trunk接口收到Untagged幀時,會(huì)爲Untagged幀打上Native VLAN對(duì)應的Tag。
Hybrid接口
Hybrid接口既可以用于連接不能(néng)識别Tag的用戶終端(如用戶主機、服務器)和網絡設備(如Hub),也可以用于連接交換機、路由器以及可同時收發(fā)Tagged幀和Untagged幀的語音終端、AP。它可以允許多個VLAN的幀帶Tag通過(guò),且允許從該類接口發(fā)出的幀根據需要配置某些VLAN的幀帶Tag(即不剝除Tag)、某些VLAN的幀不帶Tag(即剝除Tag)。
Hybrid接口和Trunk接口在很多應用場景下可以通用,但在某些應用場景下,必須使用Hybrid接口。比如在靈活QinQ中,服務提供商網絡的多個VLAN的報文在進(jìn)入用戶網絡前,需要剝離外層VLAN Tag,此時Trunk接口不能(néng)實現該功能(néng),因爲Trunk接口隻能(néng)使該接口缺省VLAN的報文不帶VLAN Tag通過(guò)。
VLAN的使用場景
VLAN間用戶的二層隔離

基于接口的VLAN劃分組網圖
爲了保證各公司業務的獨立和安全,可將(jiāng)每個公司所連接的接口劃分到不同的VLAN,實現公司間業務數據的完全隔離。可以認爲每個公司擁有獨立的“虛拟路由器”,每個VLAN就(jiù)是一個“虛拟工作組”。
再比如,某公司有兩(liǎng)個部門,分别分配了固定的IP網段。爲加強員工間的學(xué)習與交流,員工的位置有時會(huì)相互調動,但公司希望各部門員工訪問的網絡資源的權限不變。

基于IP的VLAN劃分組網圖
爲了保證部門内員工的位置調整後(hòu),訪問網絡資源的權限不變,可在公司的交換機Switch_1上配置基于IP子網劃分VLAN。這(zhè)樣(yàng),服務器的不同網段就(jiù)劃分到不同的VLAN,訪問服務器不同應用服務的數據流就(jiù)會(huì)隔離,提高了安全性。
VLAN間用戶的三層互訪
如下圖所示,某小型公司的兩(liǎng)個部門分别通過(guò)二層交換機接入到一台三層交換機Switch_3,所屬VLAN分别爲VLAN2和VLAN3,部門1和部門2的用戶互通時,需要經(jīng)過(guò)三層交換機。

通過(guò)VLANIF實現VLAN間用戶的三層互訪
可在Switch_1和Switch_2上劃分VLAN并將(jiāng)VLAN透傳到Switch_3上,然後(hòu)在Switch_3上爲每個VLAN配置一個VLANIF接口,實現VLAN2和VLAN3間的路由。
VLAN的相關協議
IEEE 802.1Q
IEEE 802.1Q(也被(bèi)稱爲Dot1q)即Virtual Bridged Local Area Networks協議,規定了VLAN的實現标準。與标準的以太網數據幀相比,VLAN數據幀增加了1個4字節的VLAN标簽。
LNP
鏈路類型協商協議(Link-type Negotiation Protocol,LNP)用來動态協商以太網接口的鏈路類型爲Access或者Trunk。
-
以太網接口的鏈路類型協商爲Access,缺省情況下加入VLAN1。
-
以太網接口的鏈路類型協商爲Trunk,缺省情況下加入VLAN1~4094。
QinQ
QinQ(802.1Q-in-802.1Q)協議出自IEEE 802.1ad标準協議,通過(guò)在802.1Q标簽報文的基礎上再增加一層802.1Q的Tag來達到擴展VLAN空間的功能(néng),可以使私網VLAN透傳公網。
由于在骨幹網中傳遞的報文有兩(liǎng)層802.1Q Tag(一層公網Tag,一層私網Tag),即802.1Q-in-802.1Q,所以稱之爲QinQ協議。
雲化場景下,VLAN存在的問題
随著(zhe)網絡技術的發(fā)展,雲計算憑借其在系統利用率高、人力和管理成(chéng)本低、靈活性和可擴展性強等方面(miàn)表現出的優勢,已經(jīng)成(chéng)爲目前企業IT建設的新趨勢。而服務器虛拟化作爲雲計算的核心技術之一,得到了越來越多的應用。
VLAN作爲傳統的網絡隔離技術,在标準定義中VLAN的數量隻有4096個,無法滿足大型數據中心的租戶間隔離需求。另外,VLAN的二層範圍一般較小且固定,無法支持虛拟機大範圍的動态遷移。
因此,RFC定義了VLAN擴展方案VXLAN(Virtual eXtensible Local Area Network,虛拟擴展局域網)。VXLAN采用MAC in UDP(User Datagram Protocol)封裝方式,是NVO3(Network Virtualization over Layer 3)中的一種(zhǒng)網絡虛拟化技術。
VXLAN完美地彌補了VLAN的上述不足,一方面(miàn)通過(guò)VXLAN中的24比特VNI(VXLAN Network Identifier)字段,提供多達16M租戶的标識能(néng)力,遠大于VLAN的數量;另一方面(miàn),VXLAN本質上在兩(liǎng)台交換機之間構建了一條穿越數據中心基礎IP網絡的虛拟隧道(dào),將(jiāng)數據中心網絡虛拟成(chéng)一個巨型“二層交換機”,滿足虛拟機大範圍動态遷移的需求。
*注:本文素材來自華爲,版權歸作者所有