本文轉(zhuǎn)自?https://www.cnblogs.com/hopeworld/archive/2009/08/30/1556811.html
Access深碱、Hybrid和Trunk三種模式的理解
Tag,untag以及交換機(jī)的各種端口模式是網(wǎng)絡(luò)工程技術(shù)人員調(diào)試交換機(jī)時(shí)接觸最多的概念了,然而筆者發(fā)現(xiàn)在實(shí)際工作中技術(shù)人員往往對這些概念似懂非懂,筆者根據(jù)自己的理解再結(jié)合一個(gè)案例肚豺,試圖向大家闡明這些概念
untag就是普通的ethernet報(bào)文移斩,普通PC機(jī)的網(wǎng)卡是可以識別這樣的報(bào)文進(jìn)行通訊;
tag報(bào)文結(jié)構(gòu)的變化是在源mac地址和目的mac地址之后混巧,加上了4bytes的vlan信息,也就是vlan tag頭勤揩;一般來說這樣的報(bào)文普通PC機(jī)的網(wǎng)卡是不能識別的
下圖說明了802.1Q封裝tag報(bào)文幀結(jié)構(gòu)
帶802.1Q的幀是在標(biāo)準(zhǔn)以太網(wǎng)幀上插入了4個(gè)字節(jié)的標(biāo)識咧党。其中包含:
2個(gè)字節(jié)的協(xié)議標(biāo)識符(TPID),當(dāng)前置0x8100的固定值陨亡,表明該幀帶有802.1Q的標(biāo)記信息傍衡。
2個(gè)字節(jié)的標(biāo)記控制信息(TCI),包含了三個(gè)域负蠕。
Priority域蛙埂,占3bits,表示報(bào)文的優(yōu)先級遮糖,取值0到7绣的,7為最高優(yōu)先級,0為最低優(yōu)先級欲账。該域被802.1p采用古掏。
規(guī)范格式指示符(CFI)域己单,占1bit病苗,0表示規(guī)范格式浪耘,應(yīng)用于以太網(wǎng);1表示非規(guī)范格式踢故,應(yīng)用于Token Ring文黎。
VLAN ID域惹苗,占12bit,用于標(biāo)示VLAN的歸屬耸峭。
以太網(wǎng)端口有三種鏈路類型:Access桩蓉、Hybrid和Trunk。
Access類型的端口只能屬于1個(gè)VLAN抓艳,一般用于連接計(jì)算機(jī)的端口触机;
Trunk類型的端口可以允許多個(gè)VLAN通過,可以接收和發(fā)送多個(gè)VLAN的報(bào)文玷或,一般用于交換機(jī)之間連接的端口儡首;
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這個(gè)概念
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)文后,則將報(bào)文轉(zhuǎn)發(fā)到屬于缺省VLAN的端口芜赌;當(dāng)端口發(fā)送帶有VLAN Tag的報(bào)文時(shí)仰挣,如果該報(bào)文的VLAN ID與端口缺省的VLAN ID相同,則系統(tǒng)將去掉報(bào)文的VLAN Tag缠沈,然后再發(fā)送該報(bào)文膘壶。
注:對于華為交換機(jī)缺省VLAN被稱為“Pvid Vlan”, 對于思科交換機(jī)缺省VLAN被稱為“Native Vlan”
交換機(jī)接口出入數(shù)據(jù)處理過程如下:?
Acess端口收報(bào)文:
收到一個(gè)報(bào)文,判斷是否有VLAN信息:如果沒有則打上端口的PVID洲愤,并進(jìn)行交換轉(zhuǎn)發(fā),如果有則直接丟棄(缺释前拧)<自注:存疑,我開發(fā)的產(chǎn)品上不是直接丟棄禽篱。在coriant的交換機(jī)上畜伐,CEP口可以進(jìn)行很多配置馍惹,customer-vlan map 到service vlan等>
Acess端口發(fā)報(bào)文:
將報(bào)文的VLAN信息剝離躺率,直接發(fā)送出去?
trunk端口收報(bào)文:?
收到一個(gè)報(bào)文玛界,判斷是否有VLAN信息:如果沒有則打上端口的PVID,并進(jìn)行交換轉(zhuǎn)發(fā)悼吱,如果有判斷該trunk端口是否允許該 VLAN的數(shù)據(jù)進(jìn)入:如果可以則轉(zhuǎn)發(fā)慎框,否則丟棄
trunk端口發(fā)報(bào)文:
比較端口的PVID和將要發(fā)送報(bào)文的VLAN信息,如果兩者相等則剝離VLAN信息后添,再發(fā)送笨枯,如果不相等則直接發(fā)送
hybrid端口收報(bào)文:?
收到一個(gè)報(bào)文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,并進(jìn)行交換轉(zhuǎn)發(fā)遇西,如果有則判斷該hybrid端口是否允許該VLAN的數(shù)據(jù)進(jìn)入:如果可以則轉(zhuǎn)發(fā)馅精,否則丟棄(此時(shí)端口上的untag配置是不用考慮的,untag配置只對發(fā)送報(bào)文時(shí)起作用)
hybrid端口發(fā)報(bào)文:
1粱檀、判斷該VLAN在本端口的屬性(disp interface 即可看到該端口對哪些VLAN是untag洲敢, 哪些VLAN是tag)
2、如果是untag則剝離VLAN信息茄蚯,再發(fā)送压彭,如果是tag則直接發(fā)送
以下案例可以幫助大家深入理解華為交換機(jī)的hybrid端口模式
[Switch-Ethernet0/1]int e0/1
[Switch-Ethernet0/1]port link-type hybrid
[Switch-Ethernet0/1]port hybrid pvid vlan 10
[Switch-Ethernet0/1]port hybrid vlan 10 20 untagged
[Switch-Ethernet0/1] int e0/2
[Switch-Ethernet0/2]port link-type hybrid
[Switch-Ethernet0/2]port hybrid pvid vlan 20
[Switch-Ethernet0/2]port hybrid vlan 10 20 untagged
此時(shí)inter e0/1和inter e0/2下的所接的PC是可以互通的,但互通時(shí)數(shù)據(jù)所走的往返vlan是不同的渗常。
以下以inter e0/1下的所接的pc1訪問inter e0/2下的所接的pc2為例進(jìn)行說明
pc1所發(fā)出的數(shù)據(jù)壮不,由inter0/1所在的pvid vlan10封裝vlan10的標(biāo)記后送入交換機(jī),交換機(jī)發(fā)現(xiàn)inter e0/2允許vlan 10的數(shù)據(jù)通過皱碘,于是數(shù)據(jù)被轉(zhuǎn)發(fā)到inter e0/2上询一,由于inter e0/2上vlan 10是untagged的,于是交換機(jī)此時(shí)去除數(shù)據(jù)包上vlan10的標(biāo)記尸执,以普通包的形式發(fā)給pc2家凯,此時(shí)pc1->p2走的是vlan10
再來分析pc2給pc1回包的過程,pc2所發(fā)出的數(shù)據(jù)如失,由inter0/2所在的pvid vlan20封裝vlan20的標(biāo)記后送入交換機(jī)绊诲,交換機(jī)發(fā)現(xiàn)inter e0/1允許vlan 20的數(shù)據(jù)通過,于是數(shù)據(jù)被轉(zhuǎn)發(fā)到inter e0/1上褪贵,由于inter e0/1上vlan 20是untagged的掂之,于是交換機(jī)此時(shí)去除數(shù)據(jù)包上vlan20的標(biāo)記,以普通包的形式發(fā)給pc1脆丁,此時(shí)pc2->pc1走的是vlan20
=================================
綜上所述世舰,以下列舉 Switch收發(fā) Switch對標(biāo)記的處理 remark
Access (接收) Tagged = PVID 不接收 注:部分高端產(chǎn)品可能接收。
Access (接收) Tagged =/ PVID 不接收 注:部分高端產(chǎn)品可能接收槽卫。
Access (接收) Untagged 接收 增加tag=PVID 從PC
Access (發(fā)送) Tagged = PVID 轉(zhuǎn)發(fā) 刪除tag?
Access (發(fā)送) Tagged =/ PVID 不轉(zhuǎn)發(fā) 不處理?
Access (發(fā)送) Untagged 無此情況 無此情況 無此情況
Trunk (接收) Tagged = PVID 接收 不修改tag?
Trunk (接收) Tagged =/ PVID 接收 不修改tag?
Trunk (接收) Untagged 接收 增加tag=PVID?
Trunk (發(fā)送) Tagged = PVID If Passing then 轉(zhuǎn)發(fā) 刪除tag?
Trunk (發(fā)送) Tagged =/ PVID If Passing then 轉(zhuǎn)發(fā) 不修改tag?
Trunk (發(fā)送) Untagged 無此情況 無此情況 無此情況(注)
Hybrid (接收) Tagged = PVID 接收 不修改tag 對端是trunk
Hybrid (接收) Tagged =/ PVID 接收 不修改tag 對端是trunk
Hybrid (接收) Untagged 接收 增加tag=PVID 類Trunk
Hybrid (發(fā)送) Tagged = PVID Tag 和 untag 中列出的vlan可以passing 看Tag項(xiàng)和untag項(xiàng)?
Hybrid (發(fā)送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag項(xiàng)和untag項(xiàng)?
Hybrid (發(fā)送) Untagged 無此情況 無此情況 無此情況(注)
另外需要注意的是:
(1)Trunk端口不能和isolate-user-vlan同時(shí)配置跟压;Hybrid端口可以和isolate-user-vlan同時(shí)配置。但如果缺省VLAN是在isolate-user-vlan中建立了映射的VLAN歼培,則不允許修改缺省VLAN ID震蒋,只有在解除映射后才能進(jìn)行修改茸塞。
(2) 本Hybrid端口或Trunk端口的缺省VLAN ID和相連的對端交換機(jī)的Hybrid端口或Trunk端口的缺省VLAN ID必須一致,否則報(bào)文將不能正確傳輸查剖。