華爲交換機設備上端口鏈路類型access、trunk、hybrid如圖示:
由上圖可知三種端口類型的基本工做原理:
a)access端口
發送(從交換機內部往外發送):
帶有vlan tag:刪除tag後,發送
不帶vlan tag:不可能出現
接收:
帶有vlan tag:若該tag等於該access端口的pvid,則能夠接收,進入交換機內部不帶vlan tag:添加該access端口的pvid,進入交換機內部
b)trunk端口(容許發送native VLAN數據的時候,能夠不加tag)
發送(從交換機內部往外發送):
帶有vlan tag:若tag等於該trunk端口的pvid,則刪除tag後發送;不然保留tag直接發送
不帶vlan tag:不可能出現
接收:
帶有vlan tag:保留該tag,進入交換機內部
不帶vlan tag:添加該trunk端口的pvid,進入交換機內部
c)hybrid端口(容許發送多個VLAN數據的時候,能夠不加tag)
發送(從交換機內部往外發送):
帶有vlan tag:
是否帶tag進行發送,取決於用戶配置(用戶能夠配置tagged list,untagged list)
不帶vlan tag:不可能出現
接收:
帶有vlan tag:保留該tag,進入交換機內部
不帶vlan tag:添加該hybrid端口的pvid,進入交換機內部
在設備上容許trunk和hybrid端口同時存在,可是不能將hybrid端口直接改成trunk端口(hybrid--》access---》trunk),反之亦然(早期是這樣,如今不知道改沒改)。
hybrid端口能夠容許多個vlan的數據不帶tag,而802.1q的trunk只能是native vlan(即pvid)對應的vlan的數據不帶tag,應該說hybrid能夠實現trunk端口的特性。實際使用時均可以用hybrid端口,而不用trunk。
基於上面的分析可知交換機接口出入數據處理過程以下:
access接口:access端口只能承載一個vlan的流量,一般用於交換機與pc相連的接口,當access接口收到一個數據幀時,先判斷是否有vlan信息,若是沒有則打上本身的PVID,若是有則直接丟棄;當access接口要轉發一個數據幀時,先判斷該偵的vlan是否和本身在一個vlan,若是是,則剝離vlan信息,再轉發,若是不是,則丟棄
trunk接口:trunk接口能夠承載多個vlan的流量,但在華爲交換機上默認狀況下只容許默認的vlan1的流量經過,只容許對默認vlan不打標記。一般用於與其它交換機相連的接口。當trunk接口收到一個數據幀時,先判斷是否容許該vlan的流量經過,若是容許,則轉發到相應的接口,由相應的接口進行處理,若是不容許,則丟棄。trunk接口發送數據幀時,一樣判斷是否容許該vlan經過,若是容許則轉發到相應的接口,由相應的接口進行處理,若是不容許,則直接丟棄。
hybrid接口:hybrid接口能夠承載多個vlan的流量,可用在與pc或者交換機相連的接口,與trunk接口的最大區別是能夠對任何vlan打標記或不打標記。當hybrid接口收數據幀時,先判斷該數據真是否有vlan信息,若是有,則看該接口是否對該vlan打標記,若是對該vlan打標記,則直接轉發到相應的接口,由相應的接口進行處理;若是沒有明確說對該vlan打標記,則丟棄。由於默認狀況下,hybrid接口只容許默認vlan的數據幀經過,若是要容許其它vlan經過,就要對相應的vlan打標記。若是收到的數據幀沒有任何標記,則標記爲本身的PVID。在接口上配置對某些vlan標記所起的做用只是容許和不容許該vlan的數據幀經過的問題,在接口上配置爲對某些vlan不打標記時只在接口發送數據幀時起做用,當接口收數據時,是不起做用的。hybrid接口發送數據幀時,若該數據幀沒有標記,則判斷該數據幀的標記vlan和本身收否在同一個vlan,若是在同一個vlan,則去掉標記後轉發;若是該數據幀和本身不在同一個vlan,則判斷接口對該數據幀標記仍是不標記,若是不標記,則去掉標記後再進行轉發,若是標記,則直接轉發,若沒有明確說明是標記仍是不標記,則直接丟棄。若是要發送的數據幀沒有標記,則直接轉發。當把一個接口加入到vlan2後,再把該接口配置爲hybrid接口時,該接口的PVID就變成裏vlan2,同時對vlan2的數據幀不打標記
注:對於華爲交換機缺省VLAN被稱爲「Pvid Vlan」, 對於思科交換機缺省VLAN被稱爲「Native Vlan」
如下案例能夠幫助你們深刻理解華爲交換機的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