vlan划分不能上网_VLAN工作原理
什么是VLAN
VLAN(Virtual LAN),翻譯成中文是“虛擬局域網(wǎng)”。可以看做是在一個(gè)物理局域網(wǎng)絡(luò)上搭建出幾個(gè)邏輯上分離的幾個(gè)局域網(wǎng)。舉個(gè)例子來(lái)說(shuō),如果一個(gè)交換機(jī)劃分為兩個(gè)VLAN,則相當(dāng)于這臺(tái)交換機(jī)邏輯上劃分為兩個(gè)交換機(jī)。
VLAN的一個(gè)簡(jiǎn)單直觀說(shuō)明:物理上一個(gè)交換機(jī),分為邏輯上兩個(gè)分離的交換機(jī)
上面這個(gè)簡(jiǎn)單例子是對(duì)一臺(tái)交換機(jī)上的VLAN劃分,實(shí)際上VLAN也可以跨越多臺(tái)交換機(jī),本質(zhì)上VLAN是一個(gè)網(wǎng)絡(luò)層次上的概念,將整個(gè)網(wǎng)絡(luò)劃分為多個(gè)邏輯上隔離的網(wǎng)絡(luò)(一個(gè)VLAN就是一個(gè)獨(dú)立的廣播域)比如下圖的VLAN2和VLAN5。
跨越多臺(tái)交換機(jī)的VLAN
那么我們?yōu)槭裁匆隫LAN的概念,VLAN究竟有哪些好處,總結(jié)起來(lái)主要有下面幾點(diǎn):
更安全:數(shù)據(jù)包僅在本VLAN內(nèi)傳遞。
由于配置了VLAN后,一個(gè)VLAN的數(shù)據(jù)包不會(huì)發(fā)送到另一個(gè)VLAN,這樣,其他VLAN的用戶的網(wǎng)絡(luò)上是收不到任何該VLAN的數(shù)據(jù)包,這樣就確保了該VLAN的信息不會(huì)被其他VLAN的人竊聽,從而實(shí)現(xiàn)了信息的保密。
更高效:泛洪轉(zhuǎn)發(fā)僅在本VLAN內(nèi)復(fù)制。
按照802.1D透明網(wǎng)橋的算法,如果一個(gè)數(shù)據(jù)包找不到MAC表,那么交換機(jī)就會(huì)將該數(shù)據(jù)包向除接收端口以外的其他所有端口發(fā)送,這就是橋的泛洪轉(zhuǎn)發(fā)。(典型的廣播方式包括組播報(bào)文,廣播報(bào)文,以及未知單播報(bào)文都會(huì)進(jìn)行泛洪轉(zhuǎn)發(fā))。這樣的結(jié)果,毫無(wú)疑問極大的浪費(fèi)了帶寬,如果配置了VLAN,那么,當(dāng)一個(gè)數(shù)據(jù)包需要泛洪轉(zhuǎn)發(fā)時(shí),交換機(jī)只會(huì)將此數(shù)據(jù)包發(fā)送到所有屬于該VLAN的其他端口,而不是所有的交換機(jī)的端口,這樣,就將數(shù)據(jù)包限制到了一個(gè)VLAN內(nèi)。在一定程度上可以節(jié)省帶寬。
更方便:不改變物理組網(wǎng)的情況下,靈活進(jìn)行邏輯網(wǎng)絡(luò)的變更。
使用VLAN的最終目標(biāo)就是建立虛擬工作組模型,例如,在企業(yè)網(wǎng)中,同一個(gè)部門的就好象在同一個(gè)LAN上一樣,很容易的互相訪問,交流信息,同時(shí),所有的廣播包也都限制在該虛擬LAN上,而不影響其他VLAN的人。一個(gè)人如果從一個(gè)辦公地點(diǎn)換到另外一個(gè)地點(diǎn),而他仍然在該部門,那么,該用戶的配置無(wú)須改變;同時(shí),如果一個(gè)人雖然辦公地點(diǎn)沒有變,但他更換了部門,那么,只需網(wǎng)絡(luò)管理員更改一下該用戶的配置即可。這個(gè)功能的目標(biāo)就是建立一個(gè)動(dòng)態(tài)的組織環(huán)境,當(dāng)然,這只是一個(gè)理想的目標(biāo),要實(shí)現(xiàn)它,還需要一些其他方面的支持。
如何實(shí)現(xiàn)VLAN功能
1. 如何識(shí)別VLAN報(bào)文
要使網(wǎng)絡(luò)設(shè)備能夠分辨不同VLAN的報(bào)文,需要在報(bào)文中添加標(biāo)識(shí)VLAN的字段。由于普通交換機(jī)工作在OSI模型的數(shù)據(jù)鏈路層,只能對(duì)報(bào)文的數(shù)據(jù)鏈路層封裝進(jìn)行識(shí)別。因此,如果添加識(shí)別字段,也需要添加到數(shù)據(jù)鏈路層封裝中。
IEEE于1999年頒布了用以標(biāo)準(zhǔn)化VLAN實(shí)現(xiàn)方案的IEEE 802.1Q協(xié)議標(biāo)準(zhǔn)草案,對(duì)帶有VLAN標(biāo)識(shí)的報(bào)文結(jié)構(gòu)進(jìn)行了統(tǒng)一規(guī)定。
無(wú)VLAN的傳統(tǒng)的以太網(wǎng)數(shù)據(jù)幀格式:目的MAC地址和源MAC地址之后封裝的是上層協(xié)議的類型字段,
DA表示目的MAC地址
SA表示源MAC地址
Type表示報(bào)文所屬協(xié)議類型。
傳統(tǒng)無(wú)VLAN的二層報(bào)文
增加VLAN Tag支持的以太網(wǎng)幀格式:IEEE 802.1Q協(xié)議規(guī)定在目的MAC地址和源MAC地址之后封裝4個(gè)字節(jié)的VLAN Tag,用以標(biāo)識(shí)VLAN的相關(guān)信息。VLAN Tag包含四個(gè)字段,分別是TPID(Tag Protocol Identifier,標(biāo)簽協(xié)議標(biāo)識(shí)符)、Priority、CFI(Canonical Format Indicator,標(biāo)準(zhǔn)格式指示位)和VLAN ID。
TPID用來(lái)判斷本數(shù)據(jù)幀是否帶有VLAN Tag,長(zhǎng)度為16bit,缺省取值為0x8100。
Priority表示報(bào)文的802.1P優(yōu)先級(jí),長(zhǎng)度為3bit,相關(guān)內(nèi)容請(qǐng)參見“QoS分冊(cè)”中的“QoS配置”。
CFI字段標(biāo)識(shí)MAC地址在不同的傳輸介質(zhì)中是否以標(biāo)準(zhǔn)格式進(jìn)行封裝,長(zhǎng)度為1bit,取值為0表示MAC地址以標(biāo)準(zhǔn)格式進(jìn)行封裝,為1表示以非標(biāo)準(zhǔn)格式封裝,缺省取值為0。
VLAN ID標(biāo)識(shí)該報(bào)文所屬VLAN的編號(hào),長(zhǎng)度為12bit,取值范圍為0~4095。由于0和4095為協(xié)議保留取值,所以VLAN ID的取值范圍為1~4094。
網(wǎng)絡(luò)設(shè)備利用VLAN ID來(lái)識(shí)別報(bào)文所屬的VLAN,根據(jù)報(bào)文是否攜帶VLAN Tag以及攜帶的VLAN Tag值,來(lái)對(duì)報(bào)文進(jìn)行處理。
支持VLAN字段以后的二層報(bào)文
2. 交換機(jī)如何轉(zhuǎn)發(fā)VLAN報(bào)文
要說(shuō)明交換機(jī)如何轉(zhuǎn)發(fā)報(bào)文,先得說(shuō)明一下交換機(jī)支持VLAN時(shí)用到的幾個(gè)專用術(shù)語(yǔ):
端口類型:VLAN交換機(jī)的端口一般可以分為幾大類:
Access端口:一般用于交換機(jī)與終端之間,該類端口僅歸屬于一個(gè)VLAN。Access鏈路上的報(bào)文沒有VLAN tag,與傳統(tǒng)報(bào)文保持兼容。但交換機(jī)的Access端口上回配置Vlan。這樣所有從該Access鏈路上收到的報(bào)文都?xì)w屬于Access端口所歸屬的Vlan。(核心概念:報(bào)文兼容,沒有vlan-tag)
Trunk端口:一般交換機(jī)與交換機(jī)之間,該類型端口允許多個(gè)VLAN的報(bào)文通過。該端口所在的鏈路上的報(bào)文需要有VLAN tag。(核心概念:除默認(rèn)Vlan外,其他VLAN報(bào)文有vlan-tag)
Hybrid端口:Hybrid類型的端口可以允許多個(gè)VLAN通過,可以接收和發(fā)送多個(gè)VLAN的報(bào)文,可以用于交換機(jī)之間連接,也可以用于連接用戶的計(jì)算機(jī)。Hybrid端口和Trunk端口在接收數(shù)據(jù)時(shí),處理方法是一樣的,唯一不同之處在于發(fā)送數(shù)據(jù)時(shí):Hybrid端口可以允許多個(gè)VLAN的報(bào)文發(fā)送時(shí)不打標(biāo)簽,而Trunk端口只允許缺省VLAN的報(bào)文發(fā)送時(shí)不打標(biāo)簽。(核心概念:哪些vlan打tag,哪些不打tag可以手工配置)
術(shù)語(yǔ):默認(rèn)VLAN-ID(或者缺省VLAN-ID,PvidVlan,Native Vlan,都是一個(gè)意思):簡(jiǎn)而言之,收?qǐng)?bào)文:如果是沒有tag,則認(rèn)為來(lái)自于默認(rèn)vlan;發(fā)報(bào)文:如果是該vlan的報(bào)文則不打VLAN tag
Access端口只屬于1個(gè)VLAN,所以它的缺省VLAN就是它所在的VLAN,不用設(shè)置;
Hybrid端口和Trunk端口屬于多個(gè)VLAN,所以需要設(shè)置缺省VLAN ID。缺省情況下,Hybrid端口和Trunk端口的缺省VLAN為VLAN 1 。如果設(shè)置了端口的缺省VLAN ID,當(dāng)端口接收到不帶VLAN Tag的報(bào)文后,則認(rèn)為報(bào)文的VLAN ID是缺省VLAN-ID;當(dāng)端口發(fā)送報(bào)文時(shí),如果該報(bào)文的VLAN ID與端口缺省的VLAN ID相同,則系統(tǒng)將去掉報(bào)文的VLAN Tag,然后再發(fā)送該報(bào)文。
下面具體介紹著幾種端口的工作原理
2.1 Access端口
這一類端口只有一個(gè)唯一的VLAN。通常由于交換機(jī)與終端的連接。為了保持與已有終端的兼容性,在設(shè)計(jì)VLAN相關(guān)協(xié)議時(shí)有這樣一個(gè)約束:端口發(fā)送和接收的報(bào)文格式都不允許修改,也就是說(shuō),這一類接口上收發(fā)的報(bào)文都不帶VLAN信息。(Untagged)。
既然報(bào)文中不帶VLAN信息,又要滿足VLAN隔離性需求,則必然在端口上要進(jìn)行VLAN-ID的設(shè)置(這個(gè)VLAN稱為端口的PVID)。
2.2 Access端口的報(bào)文轉(zhuǎn)發(fā)流程
Acess端口收?qǐng)?bào)文:
收到個(gè)報(bào)文判斷是否有VLAN信息:
如果沒有則打上端口 PVID并進(jìn)行交換、轉(zhuǎn)發(fā),
如果有則直接丟棄(缺省)
Acess端口發(fā)報(bào)文:
Access端口發(fā)送非常簡(jiǎn)單,將報(bào)文VLAN信息剝離,直接發(fā)送出去
2.2 Access端口如何劃分VLAN
為了方便用戶使用,各設(shè)備廠商實(shí)現(xiàn)了多種方式來(lái)進(jìn)行VLAN劃分,總的來(lái)說(shuō),有靜態(tài)方式和動(dòng)態(tài)方式兩大類:
靜態(tài)方式:通過用戶手工配置方式,來(lái)指定某個(gè)端口屬于哪個(gè)VLAN,靜態(tài)方式也成為基于端口的VLAN。當(dāng)網(wǎng)絡(luò)中的計(jì)算機(jī)數(shù)目超過一定數(shù)字(比如數(shù)百臺(tái))后,這些配置操作就會(huì)變得煩雜無(wú)比。并且,客戶機(jī)每次變更所連端口,都必須同時(shí)更改該端口所屬VLAN的設(shè)定——這顯然不適合那些需要頻繁改變拓補(bǔ)結(jié)構(gòu)的網(wǎng)絡(luò)。
動(dòng)態(tài)方式:動(dòng)態(tài)VLAN則是根據(jù)每個(gè)端口所連的計(jì)算機(jī),隨時(shí)改變端口所屬的VLAN。這可以減輕配置人員的負(fù)擔(dān)。動(dòng)態(tài)VLAN又可以進(jìn)一步分為下面3類:
基于MAC地址的VLAN(MAC Based VLAN)
基于MAC地址的VLAN,就是通過查詢并記錄端口所連計(jì)算機(jī)上網(wǎng)卡的MAC地址來(lái)決定端口的所屬。假定有一個(gè)MAC地址“A”被交換機(jī)設(shè)定為屬于VLAN ?“10”,那么不論MAC地址為“A”的這臺(tái)計(jì)算機(jī)連在交換機(jī)哪個(gè)端口,該端口都會(huì)被劃分到VLAN 10中去。
基于子網(wǎng)的VLAN(Subnet Based VLAN)
基于子網(wǎng)的VLAN,則是通過所連計(jì)算機(jī)的IP地址,來(lái)決定端口所屬VLAN的。不像基于MAC地址的VLAN,即使計(jì)算機(jī)因?yàn)榻粨Q了網(wǎng)卡或是其他原因?qū)е翸AC地址改變,只要它的IP地址不變,就仍可以加入原先設(shè)定的VLAN。
基于協(xié)議或用戶的VLAN(User Based VLAN)
基于協(xié)議或用戶的VLAN,則是根據(jù)交換機(jī)各端口所連的計(jì)算機(jī)發(fā)送報(bào)文的協(xié)議,或者計(jì)算機(jī)上當(dāng)前登錄的用戶,來(lái)決定該端口屬于哪個(gè)VLAN。這里的用戶識(shí)別信息,一般是計(jì)算機(jī)操作系統(tǒng)登錄的用戶,比如可以是Windows域中使用的用戶名。這些用戶名信息,屬于OSI第四層以上的信息。
2.4 Trunk端口
其實(shí)原則上,有了Access口,就可以完成VLAN所需要的完整功能了。比如:交換機(jī)上也使用Access口進(jìn)行連接,每一個(gè)端口一個(gè)VLAN進(jìn)行隔離。比如下面的例子,兩個(gè)VLAN,全部使用Access接口來(lái)構(gòu)建。
全部使用ACCESS接口構(gòu)建VLAN網(wǎng)絡(luò)
但這兒存在一個(gè)問題,因?yàn)橐粋€(gè)Access口僅屬于一個(gè)VLAN,如果兩個(gè)交換機(jī)配置了成百上千個(gè)VLAN,這些VLAN需要跨交換機(jī)組網(wǎng)時(shí),意味著兩個(gè)交換機(jī)之間需要連接成百上千根的Access口鏈路。這樣組網(wǎng)成本太高了。
為了解決這一問題,提出了Trunk端口的概念,Trunk端口允許接受和發(fā)送多個(gè)VLAN的報(bào)文,這些報(bào)文都打上VLAN-tag,用來(lái)標(biāo)示每一個(gè)報(bào)文屬于哪個(gè)VLAN。這樣,交換機(jī)之間就只需要一個(gè)Trunk鏈路,就可以將多個(gè)VLAN連接起來(lái)。
Trunk端口,用于連接交換機(jī),充當(dāng)邏輯上的多個(gè)鏈路
2.5 Trunk端口的報(bào)文收發(fā)流程
Trunk端口收?qǐng)?bào)文:
Trunk端口收到一個(gè)報(bào)文,判斷是否有VLAN信息:
如果報(bào)文中沒有VLAN-tag,則打上端口的PVID,并進(jìn)行交換轉(zhuǎn)發(fā),
如果報(bào)文中有Vlan-tag,進(jìn)一步判斷trunk端口是否允許該 VLAN的數(shù)據(jù)進(jìn)入:
如果可以則轉(zhuǎn)發(fā)
否則丟棄
Trunk端口發(fā)報(bào)文:
比較端口的PVID和將要發(fā)送報(bào)文的VLAN信息:
如果兩者相等則剝離VLAN信息,再發(fā)送
如果不相等則直接發(fā)送
2.6 Hybrid端口
Hybrid端口和Trunk端口的相同之處在于兩種鏈路類型的端口都可以允許多個(gè)VLAN的報(bào)文發(fā)送時(shí)打標(biāo)簽;不同之處在于Hybrid端口可以允許多個(gè)VLAN的報(bào)文發(fā)送時(shí)不打標(biāo)簽,而Trunk端口只允許缺省VLAN的報(bào)文發(fā)送時(shí)不打標(biāo)簽。
對(duì)于Hybrid端口來(lái)說(shuō),可以同時(shí)屬于多個(gè)VLAN。這些VLAN分別是該Hybrid端口的PVID,以及手工配置的”untagged”及”tagged”方式的VLAN。
2.7 Hybrid端口的報(bào)文收發(fā)流程
Hybrid端口收?qǐng)?bào)文: ?與Trunk端口手報(bào)文流程完全相同。
Hybrid端口收到一個(gè)報(bào)文,判斷是否有VLAN信息:
如果報(bào)文中沒有VLAN-tag,則打上端口的PVID,并進(jìn)行交換轉(zhuǎn)發(fā),
如果報(bào)文中有Vlan-tag,進(jìn)一步判斷trunk端口是否允許該 VLAN的數(shù)據(jù)進(jìn)入:
如果可以則轉(zhuǎn)發(fā)
否則丟棄
Hybrid端口發(fā)報(bào)文:
判斷該VLAN在本端口屬性(哪些vlan需要打tag,哪些不需要打tag,是手工配置的):
如果需要tag,則tag后直接發(fā)送(同Trunk端口)
如果不需要tag,則剝離tag后發(fā)送(同Access端口)因?yàn)镠ybrid端口的行為是access和trunk的混合模式,所以稱為Hybrid
2.8 Hybrid的應(yīng)用場(chǎng)景:
通常,可以使用Hybrid對(duì)相同網(wǎng)段的主機(jī)進(jìn)行訪問權(quán)限的控制。比如,通過配置Hybrid端口,可以讓改端口的主機(jī)同時(shí)歸屬于多個(gè)VLAN,并與多個(gè)VLAN的主機(jī)進(jìn)行通訊。
應(yīng)用場(chǎng)景1:PC間隔離
組網(wǎng)需求:
PC1和PC2之間可以互訪;
PC1和PC3之間可以互訪;
PC1、PC2和PC3都可以訪問服務(wù)器;
配置說(shuō)明:
E0/1: Hybrid端口,歸屬V10, 同時(shí)untag加入V20,V30,V100(PC1訪問PC2,PC3,Server)
E0/2: Hybrid端口,歸屬V20, 同時(shí)untag加入V10,V100(PC2訪問PC1,Server)
E0/3: Hybrid端口,歸屬V30, 同時(shí)untag加入V10,V100(PC3訪問PC1,Server)
G2/1: Hybrid端口,歸屬V100, 同時(shí)untag加入V10,V20,V30(服務(wù)器訪問PC1,PC2,PC3)
應(yīng)用場(chǎng)景2
組網(wǎng)需求
PC1和PC3之間可以互訪;
PC2和PC3之間可以互訪;
PC1和PC4之間可以互訪;
PC2和PC5之間可以互訪;
其余PC之間均禁止互相訪問。
配置說(shuō)明:
SwitchA:
E0/1: Hybrid端口,加入V10,同時(shí)untag加入V30
E0/2: Hybrid端口,加入V20,同時(shí)untag加入V30
E0/3: Hybrid端口,加入V30,同時(shí)untag加入V10,V20.
G2/1: Hybrid端口,(不加入某個(gè)VLAN),tagged加入V10,V20。
SwitchB:
E0/1: Access端口,加入V10
E0/2: Access端口,加入V20
E0/1: Hybrid端口,(不加入某個(gè)VLAN),tagged加入V10,V20。
注:交換機(jī)間的Hybrid端口,等價(jià)于Trunk端口
注意事項(xiàng)
配置Trunk端口或Hybrid端口,并利用Trunk端口或Hybrid端口發(fā)送多個(gè)VLAN報(bào)文時(shí)一定要注意:本端端口和對(duì)端端口的缺省VLAN ID(端口的PVID)要保持一致。
總結(jié)
以上是生活随笔為你收集整理的vlan划分不能上网_VLAN工作原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32 web get 参数_Bla
- 下一篇: 电脑中计算机右键管理无法打开,win8系