全網(wǎng)最全的VLAN基礎(chǔ)知識(shí)入門

VLAN簡(jiǎn)介 定義:
VLAN(Virtual Local Area Network)即虛擬局域網(wǎng),是將一個(gè)物理的LAN在邏輯上劃分成多個(gè)廣播域的通信技術(shù)。VLAN內(nèi)的主機(jī)間可以直接通信,而VLAN間不能直接通信,從而將廣播報(bào)文限制在一個(gè)VLAN內(nèi)。
目的:
以太網(wǎng)是一種基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通訊介質(zhì)的數(shù)據(jù)網(wǎng)絡(luò)通訊技術(shù)。當(dāng)主機(jī)數(shù)目較多時(shí)會(huì)導(dǎo)致沖突嚴(yán)重、廣播泛濫、性能顯著下降甚至造成網(wǎng)絡(luò)不可用等問(wèn)題。通過(guò)交換機(jī)實(shí)現(xiàn)LAN互連雖然可以解決沖突嚴(yán)重的問(wèn)題,但仍然不能隔離廣播報(bào)文和提升網(wǎng)絡(luò)質(zhì)量。
在這種情況下出現(xiàn)了VLAN技術(shù),這種技術(shù)可以把一個(gè)LAN劃分成多個(gè)邏輯的VLAN,每個(gè)VLAN是一個(gè)廣播域,VLAN內(nèi)的主機(jī)間通信就和在一個(gè)LAN內(nèi)一樣,而VLAN間則不能直接互通,這樣,廣播報(bào)文就被限制在一個(gè)VLAN內(nèi)。
作用:
限制廣播域:廣播域被限制在一個(gè)VLAN內(nèi),節(jié)省了帶寬,提高了網(wǎng)絡(luò)處理能力。
增強(qiáng)局域網(wǎng)的安全性:不同VLAN內(nèi)的報(bào)文在傳輸時(shí)是相互隔離的,即一個(gè)VLAN內(nèi)的用戶不能和其它VLAN內(nèi)的用戶直接通信。
提高了網(wǎng)絡(luò)的健壯性:故障被限制在一個(gè)VLAN內(nèi),本VLAN內(nèi)的故障不會(huì)影響其他VLAN的正常工作。
靈活構(gòu)建虛擬工作組:用VLAN可以劃分不同的用戶到不同的工作組,同一工作組的用戶也不必局限于某一固定的物理范圍,網(wǎng)絡(luò)構(gòu)建和維護(hù)更方便靈活。
VLAN的基本概念
VLAN標(biāo)簽:
要使設(shè)備能夠分辨不同VLAN的報(bào)文,需要在報(bào)文中添加標(biāo)識(shí)VLAN信息的字段。IEEE 802.1Q協(xié)議規(guī)定,在以太網(wǎng)數(shù)據(jù)幀的目的MAC地址和源MAC地址字段之后、協(xié)議類型字段之前加入4個(gè)字節(jié)的VLAN標(biāo)簽(又稱VLAN Tag,簡(jiǎn)稱Tag),用以標(biāo)識(shí)VLAN信息。
VLAN幀格式:
字段解釋:
字段 | 長(zhǎng)度 | 含義 | 取值 |
---|---|---|---|
TPID | 2Byte | Tag Protocol Identifier(標(biāo)簽協(xié)議標(biāo)識(shí)符),表示數(shù)據(jù)幀類型。 | 表示幀類型,取值為0x8100時(shí)表示IEEE 802.1Q的VLAN數(shù)據(jù)幀。如果不支持802.1Q的設(shè)備收到這樣的幀,會(huì)將其丟棄。 各設(shè)備廠商可以自定義該字段的值。當(dāng)鄰居設(shè)備將TPID值配置為非0x8100時(shí), 為了能夠識(shí)別這樣的報(bào)文,實(shí)現(xiàn)互通,必須在本設(shè)備上修改TPID值,確保和鄰居設(shè)備的TPID值配置一致。 |
PRI | 3bit | Priority,表示數(shù)據(jù)幀的802.1Q優(yōu)先級(jí)。 | 取值范圍為0~7,值越大優(yōu)先級(jí)越高。當(dāng)網(wǎng)絡(luò)阻塞時(shí),設(shè)備優(yōu)先發(fā)送優(yōu)先級(jí)高的數(shù)據(jù)幀。 |
CFI | 1bit | Canonical Format Indicator(標(biāo)準(zhǔn)格式指示位),表示MAC地址在不同的傳輸介質(zhì)中是否以標(biāo)準(zhǔn)格式進(jìn)行封裝,用于兼容以太網(wǎng)和令牌環(huán)網(wǎng)。 | CFI取值為0表示MAC地址以標(biāo)準(zhǔn)格式進(jìn)行封裝,為1表示以非標(biāo)準(zhǔn)格式封裝。在以太網(wǎng)中,CFI的值為0。 |
VID | 12bit | VLAN ID,表示該數(shù)據(jù)幀所屬VLAN的編號(hào)。 | VLAN ID取值范圍是0~4095。由于0和4095為協(xié)議保留取值,所以VLAN ID的有效取值范圍是1~4094。 |
設(shè)備利用VLAN標(biāo)簽中的VID來(lái)識(shí)別數(shù)據(jù)幀所屬的VLAN,廣播幀只在同一VLAN內(nèi)轉(zhuǎn)發(fā),這就將廣播域限制在一個(gè)VLAN內(nèi)。
常用設(shè)備收發(fā)數(shù)據(jù)幀的VLAN標(biāo)簽情況:
在一個(gè)VLAN交換網(wǎng)絡(luò)中,以太網(wǎng)幀主要有以下兩種格式:
有標(biāo)記幀(Tagged幀):加入了4字節(jié)VLAN標(biāo)簽的幀。無(wú)標(biāo)記幀(Untagged幀):原始的、未加入4字節(jié)VLAN標(biāo)簽的幀。
常用設(shè)備中:
用戶主機(jī)、服務(wù)器、Hub只能收發(fā)Untagged幀。交換機(jī)、路由器和AC既能收發(fā)Tagged幀,也能收發(fā)Untagged幀。語(yǔ)音終端、AP等設(shè)備可以同時(shí)收發(fā)一個(gè)Tagged幀和一個(gè)Untagged幀。
為了提高處理效率,設(shè)備內(nèi)部處理的數(shù)據(jù)幀一律都是Tagged幀。
鏈路類型和接口類型:
設(shè)備內(nèi)部處理的數(shù)據(jù)幀一律都帶有VLAN標(biāo)簽,而現(xiàn)網(wǎng)中的設(shè)備有些只會(huì)收發(fā)Untagged幀,要與這些設(shè)備交互,就需要接口能夠識(shí)別Untagged幀并在收發(fā)時(shí)給幀添加、剝除VLAN標(biāo)簽。同時(shí),現(xiàn)網(wǎng)中屬于同一個(gè)VLAN的用戶可能會(huì)被連接在不同的設(shè)備上,且跨越設(shè)備的VLAN可能不止一個(gè),如果需要用戶間的互通,就需要設(shè)備間的接口能夠同時(shí)識(shí)別和發(fā)送多個(gè)VLAN的數(shù)據(jù)幀。
為了適應(yīng)不同的連接和組網(wǎng),設(shè)備定義了Access接口、Trunk接口和Hybrid接口3種接口類型,以及接入鏈路(Access Link)和干道鏈路(Trunk Link)兩種鏈路類型。
鏈路類型:
根據(jù)鏈路中需要承載的VLAN數(shù)目的不同,以太網(wǎng)鏈路分為:
- 接入鏈路
接入鏈路只可以承載1個(gè)VLAN的數(shù)據(jù)幀,用于連接設(shè)備和用戶終端(如用戶主機(jī)、服務(wù)器等)。通常情況下,用戶終端并不需要知道自己屬于哪個(gè)VLAN,也不能識(shí)別帶有Tag的幀,所以在接入鏈路上傳輸?shù)膸际荱ntagged幀。
- 干道鏈路
干道鏈路可以承載多個(gè)不同VLAN的數(shù)據(jù)幀,用于設(shè)備間互連。為了保證其它網(wǎng)絡(luò)設(shè)備能夠正確識(shí)別數(shù)據(jù)幀中的VLAN信息,在干道鏈路上傳輸?shù)臄?shù)據(jù)幀必須都打上Tag。
接口類型:
根據(jù)接口連接對(duì)象以及對(duì)收發(fā)數(shù)據(jù)幀處理的不同,以太網(wǎng)接口分為:
- Access接口
Access接口一般用于和不能識(shí)別Tag的用戶終端(如用戶主機(jī)、服務(wù)器等)相連,或者不需要區(qū)分不同VLAN成員時(shí)使用。它只能收發(fā)Untagged幀,且只能為Untagged幀添加唯一VLAN的Tag。
- Trunk接口
Trunk接口一般用于連接交換機(jī)、路由器、AP以及可同時(shí)收發(fā)Tagged幀和Untagged幀的語(yǔ)音終端。它可以允許多個(gè)VLAN的幀帶Tag通過(guò),但只允許一個(gè)VLAN的幀從該類接口上發(fā)出時(shí)不帶Tag(即剝除Tag)。
- Hybrid接口
Hybrid接口既可以用于連接不能識(shí)別Tag的用戶終端(如用戶主機(jī)、服務(wù)器等)和網(wǎng)絡(luò)設(shè)備(如Hub),也可以用于連接交換機(jī)、路由器以及可同時(shí)收發(fā)Tagged幀和Untagged幀的語(yǔ)音終端、AP。它可以允許多個(gè)VLAN的幀帶Tag通過(guò),且允許從該類接口發(fā)出的幀根據(jù)需要配置某些VLAN的幀帶Tag(即不剝除Tag)、某些VLAN的幀不帶Tag(即剝除Tag)。
Hybrid接口和Trunk接口在很多應(yīng)用場(chǎng)景下可以通用,但在某些應(yīng)用場(chǎng)景下,必須使用Hybrid接口。比如一個(gè)接口連接不同VLAN網(wǎng)段的場(chǎng)景中,因?yàn)橐粋€(gè)接口需要給多個(gè)Untagged報(bào)文添加Tag,所以必須使用Hybrid接口。
缺省VLAN:
缺省VLAN又稱PVID(Port Default VLAN ID)。前面提到,設(shè)備處理的數(shù)據(jù)幀都帶Tag,當(dāng)設(shè)備收到Untagged幀時(shí),就需要給該幀添加Tag,添加什么Tag,就由接口上的缺省VLAN決定。
接口收發(fā)數(shù)據(jù)幀時(shí),對(duì)Tag的添加或剝除過(guò)程。
對(duì)于Access接口,缺省VLAN就是它允許通過(guò)的VLAN,修改缺省VLAN即可更改接口允許通過(guò)的VLAN。對(duì)于Trunk接口和Hybrid接口,一個(gè)接口可以允許多個(gè)VLAN通過(guò),但是只能有一個(gè)缺省VLAN。接口的缺省VLAN和允許通過(guò)的VLAN需要分別配置,互不影響。 同類型接口添加或剝除VLAN標(biāo)簽的比較:
接口類型 | 對(duì)接收不帶Tag的報(bào)文處理 | 對(duì)接收帶Tag的報(bào)文處理 | 發(fā)送幀處理過(guò)程 |
---|---|---|---|
Access接口 | 接收該報(bào)文,并打上缺省的VLAN ID。 | 當(dāng)VLAN ID與缺省VLAN ID相同時(shí),接收該報(bào)文。當(dāng)VLAN ID與缺省VLAN ID不同時(shí),丟棄該報(bào)文。 | 先剝離幀的PVID Tag,然后再發(fā)送。 |
Trunk接口 | 打上缺省的VLAN ID,當(dāng)缺省VLAN ID在允許通過(guò)的VLAN ID列表里時(shí),接收該報(bào)文。打上缺省的VLAN ID,當(dāng)缺省VLAN ID不在允許通過(guò)的VLAN ID列表里時(shí),丟棄該報(bào)文。 | 當(dāng)VLAN ID在接口允許通過(guò)的VLAN ID列表里時(shí),接收該報(bào)文。當(dāng)VLAN ID不在接口允許通過(guò)的VLAN ID列表里時(shí),丟棄該報(bào)文。 | 當(dāng)VLAN ID與缺省VLAN ID相同,且是該接口允許通過(guò)的VLAN ID時(shí),去掉Tag,發(fā)送該報(bào)文。當(dāng)VLAN ID與缺省VLAN ID不同,且是該接口允許通過(guò)的VLAN ID時(shí),保持原有Tag,發(fā)送該報(bào)文。 |
Hybrid接口 | 打上缺省的VLAN ID,當(dāng)缺省VLAN ID在允許通過(guò)的VLAN ID列表里時(shí),接收該報(bào)文。打上缺省的VLAN ID,當(dāng)缺省VLAN ID不在允許通過(guò)的VLAN ID列表里時(shí),丟棄該報(bào)文。 | 當(dāng)VLAN ID在接口允許通過(guò)的VLAN ID列表里時(shí),接收該報(bào)文。當(dāng)VLAN ID不在接口允許通過(guò)的VLAN ID列表里時(shí),丟棄該報(bào)文。 | 當(dāng)VLAN ID是該接口允許通過(guò)的VLAN ID時(shí),發(fā)送該報(bào)文??梢酝ㄟ^(guò)命令設(shè)置發(fā)送時(shí)是否攜帶Tag。 |
當(dāng)接收到不帶VLAN標(biāo)簽的數(shù)據(jù)幀時(shí),Access接口、Trunk接口、Hybrid接口都會(huì)給數(shù)據(jù)幀打上VLAN標(biāo)簽,但Trunk接口、Hybrid接口會(huì)根據(jù)數(shù)據(jù)幀的VID是否為其允許通過(guò)的VLAN來(lái)判斷是否接收,而Access接口則無(wú)條件接收。
當(dāng)接收到帶VLAN標(biāo)簽的數(shù)據(jù)幀時(shí),Access接口、Trunk接口、Hybrid接口都會(huì)根據(jù)數(shù)據(jù)幀的VID是否為其允許通過(guò)的VLAN(Access接口允許通過(guò)的VLAN就是缺省VLAN)來(lái)判斷是否接收。
當(dāng)發(fā)送數(shù)據(jù)幀時(shí):
Access接口直接剝離數(shù)據(jù)幀中的VLAN標(biāo)簽。Trunk接口只有在數(shù)據(jù)幀中的VID與接口的PVID相等時(shí)才會(huì)剝離數(shù)據(jù)幀中的VLAN標(biāo)簽。Hybrid接口會(huì)根據(jù)接口上的配置判斷是否剝離數(shù)據(jù)幀中的VLAN標(biāo)簽。
因此,Access接口發(fā)出的數(shù)據(jù)幀肯定不帶Tag,Trunk接口發(fā)出的數(shù)據(jù)幀只有一個(gè)VLAN的數(shù)據(jù)幀不帶Tag,其他都帶VLAN標(biāo)簽,Hybrid接口發(fā)出的數(shù)據(jù)幀可根據(jù)需要設(shè)置某些VLAN的數(shù)據(jù)幀帶Tag,某些VLAN的數(shù)據(jù)幀不帶Tag。
VLAN通信 VLAN內(nèi)互訪:
同一VLAN內(nèi)用戶互訪(簡(jiǎn)稱VLAN內(nèi)互訪)會(huì)經(jīng)過(guò)如下三個(gè)環(huán)節(jié)。
用戶主機(jī)的報(bào)文轉(zhuǎn)發(fā)
源主機(jī)在發(fā)起通信之前,會(huì)將自己的IP與目的主機(jī)的IP進(jìn)行比較,如果兩者位于同一網(wǎng)段,會(huì)獲取目的主機(jī)的MAC地址,并將其作為目的MAC地址封裝進(jìn)報(bào)文;如果兩者位于不同網(wǎng)段,源主機(jī)會(huì)將報(bào)文遞交給網(wǎng)關(guān),獲取網(wǎng)關(guān)的MAC地址,并將其作為目的MAC地址封裝進(jìn)報(bào)文。
設(shè)備內(nèi)部的以太網(wǎng)交換
設(shè)備
如果目的MAC地址+VID匹配自己的MAC表且三層轉(zhuǎn)發(fā)標(biāo)志置位,則進(jìn)行三層交換,會(huì)根據(jù)報(bào)文的目的IP地址查找三層轉(zhuǎn)發(fā)表項(xiàng),如果沒有找到會(huì)將報(bào)文上送CPU,由CPU查找路由表實(shí)現(xiàn)三層轉(zhuǎn)發(fā)。如果目的MAC地址+VID匹配自己的MAC表但三層轉(zhuǎn)發(fā)標(biāo)志未置位,則進(jìn)行二層交換,會(huì)直接將報(bào)文根據(jù)MAC表的出接口發(fā)出去。如果目的MAC地址+VID沒有匹配自己的MAC表,則進(jìn)行二層交換,此時(shí)會(huì)向所有允許VID通過(guò)的接口廣播該報(bào)文,以獲取目的主機(jī)的MAC地址。
設(shè)備之間交互時(shí),VLAN標(biāo)簽的添加和剝離
設(shè)備內(nèi)部的以太網(wǎng)交換都是帶Tag的,為了與不同設(shè)備進(jìn)行成功交互,設(shè)備需要根據(jù)接口的設(shè)置添加或剝除Tag。不同接口VLAN標(biāo)簽添加和剝離情況不同。
從以太網(wǎng)交換原理可以看出,劃分VLAN后,廣播報(bào)文只在同一VLAN內(nèi)二層轉(zhuǎn)發(fā),因此同一VLAN內(nèi)的用戶可以直接二層互訪。根據(jù)屬于同一VLAN的主機(jī)是否連接在不同的設(shè)備,VLAN內(nèi)互訪有兩種場(chǎng)景:同設(shè)備VLAN內(nèi)互訪和跨設(shè)備VLAN內(nèi)互訪。
同設(shè)備VLAN內(nèi)互訪:
如下圖所示,用戶主機(jī)Host_1和Host_2連接在同臺(tái)設(shè)備上,屬于同一VLAN2,且位于相同網(wǎng)段,連接接口均設(shè)置為Access接口。
(假設(shè)Router上還未建立任何轉(zhuǎn)發(fā)表項(xiàng))。
- Host_1判斷目的IP地址跟自己的IP地址在同一網(wǎng)段,于是發(fā)送ARP廣播請(qǐng)求報(bào)文獲取目的主機(jī)Host_2的MAC地址,報(bào)文目的MAC填寫全F,目的IP為Host_2的IP地址10.1.1.3。
- 報(bào)文到達(dá)Router的接口IF_1,發(fā)現(xiàn)是Untagged幀,給報(bào)文添加VID=2的Tag(Tag的VID=接口的PVID),然后根據(jù)報(bào)文的源MAC地址、VID和報(bào)文入接口(1-1-1, 2, IF_1)生成MAC表。
- 根據(jù)報(bào)文目的MAC地址+VID查找Router的MAC表,沒有找到,于是在所有允許VLAN2通過(guò)的接口(本例中接口為IF_2)廣播該報(bào)文。
- Router的接口IF_2在發(fā)出ARP請(qǐng)求報(bào)文前,根據(jù)接口配置,剝離VID=2的Tag。
- Host_2收到該ARP請(qǐng)求報(bào)文,將Host_1的MAC地址和IP地址對(duì)應(yīng)關(guān)系記錄ARP表。然后比較目的IP與自己的IP,發(fā)現(xiàn)跟自己的相同,就發(fā)送ARP響應(yīng)報(bào)文,報(bào)文中封裝自己的MAC地址2-2-2,目的IP為Host_1的IP地址10.1.1.2。
- Router的接口IF_2收到ARP響應(yīng)報(bào)文后,同樣給報(bào)文添加VID=2的Tag。
- Router根據(jù)報(bào)文的源MAC地址、VID和報(bào)文入接口(2-2-2, 2, IF_2)生成MAC表,然后根據(jù)報(bào)文的目的MAC地址+VID(1-1-1, 2)查找MAC地址表,由于前面已記錄,查找成功,向出接口IF_1轉(zhuǎn)發(fā)該ARP響應(yīng)報(bào)文。
- Router向出接口IF_1轉(zhuǎn)發(fā)前,同樣根據(jù)接口配置剝離VID=2的Tag。
- Host_1收到Host_2的ARP響應(yīng)報(bào)文,將Host_2的MAC地址和IP地址對(duì)應(yīng)關(guān)系記錄ARP表。
后續(xù)Host_1與Host_2的互訪,由于彼此已學(xué)習(xí)到對(duì)方的MAC地址,報(bào)文中的目的MAC地址直接填寫對(duì)方的MAC地址。
此組網(wǎng)場(chǎng)景下,當(dāng)同一VLAN的用戶處于不同網(wǎng)段時(shí),主機(jī)將在報(bào)文中封裝網(wǎng)關(guān)的MAC地址,可借助VLANIF技術(shù)(需配置主從IP地址)實(shí)現(xiàn)互訪。
跨設(shè)備VLAN內(nèi)互訪:
如下圖,用戶主機(jī)Host_1和Host_2連接在不同的設(shè)備上,屬于同一個(gè)VLAN2,且位于相同網(wǎng)段。為了識(shí)別和發(fā)送跨越設(shè)備的數(shù)據(jù)幀,設(shè)備間通過(guò)干道鏈路連接。
當(dāng)用戶主機(jī)Host_1發(fā)送報(bào)文給用戶主機(jī)Host_2時(shí),報(bào)文的發(fā)送過(guò)程如下(假設(shè)Router_1和Router_2上還未建立任何轉(zhuǎn)發(fā)表項(xiàng))。
- 經(jīng)過(guò)與同設(shè)備VLAN內(nèi)互訪的步驟1~2一樣的過(guò)程后,報(bào)文被廣播到Router_1的IF_2接口。
- Router_1的IF_2接口在發(fā)出ARP請(qǐng)求報(bào)文前,因?yàn)榻涌诘腜VID=1(缺省值),與報(bào)文的VID不相等,直接透?jìng)髟搱?bào)文到Router_2的IF_2接口,不剝除報(bào)文的Tag。
- Router_2的IF_2接口收到該報(bào)文后,判斷報(bào)文的Tag中的VID=2是接口允許通過(guò)的VLAN,接收該報(bào)文。
- 經(jīng)過(guò)與同設(shè)備VLAN內(nèi)互訪的步驟3~6一樣的過(guò)程后,Router_2將向其出接口IF_2轉(zhuǎn)發(fā)Host_2的ARP響應(yīng)報(bào)文,轉(zhuǎn)發(fā)前,因?yàn)榻涌贗F_2為Trunk接口且PVID=1(缺省值),與報(bào)文的VID不相等,直接透?jìng)鲌?bào)文到Router_1的IF_2接口。
- Router_1的IF_2接口收到Host_2的ARP響應(yīng)報(bào)文后,判斷報(bào)文的Tag中的VID=2是接口允許通過(guò)的VLAN,接收該報(bào)文。后續(xù)處理同同設(shè)備VLAN內(nèi)互訪的步驟7~9一樣。
可見,干道鏈路除可傳輸多個(gè)VLAN的數(shù)據(jù)幀外,還起到透?jìng)鱒LAN的作用,即干道鏈路上,數(shù)據(jù)幀只會(huì)轉(zhuǎn)發(fā),不會(huì)發(fā)生Tag的添加或剝離。
VLAN間互訪:
劃分VLAN后,由于廣播報(bào)文只在同VLAN內(nèi)轉(zhuǎn)發(fā),所以不同VLAN的用戶間不能二層互訪,這樣能起到隔離廣播的作用。但實(shí)際應(yīng)用中,不同VLAN的用戶又常有互訪的需求,此時(shí)就需要實(shí)現(xiàn)不同VLAN的用戶互訪,簡(jiǎn)稱VLAN間互訪。
同VLAN間互訪一樣,VLAN間互訪也會(huì)經(jīng)過(guò)用戶主機(jī)的報(bào)文轉(zhuǎn)發(fā)、設(shè)備內(nèi)部的以太網(wǎng)交換、設(shè)備之間交互時(shí)VLAN標(biāo)簽的添加和剝離三個(gè)環(huán)節(jié)。同樣,根據(jù)以太網(wǎng)交換原理,廣播報(bào)文只在同一VLAN內(nèi)轉(zhuǎn)發(fā),不同VLAN內(nèi)的用戶則不能直接二層互訪,需要借助三層路由技術(shù)或VLAN轉(zhuǎn)換技術(shù)才能實(shí)現(xiàn)互訪。
VLAN間互訪技術(shù):
華為提供了多種技術(shù)實(shí)現(xiàn)VLAN間互訪,常用的兩種技術(shù)為VLANIF接口和Dot1q終結(jié)子接口。
VLANIF接口
VLANIF接口是一種三層的邏輯接口。在VLANIF接口上配置IP地址后,設(shè)備會(huì)在MAC地址表中添加VLANIF接口的MAC地址+VID表項(xiàng),并且為表項(xiàng)的三層轉(zhuǎn)發(fā)標(biāo)志位置位。當(dāng)報(bào)文的目的MAC地址匹配該表項(xiàng)后,會(huì)進(jìn)行三層轉(zhuǎn)發(fā),進(jìn)而實(shí)現(xiàn)VLAN間的三層互通。
VLANIF配置簡(jiǎn)單,是實(shí)現(xiàn)VLAN間互訪最常用的一種技術(shù)。但每個(gè)VLAN需要配置一個(gè)VLANIF,并在接口上指定一個(gè)IP子網(wǎng)網(wǎng)段,比較浪費(fèi)IP地址。
Dot1q終結(jié)子接口
子接口也是一種三層的邏輯接口。跟VLANIF接口一樣,在子接口上配置Dot1q終結(jié)功能和IP地址后,設(shè)備也會(huì)添加相應(yīng)的MAC表項(xiàng)并置位三層轉(zhuǎn)發(fā)標(biāo)志位,進(jìn)而實(shí)現(xiàn)VLAN間的三層互通。
Dot1q終結(jié)子接口適用于通過(guò)一個(gè)三層以太網(wǎng)接口下接多個(gè)VLAN網(wǎng)絡(luò)的環(huán)境。由于不同VLAN的數(shù)據(jù)流會(huì)爭(zhēng)用同一個(gè)以太網(wǎng)主接口的帶寬,網(wǎng)絡(luò)繁忙時(shí),會(huì)導(dǎo)致通信瓶頸。
通過(guò)VLANIF接口實(shí)現(xiàn)VLAN間互訪,必須要求VLAN間的用戶都只能處于不同的網(wǎng)段(因?yàn)橄嗤W(wǎng)段,主機(jī)會(huì)封裝目的主機(jī)的MAC地址,設(shè)備判斷進(jìn)行二層交換,二層交換只在同VLAN內(nèi),廣播報(bào)文無(wú)法到達(dá)不同的VLAN,獲取不到目的主機(jī)的MAC地址,也就無(wú)法實(shí)現(xiàn)互通)。現(xiàn)網(wǎng)中,也存在不同VLAN相同網(wǎng)段的組網(wǎng)需求,此時(shí)可通過(guò)VLAN聚合實(shí)現(xiàn)。
VLAN聚合(又稱Super VLAN)通過(guò)引入Super-VLAN和Sub-VLAN,將一個(gè)Super-VLAN和多個(gè)Sub-VLAN關(guān)聯(lián),多個(gè)Sub-VLAN共享Super-VLAN的IP地址作為其網(wǎng)關(guān)IP,實(shí)現(xiàn)與外部網(wǎng)絡(luò)的三層互通;并通過(guò)在Sub-VLAN間啟用Proxy ARP,實(shí)現(xiàn)Sub-VLAN間的三層互通,進(jìn)而即節(jié)約IP地址資源,又實(shí)現(xiàn)VLAN間的三層互通。
VLAN聚合通常用于多個(gè)VLAN共用一個(gè)網(wǎng)關(guān)的組網(wǎng)場(chǎng)景。
同設(shè)備VLAN間互訪:
如下圖:互訪的源主機(jī)Host_1和目的主機(jī)Host_2連接在同一臺(tái)設(shè)備Router上,分別屬于VLAN2和VLAN3,并位于不同的網(wǎng)段。在Router上分別創(chuàng)建VLANIF2和VLANIF3并配置其IP地址,然后將用戶主機(jī)的缺省網(wǎng)關(guān)設(shè)置為所屬VLAN對(duì)應(yīng)VLANIF接口的IP地址。
當(dāng)用戶主機(jī)Host_1發(fā)送報(bào)文給用戶主機(jī)Host_2時(shí),報(bào)文的發(fā)送過(guò)程如下(假設(shè)Router上還未建立任何轉(zhuǎn)發(fā)表項(xiàng))。
- Host_1判斷目的IP地址跟自己的IP地址不在同一網(wǎng)段,因此,它發(fā)出請(qǐng)求網(wǎng)關(guān)MAC地址的ARP請(qǐng)求報(bào)文,目的IP為網(wǎng)關(guān)IP 10.1.1.1,目的MAC為全F。
- 報(bào)文到達(dá)Router的接口IF_1,Router給報(bào)文添加VID=2的Tag(Tag的VID=接口的PVID),然后將報(bào)文的源MAC地址+VID與接口的對(duì)應(yīng)關(guān)系(1-1-1, 2, IF_1)添加進(jìn)MAC表。
- Router檢查報(bào)文是ARP請(qǐng)求報(bào)文,且目的IP是自己VLANIF2接口的IP地址,給Host_1應(yīng)答,并將VLANIF2接口的MAC地址3-3-3封裝在應(yīng)答報(bào)文中,應(yīng)答報(bào)文從IF_1發(fā)出前,剝掉VID=2的Tag。同時(shí),Router會(huì)將Host_1的IP地址與MAC地址的對(duì)應(yīng)關(guān)系記錄到ARP表。
- Host_1收到Router的應(yīng)答報(bào)文,將Router的VLANIF2接口的IP地址與MAC地址對(duì)應(yīng)關(guān)系記錄到自己的ARP表中,并向Router發(fā)送目的MAC為3-3-3、目的IP為Host_2的IP地址 10.2.2.2的報(bào)文。
- 報(bào)文到達(dá)Router的接口IF_1,同樣給報(bào)文添加VID=2的Tag。
- Router根據(jù)報(bào)文的源MAC地址+VID與接口的對(duì)應(yīng)關(guān)系更新MAC表,并比較報(bào)文的目的MAC地址與VLANIF2的MAC地址,發(fā)現(xiàn)兩者相等,進(jìn)行三層轉(zhuǎn)發(fā),根據(jù)目的IP查找三層轉(zhuǎn)發(fā)表,沒有找到匹配項(xiàng),上送CPU查找路由表。
- CPU根據(jù)報(bào)文的目的IP去找路由表,發(fā)現(xiàn)匹配了一個(gè)直連網(wǎng)段(VLANIF3對(duì)應(yīng)的網(wǎng)段),于是繼續(xù)查找ARP表,沒有找到,Router會(huì)在目的網(wǎng)段對(duì)應(yīng)的VLAN3的所有接口發(fā)送ARP請(qǐng)求報(bào)文,目的IP是10.2.2.2。從接口IF_2發(fā)出前,根據(jù)接口配置,剝掉VID=2的Tag。
- Host_2收到ARP請(qǐng)求報(bào)文,發(fā)現(xiàn)請(qǐng)求IP是自己的IP地址,就發(fā)送ARP應(yīng)答報(bào)文,將自己的MAC地址包含在其中。同時(shí),將VLANIF3的MAC地址與IP地址的對(duì)應(yīng)關(guān)系記錄到自己的ARP表中。
- Router的接口IF_2收到Host_2的ARP應(yīng)答報(bào)文后,給報(bào)文添加VID=3的Tag,并將Host_2的MAC和IP的對(duì)應(yīng)關(guān)系記錄到自己的ARP表中。然后,將Host_1的報(bào)文轉(zhuǎn)發(fā)給Host_2,發(fā)送前,同樣剝離報(bào)文中的Tag。同時(shí),將Host_2的IP、MAC、VID及出接口的對(duì)應(yīng)關(guān)系記錄到三層轉(zhuǎn)發(fā)表中。
至此,Host_1完成對(duì)Host_2的單向訪問(wèn)。Host_2訪問(wèn)Host_1的過(guò)程與此類似。這樣,后續(xù)Host_1與Host_2之間的往返報(bào)文,都先發(fā)送給網(wǎng)關(guān)Router,由Router查三層轉(zhuǎn)發(fā)表進(jìn)行三層轉(zhuǎn)發(fā)。
跨設(shè)備VLAN間互訪:
由于VLANIF接口的IP地址只能在設(shè)備上生成直連路由,當(dāng)不同VLAN的用戶跨多臺(tái)設(shè)備互訪時(shí),除配置VLANIF接口的IP地址外,還需要配置靜態(tài)路由或運(yùn)行動(dòng)態(tài)路由協(xié)議。
如下圖所示,互訪的源主機(jī)Host_1和目的主機(jī)Host_2連接在不同的設(shè)備Router_1和Router_2上,分別屬于VLAN2和VLAN3,并位于不同的網(wǎng)段。在Router_1上分別創(chuàng)建VLANIF2和VLANIF4,配置其IP地址為10.1.1.1和10.1.4.1;在Router_2上分別創(chuàng)建VLANIF3和VLANIF4,配置其IP地址為10.1.2.1和10.1.4.2,并在Router_1和Router_2上分別配置靜態(tài)路由。Router_1上靜態(tài)路由的目的網(wǎng)段是10.1.2.0/24,下一跳是10.1.4.2;Router_2上靜態(tài)路由的目的網(wǎng)段是10.1.1.0/24,下一跳是10.1.4.1。
當(dāng)用戶主機(jī)Host_1發(fā)送報(bào)文給用戶主機(jī)Host_2時(shí),報(bào)文的發(fā)送過(guò)程如下(假設(shè)Router_1和Router_2上還未建立任何轉(zhuǎn)發(fā)表項(xiàng))。
- 與同設(shè)備VLAN間互訪的步驟1~6一樣,經(jīng)過(guò)“Host_1比較目的IP地址—>Host_1查ARP表—>Host_1獲取網(wǎng)關(guān)MAC地址—>Host_1將發(fā)給Host_2的報(bào)文送到Router_1—>Router_1查MAC表—>Router_1查三層轉(zhuǎn)發(fā)表”的過(guò)程,Router_1上送CPU查找路由表。
- Router_1的CPU根據(jù)報(bào)文的目的IP 10.1.2.2去找路由表,發(fā)現(xiàn)匹配了一個(gè)路由網(wǎng)段10.1.2.0/24(VLANIF3對(duì)應(yīng)的網(wǎng)段),下一跳IP地址為10.1.4.2,于是繼續(xù)查找ARP表,沒有找到,Router_1會(huì)在下一跳IP地址對(duì)應(yīng)的VLAN4的所有接口發(fā)送ARP請(qǐng)求報(bào)文,目的IP是10.1.4.2。報(bào)文從Router_1的接口IF_2發(fā)出前,根據(jù)接口配置,直接透?jìng)髟搱?bào)文到Router_2的IF_2接口,不剝除報(bào)文的Tag。
- ARP請(qǐng)求報(bào)文到達(dá)Router_2后,發(fā)現(xiàn)目的IP為VLANIF4接口的IP地址,給Router_1回應(yīng),填寫VLANIF4接口的MAC地址。
- Router_2的ARP響應(yīng)報(bào)文從其IF_2接口直接透?jìng)鞯絉outer_1,Router_1接收后,記錄VLANIF4的MAC地址與IP地址的對(duì)應(yīng)關(guān)系到ARP表項(xiàng)。
- Router_1將Host_1的報(bào)文轉(zhuǎn)發(fā)給Router_2,報(bào)文的目的MAC修改為Router_2的VLANIF4接口的MAC地址,源MAC地址修改自己的VLANIF4接口的MAC地址,并將剛用到的轉(zhuǎn)發(fā)信息記錄在三層轉(zhuǎn)發(fā)表中(10.1.2.0/24,下一跳IP的MAC地址, 出口VLAN, 出接口)。同樣,報(bào)文是直接透?jìng)鞯絉outer_2的IF_2接口。
- Router_2收到Router_1轉(zhuǎn)發(fā)的Host_1的報(bào)文后,與同設(shè)備VLAN間互訪的步驟6~9一樣,經(jīng)過(guò)“查MAC表—>查三層轉(zhuǎn)發(fā)表—>送CPU—>匹配直連路由—>查ARP表并獲取Host_2的MAC地址—>將Host_1的報(bào)文轉(zhuǎn)發(fā)給Host_2”的過(guò)程,同時(shí)將Host_2的IP地址、MAC地址、出口VLAN、出接口記錄到三層轉(zhuǎn)發(fā)表項(xiàng)。
VLAN Damping:
VLAN抑制
如果指定VLAN已經(jīng)創(chuàng)建對(duì)應(yīng)的VLANIF接口,當(dāng)VLAN中所有接口狀態(tài)變?yōu)镈own而引起VLAN狀態(tài)變?yōu)镈own時(shí),VLAN會(huì)向VLANIF接口上報(bào)接口Down狀態(tài),從而引起VLANIF接口狀態(tài)變化。
為避免由于VLANIF接口狀態(tài)變化引起的網(wǎng)絡(luò)震蕩,可以在VLANIF接口上啟動(dòng)VLAN Damping功能,抑制VLANIF接口狀態(tài)變?yōu)镈own的時(shí)間。
當(dāng)使能VLAN Damping功能,VLAN中最后一個(gè)處于Up狀態(tài)的接口變?yōu)镈own后,會(huì)抑制一定時(shí)間(抑制時(shí)間可配置)再上報(bào)給VLANIF接口。如果在抑制時(shí)間內(nèi)VLAN中有接口Up,則VLANIF接口狀態(tài)保持Up狀態(tài)不變。即VLAN Damping功能可以適當(dāng)延遲VLAN向VLANIF接口上報(bào)接口Down狀態(tài)的時(shí)間,從而抑制不必要的路由震蕩。
VLAN內(nèi)二層隔離:
為了實(shí)現(xiàn)用戶之間的二層隔離,可以將不同的用戶加入不同的VLAN。但若企業(yè)規(guī)模很大,擁有大量的用戶,那么就要為不能互相訪問(wèn)的用戶都分配VLAN,這不但需要耗費(fèi)大量的VLAN,還增加了網(wǎng)絡(luò)管理者配置和維護(hù)的工作量。
為此,華為提供了一些VLAN內(nèi)二層隔離技術(shù),如端口隔離、MUX VLAN和基于MQC的VLAN內(nèi)二層隔離等。
端口隔離:
端口隔離可實(shí)現(xiàn)同一VLAN內(nèi)端口之間的隔離。用戶只需要將端口加入到隔離組中,就可以實(shí)現(xiàn)隔離組內(nèi)端口之間的二層隔離,不同隔離組的端口之間或者不屬于任何隔離組的端口與其他端口之間都能進(jìn)行正常的數(shù)據(jù)轉(zhuǎn)發(fā)。同時(shí),用戶還可以通過(guò)配置實(shí)現(xiàn)端口的單向隔離,為用戶提供更安全、更靈活的組網(wǎng)方案。
MUX VLAN:
MUX VLAN(Multiplex VLAN)提供了一種通過(guò)VLAN進(jìn)行網(wǎng)絡(luò)資源控制的機(jī)制。它既可實(shí)現(xiàn)VLAN間用戶通信,也可實(shí)現(xiàn)VLAN內(nèi)的用戶相互隔離。
比如,企業(yè)有如下需求:
要求企業(yè)內(nèi)部員工之間可以互相交流,而企業(yè)客戶之間是隔離的,不能夠互相訪問(wèn)。要求企業(yè)員工和企業(yè)客戶都可以訪問(wèn)企業(yè)的服務(wù)器。
此種場(chǎng)景,通過(guò)部署MUX-VLAN就可以實(shí)現(xiàn)。
基于流策略的VLAN內(nèi)二層隔離:
流策略是將流分類和流行為關(guān)聯(lián)后形成的完整的QoS策略?;诹鞑呗缘腣LAN內(nèi)二層隔離指用戶可以根據(jù)匹配規(guī)則對(duì)報(bào)文進(jìn)行流分類,然后通過(guò)流策略將流分類與permit/deny動(dòng)作相關(guān)聯(lián),使符合流分類的報(bào)文被允許或被禁止通過(guò),從而實(shí)現(xiàn)靈活的VLAN內(nèi)單向或雙向隔離。
VLAN間三層隔離:
VLAN間實(shí)現(xiàn)三層互通后,兩VLAN內(nèi)的所有用戶之間都可以互相訪問(wèn),但某些場(chǎng)景中,需要禁止部分用戶之間的互訪或者只允許用戶單向訪問(wèn),比如用戶主機(jī)和服務(wù)器之間一般是單向訪問(wèn)、企業(yè)的訪客一般只允許上網(wǎng)和訪問(wèn)部分服務(wù)器等。此時(shí),就需要配置VLAN間互訪控制。
VLAN間互訪控制一般通過(guò)流策略實(shí)現(xiàn)。用戶可根據(jù)實(shí)際需求定義匹配規(guī)則對(duì)報(bào)文進(jìn)行流分類,然后通過(guò)流策略將流分類與permit/deny動(dòng)作相關(guān)聯(lián),使符合流分類的報(bào)文被允許或禁止通過(guò),從而實(shí)現(xiàn)靈活的VLAN間互訪控制。
管理VLAN:
當(dāng)用戶通過(guò)遠(yuǎn)端網(wǎng)管集中管理設(shè)備時(shí),需要在設(shè)備上通過(guò)VLANIF接口配置IP地址作為設(shè)備管理IP,通過(guò)管理IP來(lái)STelnet到設(shè)備上進(jìn)行管理。若設(shè)備上其他接口相連的用戶加入該VLAN,也可以訪問(wèn)該設(shè)備,增加了設(shè)備的不安全因素。
這種情況下可以配置VLAN為管理VLAN(與管理VLAN對(duì)應(yīng),沒有指定為管理VLAN的VLAN稱為業(yè)務(wù)VLAN),不允許Access類型和Dot1q-tunnel類型接口加入該VLAN。由于Access類型和Dot1q-tunnel類型通常用于連接用戶,限制這兩種類型接口加入管理VLAN后,與該接口相連的用戶就無(wú)法訪問(wèn)該設(shè)備,從而增加了設(shè)備的安全性。
版權(quán)聲明:本文為CSDN博主「曹世宏的博客」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38265137/article/details/80390759
相關(guān)推薦:
相關(guān)文章
交換機(jī)vlan劃分有哪些方法? 交換機(jī)劃分vlan的三種方法詳細(xì)介紹
交換機(jī)vlan劃分有哪些方法?交換機(jī)進(jìn)行vlan劃分的時(shí)候,該怎么劃分呢?有哪些方法?下面我們就來(lái)看看交換機(jī)劃分vlan的三種方法詳細(xì)介紹,需要的朋友可以參考下2021-05-11- 今天我們來(lái)介紹關(guān)于vlan的基礎(chǔ)知識(shí),主要從vlan的技術(shù)特點(diǎn),端口類型,以及vlan劃分的過(guò)程,通過(guò)一個(gè)實(shí)例來(lái)進(jìn)行詳細(xì)分析,適合新手學(xué)習(xí),需要的朋友可以參考下2021-05-11
- 華為交換機(jī)vlan下怎么配置流量抑制功能?公司使用華為交換機(jī),由于企業(yè)內(nèi)部網(wǎng)絡(luò)經(jīng)常會(huì)出現(xiàn)大量無(wú)效的網(wǎng)絡(luò)流量,該怎么配置流量抑制功能呢?下面我們就來(lái)看看詳細(xì)的教程,需2020-12-11
華為交換機(jī)怎么配置VLAN和VLANif接口IP地址?
華為交換機(jī)怎么配置VLAN和VLANif接口IP地址?華為交換機(jī)想要配置VLAN和VLANif,該怎么配置呢?下面我們就來(lái)啊看看你詳細(xì)的教程,需要的朋友可以參考下2017-07-06- CISCO交換機(jī)配置了很多接口,想要?jiǎng)h除不用的VLAN,該怎么刪除呢?發(fā)現(xiàn)使用no vlan刪除不干凈,下面我們就來(lái)介紹詳細(xì)的解決辦法,需要的朋友可以參考下2017-04-23
如何實(shí)現(xiàn)同一路由器不同vlan之間的通信?vlan劃分配置方法
VLAN是一種將局域網(wǎng)設(shè)備從邏輯上劃分成一個(gè)個(gè)網(wǎng)段,從而實(shí)現(xiàn)虛擬工作組的新興數(shù)據(jù)交換技術(shù)。那么如何實(shí)現(xiàn)同一路由器不同vlan之間的通信?下面就詳情來(lái)看看vlan配置方式了解2017-03-29Unifi Switch交換機(jī)配置vlan及trunk口的教程
Unifi Switch新發(fā)布了交換機(jī),那么很多網(wǎng)友想知道Unifi Switch交換機(jī)怎么配置vlan及trunk口?下面就為大家介紹下Unifi Switch交換機(jī)配置vlan及trunk口的方法,僅供參考2017-03-20C-F6. 多VLAN配置DHCP ? C3750-E 思科(CISCO) 交換機(jī)
按照規(guī)劃分配好VLAN及接口后,就需要考慮哪些VLAN需要配置DHCP服務(wù)了,有可能會(huì)有多個(gè)VLAN需要配置DHCP服務(wù),下面就詳情來(lái)看看DHCP配置的方法,僅供參考2017-03-15虛擬局域網(wǎng) VLAN(Virtual Local Area Network)
虛擬局域網(wǎng)(VLAN)是一組邏輯上的設(shè)備和用戶,這些設(shè)備和用戶并不受物理位置的限制,可以根據(jù)功能、部門及應(yīng)用等因素將它們組織起來(lái),相互之間的通信就好像它們?cè)谕粋€(gè)網(wǎng)2016-11-20- 三層交換機(jī)怎么設(shè)置vlan間通信?在三層交換機(jī)與二層交換機(jī)之間采用trunk鏈路,實(shí)現(xiàn)各子網(wǎng)的互聯(lián),但是具體該怎么設(shè)置呢?下面我們來(lái)看看三層交換機(jī)vlan通信的設(shè)置方法,需2016-04-13