Access、Hybrid和Trunk端口

以太網端口有三種鏈路類型:Access、Hybrid和Trunk。Access類型的端口只能屬於1個VLAN,一般用於連接計算機的端口;Trunk類型的端口可以屬於多個VLAN,可以接收和發送多個VLAN的報文,一般用於交換機之間連接的端口;Hybrid類型的端口可以屬於多個VLAN,可以接收和發送多個VLAN的報文,可以用於交換機之間連接,也可以用於連接用戶的計算機。Hybrid端口和Trunk端口的不同之處在於Hybrid端口可以允許多個VLAN的報文發送時不打標籤,而Trunk端口只允許缺省VLAN的報文發送時不打標籤。

Access端口只屬於1個VLAN,所以它的缺省VLAN就是它所在的VLAN,不用設置;
Hybrid端口和Trunk端口屬於多個VLAN,所以需要設置缺省VLAN ID。缺省情況下,Hybrid端口和Trunk端口的缺省VLAN爲VLAN 1
如果設置了端口的缺省VLAN ID,當端口接收到不帶VLAN Tag的報文後,則將報文轉發到屬於缺省VLAN的端口;當端口發送帶有VLAN Tag的報文時,如果該報文的VLAN ID與端口缺省的VLAN ID相同,則系統將去掉報文的VLAN Tag,然後再發送該報文。



另外需要注意的是:

(1)Trunk端口不能和isolate-user-vlan同時配置;Hybrid端口可以和isolate-user-vlan同時配置。但如果缺省VLAN是在isolate-user-vlan中建立了映射的VLAN,則不允許修改缺省VLAN ID,只有在解除映射後才能進行修改。

(2) 本Hybrid端口或Trunk端口的缺省VLAN ID和相連的對端交換機的Hybrid端口或Trunk端口的缺省VLAN ID必須一致,否則報文將不能正確傳輸。

以下案例請大家深入理解華爲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
此時inter e0/1和inter e0/2下的所接的PC是可以互通的,但互通時數據所走的往返vlan是不同的。
以下以inter e0/1下的所接的pc1訪問inter e0/2下的所接的pc2爲例進行說明

pc1所發出的數據,由inter0/1所在的pvid vlan10封裝vlan10的標記後送入交換機,交換機發現inter e0/2允許vlan 10的數據通過,於是數據被轉發到inter e0/2上,由於inter e0/2上vlan 10是untagged的,於是交換機此時去除數據包上vlan10的標記,以普通包的形式發給pc2,此時pc1->p2走的是vlan10

再來分析pc2給pc1回包的過程,pc2所發出的數據,由inter0/2所在的pvid vlan20封裝vlan20的標記後送入交換機,交換機發現inter e0/1允許vlan 20的數據通過,於是數據被轉發到inter e0/1上,由於inter e0/1上vlan 20是untagged的,於是交換機此時去除數據包上vlan20的標記,以普通包的形式發給pc1,此時pc2->pc1走的是vlan20


交換機接口出入數據處理過程!

HCSE的教材上根本沒有講各種接口接收帶TAG的FRAME時候的規則。所以以前老是以爲是跟發送的規則一樣。走了很多彎路廢了好多腦細胞,痛苦啊。跟很多培訓過的兄弟交流過都深有同感。

tag就是普通的ethernet報文,報文結構的變化是在源mac地址和目的mac地址之後,加上了4bytes的vlan信息,也就是vlan tag頭;untag就是普通的ethernet報文,比tag報文少了4 bytes字節。

情況列舉 Switch收發 Switch對標記的處理 remark
Access (接收) Tagged = PVID 不接收 注:部分高端產品可能接收。
Access (接收) Tagged =/ PVID 不接收 注:部分高端產品可能接收。
Access (接收) Untagged 接收 增加tag=PVID 從PC

Access (發送) Tagged = PVID 轉發 刪除tag
Access (發送) Tagged =/ PVID 不轉發 不處理
Access (發送) Untagged 無此情況 無此情況 無此情況

Trunk (接收) Tagged = PVID 接收 不修改tag
Trunk (接收) Tagged =/ PVID 接收 不修改tag
Trunk (接收) Untagged 接收 增加tag=PVID
Trunk (發送) Tagged = PVID If Passing then 轉發 刪除tag
Trunk (發送) Tagged =/ PVID If Passing then 轉發 不修改tag
Trunk (發送) Untagged 無此情況 無此情況 無此情況(注)

Hybrid (接收) Tagged = PVID 接收 不修改tag 對端是trunk
Hybrid (接收) Tagged =/ PVID 接收 不修改tag 對端是trunk
Hybrid (接收) Untagged 接收 增加tag=PVID 類Trunk
Hybrid (發送) Tagged = PVID Tag 和 untag 中列出的vlan可以passing 看Tag項和untag項
Hybrid (發送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag項和untag項
Hybrid (發送) Untagged 無此情況 無此情況 無此情況(注)

我來解釋一下
收報文:
Acess端口1、收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則直接丟棄(缺省)
發報文:
Acess端口: 1、將報文的VLAN信息剝離,直接發送出去
收報文:
trunk端口: 1、收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有判斷該trunk端口是否允許該 VLAN的數據進入:如果可以則轉發,否則丟棄
發報文:
trunk端口: 1、比較端口的PVID和將要發送報文的VLAN信息,如果兩者相等則剝離VLAN信息,再發送,如果不相等則直接發送
收報文:
hybrid端口: 1、收到一個報文
2、判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則判斷該hybrid端口是否允許該VLAN的數據進入:如果可以則轉發,否則丟棄
發報文:
hybrid端口:1、判斷該VLAN在本端口的屬性(disp interface 即可看到該端口對哪些VLAN是untag, 哪些VLAN是tag)
2、如果是untag則剝離VLAN信息,再發送,如果是tag則直接發送

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章