Access、Hybrid和Trunk三種模式的了解
Access、Hybrid和Trunk三種模式的了解
以太網端口的三種鍊路類型:Access、Hybrid和Trunk:
Access類型的端口隻能屬于1個VLAN,一般用于連接配接計算機的端口;
Trunk類型的端口可以允許多個VLAN通過,可以接收和發送多個VLAN的封包,一般用于交換機之間連接配接的端口;
Hybrid類型的端口可以允許多個VLAN通過,可以接收和發送多個VLAN的封包,可以用于交換機之間連接配接,也可以用于連接配接使用者的計算機。
Hybrid端口和Trunk端口在接收資料時,處理方法是一樣的,唯一不同之處在于發送資料時:Hybrid端口可以允許多個VLAN的封包發送時不打标簽,而Trunk端口隻允許預設VLAN的封包發送時不打标簽。
在這裡大家要了解端口的預設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,然後再發送該封包。
注:對于華為交換機預設VLAN被稱為“Pvid Vlan”, 對于思科交換機預設VLAN被稱為“Native Vlan”
交換機接口出入資料處理過程:
Acess端口收封包:
收到一個封包,判斷是否有VLAN資訊:如果沒有則打上端口的PVID,并進行交換轉發,如果有則直接丢棄(預設)
Acess端口發封包:
将封包的VLAN資訊剝離,直接發送出去
trunk端口收封包:
收到一個封包,判斷是否有VLAN資訊:如果沒有則打上端口的PVID,并進行交換轉發,如果有判斷該trunk端口是否允許該 VLAN的資料進入:如果可以則轉發,否則丢棄
trunk端口發封包:
比較端口的PVID和将要發送封包的VLAN資訊,如果兩者相等則剝離VLAN資訊,再發送,如果不相等則直接發送
hybrid端口收封包:
收到一個封包,判斷是否有VLAN資訊:如果沒有則打上端口的PVID,并進行交換轉發,如果有則判斷該hybrid端口是否允許該VLAN的資料進入:如果可以則轉發,否則丢棄(此時端口上的untag配置是不用考慮的,untag配置隻對發送封包時起作用)
hybrid端口發封包:
1、判斷該VLAN在本端口的屬性(disp interface 即可看到該端口對哪些VLAN是untag, 哪些VLAN是tag)
2、如果是untag則剝離VLAN資訊,再發送,如果是tag則直接發送
以下案例可以幫助大家深入了解華為交換機的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