轉:https://blog.csdn.net/q235990/article/details/88227936
在路由/交換領域,VLAN的中繼端口叫做trunk。
trunk技術用在交換機之間互連,使不同VLAN通過共享鏈路與其它交換機中的相同VLAN通信。
交換機之間互連的端口就稱為trunk端口。trunk是基於OSI第二層數據鏈路層(DataLinkLayer)的技術。
兩台交換機上分別創建了多個VLAN(VLAN是基於Layer 2的),在兩台交換機上相同的VLAN(比如VLAN10)要通信,需要將交換機A上屬於VLAN10的一個端口與交換機B上屬於VLAN10的一個端口互連;如果這兩台交換機其它相同VLAN間需要通信,那么交換機之間需要更多的互連線,端口利用率就太低了。 交換機通過trunk功能,事情就簡單了,只需要兩台交換機之間有一條互連線,將互連線的兩個端口設置為trunk模式,這樣就可以使交換機上不同VLAN共享這條線路。
trunk不能實現不同VLAN間通信,需要通過三層設備(路由/三層交換機)來實現。
交換端口兩種模式:access和trunk。
連接終端(如PC)用access模式,設備級連接用trunk模式。把access端口加入到某個VLAN,那么這個端口就只將這個VLAN的數據轉發給PC,PC發送的數據通過這個端口后會打上這個VLAN的ID,轉發到相同VLAN。
Access端口、Trunk端口和Hybrid端口
Access類型:端口只能屬於1個VLAN,一般用於連接計算機;
Trunk類型:端口可以屬於多個VLAN,可以接收和發送多個VLAN的報文,一般用於交換機之間連接;
Hybrid類型:端口可以屬於多個VLAN,可以接收和發送多個VLAN的報文,可以用於交換機之間連接,也可以用於連接用戶的計算機。
Hybrid端口可以允許多個VLAN的報文發送時不打標簽,而Trunk端口只允許缺省VLAN的報文發送時不打標簽。
三種類型的端口可以共存在一台設備上,但Trunk端口和Hybrid端口之間不能直接切換,只能先設為Access端口,再設置為其他類型端口。例如:Trunk端口不能直接被設置為Hybrid端口,只能先設為Access端口,再設置為Hybrid端口。
Access端口只能屬於1個VLAN,所以它的缺省VLAN就是它所在的VLAN,不用設置;Hybrid端口和Trunk端口可以屬於多個VLAN,所以需要設置端口的缺省VLAN ID。
Acess端口收報文:
收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則直接丟棄(缺省)
Acess端口發報文:
將報文的VLAN信息剝離,直接發送出去
trunk端口收報文:
收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有判斷該trunk端口是否允許該VLAN的數據進入:如果可以則轉發,否則丟棄
trunk端口發報文:
比較端口的PVID和將要發送報文的VLAN信息,如果兩者相等則剝離VLAN信息,再發送,如果不相等則直接發送
hybrid端口收報文:
收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則判斷該hybrid端口是否允許該VLAN的數據進入:如果可以則轉發,否則丟棄(此時端口上的untag配置是不用考慮的,untag配置只對發送報文時起作用)
hybrid端口發報文:
1,判斷該VLAN在本端口的屬性(dispinterface即可看到該端口對哪些VLAN是untag,哪些VLAN是tag)
2,如果是untag則剝離VLAN信息,再發送,如果是tag則直接發送
例如
[Switch-Ethernet0/1]inte0/1
[Switch-Ethernet0/1]portlink-type hybrid
[Switch-Ethernet0/1]port hybrid pvid vlan 10
[Switch-Ethernet0/1]port hybrid vlan 10 20 untagged
[Switch-Ethernet0/1]inte0/2
[Switch-Ethernet0/2]portlink-type hybrid
[Switch-Ethernet0/2]porthy bridpvid vlan 20
[Switch-Ethernet0/2]porthy brid vlan 10 20 untagged
此時intere0/1和intere0/2下的所接的PC是可以互通的,但互通時數據所走的往返vlan是不同的。
以下以intere0/1下的所接的pc1訪問intere0/2下的所接的pc2為例進行說明
pc1所發出的數據,由inter0/1所在的pvidvlan10封裝vlan10的標記后送入交換機,交換機發現intere0/2允許vlan10的數據通過,於是數據被轉發到intere0/2上,由於intere0/2上vlan10是untagged的,於是交換機此時去除數據包上vlan10的標記,以普通包的形式發給pc2,此時pc1->p2走的是vlan10
再來分析pc2給pc1回包的過程,pc2所發出的數據,由inter0/2所在的pvidvlan20封裝vlan20的標記后送入交換機,交換機發現intere0/1允許vlan20的數據通過,於是數據被轉發到intere0/1上,由於intere0/1上vlan20是untagged的,於是交換機此時去除數據包上vlan20的標記,以普通包的形式發給pc1,此時pc2->pc1走的是vlan20
---------------------***
————————————————
版權聲明:本文為CSDN博主「鼠光」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/q235990/article/details/88227936