2.2.2. Trunking
2.2.2.1. Khái niệm Trunk
a) Định nghĩa
Trunk (đường trục) là một kết nối logic giữa hai thiết bị chuyển mạch (Switch) hoặc giữa Switch với Router, cho phép truyền tải đồng thời nhiều VLAN trên cùng một đường vật lý.
Nói cách khác, Trunk là một cổng hoạt động ở chế độ tagging – mỗi khung dữ liệu (frame) đi qua cổng Trunk đều được gắn thẻ VLAN (VLAN tag) để thiết bị đầu nhận biết được frame đó thuộc VLAN nào.
b) Tại sao cần Trunk?
Giả sử có 2 Switch kết nối với nhau và cần truyền dữ liệu của 3 VLAN (VLAN 10, 20, 30).
Nếu không dùng Trunk: Cần 3 đường cáp vật lý riêng biệt, mỗi đường cho một VLAN → tốn kém, khó mở rộng.
Nếu dùng Trunk: Chỉ cần 1 đường cáp duy nhất có thể truyền dữ liệu của cả 3 VLAN → tiết kiệm chi phí, dễ quản lý, dễ mở rộng.
c) Đặc điểm của cổng Trunk
| Đặc điểm | Mô tả |
|---|---|
| Chức năng | Truyền nhiều VLAN trên một cổng |
| Cơ chế | Gắn thẻ VLAN (tagging) vào frame |
| Chuẩn phổ biến | IEEE 802.1Q |
| Ứng dụng | Kết nối Switch–Switch, Switch–Router |
| VLAN mặc định | VLAN 1 (native VLAN) thường không được gắn thẻ |
d) Phân biệt Access Port và Trunk Port
| Tiêu chí | Access Port | Trunk Port |
|---|---|---|
| Số VLAN | 1 VLAN duy nhất | Nhiều VLAN |
| Gắn thẻ | Không gắn thẻ | Có gắn thẻ (trừ native VLAN) |
| Thiết bị kết nối | PC, Printer, IP Phone | Switch, Router |
| Mục đích | Kết nối thiết bị đầu cuối | Kết nối hạ tầng mạng |
2.2.2.2. Giao thức Trunking (ISL, 802.1Q)
Có hai giao thức Trunking chính được sử dụng trong mạng Cisco:
a) ISL (Inter-Switch Link)
Là giao thức độc quyền của Cisco (Cisco Proprietary).
Hoạt động bằng cách đóng gói toàn bộ frame Ethernet (encapsulation) vào một header ISL 26 byte và trailer 4 byte.
Không hỗ trợ trên các thiết bị không phải Cisco.
Ngày nay ít dùng, đã bị thay thế bởi 802.1Q.
Chỉ hỗ trợ trên các dòng Switch cũ (Catalyst 2950, 3550…).
Cấu trúc frame ISL:
[ISL Header 26 bytes][Ethernet Frame gốc][ISL CRC 4 bytes]
b) IEEE 802.1Q (Dot1Q)
Là chuẩn mở của IEEE, được sử dụng rộng rãi trên toàn cầu.
Hoạt động bằng cách chèn thêm 4 byte tag vào giữa trường Source MAC và Type/Length của frame Ethernet.
Hỗ trợ đa nhà sản xuất (Cisco, Juniper, HP, TP-Link…).
Có khái niệm Native VLAN – frame thuộc Native VLAN không bị gắn thẻ.
Cấu trúc frame 802.1Q:
[Dest MAC][Src MAC][802.1Q Tag 4 bytes][Type/Length][Data][FCS]
Chi tiết 4 byte tag 802.1Q:
| Trường | Độ dài | Mô tả |
|---|---|---|
| TPID (Tag Protocol Identifier) | 2 byte | Giá trị 0x8100 |
| Priority (CoS) | 3 bit | Độ ưu tiên (0–7) |
| CFI | 1 bit | Canonical Format Indicator |
| VLAN ID | 12 bit | Xác định VLAN (1–4094) |
c) So sánh ISL và 802.1Q
| Tiêu chí | ISL | 802.1Q |
|---|---|---|
| Nhà phát triển | Cisco | IEEE |
| Tính mở | Độc quyền | Chuẩn mở |
| Cách hoạt động | Đóng gói toàn bộ frame | Chèn tag 4 byte |
| Native VLAN | Không có | Có |
| Hỗ trợ đa hãng | Không | Có |
| Mức độ phổ biến | Ít dùng | Rất phổ biến |
2.2.2.3. Cấu hình Trunk trên Switch
a) Sơ đồ mô phỏng
[Switch 1] ---- Fa0/1 ========= Fa0/1 ---- [Switch 2] | | VLAN 10, 20 VLAN 10, 20
b) Các bước cấu hình Trunk (Cisco IOS)
Bước 1: Truy cập vào cổng cần cấu hình
Switch1> enable Switch1# configure terminal Switch1(config)# interface fastEthernet 0/1
Bước 2: Chọn giao thức encapsulation (nếu cần)
Switch1(config-if)# switchport trunk encapsulation dot1q
Lưu ý: Một số dòng Switch chỉ hỗ trợ 802.1Q nên không cần lệnh này.
Bước 3: Đặt cổng ở chế độ Trunk
Switch1(config-if)# switchport mode trunk
Bước 4: (Tùy chọn) Chỉ định Native VLAN
Switch1(config-if)# switchport trunk native vlan 99
Bước 5: (Tùy chọn) Chỉ định danh sách VLAN được phép qua Trunk
Switch1(config-if)# switchport trunk allowed vlan 10,20,30
Hoặc cho phép tất cả:
Switch1(config-if)# switchport trunk allowed vlan all
Bước 6: Thoát và lưu cấu hình
Switch1(config-if)# end Switch1# copy running-config startup-config
c) Cấu hình tương tự trên Switch 2
Thực hiện các bước tương tự trên cổng Fa0/1 của Switch 2 để hai đầu Trunk hoạt động.
d) Một số lưu ý quan trọng
Hai đầu Trunk phải cùng giao thức encapsulation (cùng 802.1Q).
Native VLAN ở hai đầu nên giống nhau để tránh cảnh báo và lỗi.
Nếu không chỉ định
allowed vlan, mặc định tất cả VLAN đều được phép qua Trunk.Cổng Trunk mặc định thuộc VLAN 1 nếu chưa cấu hình native VLAN.
2.2.2.4. Kiểm tra cấu hình Trunk
Sau khi cấu hình, cần kiểm tra để đảm bảo Trunk hoạt động đúng.
a) Lệnh show interfaces trunk
Switch1# show interfaces trunkKết quả mẫu:
Port Mode Encapsulation Status Native vlan Fa0/1 on 802.1q trunking 1 Port Vlans allowed on trunk Fa0/1 1-4094 Port Vlans allowed and active in management domain Fa0/1 1,10,20 Port Vlans in spanning tree forwarding state and not pruned Fa0/1 1,10,20
Giải thích:
Mode:
onnghĩa là Trunk được cấu hình thủ công.Encapsulation:
802.1q– giao thức đang dùng.Status:
trunking– cổng đang hoạt động ở chế độ Trunk.Native vlan: VLAN không gắn thẻ.
b) Lệnh show interfaces switchport
Switch1# show interfaces fastEthernet 0/1 switchportKết quả mẫu:
Name: Fa0/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Trunking VLANs Enabled: ALL
c) Lệnh show vlan brief
Switch1# show vlan briefDùng để kiểm tra các VLAN đang tồn tại và cổng nào thuộc VLAN nào.
d) Lệnh show running-config interface
Switch1# show running-config interface fastEthernet 0/1Hiển thị toàn bộ cấu hình của cổng, bao gồm cả cấu hình Trunk.
e) Kiểm tra kết nối giữa các VLAN qua Trunk
Đặt PC1 thuộc VLAN 10 ở Switch 1, PC2 thuộc VLAN 10 ở Switch 2.
Đặt IP cùng subnet cho 2 PC.
Dùng lệnh
pingtừ PC1 đến PC2 → nếu thông, Trunk hoạt động đúng.Tương tự kiểm tra với VLAN 20.
f) Xử lý sự cố thường gặp
| Sự cố | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Trunk không lên | Sai encapsulation | Kiểm tra switchport trunk encapsulation |
| Không thông VLAN | VLAN chưa được allowed | Thêm VLAN vào allowed vlan |
| Cảnh báo Native VLAN mismatch | Native VLAN 2 đầu khác nhau | Cấu hình native VLAN giống nhau |
| Cổng ở chế độ access | Chưa đặt switchport mode trunk | Cấu hình lại mode trunk |
BÀI TẬP THỰC HÀNH
Yêu cầu:
Cho 2 Switch Cisco kết nối với nhau qua cổng Fa0/1. Hãy:
Tạo VLAN 10 (Ten: Ketoan), VLAN 20 (Ten: Kythuat) trên cả 2 Switch.
Cấu hình cổng Fa0/1 trên cả 2 Switch làm Trunk sử dụng 802.1Q.
Gán cổng Fa0/2 của Switch 1 vào VLAN 10, Fa0/3 vào VLAN 20.
Gán cổng Fa0/2 của Switch 2 vào VLAN 10, Fa0/3 vào VLAN 20.
Kiểm tra kết nối giữa các PC cùng VLAN qua Trunk.
Chụp ảnh kết quả
show interfaces trunkvà giải thích.