Danh mục sản phẩm
Bài 28: STP (Spanning Tree Protocol) — Vì sao cần, vòng lặp Layer 2 là gì?
💡 Liên hệ thực tế
Để tăng độ tin cậy, VNExperts nối 2 sợi dây dự phòng giữa Switch 1 và Switch 2 — nếu 1 sợi đứt, sợi còn lại vẫn hoạt động. Nghe có vẻ an toàn hơn, nhưng thực tế lại tạo ra một vòng lặp (loop) — dữ liệu Broadcast gửi ra sẽ đi vòng vòng giữa 2 switch mãi mãi không dừng, nhân bản theo cấp số nhân sau mỗi vòng, cho đến khi toàn bộ băng thông mạng bị "ngộp thở" và sập hoàn toàn — hiện tượng này gọi là Broadcast Storm.
⚡ Đây chính là nghịch lý của mạng máy tính: thêm dây dự phòng để tăng độ tin cậy, nhưng vô tình gây ra sự cố nghiêm trọng hơn nếu không có cơ chế kiểm soát. STP (Spanning Tree Protocol) ra đời để giải quyết đúng nghịch lý này — giữ lại lợi ích của dây dự phòng, nhưng chặn đứng vòng lặp gây hại.
📘 Kiến thức cốt lõi
⚠️ Vòng lặp Layer 2 (Layer 2 Loop) là gì và vì sao nguy hiểm hơn vòng lặp ở Layer 3?
Ở Layer 3 (IP), gói tin có trường TTL (Time To Live) — mỗi lần qua 1 Router, TTL giảm 1, về 0 thì gói tin bị hủy, nên vòng lặp IP tự "chết" sau vài bước. Nhưng ở Layer 2 (Frame), không có cơ chế TTL — 1 Frame Broadcast có thể đi vòng vòng vô hạn giữa các switch nối vòng với nhau, không có gì tự động chặn lại.
💥 Broadcast Storm — hậu quả của vòng lặp không kiểm soát:
- PC gửi 1 Frame Broadcast.
- Switch 1 nhận, Flood (đã học ở Bài 16) ra cả 2 dây nối với Switch 2.
- Switch 2 nhận được 2 bản sao của cùng 1 Frame (từ 2 dây), tiếp tục Flood lại ra tất cả các cổng còn lại — bao gồm cả 2 dây nối ngược lại Switch 1.
- Switch 1 lại nhận thêm bản sao, tiếp tục Flood... quá trình lặp lại và nhân bản theo cấp số nhân sau mỗi vòng, chỉ trong vài giây có thể làm nghẽn hoàn toàn băng thông của cả hệ thống mạng.
🛡️ STP giải quyết vấn đề này như thế nào?
STP hoạt động bằng cách tính toán ra cấu trúc mạng dạng cây (tree) không có vòng lặp, sau đó tự động khóa (block) những cổng dư thừa có thể gây ra vòng lặp — nhưng vẫn giữ nguyên dây vật lý cắm sẵn. Nếu đường chính đang dùng bị đứt, cổng đang bị khóa sẽ tự động mở lại (unblock) để thay thế — vừa an toàn, vừa vẫn tận dụng được lợi ích dự phòng.
| Trạng thái cổng | Có chuyển Frame dữ liệu không? | Khi nào xảy ra |
|---|---|---|
| Forwarding | Có | Cổng đang được dùng chính để truyền dữ liệu |
| Blocking | Không (nhưng vẫn lắng nghe thông tin STP) | Cổng dự phòng, bị khóa để tránh vòng lặp |
💡 Điểm mấu chốt cần nhớ: STP không xóa bỏ dây dự phòng, nó chỉ tạm thời "khóa" logic 1 trong 2 đường để không có Frame nào đi qua đó — nếu đường chính gặp sự cố, đường bị khóa sẽ tự động kích hoạt lại. Đây chính là tinh thần "vừa an toàn, vừa vẫn có dự phòng" mà STP mang lại.
💬 Hỏi & Đáp nhanh
❓ Nếu biết trước sẽ gây vòng lặp, vì sao không đơn giản là chỉ nối 1 dây duy nhất giữa 2 switch cho an toàn?
❌ Vì chỉ nối 1 dây sẽ mất hẳn khả năng dự phòng — nếu dây đó đứt, 2 switch hoàn toàn mất kết nối với nhau, ảnh hưởng toàn bộ hệ thống. STP cho phép bạn vẫn nối nhiều dây để dự phòng, nhưng tự động quản lý để không xảy ra vòng lặp — tận dụng được cả 2 lợi ích cùng lúc.
❓ Cổng đang ở trạng thái Blocking có hoàn toàn "im lặng", không làm gì cả không?
❌ Không — cổng Blocking vẫn lắng nghe các gói tin điều khiển của STP (gọi là BPDU — Bridge Protocol Data Unit) để theo dõi tình trạng mạng, sẵn sàng chuyển sang Forwarding ngay khi cần. Nó chỉ không chuyển tiếp Frame dữ liệu thông thường của người dùng, không phải "chết hẳn" như bị rút dây.
❓ Việc chuyển từ Blocking sang Forwarding khi có sự cố diễn ra nhanh không?
✅ Với STP nguyên bản (802.1D), quá trình này có thể mất tới khoảng 30-50 giây — khá chậm với tiêu chuẩn ngày nay. Đây là lý do các phiên bản cải tiến sau này như RSTP (Rapid STP) ra đời, rút ngắn thời gian chuyển đổi xuống chỉ còn vài giây — bài học tiếp theo (Bài 30) sẽ giới thiệu chi tiết.
📝 Bài tập đánh giá
Câu 1: Vì sao vòng lặp ở Layer 2 nguy hiểm hơn vòng lặp ở Layer 3 (IP)?
- A. Vì Layer 2 không có cơ chế TTL để tự động hủy Frame đi lặp vô hạn
- B. Vì Layer 2 luôn chạy chậm hơn Layer 3
- C. Vì Layer 2 không hỗ trợ địa chỉ MAC
- D. Vì Layer 2 chỉ hoạt động với cáp quang
Câu 2: STP xử lý vòng lặp bằng cách nào?
- A. Xóa bỏ hoàn toàn dây dự phòng khỏi hệ thống
- B. Khóa logic (Blocking) một số cổng dư thừa, chỉ giữ 1 đường Forwarding chính
- C. Giảm tốc độ truyền dữ liệu để tránh nghẽn mạng
- D. Mã hóa toàn bộ Frame Broadcast trước khi gửi đi
👉 Đáp án:
Câu 1: A — Layer 2 không có trường TTL như Layer 3, nên Frame Broadcast có thể đi vòng vòng vô hạn giữa các switch nối vòng, gây ra Broadcast Storm.
Câu 2: B — STP không xóa dây vật lý, chỉ khóa logic (Blocking) các cổng dư thừa để đảm bảo chỉ có 1 đường Forwarding hoạt động tại một thời điểm, tránh vòng lặp mà vẫn giữ khả năng dự phòng.
📚 Bài viết thuộc khóa học CCNA của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 27: Inter-VLAN Routing — SVI | Mục lục khóa học CCNA | Bài 29: STP — Root Bridge, Port Role, Port State |
