VLAN(Virtual Local Area Network)即虛拟局域網,是将一(yī)個物(wù)理的LAN在邏輯上劃分(fēn)成多個廣播域的通信技術。每個VLAN是一(yī)個廣播域,VLAN内的主機間可以直接通信,而VLAN間則不能直接互通。這樣,廣播報文就被限制在一(yī)個VLAN内。
爲什麽需要VLAN
早期以太網是一(yī)種基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通訊介質的數據網絡通訊技術。當主機數目較多時會導緻沖突嚴重、廣播泛濫、性能顯著下(xià)降甚至造成網絡不可用等問題。通過二層設備實現LAN互連雖然可以解決沖突嚴重的問題,但仍然不能隔離(lí)廣播報文和提升網絡質量。
在這種情況下(xià)出現了VLAN技術。這種技術可以把一(yī)個LAN劃分(fēn)成多個邏輯的VLAN,每個VLAN是一(yī)個廣播域,VLAN内的主機間通信就和在一(yī)個LAN内一(yī)樣,而VLAN間則不能直接互通,廣播報文就被限制在一(yī)個VLAN内,如下(xià)圖所示:
因此,VLAN具備以下(xià)優點:
-
限制廣播域:廣播域被限制在一(yī)個VLAN内,節省了帶寬,提高了網絡處理能力。
-
增強局域網的安全性:不同VLAN内的報文在傳輸時相互隔離(lí),即一(yī)個VLAN内的用戶不能和其它VLAN内的用戶直接通信。
-
提高了網絡的健壯性:不同VLAN内的報文在傳輸時相互隔離(lí),即一(yī)個VLAN内的用戶不能和其它VLAN内的用戶直接通信。
-
靈活構建虛拟工(gōng)作組:用VLAN可以劃分(fēn)不同的用戶到不同的工(gōng)作組,同一(yī)工(gōng)作組的用戶也不必局限于某一(yī)固定的物(wù)理範圍,網絡構建和維護更方便靈活。
VLAN vs 子網
通過将IP地址的網絡部分(fēn)進一(yī)步劃分(fēn)爲若幹個子網,可以解決IP地址空間利用率低和兩級IP地址不夠靈活的問題。
與VLAN相類似的是,子網也可以隔離(lí)主機間的通信。屬于不同VLAN的主機之間不能直接通信,屬于不同的子網的主機之間也不能直接通信。但二者沒有必然的對應關系。
VLAN vs 子網
VLAN Tag 和 VLAN ID
要使交換機能夠分(fēn)辨不同VLAN的報文,需要在報文中(zhōng)添加标識VLAN信息的字段。IEEE 802.1Q協議規定,在以太網數據幀中(zhōng)加入4個字節的VLAN标簽(又(yòu)稱VLAN Tag,簡稱Tag),用以标識VLAN信息。
數據幀中(zhōng)的VID字段标識了該數據幀所屬的VLAN,數據幀隻能在其所屬VLAN内進行傳輸。VID字段代表VLAN ID,VLAN ID取值範圍是0~4095。由于0和4095爲協議保留取值,所以VLAN ID的有效取值範圍是1~4094。
交換機内部處理的數據幀都帶有VLAN标簽。而交換機連接的部分(fēn)設備(如用戶主機、服務器)隻會收發不帶VLAN tag的傳統以太網數據幀。因此,要與這些設備交互,就需要交換機的接口能夠識别傳統以太網數據幀,并在收發時給幀添加、剝除VLAN标簽。添加什麽VLAN标簽,由接口上的缺省VLAN(Port Default VLAN ID,PVID)決定。
接口類型和标簽處理機制
現網中(zhōng)屬于同一(yī)個VLAN的用戶可能會被連接在不同的交換機上,且跨越交換機的VLAN可能不止一(yī)個,如果需要用戶間的互通,就需要交換機間的接口能夠同時識别和發送多個VLAN的數據幀。根據接口連接對象以及對收發數據幀處理的不同,當前有VLAN的多種接口類型,以适應不同的連接和組網。
不同廠商(shāng)對VLAN接口類型的定義可能不同。對于華爲設備來說,常見的VLAN接口類型有三種,包括:Access、Trunk和Hybrid。
Access接口
Access接口一(yī)般用于和不能識别Tag的用戶終端(如用戶主機、服務器)相連,或者不需要區分(fēn)不同VLAN成員(yuán)時使用。
在一(yī)個VLAN交換網絡中(zhōng),以太網數據幀主要有以下(xià)兩種形式:
-
無标記幀(Untagged幀):原始的、未加入4字節VLAN标簽的幀。
-
有标記幀(Tagged幀):加入了4字節VLAN标簽的幀。
Access接口大(dà)部分(fēn)情況隻能收發Untagged幀,且隻能爲Untagged幀添加唯一(yī)VLAN的Tag。交換機内部隻處理Tagged幀,所以Access接口需要給收到的數據幀添加VLAN Tag,也就必須配置缺省VLAN。配置缺省VLAN後,該Access接口也就加入了該VLAN。
當Access接口收到帶有Tag的幀,并且幀中(zhōng)VID與PVID相同時,Access接口也能接收并處理該幀。在發送帶有Tag的幀前,Access接口會剝離(lí)Tag。
Trunk接口
Trunk接口一(yī)般用于連接交換機、路由器、AP以及可同時收發Tagged幀和Untagged幀的語音終端。它可以允許多個VLAN的幀帶Tag通過,但隻允許屬于缺省VLAN的幀從該類接口上發出時不帶Tag(即剝除Tag)。
Trunk接口上的缺省VLAN,有的廠商(shāng)也将它定義爲native VLAN。當Trunk接口收到Untagged幀時,會爲Untagged幀打上Native VLAN對應的Tag。
Hybrid接口
Hybrid接口既可以用于連接不能識别Tag的用戶終端(如用戶主機、服務器)和網絡設備(如Hub),也可以用于連接交換機、路由器以及可同時收發Tagged幀和Untagged幀的語音終端、AP。它可以允許多個VLAN的幀帶Tag通過,且允許從該類接口發出的幀根據需要配置某些VLAN的幀帶Tag(即不剝除Tag)、某些VLAN的幀不帶Tag(即剝除Tag)。
Hybrid接口和Trunk接口在很多應用場景下(xià)可以通用,但在某些應用場景下(xià),必須使用Hybrid接口。比如在靈活QinQ中(zhōng),服務提供商(shāng)網絡的多個VLAN的報文在進入用戶網絡前,需要剝離(lí)外(wài)層VLAN Tag,此時Trunk接口不能實現該功能,因爲Trunk接口隻能使該接口缺省VLAN的報文不帶VLAN Tag通過。
VLAN的使用場景
VLAN間用戶的二層隔離(lí)
基于接口的VLAN劃分(fēn)組網圖
爲了保證各公司業務的獨立和安全,可将每個公司所連接的接口劃分(fēn)到不同的VLAN,實現公司間業務數據的完全隔離(lí)。可以認爲每個公司擁有獨立的“虛拟路由器”,每個VLAN就是一(yī)個“虛拟工(gōng)作組”。
再比如,某公司有兩個部門,分(fēn)别分(fēn)配了固定的IP網段。爲加強員(yuán)工(gōng)間的學習與交流,員(yuán)工(gōng)的位置有時會相互調動,但公司希望各部門員(yuán)工(gōng)訪問的網絡資(zī)源的權限不變。
基于IP的VLAN劃分(fēn)組網圖
爲了保證部門内員(yuán)工(gōng)的位置調整後,訪問網絡資(zī)源的權限不變,可在公司的交換機Switch_1上配置基于IP子網劃分(fēn)VLAN。這樣,服務器的不同網段就劃分(fēn)到不同的VLAN,訪問服務器不同應用服務的數據流就會隔離(lí),提高了安全性。
VLAN間用戶的三層互訪
如下(xià)圖所示,某小(xiǎo)型公司的兩個部門分(fēn)别通過二層交換機接入到一(yī)台三層交換機Switch_3,所屬VLAN分(fēn)别爲VLAN2和VLAN3,部門1和部門2的用戶互通時,需要經過三層交換機。
通過VLANIF實現VLAN間用戶的三層互訪
可在Switch_1和Switch_2上劃分(fēn)VLAN并将VLAN透傳到Switch_3上,然後在Switch_3上爲每個VLAN配置一(yī)個VLANIF接口,實現VLAN2和VLAN3間的路由。
VLAN的相關協議
IEEE 802.1Q
IEEE 802.1Q(也被稱爲Dot1q)即Virtual Bridged Local Area Networks協議,規定了VLAN的實現标準。與标準的以太網數據幀相比,VLAN數據幀增加了1個4字節的VLAN标簽。
LNP
鏈路類型協商(shāng)協議(Link-type Negotiation Protocol,LNP)用來動态協商(shāng)以太網接口的鏈路類型爲Access或者Trunk。
-
以太網接口的鏈路類型協商(shāng)爲Access,缺省情況下(xià)加入VLAN1。
-
以太網接口的鏈路類型協商(shāng)爲Trunk,缺省情況下(xià)加入VLAN1~4094。
QinQ
QinQ(802.1Q-in-802.1Q)協議出自IEEE 802.1ad标準協議,通過在802.1Q标簽報文的基礎上再增加一(yī)層802.1Q的Tag來達到擴展VLAN空間的功能,可以使私網VLAN透傳公網。
由于在骨幹網中(zhōng)傳遞的報文有兩層802.1Q Tag(一(yī)層公網Tag,一(yī)層私網Tag),即802.1Q-in-802.1Q,所以稱之爲QinQ協議。
雲化場景下(xià),VLAN存在的問題
随着網絡技術的發展,雲計算憑借其在系統利用率高、人力和管理成本低、靈活性和可擴展性強等方面表現出的優勢,已經成爲目前企業IT建設的新趨勢。而服務器虛拟化作爲雲計算的核心技術之一(yī),得到了越來越多的應用。
VLAN作爲傳統的網絡隔離(lí)技術,在标準定義中(zhōng)VLAN的數量隻有4096個,無法滿足大(dà)型數據中(zhōng)心的租戶間隔離(lí)需求。另外(wài),VLAN的二層範圍一(yī)般較小(xiǎo)且固定,無法支持虛拟機大(dà)範圍的動态遷移。
因此,RFC定義了VLAN擴展方案VXLAN(Virtual eXtensible Local Area Network,虛拟擴展局域網)。VXLAN采用MAC in UDP(User Datagram Protocol)封裝方式,是NVO3(Network Virtualization over Layer 3)中(zhōng)的一(yī)種網絡虛拟化技術。
VXLAN完美地彌補了VLAN的上述不足,一(yī)方面通過VXLAN中(zhōng)的24比特VNI(VXLAN Network Identifier)字段,提供多達16M租戶的标識能力,遠大(dà)于VLAN的數量;另一(yī)方面,VXLAN本質上在兩台交換機之間構建了一(yī)條穿越數據中(zhōng)心基礎IP網絡的虛拟隧道,将數據中(zhōng)心網絡虛拟成一(yī)個巨型“二層交換機”,滿足虛拟機大(dà)範圍動态遷移的需求。
*注:本文素材來自華爲,版權歸作者所有