前言
大家好,這里是浩道linux,主要給大家分享linux、python、網絡通信相關的IT知識平臺。
今天浩道跟大家分享關于VLAN技術出現的必要,以及通過圖文并茂形式帶你全面了解VLAN技術!
VLAN(Virtual Local Area Network)即虛擬局域網,是將一個物理的LAN在邏輯上劃分成多個廣播域的通信技術。每個VLAN是一個廣播域,VLAN內的主機間可以直接通信,而VLAN間則不能直接互通。這樣,廣播報文就被限制在一個VLAN內。
為什么需要VLAN
早期以太網是一種基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通訊介質的數據網絡通訊技術。當主機數目較多時會導致沖突嚴重、廣播泛濫、性能顯著下降甚至造成網絡不可用等問題。通過二層設備實現LAN互連雖然可以解決沖突嚴重的問題,但仍然不能隔離廣播報文和提升網絡質量。
在這種情況下出現了VLAN技術。這種技術可以把一個LAN劃分成多個邏輯的VLAN,每個VLAN是一個廣播域,VLAN內的主機間通信就和在一個LAN內一樣,而VLAN間則不能直接互通,廣播報文就被限制在一個VLAN內。如下圖所示。
VLAN的作用
因此,VLAN具備以下優點:
限制廣播域:廣播域被限制在一個VLAN內,節省了帶寬,提高了網絡處理能力。
增強局域網的安全性:不同VLAN內的報文在傳輸時相互隔離,即一個VLAN內的用戶不能和其它VLAN內的用戶直接通信。
提高了網絡的健壯性:故障被限制在一個VLAN內,本VLAN內的故障不會影響其他VLAN的正常工作。
靈活構建虛擬工作組:用VLAN可以劃分不同的用戶到不同的工作組,同一工作組的用戶也不必局限于某一固定的物理范圍,網絡構建和維護更方便靈活。
VLAN vs 子網
通過將IP地址的網絡部分進一步劃分為若干個子網,可以解決IP地址空間利用率低和兩級IP地址不夠靈活的問題。
與VLAN相類似的是,子網也可以隔離主機間的通信。屬于不同VLAN的主機之間不能直接通信,屬于不同的子網的主機之間也不能直接通信。但二者沒有必然的對應關系。
VLAN vs 子網
VLAN Tag和VLAN ID
要使交換機能夠分辨不同VLAN的報文,需要在報文中添加標識VLAN信息的字段。IEEE 802.1Q協議規定,在以太網數據幀中加入4個字節的VLAN標簽(又稱VLAN Tag,簡稱Tag),用以標識VLAN信息。
IEEE 802.1Q封裝的VLAN數據幀格式
數據幀中的VID字段標識了該數據幀所屬的VLAN,數據幀只能在其所屬VLAN內進行傳輸。VID字段代表VLAN ID,VLAN ID取值范圍是0~4095。由于0和4095為協議保留取值,所以VLAN ID的有效取值范圍是1~4094。
交換機內部處理的數據幀都帶有VLAN標簽。而交換機連接的部分設備(如用戶主機、服務器)只會收發不帶VLAN tag的傳統以太網數據幀。因此,要與這些設備交互,就需要交換機的接口能夠識別傳統以太網數據幀,并在收發時給幀添加、剝除VLAN標簽。添加什么VLAN標簽,由接口上的缺省VLAN(Port Default VLAN ID,PVID)決定。
VLAN的接口類型和VLAN標簽的處理機制
現網中屬于同一個VLAN的用戶可能會被連接在不同的交換機上,且跨越交換機的VLAN可能不止一個,如果需要用戶間的互通,就需要交換機間的接口能夠同時識別和發送多個VLAN的數據幀。根據接口連接對象以及對收發數據幀處理的不同,當前有VLAN的多種接口類型,以適應不同的連接和組網。
不同廠商對VLAN接口類型的定義可能不同。對于華為設備來說,常見的VLAN接口類型有三種,包括:Access、Trunk和Hybrid。
Access接口
Access接口一般用于和不能識別Tag的用戶終端(如用戶主機、服務器)相連,或者不需要區分不同VLAN成員時使用。
在一個VLAN交換網絡中,以太網數據幀主要有以下兩種形式:無標記幀(Untagged幀):原始的、未加入4字節VLAN標簽的幀。有標記幀(Tagged幀):加入了4字節VLAN標簽的幀。Access接口大部分情況只能收發Untagged幀,且只能為Untagged幀添加唯一VLAN的Tag。交換機內部只處理Tagged幀,所以Access接口需要給收到的數據幀添加VLAN Tag,也就必須配置缺省VLAN。配置缺省VLAN后,該Access接口也就加入了該VLAN。
當Access接口收到帶有Tag的幀,并且幀中VID與PVID相同時,Access接口也能接收并處理該幀。
在發送帶有Tag的幀前,Access接口會剝離Tag。
Trunk接口
Trunk接口一般用于連接交換機、路由器、AP以及可同時收發Tagged幀和Untagged幀的語音終端。它可以允許多個VLAN的幀帶Tag通過,但只允許屬于缺省VLAN的幀從該類接口上發出時不帶Tag(即剝除Tag)。
Trunk接口上的缺省VLAN,有的廠商也將它定義為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接口在很多應用場景下可以通用,但在某些應用場景下,必須使用Hybrid接口。比如在靈活QinQ中,服務提供商網絡的多個VLAN的報文在進入用戶網絡前,需要剝離外層VLAN Tag,此時Trunk接口不能實現該功能,因為Trunk接口只能使該接口缺省VLAN的報文不帶VLAN Tag通過。
VLAN的使用場景 VLAN的常見使用場景包括:VLAN間用戶的二層隔離,VLAN間用戶的三層互訪。
VLAN間用戶的二層隔離
如下圖所示,某商務樓內有多家公司,為了降低成本,多家公司共用網絡資源,各公司分別連接到一臺二層交換機的不同接口,并通過統一的出口訪問Internet。
基于接口的VLAN劃分組網圖
為了保證各公司業務的獨立和安全,可將每個公司所連接的接口劃分到不同的VLAN,實現公司間業務數據的完全隔離。可以認為每個公司擁有獨立的“虛擬路由器”,每個VLAN就是一個“虛擬工作組”。
再比如,某公司有兩個部門,分別分配了固定的IP網段。為加強員工間的學習與交流,員工的位置有時會相互調動,但公司希望各部門員工訪問的網絡資源的權限不變。
基于IP的VLAN劃分組網圖
為了保證部門內員工的位置調整后,訪問網絡資源的權限不變,可在公司的交換機Switch_1上配置基于IP子網劃分VLAN。這樣,服務器的不同網段就劃分到不同的VLAN,訪問服務器不同應用服務的數據流就會隔離,提高了安全性。
VLAN間用戶的三層互訪
如下圖所示,某小型公司的兩個部門分別通過二層交換機接入到一臺三層交換機Switch_3,所屬VLAN分別為VLAN2和VLAN3,部門1和部門2的用戶互通時,需要經過三層交換機。
通過VLANIF實現VLAN間用戶的三層互訪
可在Switch_1和Switch_2上劃分VLAN并將VLAN透傳到Switch_3上,然后在Switch_3上為每個VLAN配置一個VLANIF接口,實現VLAN2和VLAN3間的路由。
VLAN的相關協議
IEEE 802.1Q
IEEE 802.1Q(也被稱為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標準協議,通過在802.1Q標簽報文的基礎上再增加一層802.1Q的Tag來達到擴展VLAN空間的功能,可以使私網VLAN透傳公網。
由于在骨干網中傳遞的報文有兩層802.1Q Tag(一層公網Tag,一層私網Tag),即802.1Q-in-802.1Q,所以稱之為QinQ協議。
云化場景下,VLAN存在的問題
隨著網絡技術的發展,云計算憑借其在系統利用率高、人力和管理成本低、靈活性和可擴展性強等方面表現出的優勢,已經成為目前企業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)中的一種網絡虛擬化技術。VXLAN完美地彌補了VLAN的上述不足,一方面通過VXLAN中的24比特VNI(VXLAN Network Identifier)字段,提供多達16M租戶的標識能力,遠大于VLAN的數量;另一方面,VXLAN本質上在兩臺交換機之間構建了一條穿越數據中心基礎IP網絡的虛擬隧道,將數據中心網絡虛擬成一個巨型“二層交換機”,滿足虛擬機大范圍動態遷移的需求。
編輯:黃飛
評論
查看更多