前言
•以太網(wǎng)是一種基于CSMA/CD的數(shù)據(jù)網(wǎng)絡(luò)通信技術(shù),其特征是共享通信介質(zhì)。當(dāng)主機(jī)數(shù)目較多時會導(dǎo)致安全隱患、廣播泛濫、性能顯著下降甚至造成網(wǎng)絡(luò)不可用。
•在這種情況下出現(xiàn)了VLAN (Virtual Local Area Network)技術(shù)解決以上問題。
•在本課程中,將介紹VLAN技術(shù)的相關(guān)概念,介紹不同二層接口的工作原理,并且會介紹VLAN的應(yīng)用及其數(shù)據(jù)轉(zhuǎn)發(fā)原理和相關(guān)配置。
傳統(tǒng)以太網(wǎng)的問題
•廣播域:
?如圖是一個典型的交換網(wǎng)絡(luò),網(wǎng)絡(luò)中只有終端計算機(jī)和交換機(jī)。在這樣的網(wǎng)絡(luò)中,如果某一臺計算機(jī)發(fā)送了一個廣播幀,由于交換機(jī)對廣播幀執(zhí)行泛洪操作,結(jié)果所有其他的計算機(jī)都會收到這個廣播幀。
?把廣播幀所能到達(dá)的整個訪問范圍稱為二層廣播域,簡稱廣播域 (Broadcast Domain)。顯然,一個交換網(wǎng)絡(luò)其實(shí)就是一個廣播域。
•網(wǎng)絡(luò)安全問題和垃圾流量問題:
?如圖:如果PC1向PC2發(fā)送了一個單播幀。此時SW1、SW3、SW7的mac地址表中存在關(guān)于PC2的MAC地址表項(xiàng),但SW2和SW5不存在關(guān)于PC2的MAC地址表項(xiàng)。那么,SW1和SW3將對該單播幀執(zhí)行點(diǎn)對點(diǎn)的轉(zhuǎn)發(fā)操作,SW7將對該單播幀執(zhí)行丟棄操作,SW2和SW5將對該單播幀執(zhí)行泛洪操作。最后的結(jié)果是,PC2雖然收到了該單播幀,但網(wǎng)絡(luò)中的很多其他非目的主機(jī),同樣收到了不該接收的數(shù)據(jù)幀。
•顯然,廣播域越大,網(wǎng)絡(luò)安全問題和垃圾流量問題就越嚴(yán)重。
•在典型交換網(wǎng)絡(luò)中,當(dāng)某臺主機(jī)發(fā)送一個廣播幀或未知單播幀時,該數(shù)據(jù)幀會被泛洪,甚至傳遞到整個廣播域。
•廣播域越大,產(chǎn)生的網(wǎng)絡(luò)安全問題、垃圾流量問題,就越嚴(yán)重。
虛擬局域網(wǎng) (VLAN, Virtual LAN)
•為了解決廣播域帶來的問題,人們引入了VLAN (Virtual Local Area Network),即虛擬局域網(wǎng)技術(shù):
?通過在交換機(jī)上部署VLAN,可以將一個規(guī)模較大的廣播域在邏輯上劃分成若干個不同的、規(guī)模較小的廣播域,由此可以有效地提升網(wǎng)絡(luò)的安全性,同時減少垃圾流量,節(jié)約網(wǎng)絡(luò)資源。
•VLAN的特點(diǎn):
?一個VLAN就是一個廣播域,所以在同一個VLAN內(nèi)部,計算機(jī)可以直接進(jìn)行二層通信;而不同VLAN內(nèi)的計算機(jī),無法直接進(jìn)行二層通信,只能進(jìn)行三層通信來傳遞信息,即廣播報文被限制在一個VLAN內(nèi)。
?VLAN的劃分不受地域的限制。
•VLAN的好處:
?靈活構(gòu)建虛擬工作組:用VLAN可以劃分不同的用戶到不同的工作組,同一工作組的用戶也不必局限于某一固定的物理范圍,網(wǎng)絡(luò)構(gòu)建和維護(hù)更方便靈活。
?限制廣播域:廣播域被限制在一個VLAN內(nèi),節(jié)省了帶寬,提高了網(wǎng)絡(luò)處理能力。
?增強(qiáng)局域網(wǎng)的安全性:不同VLAN內(nèi)的報文在傳輸時是相互隔離的,即一個VLAN內(nèi)的用戶不能和其它VLAN內(nèi)的用戶直接通信。
?提高了網(wǎng)絡(luò)的健壯性:故障被限制在一個VLAN內(nèi),本VLAN內(nèi)的故障不會影響其他VLAN的正常工作。
•注:二層,即數(shù)據(jù)鏈路層。
虛擬局域網(wǎng)VLAN可以隔離廣播域。
特點(diǎn):
不受地域限制。
同一VLAN內(nèi)的設(shè)備才能直接進(jìn)行二層通信。
如何實(shí)現(xiàn)VLAN
•Switch1與Switch2同屬一個企業(yè),該企業(yè)統(tǒng)一規(guī)劃了網(wǎng)絡(luò)中的VLAN。其中VLAN10用于A部門,VLAN20用于B部門。A、B部門的員工在Switch1和Switch2上都有接入。
•PC1發(fā)出的數(shù)據(jù)經(jīng)過Switch1和Switch2之間的鏈路到達(dá)了Switch2。如果不加處理,后者無法判斷該數(shù)據(jù)所屬的VLAN,也不知道應(yīng)該將這個數(shù)據(jù)輸出到本地哪個VLAN中。
VLAN標(biāo)簽 (VLAN Tag)
•交換機(jī)如何識別接收到的數(shù)據(jù)幀屬于哪個VLAN?
•如圖所示,SW1識別出某個幀是屬于哪個VLAN后,會在這個幀的特定位置上添加一個標(biāo)簽。這個標(biāo)簽明確地標(biāo)明了這個幀是屬于哪個VLAN的。其他交換機(jī)(如SW2)收到這個帶標(biāo)簽的數(shù)據(jù)幀后,就能輕而易舉地直接根據(jù)標(biāo)簽信息識別出這個幀屬于哪個VLAN。
•IEEE 802.1Q定義了這種帶標(biāo)簽的數(shù)據(jù)幀的格式。滿足這種格式的數(shù)據(jù)幀稱為IEEE 802.1Q數(shù)據(jù)幀,也稱VLAN數(shù)據(jù)幀。
VLAN標(biāo)簽:
•要使交換機(jī)能夠分辨不同VLAN的報文,需要在報文中添加標(biāo)識VLAN信息的字段。
•IEEE 802.1Q協(xié)議規(guī)定,在以太網(wǎng)數(shù)據(jù)幀中加入4個字節(jié)的VLAN標(biāo)簽,又稱VLAN Tag,簡稱Tag。
VLAN數(shù)據(jù)幀
•在一個VLAN交換網(wǎng)絡(luò)中,以太網(wǎng)幀主要有以下兩種形式:
?有標(biāo)記幀(Tagged幀):IEEE 802.1Q協(xié)議規(guī)定,在以太網(wǎng)數(shù)據(jù)幀的目的MAC地址和源MAC地址字段之后、協(xié)議類型字段之前加入4個字節(jié)的VLAN標(biāo)簽(又稱VLAN Tag,簡稱Tag)的數(shù)據(jù)幀。
?無標(biāo)記幀(Untagged幀):原始的、未加入4字節(jié)VLAN標(biāo)簽的數(shù)據(jù)幀。
•VLAN數(shù)據(jù)幀中的主要字段:
?TPID:2字節(jié),Tag Protocol Identifier(標(biāo)簽協(xié)議標(biāo)識符),表示數(shù)據(jù)幀類型。
?取值為0x8100時表示IEEE 802.1Q的VLAN數(shù)據(jù)幀。如果不支持802.1Q的設(shè)備收到這樣的幀,會將其丟棄。
?各設(shè)備廠商可以自定義該字段的值。當(dāng)鄰居設(shè)備將TPID值配置為非0x8100時,為了能夠識別這樣的報文,實(shí)現(xiàn)互通,必須在本設(shè)備上修改TPID值,確保和鄰居設(shè)備的TPID值配置一致。
?PRI:3 bit,Priority,表示數(shù)據(jù)幀的優(yōu)先級,用于QoS。
?取值范圍為0~7,值越大優(yōu)先級越高。當(dāng)網(wǎng)絡(luò)阻塞時,交換機(jī)優(yōu)先發(fā)送優(yōu)先級高的數(shù)據(jù)幀。
VLAN的實(shí)現(xiàn)
•Switch1和Switch2之間的鏈路要承載多個VLAN的數(shù)據(jù),需要一種基于VLAN的數(shù)據(jù)“標(biāo)記”手段,以便對不同VLAN的數(shù)據(jù)幀進(jìn)行區(qū)分。
•IEEE 802.1Q標(biāo)準(zhǔn)(也被稱為Dot1Q)定義了該“標(biāo)記”方法。該標(biāo)準(zhǔn)對傳統(tǒng)的以太網(wǎng)數(shù)據(jù)幀進(jìn)行修改,在幀頭中插入802.1Q Tag,而在該Tag中,便可以寫入VLAN信息。
VLAN的劃分方式
整個網(wǎng)絡(luò)是如何劃分VLAN的?
VLAN劃分方式 |
VLAN 10 |
VLAN 20 |
基于接口 |
GE0/0/1,GE0/0/3 |
GE0/0/2,GE0/0/4 |
基于MAC地址 |
MAC 1,MAC 3 |
MAC 2,MAC 4 |
基于IP子網(wǎng)劃分 |
10.0.1.* |
10.0.2.* |
基于協(xié)議劃分 |
IP |
IPv6 |
基于策略 |
10.0.1.* + GE0/0/1+ MAC 1 |
10.0.2.* + GE0/0/2 + MAC 2 |
基于接口的VLAN劃分
•劃分原則:
?將VLAN ID配置到交換機(jī)的物理接口上,從某一個物理接口進(jìn)入交換機(jī)的、由終端計算機(jī)發(fā)送的Untagged數(shù)據(jù)幀都被劃分到該接口的VLAN ID所表明的那個VLAN。
•特點(diǎn):
?這種劃分原則簡單而直觀,實(shí)現(xiàn)容易,是目前實(shí)際的網(wǎng)絡(luò)應(yīng)用中最為廣泛的劃分VLAN的方式。
?當(dāng)計算機(jī)接入交換機(jī)的端口發(fā)生了變化時,該計算機(jī)發(fā)送的幀的VLAN歸屬可能會發(fā)生變化。
•缺省VLAN,PVID (Port VLAN ID)
?每個交換機(jī)的接口都應(yīng)該配置一個PVID,到達(dá)這個端口的Untagged幀將一律被交換機(jī)劃分到PVID所指代的VLAN。
?默認(rèn)情況下,PVID的值為1。
基于接口的VLAN劃分
•原理
?根據(jù)交換機(jī)的接口來劃分VLAN。
?網(wǎng)絡(luò)管理員預(yù)先給交換機(jī)的每個接口配置不同的PVID,將該接口劃入PVID對應(yīng)的VLAN。
?當(dāng)一個數(shù)據(jù)幀進(jìn)入交換機(jī)時,如果沒有帶VLAN標(biāo)簽,該數(shù)據(jù)幀就會被打上接口指定PVID的Tag,然后數(shù)據(jù)幀將在指定PVID中傳輸。
•缺省VLAN,PVID
?Port VLAN ID,是接口上的缺省VLAN。
?取值:1~4094。
基于MAC地址的VLAN劃分
SW1的MAC地址與VLAN表
MAC地址 |
VLAN ID |
MAC 1 |
10 |
MAC 2 |
10 |
…… |
…… |
•劃分原則:
?交換機(jī)內(nèi)部建立并維護(hù)了一個MAC地址與VLAN ID的對應(yīng)表。當(dāng)交換機(jī)接收到計算機(jī)發(fā)送的Untagged幀時,交換機(jī)將分析幀中的源MAC地址,然后查詢MAC地址與VLAN ID的對應(yīng)表,并根據(jù)對應(yīng)關(guān)系把這個幀劃分到相應(yīng)的VLAN中。
•特點(diǎn):
?這種劃分實(shí)現(xiàn)稍微復(fù)雜,但靈活性得到了提高。
?當(dāng)計算機(jī)接入交換機(jī)的端口發(fā)生了變化時,該計算機(jī)發(fā)送的幀的VLAN歸屬不會發(fā)生變化(因?yàn)橛嬎銠C(jī)的MAC地址沒有變)。
?但這種類型的VLAN劃分安全性不是很高,因?yàn)閻阂庥嬎銠C(jī)很容易偽造MAC地址。
基于MAC地址的VLAN劃分
•原理
?根據(jù)數(shù)據(jù)幀的源MAC地址來劃分VLAN。
?網(wǎng)絡(luò)管理員預(yù)先配置MAC地址和VLAN ID映射關(guān)系表。
?當(dāng)交換機(jī)收到的是Untagged幀時,就依據(jù)該表給數(shù)據(jù)幀添加指定VLAN的Tag,然后數(shù)據(jù)幀將在指定VLAN中傳輸。
•映射表
?記錄了MAC地址和VLAN ID的關(guān)聯(lián)情況。
以太網(wǎng)二層接口類型
接口類型
•Access接口
交換機(jī)上常用來連接用戶PC、服務(wù)器等終端設(shè)備的接口。Access接口所連接的這些設(shè)備的網(wǎng)卡往往只收發(fā)無標(biāo)記幀。Access接口只能加入一個VLAN。
•Trunk接口
Trunk接口允許多個VLAN的數(shù)據(jù)幀通過,這些數(shù)據(jù)幀通過802.1Q Tag實(shí)現(xiàn)區(qū)分。Trunk接口常用于交換機(jī)之間的互聯(lián),也用于連接路由器、防火墻等設(shè)備的子接口。
•Hybrid接口
Hybrid接口與Trunk接口類似,也允許多個VLAN的數(shù)據(jù)幀通過,這些數(shù)據(jù)幀通過802.1Q Tag實(shí)現(xiàn)區(qū)分。用戶可以靈活指定Hybrid接口在發(fā)送某個(或某些)VLAN的數(shù)據(jù)幀時是否攜帶Tag。
Access接口
•上文已經(jīng)介紹了交換機(jī)如何識別數(shù)據(jù)幀屬于哪個VLAN以及VLAN的劃分方式,那交換機(jī)對于Untagged幀和Tagged幀又是如何處理的呢?
•Access接口特點(diǎn):
?僅允許VLAN ID與接口PVID相同的數(shù)據(jù)幀通過。
•Access接口接收數(shù)據(jù)幀:
?當(dāng)Access接口從鏈路上收到一個Untagged幀,交換機(jī)會在這個幀中添加上VID為PVID的Tag,然后對得到的Tagged幀進(jìn)行轉(zhuǎn)發(fā)操作(泛洪、轉(zhuǎn)發(fā)、丟棄)。
?當(dāng)Access接口從鏈路上收到一個Tagged幀,交換機(jī)會檢查這個幀的Tag中的VID是否與PVID相同。如果相同,則對這個Tagged幀進(jìn)行轉(zhuǎn)發(fā)操作;如果不同,則直接丟棄這個Tagged幀。
•Access接口發(fā)送數(shù)據(jù)幀:
?當(dāng)一個Tagged幀從本交換機(jī)的其他接口到達(dá)一個Access接口后,交換機(jī)會檢查這個幀的Tag中的VID是否與PVID相同:
?如果相同,則將這個Tagged幀的Tag進(jìn)行剝離,然后將得到的Untagged幀從鏈路上發(fā)送出去;
?如果不同,則直接丟棄這個Tagged幀。
Trunk接口
•對于Trunk接口,除了要配置PVID外,還必須配置允許通過的VLAN ID列表,其中VLAN 1是默認(rèn)存在的。
•Trunk接口特點(diǎn):
?Trunk接口僅允許VLAN ID在允許通過列表中的數(shù)據(jù)幀通過。
?Trunk接口可以允許多個VLAN的幀帶Tag通過,但只允許一個VLAN的幀從該類接口上發(fā)出時不帶Tag(即剝除Tag)。
•Trunk接口接收數(shù)據(jù)幀:
?當(dāng)Trunk接口從鏈路上收到一個Untagged幀,交換機(jī)會在這個幀中添加上VID為PVID的Tag,然后查看PVID是否在允許通過的VLAN ID列表中。如果在,則對得到的Tagged幀進(jìn)行轉(zhuǎn)發(fā)操作;如果不在,則直接丟棄得到的Tagged幀。
?當(dāng)Trunk接口從鏈路上收到一個Tagged幀,交換機(jī)會檢查這個幀的Tag中的VID是否在允許通過的VLAN ID列表中。如果在,則對這個Tagged幀進(jìn)行轉(zhuǎn)發(fā)操作;如果不在,則直接丟棄這個Tagged幀。
•Trunk接口發(fā)送數(shù)據(jù)幀:
?當(dāng)一個Tagged幀從本交換機(jī)的其他接口到達(dá)一個Trunk接口后,如果這個幀的Tag中的VID不在允許通過的VLAN ID列表中,則該Tagged幀會被直接丟棄。
?當(dāng)一個Tagged幀從本交換機(jī)的其他接口到達(dá)一個Trunk接口后,如果這個幀的Tag中的VID在允許通過的VLAN ID列表中,則會比較該Tag中的VID是否與接口的PVID相同:
?如果相同,則交換機(jī)會對這個Tagged幀的Tag進(jìn)行剝離,然后將得到的Untagged幀從鏈路上發(fā)送出去;
?如果不同,則交換機(jī)不會對這個Tagged幀的Tag進(jìn)行剝離,而是直接將它從鏈路上發(fā)送出去。
Access接口與Trunk接口舉例
•請描述主機(jī)之間數(shù)據(jù)訪問的全流程。
SW1與SW2的Trunk接口
允許通過列表 |
|
VLAN ID |
1 |
10 |
|
20 |
•在本例中,SW1和SW2連接主機(jī)的接口為Access接口,PVID如圖所示。SW1和SW2互連的接口為Trunk接口,PVID都為1,此Trunk接口的允許通過的VLAN ID列表也如圖所示。
•請描述主機(jī)之間數(shù)據(jù)互訪的全流程。
Hybrid接口
•對于Hybrid接口,除了要配置PVID外,還存在兩個允許通過的VLAN ID列表,一個是Untagged VLAN ID列表,另一個是Tagged VLAN ID列表,其中VLAN 1默認(rèn)在Untagged VLAN列表中。這兩個允許通過列表中的所有VLAN的幀都是允許通過這個Hybrid接口的。
•Hybrid接口特點(diǎn):
?Hybrid接口僅允許VLAN ID在允許通過列表中的數(shù)據(jù)幀通過。
?Hybrid接口可以允許多個VLAN的幀帶Tag通過,且允許從該類接口發(fā)出的幀根據(jù)需要配置某些VLAN的幀帶Tag、某些VLAN的幀不帶Tag。
?與Trunk最主要的區(qū)別就是,能夠支持多個VLAN的數(shù)據(jù)幀,不帶標(biāo)簽通過。
•Hybrid接口接收數(shù)據(jù)幀:
?當(dāng)Hybrid接口從鏈路上收到一個Untagged幀,交換機(jī)會在這個幀中添加上VID為PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。如果在,則對得到的Tagged幀進(jìn)行轉(zhuǎn)發(fā)操作;如果不在,則直接丟棄得到的Tagged幀。
?當(dāng)Hybrid接口從鏈路上收到一個Tagged幀,交換機(jī)會檢查這個幀的Tag中的VID是否在Untagged或Tagged VLAN ID列表中。如果在,則對這個Tagged幀進(jìn)行轉(zhuǎn)發(fā)操作;如果不在,則直接丟棄這個Tagged幀。
•Hybrid接口發(fā)送數(shù)據(jù)幀:
?當(dāng)一個Tagged幀從本交換機(jī)的其他接口到達(dá)一個Hybrid接口后,如果這個幀的Tag中的VID既不在Untagged VLAN ID列表中,也不在Tagged VLAN ID列表中,則該Tagged幀會被直接丟棄。
?當(dāng)一個Tagged幀從本交換機(jī)的其他接口到達(dá)一個Hybrid接口后,如果這個幀的Tag中的VID在Untagged VLAN ID列表中,則交換機(jī)會對這個Tagged幀的Tag進(jìn)行剝離,然后將得到的Untagged幀從鏈路上發(fā)送出去。
?當(dāng)一個Tagged幀從本交換機(jī)的其他接口到達(dá)一個Hybrid接口后,如果這個幀的Tag中的VID在Tagged VLAN ID列表中,則交換機(jī)不會對這個Tagged幀的Tag進(jìn)行剝離,而是直接將它從鏈路上發(fā)送出去。
Hybrid接口舉例
•請描述主機(jī)訪問服務(wù)器的全流程。
•在本例中,SW1和SW2連接主機(jī)的接口以及互連的接口均為Hybrid接口,PVID如圖所示,Hybrid接口的允許通過的VLAN ID列表也如圖所示。
•請描述兩個主機(jī)互訪服務(wù)器的全流程。
交換機(jī)1的允許通過列表
交換機(jī)2的允許通過列表
小結(jié)