基本概念
Access類型的端口只能屬于1個VLAN,一般用于連接計算機的端口;
Trunk類型的端口可以允許多個VLAN通過,可以接收和發送多個VLAN的報文,一般用于交換機之間連接的端口;
處理流程
Acess端口收報文:收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,并進行交換轉發,如果有則直接丟棄(缺省)
Acess端口發報文:將報文的VLAN信息剝離,直接發送出去
trunk端口收報文: 收到一個報文,判斷是否有VLAN信息,如果沒有則打上端口的PVID,并進行交換轉發;如果有判斷該trunk端口是否允許該 VLAN的數據進入:如果允許則報文攜帶原有VLAN標記進行轉發,否則丟棄該報文。
trunk端口發報文: 比較端口的PVID和將要發送報文的VLAN信息,如果兩者相等則剝離VLAN信息,再發送,否則報文將攜帶原有的VLAN標記進行轉發。
總結
1、Access 端口可接受并轉發的數據來源:
1)來自PC的無VLAN信息數據包;
2)從一個Access口入打上VLAN標記在交換機內轉交給相同VLAN的access口去掉標記的無VLAN信息數據包;
3)Access 端口發送出去的數據包無VLAN信息,可被PC接受或Access口接受。
示例:
上圖中,pc1不能ping通pc2,因為同一交換機內從pc1進入交換機A的access口的數據包被打上了VLAN10的標記,而和pc2相連的access的是VLAN20,從上面總結的2)條不滿足,無法ping通。同理,pc1和pc3也不能ping通。
上圖中,pc2和pc3能互ping通。因為數據包從pc2進入交換機A的access口時,被打上了VLAN20的標記;交換機A與B想連的access口是VLAN20,所以數據包可以從該口發出。發出的時候去掉了VLAN20的標記,到B時,由于沒有標記,可以被B的左邊的access口接收并打上VLAN10的標記。由于B的右邊的access口也屬于VLAN10,所以數據包可以從該口出(出的時候去除掉VLAN10的標記,并到達pc3)
2、Trunk 端口可接受并轉發的數據來源:雙絞線相連的一對Trunk口或同一交換機上的兩個Trunk口可以將數據包(有或無VLAN信息)原封不動的從一端傳到另一端。
1)上圖中pc1和pc3可以相通,因為數據包從pc1進入A的access口是打上了VLAN10的標記,A的右邊trunk口可以接受數據包,并轉發到B的trunk口(無論vid是否等于pvid)。而B的acces屬于VLAN10所以pc3能收到數據包。
2)同理,pc2和pc6相通