以太網是一種基於CSMA/CD(Carrier Sense Multiple Access/Collision Detect,載波偵聽多路訪問/衝突檢測)的共享通訊介質的數據網絡通訊技術,當主機數目較多時會導致衝突嚴重、廣播泛濫、性能顯著下降甚至使網絡不可用等問題。通過交換機實現LAN互聯雖然可以解決衝突(Collision)嚴重的問題,但仍然不能隔離廣播報文。在這種情況下出現了VLAN(Virtual Local Area Network,虛擬局域網)技術,這種技術可以把一個LAN劃分成多個邏輯的LAN——VLAN,每個VLAN是一個廣播域,VLAN內的主機間通信就和在一個LAN內一樣,而VLAN間則不能直接互通,這樣,廣播報文被限製在一個VLAN內,如圖1所示。
圖1 VLAN示意圖
VLAN的劃分不受物理位置的限製:不在同一物理位置範圍的主機可以屬於同一個VLAN;一個VLAN包含的用戶可以連接在同一個交換機上,也可以跨越交換機,甚至可以跨越路由器。
VLAN的優點如下:
l 限製廣播域。廣播域被限製在一個VLAN內,節省了帶寬,提高了網絡處理能力。
l 增強局域網的安全性。VLAN間的二層報文是相互隔離的,即一個VLAN內的用戶不能和其它VLAN內的用戶直接通信,如果不同VLAN要進行通信,則需通過路由器或三層交換機等三層設備。
l 靈活構建虛擬工作組。用VLAN可以劃分不同的用戶到不同的工作組,同一工作組的用戶也不必局限於某一固定的物理範圍,網絡構建和維護更方便靈活。
要使網絡設備能夠分辨不同VLAN的報文,需要在報文中添加標識VLAN的字段。由於普通交換機工作在OSI模型的數據鏈路層,隻能對報文的數據鏈路層封裝進行識別。因此,如果添加識別字段,也需要添加到數據鏈路層封裝中。
IEEE於1999年頒布了用以標準化VLAN實現方案的IEEE 802.1Q協議標準草案,對帶有VLAN標識的報文結構進行了統一規定。
傳統的以太網數據幀在目的MAC地址和源MAC地址之後封裝的是上層協議的類型字段,如圖2所示。
其中DA表示目的MAC地址,SA表示源MAC地址,Type表示報文所屬協議類型。
IEEE 802.1Q協議規定在目的MAC地址和源MAC地址之後封裝4個字節的VLAN Tag,用以標識VLAN的相關信息。
圖3 VLAN Tag的組成字段
如圖3所示,VLAN Tag包含四個字段,分別是TPID(Tag Protocol Identifier,標簽協議標識符)、Priority、CFI(Canonical Format Indicator,標準格式指示位)和VLAN ID。
l TPID用來判斷本數據幀是否帶有VLAN Tag,長度為16bit,缺省取值為0x8100。
l Priority表示報文的802.1P優先級,長度為3bit,相關內容請參見“QoS分冊”中的“QoS配置”。
l CFI字段標識MAC地址在不同的傳輸介質中是否以標準格式進行封裝,長度為1bit,取值為0表示MAC地址以標準格式進行封裝,為1表示以非標準格式封裝,缺省取值為0。
l VLAN ID標識該報文所屬VLAN的編號,長度為12bit,取值範圍為0~4095。由於0和4095為協議保留取值,所以VLAN ID的取值範圍為1~4094。
網絡設備利用VLAN ID來識別報文所屬的VLAN,根據報文是否攜帶VLAN Tag以及攜帶的VLAN Tag值,來對報文進行處理。