- 網絡的琴弦:玩轉IP看監控
- 周迪等
- 2057字
- 2019-01-04 14:22:31
VLAN
老U喊來驛站的網管,網管發現中毒的電腦瘋狂地發送著廣播報文,沖擊了連接在同一個交換機上的NVR,導致NVR的CPU負荷過重,嚴重影響視頻解碼的效果。為了避免今后再出現電腦中毒影響監控系統的事件,老U決定另買一臺交換機,把辦公電腦和監控系統隔離。所謂“物以類聚,人以群分”,好學又實在的老U結交的也是同樣好學又實在的網管。網管說:不需要浪費那個錢,在交換機上做一下VLAN劃分,把辦公電腦和監控系統劃歸到不同的VLAN就行了。
為什么劃分了VLAN就可以避免相互影響呢?
VLAN基礎
VLAN(Virtual Local Area Network)即虛擬局域網,顧名思義,就是在交換機上虛擬出不同的局域網,不同的VLAN相互隔離,使得報文無法進行二層轉發。如圖1-8所示,交換機上劃分了黑、白兩色識別的不同的VLAN——在實際使用中則是用“VLAN ID”來區分的。不同的VLAN相當于不同的幾臺交換機。

圖1-8 VLAN劃分
說明
VLAN提出的初衷是為了限制廣播域。在網絡中充斥著大量的廣播報文,很多協議都會定期發送廣播報文,如ARP、DHCP、RIP、NetBEUI、Apple Talk等;目的MAC在交換機上不存在的單播報文(稱為未知單播),也會被交換機以廣播的形式轉發。廣播報文會被連接在交換機上的所有設備收到,干擾這些設備的CPU的工作,影響系統的正常業務處理性能。通過劃分VLAN, VLAN內部的設備產生的廣播報文就會被限制在該VLAN內部,不會影響其他VLAN內的設備,從而大大降低廣播報文的影響范圍和頻度。
交換機對于以太幀的轉發控制是基于VLAN標簽(VLAN Tag)來實現的,VLAN標簽被嵌入在以太幀的頭部。標簽中最重要的屬性是VLAN ID,用于標識該以太幀屬于哪個VLAN。用戶通常可以配置的VLAN ID為2~4094(0和4095都為協議保留值,1為系統默認VLAN)。
交換機處理
為了劃分VLAN,交換機首先需要配置各個端口所屬的默認VLAN ID。當一個不帶VLAN標簽的以太幀從某個端口進入交換機,就會被打上該端口所屬的默認VLAN ID。這個默認VLAN ID稱為該端口的虛擬局域網ID(Port-base VLAN ID, PVID),或者說,該端口是該VLAN的訪問(Access)端口。該端口允許帶著該VLAN標簽的以太幀進入,而當帶著該VLAN標簽的以太幀從該端口出去后,VLAN標簽就會被剝離。
一個端口是不是只允許VLAN標簽為自己所屬的PVID的以太幀進出呢?倒也不是。但一個端口若要允許帶著其他VLAN標簽的以太幀進出,就需要配置“匯聚”(Trunk)對應的VLAN,或者說,該端口是該VLAN的Trunk端口。這樣,這個端口也允許帶著被“Trunk”的其他VLAN標簽的以太幀進入該端口,但帶著該VLAN標簽的以太幀從該端口出去后,VLAN標簽卻不會被剝離。
除了Access端口和Trunk端口之外,還有一個混合(Hybrid)端口。相對于Trunk,當一個端口Hybrid某個VLAN時,可以指定帶有該VLAN標簽的以太幀出去后是否繼續攜帶VLAN標簽。
需要說明的是,很多計算機、服務器、NVR、DVR、IPC等主機都并不支持帶有VLAN標簽的以太幀的接收和發送,所以必須保證以太幀在離開交換機前往主機時將VLAN標簽剝離。
組網實戰
理解網絡知識的最好方法是組網實驗,我們來看一個典型的例子。假設在圖1-9中,需要將不同樓層的A、C和B、D分別劃分到黑色VLAN和白色VLAN。首先,交換機1和交換機2上分別配置兩個VLAN,并配置連接A和連接C的端口的PVID為黑VLAN,連接B和連接D的端口的PVID為白VLAN。

圖1-9 VLAN劃分實例圖A
問題在于,交換機1和交換機2該如何連接呢?最簡單的方法,自然是在交換機1和交換機2上各設一個黑、白VLAN專用的接口并互連,如圖1-10所示。

圖1-10 VLAN劃分實例圖B
但這個辦法顯然不好,如果再多配置幾個VLAN,交換機用于互聯的端口就不夠用了。這時Trunk端口就有用武之地了:交換機互聯只各用一個端口,讓該端口同時Trunk黑VLAN和白VLAN,一切輕松搞定,如圖1-11所示。

圖1-11 VLAN劃分實例圖C
讓我們來一次以太幀的VLAN之旅: A發出的以太幀不帶VLAN標簽,進入交換機1之后被嵌入黑VLAN的標簽,由于互聯的端口Trunk了黑VLAN,所以該以太幀可以帶著標簽出來;到了交換機2,因為互聯端口Trunk了黑VLAN,所以順利進入了交換機2,繼而從連接C的端口出來,由于連接C的端口Access了黑VLAN,標簽被剝離;最后以太幀到達C。
從上面的組網可以看出,“Trunk”一詞確實名副其實啊,作用大大的!
但老U似乎感覺有些疑惑:交換機怎么知道將以太幀往哪個端口轉發呢?嗯,想起來了,當然是MAC地址表了!對啊,還記得MAC地址表里的VLAN屬性嗎?就是這里的用處了:控制以太幀僅在本VLAN內部做二層轉發!
VLAN基本配置典型實例
如圖1-12所示,交換機有四個端口:ethernet 0/1、ethernet 0/2、ethernet 0/3、 ethernet 0/4。PC1與PC2屬于vlan2的辦公網絡,IPC與NVR都屬于vlan3的監控網絡。

圖1-12 VLAN配置組網圖
相關配置如下:
[H3C]vlan2 #創建(進入)vlan2 [H3C-vlan2]port ethernet0/1 #將端口E0/1加入到vlan2 [H3C-vlan2]port ethernet0/4 #將端口E0/4加入到vlan2 [H3C]vlan3 #創建(進入)vlan3 [H3C-vlan3]port ethernet0/2 #將E0/2加入到vlan3 [H3C-vlan3]port ethernet0/3 #將E0/3加入到vlan3
配置完成后,PC1和PC2可以互相Ping通,IPC和NVR可以相互Ping通。PC1、PC2與IPC、NVR兩兩之間無法Ping通。
家園網友互動
Q:spring_sky24 發表于2015-8-11 15:18:11
請教一個初級問題,假設交換機劃分了3個VLAN,不同VLAN間如何實現互訪?
A:網語者 發表于2015-8-12 14:37:12
不同VLAN間互訪通過三層路由實現。
VLAN的原理和配置弄清楚了,這下老U再也不用擔心辦公室網絡和監控網絡相互干擾的問題了。
時光飛逝,轉眼間網絡已經順利運行了1個月。有一天,領班在整理機房時不小心接錯了端口,這下子大家一起叫了起來:網——上——不——去——了!只見交換機的指示燈一片群魔亂舞,瘋狂閃爍,這可怎么辦呢?