Chuyển Tiếp Khung trong Thiết Bị Mạng – Hiểu Sâu Về CAM và TCAM
Nếu coi switch như một “trạm điều phối giao thông” trong mạng LAN, thì mỗi khung Ethernet (frame) đi vào switch giống như một chiếc xe vừa đến ngã tư. Switch phải quyết định nhanh chóng “xe này đi đâu, có được đi không, và đi theo làn nào”.
Ba quyết định này được thực hiện dựa trên các bảng tra cứu tốc độ cao trong phần cứng – đó là CAM và TCAM.
1. Switch Layer 2 hoạt động như thế nào?
Ngày xưa, mạng LAN thường được xây dựng bằng hub Ethernet. Mọi thiết bị chia sẻ cùng một đường truyền, phải tuân theo cơ chế CSMA/CD để tránh va chạm. Kết quả là:
Switch Layer 2 đã thay đổi hoàn toàn điều này:
Bạn có thể hình dung switch Layer 2 giống như một cầu nối đa cổng (multiport bridge), nhưng tốc độ và thông minh hơn rất nhiều.
2. Bảng CAM – “Bộ nhớ địa chỉ MAC” của Switch
CAM (Content-Addressable Memory) là nơi switch lưu bảng địa chỉ MAC.
Mỗi bản ghi trong bảng gồm:
Quy trình học MAC:
Nếu MAC đích không có trong bảng CAM → switch sẽ ngập lụt (flood) đến tất cả các cổng trong VLAN đó → gọi là Unknown Unicast Flooding.
🔹 Ví dụ
3. TCAM – Bộ não xử lý ACL, QoS và Layer 3
TCAM (Ternary CAM) là loại bộ nhớ đặc biệt trên switch Layer 3 và multilayer switch.
Khác với CAM (chỉ lưu MAC), TCAM cho phép lưu trữ:
Điểm mạnh của TCAM:
4. Quy trình chuyển tiếp khung trong switch
Khi một frame đi vào cổng:
5. So sánh CAM và TCAM
💡 Tips thực chiến
📌 Câu hỏi ôn tập:
Bảng nào switch dùng để quyết định gửi frame ra đâu?
→ MAC Address Table (CAM Table)
Nếu coi switch như một “trạm điều phối giao thông” trong mạng LAN, thì mỗi khung Ethernet (frame) đi vào switch giống như một chiếc xe vừa đến ngã tư. Switch phải quyết định nhanh chóng “xe này đi đâu, có được đi không, và đi theo làn nào”.
Ba quyết định này được thực hiện dựa trên các bảng tra cứu tốc độ cao trong phần cứng – đó là CAM và TCAM.
1. Switch Layer 2 hoạt động như thế nào?
Ngày xưa, mạng LAN thường được xây dựng bằng hub Ethernet. Mọi thiết bị chia sẻ cùng một đường truyền, phải tuân theo cơ chế CSMA/CD để tránh va chạm. Kết quả là:
- Chỉ một thiết bị truyền tại một thời điểm.
- Nếu hai thiết bị truyền cùng lúc → va chạm → tất cả phải dừng, chờ, rồi gửi lại.
- Băng thông bị chia sẻ, lỗi của một thiết bị có thể ảnh hưởng toàn bộ.
Switch Layer 2 đã thay đổi hoàn toàn điều này:
- Mỗi cổng trên switch là một collision domain riêng.
- Các thiết bị có thể full-duplex (gửi và nhận đồng thời).
- Switch lọc và chuyển tiếp dựa trên địa chỉ MAC đích.
- Chỉ những khung “sạch” (không lỗi) mới được tái tạo và chuyển tiếp.
Bạn có thể hình dung switch Layer 2 giống như một cầu nối đa cổng (multiport bridge), nhưng tốc độ và thông minh hơn rất nhiều.
2. Bảng CAM – “Bộ nhớ địa chỉ MAC” của Switch
CAM (Content-Addressable Memory) là nơi switch lưu bảng địa chỉ MAC.
Mỗi bản ghi trong bảng gồm:
- MAC Address
- Port (cổng vào)
- VLAN ID
Quy trình học MAC:
- Switch nhận một frame, đọc MAC nguồn.
- Nếu MAC này chưa có trong bảng CAM → ghi lại (MAC, cổng, VLAN).
- Khi có frame khác gửi đến MAC đó → chỉ cần tra CAM để biết chuyển ra cổng nào.
Nếu MAC đích không có trong bảng CAM → switch sẽ ngập lụt (flood) đến tất cả các cổng trong VLAN đó → gọi là Unknown Unicast Flooding.
🔹 Ví dụ
- Trường hợp unicast đã biết: MAC 0000.0000.5555 nằm ở cổng 5 → frame chỉ ra cổng 5.
- Trường hợp broadcast: Frame từ cổng 1 → gửi ra tất cả các cổng cùng VLAN, trừ chính cổng 1.
3. TCAM – Bộ não xử lý ACL, QoS và Layer 3
TCAM (Ternary CAM) là loại bộ nhớ đặc biệt trên switch Layer 3 và multilayer switch.
Khác với CAM (chỉ lưu MAC), TCAM cho phép lưu trữ:
- ACL (Access Control List) – lọc dựa trên MAC, IP, hoặc cả hai.
- QoS – phân loại và ưu tiên lưu lượng.
- Thông tin hỗ trợ định tuyến Layer 3.
Điểm mạnh của TCAM:
- Cho phép so khớp theo mẫu (match) với 3 trạng thái: 0, 1, hoặc “don’t care” → linh hoạt khi áp dụng ACL.
- Switch có thể có nhiều TCAM (cho inbound ACL, outbound ACL, QoS…) → xử lý song song.
- CAM và TCAM được tra cứu đồng thời → bật QoS hoặc ACL không làm giảm tốc độ xử lý.
4. Quy trình chuyển tiếp khung trong switch
Khi một frame đi vào cổng:
- Ingress Queue: Frame được đưa vào hàng đợi đầu vào. Có thể có nhiều hàng đợi, ưu tiên cao sẽ được xử lý trước.
- Tra CAM: Tìm MAC đích → biết cổng đích hoặc flood nếu chưa có.
- Tra TCAM: Kiểm tra ACL, QoS → quyết định có cho phép đi tiếp hay ưu tiên như thế nào.
- Egress Queue: Frame hợp lệ được đưa vào hàng đợi đầu ra tương ứng với mức ưu tiên.
- Chuyển tiếp: ASIC của switch gửi frame ra cổng đích tốc độ wire-speed.
5. So sánh CAM và TCAM
- CAM
- Có trên tất cả switch Layer 2 và Layer 3.
- Lưu MAC Address → Port.
- Dùng để chuyển tiếp Layer 2.
- TCAM
- Có trên multilayer switch và router.
- Lưu ACL, QoS, và thông tin Layer 3.
- Xử lý lọc, ưu tiên, định tuyến song song.
💡 Tips thực chiến
- Khi CAM đầy, switch sẽ xóa các bản ghi ít sử dụng nhất → dễ bị khai thác bởi MAC flooding attack.
- Khi cấu hình ACL hoặc QoS, tận dụng TCAM sẽ giúp duy trì hiệu suất wire-speed.
- Có thể kiểm tra CAM table trên switch Cisco bằng:
show mac address-table
Và TCAM usage bằng:
show platform tcam utilization
📌 Câu hỏi ôn tập:
Bảng nào switch dùng để quyết định gửi frame ra đâu?
→ MAC Address Table (CAM Table)