今天來講講Switch中的Trunk和Access吧~
有兩種Trunking Protocols:
1. ISL - 是Cisco propietary。已不再被普遍使用
2. 802.1Q - 是IEEE standard,廣泛被使用。這就是今天我們要說的重點。
à在trunk的封包中會插入一個 4-bytes 的標籤到原本的 Ethernet header中,還會重新計算和更新 FCS (frame check sequence)並加入到frame中。
802.1Q 的標籤中有以下4樣東西:
Ethertype (0x8100) |
PRI |
Token-Ring |
VLAN ID |
| 2 bytes |3 bits | 1 bit | 12 bits | =4 bytes
EtherType: 0x8100 代表802.1Q frame
PRI: 3 bits,在frame中帶的一個 priority info
Token Ring Encapsulation Flag: 當frame流到Token Ring的網路中才有用。This value is always set to zero for Ethernet switches.
VID: 會告訴switch這個frame是屬於那一個VLAN的。如果要處理一個有802.1Q標籤的frame,設備必須要有至少1522 bytes或更大的MTU.
*MTU (Maximum Transmission Unit)最大傳輸單元:是指一種通信協議的某一層上面所能通過的最大數據包大小(以bytes為單位)
Trunk 的特性是它可以讓很多不同的VLANs在上這條trunk line上流動;通常用於switch <--> switch 和 switch <--> router 間做多VLANs的流通。switch也可經過truck的相談中來update自己VTP database中的VLAN。
Access 的特性則是隸屬於單一個VLAN;通常用於連接PC的edge端。
舉例來說:
Switch 0 和 Switch 1的fa 0/24是trunk port,可設定讓多個VLAN traffic在上面流動。
各Switch的fa 0/1和fa 0/2各有連結PC,這兩個ports各隸屬於vlan 10和vlan 20。
每一個VLAN就是獨自一個broadcast domain,也就是說PC 0只可以和Switch 0, Switch 1, and PC 2做溝通,無法和PC 1和3做溝通,因為他們不屬於同一個VLAN。如果PC 0要和PC 1 和 PC 3做溝通,一定要有一個Layer 3 switch或是一個router來幫忙傳送封包。
最後再來稍微提一下VTP的角色吧~ Cisco中有三個VTP operation modes:(注意,以下的動作只限於同一個VTP Domain)
要做VTP的update,一定要有 VTP domain
1. Server: 可以新建、刪除、更改。也可以學習、Forward和提供VTP消息:包括VLAN ID和名字信息 (VLAN信息會寫入NVRAM中的vlan.dat);revision count會因每一個VLAN的設定增加,switch擁有較小的revision會從擁有較大revision count的switch做學習or同步。
2. Client: 只可以學習、Forward和請求VTP消息 (VLAN信息不會寫入NVRAM的vlan.dat)
3. Transparent: 可以新建、刪除和 請求VTP消息。不可以Forward和學習 (VLAN信息會寫入NVRAM中的vlan.dat);任何在transparent mode中做的VLAN設定不會增加revision count。
以下是show vtp status的一個example:
留言列表