VLAN虛擬局域網知識筆記之(一)
VLAN基本原理和數據包分析
隨着網絡中計算機的數量越來越多,傳統的以太網絡開始面臨沖突嚴重、廣播泛濫以及安全性無法保障等各種問題。
VLAN(Virtual Local Area Network)即虛擬局域網,是將一個物理的局域網在邏輯上划分成多個廣播域的技術。通過在交換機上配置VLAN,可以實現在同一個VLAN內的用戶可以進行二層互訪,而不同VLAN間的用戶被二層隔離。這樣既能夠隔離廣播域,又能夠提升網絡的安全性。
背景 -- 傳統以太網
隨着主機數量的增加,共享網絡中的沖突會越來越嚴重,交換網絡中的廣播也會越來越多。
早期的局域網LAN技術是基於總線型結構的,它存在以下主要問題:
①若某時刻有多個節點同時試圖發送消息,那么它們將產生沖突。
②從任意節點發出的消息都會被發送到其他節點,形成廣播。
③所有主機共享一條傳輸通道,無法控制網絡中的信息安全。
這種網絡構成了一個沖突域,網絡中計算機數量越多,沖突越嚴重,網絡效率越低。同時,該網絡也是一個廣播域,當網絡中發送信息的計算機數量越多時,廣播流量將會耗費大量帶寬。
因此,傳統局域網不僅面臨沖突域太大和廣播域太大兩大難題,而且無法保障傳輸信息的安全。
為了擴展傳統LAN,以接入更多計算機,同時避免沖突的惡化,出現了網橋和二層交換機,它們能有效隔離沖突域。網橋和交換機采用交換方式將來自入端口的信息轉發到出端口上,克服了共享網絡中的沖突問題。但是,采用交換機進行組網時,廣播域和信息安全問題依舊存在。
為限制廣播域的范圍,減少廣播流量,需要在沒有二層互訪需求的主機之間進行隔離。路由器是基於三層IP地址信息來選擇路由和轉發數據的,其連接兩個網段時可以有效抑制廣播報文的轉發,但成本較高。因此,人們設想在物理局域網上構建多個邏輯局域網,即VLAN。
VLAN技術
VLAN能夠隔離廣播域。
VLAN技術可以將一個物理局域網在邏輯上划分成多個廣播域,也就是多個VLAN。
VLAN技術部署在數據鏈路層,用於隔離二層流量。
同一個VLAN內的主機共享同一個廣播域,它們之間可以直接進行二層通信。而不同VLAN間的主機屬於不同的廣播域,不能直接實現二層互通。這樣,廣播報文就被限制在各個相應的VLAN內,同時也提高了網絡安全性。
本例中,原本屬於同一廣播域的主機被划分到了兩個VLAN中:即VLAN1和VLAN2。VLAN內部的主機可以直接在二層互相通信,VLAN1和VLAN2之間的主機無法直接實現二層通信。
VLAN幀格式
VLAN是通過數據幀中的tag來進行區分的。
下圖是一個正常的以太網(Ethernet)幀格式,其中包括:
① 6字節的DMAC字段(目的MAC地址)。
② 6字節的SMAC字段(源MAC地址)。
③ 2字節的Type字段(幀協議類型以及后續數據的字節長度,但不包括CRC檢驗碼)。
④ 46~1500字節的Data字段(封裝數據的字段,最大傳輸單元MTU即1500字節)。
⑤ 4字節的FCS字段(循環冗余校驗位,也稱為CRC)。
總長度范圍為64~1518字節,關於以太網幀格式的更詳細知識,以后會另開一個網絡基礎知識筆記詳談。
VLAN采用IEEE 802.1Q標准對Ethernet幀格式進行了修改,在源MAC地址字段和協議類型字段之間加入4字節的802.1Q Tag。如下圖所示:
802.1Q Tag主要分為兩個部分:TPID和TCI。
(1)TPID
TPID(即Tag Protocol Identifier,占2字節)。當取值為0x8100時表示802.1Q Tag幀(固定取值)。如果不支持802.1Q的設備收到這樣的幀,會將其丟棄。
(2)TCI
TCI(即Tag Control Information,總共占2字節)。存放幀的控制信息,詳細組成分為以下三個部分:
① Priority:占3比特,表示幀的優先級,取值范圍為0~7,值越大優先級越高。當交換機阻塞時,優先發送優先級高的數據幀。
② CFI:即Canonical Format Indicator,占1比特。CFI表示MAC地址是否是經典格式。CFI為0說明是經典格式,CFI為1表示為非經典格式。用於區分以太網幀、FDDI(Fiber Distributed Digital Interface)幀和令牌環網幀。在以太網中,CFI的值為0。
③ VLAN Identifier:VLAN ID,占12比特,在華為系列交換機中,可配置的VLAN ID取值范圍為0~4095,其中0和4095在協議中規定為保留的VLAN ID,不能給用戶使用。
Tips:VLAN ID知識的補充
交換機在初始情況下,默認所有的端口的VLAN ID(PVID)都為1。
VLAN報文抓包示例
以太網技術在網絡中的大量部署,VLAN ID只有12比特所表示的4096個VLAN,無法滿足以太網中對大量用戶進行標識的需求。所以后來又提出了一個新的技術 -- QinQ技術。簡單地說就是一項擴展VLAN空間的技術,通過在802.1Q標簽報文的基礎上再增加一層802.1Q的Tag來達到擴展VLAN空間的功能,達成使私網VLAN穿透公網的目的。這個以后若有時間,會對這個技術再做研究筆記。
鏈路類型
用戶主機和交換機之間的鏈路為接入鏈路,交換機與交換機之間的鏈路為干道鏈路。
VLAN鏈路分為兩種類型:Access鏈路和Trunk鏈路。
接入鏈路(Access Link):連接用戶主機和交換機的鏈路稱為接入(Access)鏈路。如本例所示,圖中主機和交換機之間的鏈路都是接入鏈路。
干道鏈路(Trunk Link):連接交換機和交換機的鏈路稱為干道(Trunk)鏈路。如本例所示,圖中交換機之間的鏈路都是干道鏈路。干道鏈路上通過的幀一般為帶Tag的VLAN幀。
本節筆記主要介紹了VLAN的基本背景和原理,詳細討論了VLAN幀的格式中每個字段的含義,以及涉及的VLAN鏈路類型。下一節筆記會着重介紹VLAN的端口類型以及配置方法,然后抓包查看現象,再討論VLAN划分的方法。敬請期待。