以太網端口的鏈路類型比較

以太網端口的鏈路類型比較

一、以太網端口的鏈路類型(3種):
1、Access類型:端口只能屬於1個VLAN,一般用於連接計算機的端口;
2、Trunk類型:端口可以允許多個VLAN通過,可以接收和發送多個VLAN的報文,一般用於交換機之間連接的端口;
3、Hybrid類型:端口可以允許多個VLAN通過,可以接收和發送多個VLAN的報文,可以用於交換機之間連接,也可以用於連接用戶的計算機。
注:三種類型的端口可以共存在一臺設備上,但Trunk端口和Hybrid端口之間不能直接切換,只能先設爲Access端口,再設置爲其他類型端口。例如:    Trunk端口不能直接被設置爲Hybrid端口,只能先設爲Access端口,再設置爲Hybrid端口。


二、處理報文的方法
1、Hybrid端口和Trunk端口在接收數據時,處理方法是一樣的,唯一不同之處在於發送數據時:Hybrid端口可以允許多個VLAN的報文發送時不打標籤,而Trunk端口只允許缺省VLAN的報文發送時不打標籤。

2、 tag報文結構的變化是在源mac地址之後,加上了4bytes的vlan信息,也就是vlan tag頭;一般來說這樣的報文普通PC機的網卡是不能識別的 當端口接收到不帶VLAN Tag的報文後,則將報文轉發到屬於缺省VLAN的端口(如果設置了端口的缺省VLAN ID)。當端口發送帶有VLAN Tag的報文時,如果該報文的VLAN ID與端口缺省的VLAN ID相同,則系統將去掉報文的VLAN Tag,然後再發送該報文。

3、缺省VLAN:當一個未打標籤的報文通過trunk等允許多vlan通過接口時,默認要交給的那個vlan.
      對於華爲交換機缺省VLAN被稱爲“Pvid Vlan”, 對於思科交換機缺省VLAN被稱爲“Native 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,然後再發送該報文。 
       untag報文就是普通的ethernet報文,普通PC機的網卡是可以識別這樣的報文進行通訊。
     


三、交換機接口出入數據處理過程:
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則直接發送
如圖所示

 各類型端口使用注意事項
配置Trunk端口或Hybrid端口,並利用Trunk端口或Hybrid端口發送多個VLAN報文時一定要注意:本端端口和對端端口的缺省VLAN ID(端口的PVID)要保持一致,否則端口將不能正常轉發報文。
Access端口只能加入到1個VLAN中,Hybrid端口和Trunk端口可以加入到多個VLAN中。
當在交換機上使用isolate-user-vlan來進行二層端口隔離時,參與此配置的端口的鏈路類型會自動變成Hybrid類型。
Hybrid端口的應用比較靈活,主要爲滿足一些特殊應用需求。此類需求多爲在無法下發訪問控制規則的交換機上,利用Hybrid端口收發報文時的處理機制,來完成對同一網段的PC機之間的二層訪問控制。

配置案例

 <SwitchA>sys
Enter system view, return to user view with Ctrl+Z.
[SwitchA]vlan 10
[SwitchA-vlan10]vlan 20
[SwitchA-vlan20]int e0/2
[SwitchA-Ethernet0/2]port link-type trunk
[SwitchA-Ethernet0/2]port trunk pvid vlan 10
[SwitchA-Ethernet0/2]port trunk permit vlan 20
[SwitchA-Ethernet0/2]vlan 10
[SwitchA-vlan10]port int ethernet0/10
[SwitchA-vlan10]vlan 20
[SwitchA-vlan20]port int eth0/20
[SwitchA-vlan20]quit

<SwitchB>sys
Enter system view, return to user view with Ctrl+Z.
[SwitchA]vlan 10
[SwitchB-vlan10]vlan 20
[SwitchB-vlan20]int e0/2
[SwitchB-Ethernet0/2]port link-type trunk
[SwitchA-Ethernet0/2]port trunk pvid vlan 10
[SwitchB-Ethernet0/2]port trunk permit vlan 20
[SwitchB-Ethernet0/1]int e0/10
[SwitchB-Ethernet0/10]port access vlan 10
[SwitchB-Ethernet0/10]int e0/20
[SwitchB-Ethernet0/20]port access vlan 20
[SwitchB-Ethernet0/20]quit

實例解釋
pc1發送了一個不帶標籤的報文,在進入SwA的e0/10時,被打上缺省vlan標籤,由於e0/10是一個access接口,所以pvid 爲vlan10。從配置來看我們配置的trunk鏈路只允許vlan 20通過,但是trunk的缺省vlan爲vlan10;通過比對MAC地址表得知應由E0/2接口轉發;當帶有vlan 10標籤的報文通過SwAe0/2時,根據規則則會去掉標籤轉發,然後當報文到達SwB的e0/2時將又會被打上vlan10的標籤,然後通過比對mac地址表,由SwB的e/10所接受並去掉標籤,發送給PC3
對於PC2和PC4,當帶有vlan20的標籤通過swA的e0/2時,vlanID與缺省vlanID不同,保持原有的TAG轉發,
當到達SWB的e0/2,雖然vlanID與缺省vlanID不同,但是是該端口允許通過的vlanID所以依然接收該報文,然後通過比對mac地址表,由SwB的e/20所接受並去掉標籤,發送給PC4
 

<SwitchA>sys
Enter system view, return to user view with Ctrl+Z.
[SwitchA]vlan 30
[SwitchA-vlan10]vlan 10
[SwitchA-vlan10]port int ethernet0/10
[SwitchA-vlan10]vlan 20
[SwitchA-vlan20]port int eth0/20
[SwitchA-vlan20]int e0/2
[SwitchA-Ethernet0/2]port link-type hybrid
[SwitchA-Ethernet0/2]port hybrid vlan 10 20 tagged  
[SwitchA-Ethernet0/2]int ethernet0/10
[SwitchA-Ethernet0/10]port link-type hybrid
[SwitchA-Ethernet0/10]port hybrid vlan 30 untagged  只能接受vlan 30的報文
[SwitchA-Ethernet0/10]int ethernet0/20
[SwitchA-Ethernet0/20]port link-type hybrid
[SwitchA-Ethernet0/20]port hybrid vlan 30 untagged  只能接受vlan 30的報文
[SwitchA-Ethernet0/20]quit
[SwitchA-Ethernet0/20]int e0/24
[SwitchA-Ethernet0/24]port link-type hybrid
[SwitchA-Ethernet0/24]port hybrid vlan 10 20 untagged 能接受vlan10 和vlan20的報文


<SwitchB>sys
Enter system view, return to user view with Ctrl+Z.
[SwitchB]vlan 10
[SwitchB-vlan10]vlan 20
[SwitchB-vlan20]int e0/2
[SwitchB-Ethernet0/2]port link-type hybrid
[SwitchB-Ethernet0/2]port hybrid vlan 10 20 tagged
[SwitchB-Ethernet0/1]int e0/10
[SwitchB-Ethernet0/10]port access vlan 10
[SwitchB-Ethernet0/10]int e0/20
[SwitchB-Ethernet0/20]port access vlan 20

此時vlan30可以和SwB中的vlan10以及vlan20通信,但是不能和swA中的vlan10及vlan20通信,但是不同交換機上的相同vlan間依然可以通信
實例解釋
此時inter e02/0和inter e0/24下的所接的PC是可以互通的,但互通時數據所走的往返vlan是不同的。
以下以inter e0/24下的所接的pc5訪問inter e0/20下的所接的pc4爲例進行說明
pc5 所發出的數據,由inter0/24所在的pvid vlan30封裝vlan30的標記後送入交換機,交換機發現inter e0/20允許vlan 30的數據通過,於是數據被轉發到inter e0/20上,由於inter e0/20上vlan 30是untagged的,於是交換機此時去除數據包上vlan30的標記,以普通包的形式發給pc4,此時pc5->p4走的是vlan30
再來分析pc4給pc5回包的過程,pc4所發出的數據,由inter0/20所在的pvid vlan20封裝vlan20的標記後送入交換機,交換機發現inter e0/24允許vlan 20的數據通過,於是數據被轉發到inter e0/24上,由於inter e0/24上vlan 20是untagged的,於是交換機此時去除數據包上vlan20的標記,以普通包的形式發給pc5,此時pc4->pc4走的是vlan20

 

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