一、VLAN的基本概念

對(duì)于一臺(tái)二層交換機(jī)來說,整機(jī)就是一個(gè)廣播域、一個(gè)LAN。這意味著,只要連接到這個(gè)廣播域的PC配置在一個(gè)IP子網(wǎng)內(nèi),即可進(jìn)行互相訪問,而且更重要的一點(diǎn)是,處于同一個(gè)廣播域內(nèi)的某個(gè)用戶,發(fā)送一個(gè)廣播數(shù)據(jù)幀,意味著在這個(gè)廣播域內(nèi)的所有用戶都會(huì)收到這個(gè)數(shù)據(jù)幀,并且耗費(fèi)資源來處理(即使她它可能并不需要這個(gè)數(shù)據(jù)幀)。當(dāng)這個(gè)廣播域變得特別大、用戶數(shù)量變得特別多時(shí),網(wǎng)絡(luò)就非常有可能被大量的廣播消耗掉大量資源。
另一方面,實(shí)際的網(wǎng)絡(luò)中經(jīng)常存在這樣的需求:連接在同一個(gè)交換機(jī)上的用戶有可能是不同的業(yè)務(wù)部門,我希望對(duì)他們進(jìn)行隔離,或者以獨(dú)立的網(wǎng)絡(luò)單元進(jìn)行管理。
基于上述需求,引入VLAN的概念,所謂VLAN,翻譯為Virtual LAN,實(shí)際上是一個(gè)虛擬的、邏輯的LAN,通過VLAN技術(shù),我們可以在交換機(jī)上,根據(jù)接口等信息進(jìn)行LAN的劃定。例如:

上圖中,我們基于設(shè)備接口進(jìn)行VLAN的劃分。將接口1、2劃分到了VLAN10,將接口23、24劃分到了VLAN20。這樣一來,接口1、2所連接的PC就加入了VLAN10,處于同一個(gè)LAN、同一個(gè)廣播域內(nèi),那么這些PC只要配置同一個(gè)網(wǎng)段的IP地址,就能夠直接進(jìn)行互訪了。而接口23、24處于另一個(gè)VLAN20,另一個(gè)LAN、另一個(gè)廣播域。屬于VLAN20的PC之間能夠直接進(jìn)行互訪。但是,不同的VLAN之間,用戶是被隔離的(除非借助路由設(shè)備),當(dāng)然,一個(gè)VLAN內(nèi)的廣播數(shù)據(jù)幀并不會(huì)被泛洪到另一個(gè)VLAN來,因?yàn)樗麄兲幱诓煌膹V播域。

有了VLAN技術(shù),我們的網(wǎng)絡(luò)設(shè)計(jì)將更加靈活、更加可控。VLAN是一個(gè)虛擬的LAN,不再受設(shè)備的限制。我們可以根據(jù)實(shí)際的業(yè)務(wù)環(huán)境需要,靈活的進(jìn)行VLAN的規(guī)劃。而VLAN更可以跨交換機(jī),因此VLAN的成員,也就是業(yè)務(wù)PC所處的位置就非常靈活了。例如上圖所示,你可能希望每個(gè)部門單獨(dú)劃分到一個(gè)LAN中,部分之間互相隔離,而一個(gè)部門的員工又往往未必在同一樓層,可能分散在不同的樓層,那么有了VLAN技術(shù),完全可以把分散在不同樓層的業(yè)務(wù)PC劃分入一個(gè)VLAN。
下面做一個(gè)小結(jié):
一個(gè)VLAN中所有設(shè)備都是在同一廣播域內(nèi),不同的VLAN為不同的廣播域;
VLAN之間互相隔離,廣播不能跨越VLAN傳播,因此不同VLAN之間的設(shè)備一般無法互訪,不同VLAN間需通過三層設(shè)備實(shí)現(xiàn)相互通信;
一個(gè)VLAN一般為一個(gè)邏輯子網(wǎng),由被配置為此VLAN成員的設(shè)備組成;
VLAN中成員多基于交換機(jī)的接口分配,劃分VLAN就是對(duì)交換機(jī)的接口劃分;
VLAN工作于OSI參考模型的第二層;
VLAN是二層交換機(jī)的一個(gè)非常根本的工作機(jī)制。
二、Access的基本概念

三、Trunk的基本概念

前面我們已經(jīng)了解了VLAN的概念。我們可以借助VLAN技術(shù),在一臺(tái)交換機(jī)上創(chuàng)建多個(gè)VLAN以便對(duì)應(yīng)不同的業(yè)務(wù)部門,然后基于交換機(jī)的接口,將不同的接口劃分給不同的VLAN。
如果我分別在兩臺(tái)交換機(jī)上部署了VLAN,并且做了統(tǒng)一性的VLAN規(guī)劃,這時(shí)兩臺(tái)交換機(jī)對(duì)接的時(shí)候就需要小心。因?yàn)檫@兩臺(tái)交換機(jī)之間互聯(lián)的鏈路,需要承載多個(gè)VLAN的數(shù)據(jù),那么如果某個(gè)特定VLAN的數(shù)據(jù)從一臺(tái)交換機(jī)發(fā)送出來,經(jīng)過交換機(jī)之間的鏈路到達(dá)另一臺(tái)交換機(jī),后者如何判定,這個(gè)數(shù)據(jù)到底應(yīng)該放入哪一個(gè)VLAN呢?
這里我們就需要一種“標(biāo)記”手段。在將數(shù)據(jù)送出這個(gè)互聯(lián)接口前,給數(shù)據(jù)做上相應(yīng)的標(biāo)記(tag),對(duì)端交換機(jī)在收到這個(gè)數(shù)據(jù)之后,就能夠根據(jù)前者對(duì)數(shù)據(jù)所做的標(biāo)記來識(shí)別數(shù)據(jù)究竟是屬于哪一個(gè)VLAN的。這時(shí)候,我們稱兩臺(tái)交換機(jī)之間的互聯(lián)鏈路為一段干道鏈路,而鏈路兩端的接口稱為Trunk接口。
上面提到的“標(biāo)記”手段,我們成為干道封裝協(xié)議,一個(gè)眾所周知的公有協(xié)議是802.1q,或者叫Dot1Q,由于是公有協(xié)議,因此幾乎所有的交換機(jī)廠商都能支持。Dot1q針對(duì)數(shù)據(jù)幀的處理方式很簡單,就是在原始的以太網(wǎng)數(shù)據(jù)幀中插入一個(gè)dot1q的字段,同時(shí)重新做CRC校驗(yàn)。在插入的Dot1q字段中,就有VLANID字段用來指示這個(gè)數(shù)據(jù)幀所屬的VLAN。

下面做一個(gè)小結(jié):
當(dāng)一條鏈路,需要承載多VLAN信息的時(shí)候,需使用trunk來實(shí)現(xiàn)
Trunk兩端的交換機(jī)需采用相同的干道協(xié)議
Trunk一般見于交換機(jī)之間或交換機(jī)與路由器、服務(wù)器之間
四、二層接口的鏈路類型
1.以太網(wǎng)交換機(jī)的端口分類
- Access端口:
Access接口常用于連接PC、服務(wù)器或其他終端,或路由器等設(shè)備。
Access接口只能加入一個(gè)VLAN,一旦加入特定VLAN后,該接口所連接的設(shè)備也就加入了該VLAN。
- Trunk端口:
一般用于交換機(jī)之間連接的端口,trunk端口可以加入多個(gè)VLAN,可以接收和發(fā)送多個(gè)VLAN的報(bào)文。
- Hybrid端口:
可以用于交換機(jī)之間連接,也可以用于接用戶的計(jì)算機(jī),hybrid端口可以屬于多個(gè)VLAN,可以接收和發(fā)送多個(gè)VLAN的報(bào)文。可根據(jù)需求靈活的設(shè)定vlan是否打標(biāo)簽。
2.Access端口收到幀
如果該幀不帶tag,則接收幀并打上端口的pvid;
如果該幀攜帶tag,則當(dāng)vlanID與缺省vlanID相同時(shí),接收該報(bào)文,否則丟棄

3.Access端口發(fā)送幀
剝離802.1Q tag header,發(fā)出的幀為普通以太網(wǎng)幀

4.Trunk端口收到幀
若數(shù)據(jù)幀不帶tag,打上接口pvid,若pvid在允許通過的vlanID列表里,則接收該報(bào)文。若pvid不在允許通過的vlanID列表里,則丟棄該報(bào)文。

5.Trunk端口收到幀
若數(shù)據(jù)幀帶tag,且vlanID在接口允許通過的vlanID列表里,則接收該報(bào)文。否則丟棄該報(bào)文。

6.Trunk端口發(fā)送幀
若vlanID與接口pvid相同,且該vlan在allow-pass vlan列表中,則去掉Tag,發(fā)送數(shù)據(jù)幀。
若vlanID與接口pvid不同,且該vlan在allow-pass vlan列表中,則保持原有Tag,發(fā)送該帶tag的數(shù)據(jù)幀。

7.hybrid端口收到幀
若數(shù)據(jù)幀不帶tag,打上接口pvid,若pvid在允許通過的vlanID列表里,則接收該報(bào)文。若pvid不在允許通過的vlanID列表里,則丟棄該報(bào)文。
若數(shù)據(jù)幀帶tag,且vlanID在接口允許通過的vlanID列表里,則接收該報(bào)文。否則丟棄該報(bào)文。


8.Hybrid端口發(fā)送幀
當(dāng)vlanID是該接口允許通過的vlanID時(shí),發(fā)送該幀。可以通過命令設(shè)置發(fā)送時(shí)是否攜帶Tag。
