Trunk 與 802.1Q 標籤
兩台交換器之間有 10 個 VLAN,總不能拉 10 條線吧?
約 12 分鐘
Trunk(幹道)是一條可以同時載送多個 VLAN 流量的連線。為了讓對端知道每個訊框屬於哪個 VLAN,會在訊框裡插入一個標籤(tag)。
一般訊框
┌────────┬────────┬──────┬────────┬─────┐
│ 目的MAC │ 來源MAC │ 類型 │ 資料 │ FCS │
└────────┴────────┴──────┴────────┴─────┘
802.1Q 標籤訊框
┌────────┬────────┬─────────┬──────┬────────┬─────┐
│ 目的MAC │ 來源MAC │ 802.1Q │ 類型 │ 資料 │ FCS │
└────────┴────────┴─────────┴──────┴────────┴─────┘
└─ 4 位元組 ─┘
├ TPID 2B (0x8100)
├ PCP 3 bit ← QoS 優先權
├ DEI 1 bit
└ VID 12 bit ← VLAN 編號原生 VLAN(Native VLAN)
Trunk 上有一個 VLAN 的流量不會被打標籤,直接以原本的樣子送出去,這個 VLAN 稱為原生 VLAN,預設是 VLAN 1。設計目的是相容不懂 802.1Q 的老設備。
SW1(config)# interface gi0/1
! 2960 等交換器只支援 802.1Q,這行可省略
! 支援多種封裝的機型必須先指定,否則下一行會被拒絕
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport mode trunk
! 改原生 VLAN(安全最佳實務:改成沒人用的)
SW1(config-if)# switchport trunk native vlan 999
! 限制只有哪些 VLAN 可以通過(最小權限原則)
SW1(config-if)# switchport trunk allowed vlan 10,20,999
! 驗證
SW1# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/1 on 802.1q trunking 999
Port Vlans allowed on trunk
Gi0/1 10,20,999DTP 與埠模式協商
| 本端模式 | 對端 access | 對端 dynamic auto | 對端 dynamic desirable | 對端 trunk |
|---|---|---|---|---|
| access | access | access | access | 不匹配 |
| dynamic auto | access | access | trunk | trunk |
| dynamic desirable | access | trunk | trunk | trunk |
| trunk | 不匹配 | trunk | trunk | trunk |
立即測驗這一節(4 題)