🔄 Spanning Tree Protocol (STP) – Cơ chế phòng chống Loop trong mạng Layer 2
Trong các hệ thống mạng doanh nghiệp, để đảm bảo tính dự phòng (redundancy), các switch thường được kết nối với nhau bằng nhiều đường link.
Tuy nhiên nếu không có cơ chế kiểm soát, các kết nối dư thừa này có thể gây ra một vấn đề rất nguy hiểm:
⚠️ Network Loop (vòng lặp mạng)
Đây là lý do Spanning Tree Protocol (STP) ra đời để bảo vệ mạng Layer 2.
📌 STP là gì?
Spanning Tree Protocol (STP) là một giao thức hoạt động ở Layer 2, được thiết kế để:
✔ Phát hiện loop trong mạng switch
✔ Tự động chặn các đường link dư thừa
✔ Tạo ra một topology logic không có vòng lặp
STP được chuẩn hóa bởi:
IEEE 802.1D
⚠️ Network Loop nguy hiểm như thế nào?
Trong mạng có nhiều switch, broadcast frame thường được flood ra toàn bộ port.
Nếu tồn tại loop, gói tin có thể:
🔁 Quay vòng liên tục trong mạng
🔁 Bị nhân bản nhiều lần
🔁 Làm nghẽn toàn bộ hệ thống
Hiện tượng này được gọi là:
🚨 Broadcast Storm
Hậu quả có thể bao gồm:
❌ CPU switch tăng cao
❌ Bảng MAC address bị tràn
❌ Toàn bộ mạng bị chậm hoặc ngừng hoạt động
🎯 Ví dụ mô hình có Loop
Giả sử có 3 switch kết nối như sau:
Switch A
/ \
/ \
Switch B --- Switch C
Trong mô hình này có nhiều đường đi giữa các switch.
Khi một broadcast được gửi đi:
A → B → C → A → B → C ...
Frame sẽ chạy vòng quanh mạng vô hạn, gây ra broadcast storm.
⚙️ Cách STP hoạt động
STP sẽ tính toán lại topology mạng và vô hiệu hóa một số đường link để loại bỏ loop.
Quá trình này gồm các bước chính. Bước 1 – Bầu chọn Root Bridge
Tất cả switch sẽ trao đổi BPDU (Bridge Protocol Data Unit) để bầu chọn một switch làm:
Root Bridge
Switch có Bridge ID thấp nhất sẽ trở thành Root Bridge.
Bridge ID bao gồm:
Priority + MAC Address
Bước 2 – Tính toán đường đi tốt nhất
Sau khi xác định Root Bridge, các switch sẽ tính đường đi ngắn nhất tới Root.
Điều này dựa trên Path Cost của link.
Ví dụ:
1Gbps link → cost thấp
100Mbps link → cost cao hơn
Link có cost thấp hơn sẽ được ưu tiên.
Bước 3 – Block các link dư thừa
Sau khi tính toán topology:
✔ Một số port sẽ hoạt động bình thường
✔ Một số port sẽ bị blocking
Việc này giúp mạng chỉ còn một đường logic duy nhất, từ đó loại bỏ loop.
📊 Các trạng thái của STP Port
Trong quá trình hoạt động, một port STP có thể ở các trạng thái:
Blocking
Listening
Learning
Forwarding
Disabled
Ý nghĩa:
🔹 Blocking → chặn traffic để tránh loop
🔹 Listening → chuẩn bị tham gia topology
🔹 Learning → bắt đầu học MAC address
🔹 Forwarding → chuyển tiếp traffic bình thường
⚙️ Ví dụ cấu hình STP trên Cisco Switch
Bật Rapid STP:
Switch(config)# spanning-tree mode rapid-pvst
Cấu hình switch làm Root Bridge:
Switch(config)# spanning-tree vlan 10 priority 4096
Kiểm tra trạng thái STP:
Switch# show spanning-tree
🚀 Các phiên bản STP phổ biến
Theo thời gian STP được cải tiến thành nhiều phiên bản:
STP – chuẩn gốc 802.1D
RSTP – 802.1w, hội tụ nhanh hơn
MSTP – 802.1s, tối ưu cho nhiều VLAN
Trong các hệ thống mạng hiện đại, quản trị viên thường sử dụng:
✔ RSTP
✔ MSTP
để tăng tốc độ hội tụ và tối ưu hiệu suất mạng.
🏢 Ứng dụng trong hệ thống mạng
STP gần như luôn được bật mặc định trên switch.
Giao thức này đặc biệt quan trọng trong:
🔹 Mạng doanh nghiệp nhiều switch
🔹 Campus Network
🔹 Data Center
🔹 Hệ thống có nhiều đường kết nối dự phòng
⚠️ Best Practice khi triển khai STP
Một số nguyên tắc khi cấu hình STP:
✔ Xác định rõ Root Bridge
✔ Sử dụng RSTP hoặc MSTP thay vì STP cũ
✔ Bật PortFast cho access port
Ví dụ:
Switch(config)# spanning-tree portfast
🎯 Kết luận
Spanning Tree Protocol (STP) là một trong những cơ chế quan trọng nhất trong mạng Layer 2.
Giao thức này giúp:
✔ Ngăn chặn loop
✔ Tránh broadcast storm
✔ Đảm bảo mạng hoạt động ổn định
Dù STP có thể block một số link dự phòng, nhưng chính cơ chế này giúp hệ thống mạng an toàn và đáng tin cậy hơn rất nhiều.
Trong các hệ thống mạng doanh nghiệp, để đảm bảo tính dự phòng (redundancy), các switch thường được kết nối với nhau bằng nhiều đường link.
Tuy nhiên nếu không có cơ chế kiểm soát, các kết nối dư thừa này có thể gây ra một vấn đề rất nguy hiểm:
⚠️ Network Loop (vòng lặp mạng)
Đây là lý do Spanning Tree Protocol (STP) ra đời để bảo vệ mạng Layer 2.
📌 STP là gì?
Spanning Tree Protocol (STP) là một giao thức hoạt động ở Layer 2, được thiết kế để:
✔ Phát hiện loop trong mạng switch
✔ Tự động chặn các đường link dư thừa
✔ Tạo ra một topology logic không có vòng lặp
STP được chuẩn hóa bởi:
IEEE 802.1D
⚠️ Network Loop nguy hiểm như thế nào?
Trong mạng có nhiều switch, broadcast frame thường được flood ra toàn bộ port.
Nếu tồn tại loop, gói tin có thể:
🔁 Quay vòng liên tục trong mạng
🔁 Bị nhân bản nhiều lần
🔁 Làm nghẽn toàn bộ hệ thống
Hiện tượng này được gọi là:
🚨 Broadcast Storm
Hậu quả có thể bao gồm:
❌ CPU switch tăng cao
❌ Bảng MAC address bị tràn
❌ Toàn bộ mạng bị chậm hoặc ngừng hoạt động
🎯 Ví dụ mô hình có Loop
Giả sử có 3 switch kết nối như sau:
Switch A
/ \
/ \
Switch B --- Switch C
Trong mô hình này có nhiều đường đi giữa các switch.
Khi một broadcast được gửi đi:
A → B → C → A → B → C ...
Frame sẽ chạy vòng quanh mạng vô hạn, gây ra broadcast storm.
⚙️ Cách STP hoạt động
STP sẽ tính toán lại topology mạng và vô hiệu hóa một số đường link để loại bỏ loop.
Quá trình này gồm các bước chính. Bước 1 – Bầu chọn Root Bridge
Tất cả switch sẽ trao đổi BPDU (Bridge Protocol Data Unit) để bầu chọn một switch làm:
Root Bridge
Switch có Bridge ID thấp nhất sẽ trở thành Root Bridge.
Bridge ID bao gồm:
Priority + MAC Address
Bước 2 – Tính toán đường đi tốt nhất
Sau khi xác định Root Bridge, các switch sẽ tính đường đi ngắn nhất tới Root.
Điều này dựa trên Path Cost của link.
Ví dụ:
1Gbps link → cost thấp
100Mbps link → cost cao hơn
Link có cost thấp hơn sẽ được ưu tiên.
Bước 3 – Block các link dư thừa
Sau khi tính toán topology:
✔ Một số port sẽ hoạt động bình thường
✔ Một số port sẽ bị blocking
Việc này giúp mạng chỉ còn một đường logic duy nhất, từ đó loại bỏ loop.
📊 Các trạng thái của STP Port
Trong quá trình hoạt động, một port STP có thể ở các trạng thái:
Blocking
Listening
Learning
Forwarding
Disabled
Ý nghĩa:
🔹 Blocking → chặn traffic để tránh loop
🔹 Listening → chuẩn bị tham gia topology
🔹 Learning → bắt đầu học MAC address
🔹 Forwarding → chuyển tiếp traffic bình thường
⚙️ Ví dụ cấu hình STP trên Cisco Switch
Bật Rapid STP:
Switch(config)# spanning-tree mode rapid-pvst
Cấu hình switch làm Root Bridge:
Switch(config)# spanning-tree vlan 10 priority 4096
Kiểm tra trạng thái STP:
Switch# show spanning-tree
🚀 Các phiên bản STP phổ biến
Theo thời gian STP được cải tiến thành nhiều phiên bản:
STP – chuẩn gốc 802.1D
RSTP – 802.1w, hội tụ nhanh hơn
MSTP – 802.1s, tối ưu cho nhiều VLAN
Trong các hệ thống mạng hiện đại, quản trị viên thường sử dụng:
✔ RSTP
✔ MSTP
để tăng tốc độ hội tụ và tối ưu hiệu suất mạng.
🏢 Ứng dụng trong hệ thống mạng
STP gần như luôn được bật mặc định trên switch.
Giao thức này đặc biệt quan trọng trong:
🔹 Mạng doanh nghiệp nhiều switch
🔹 Campus Network
🔹 Data Center
🔹 Hệ thống có nhiều đường kết nối dự phòng
⚠️ Best Practice khi triển khai STP
Một số nguyên tắc khi cấu hình STP:
✔ Xác định rõ Root Bridge
✔ Sử dụng RSTP hoặc MSTP thay vì STP cũ
✔ Bật PortFast cho access port
Ví dụ:
Switch(config)# spanning-tree portfast
🎯 Kết luận
Spanning Tree Protocol (STP) là một trong những cơ chế quan trọng nhất trong mạng Layer 2.
Giao thức này giúp:
✔ Ngăn chặn loop
✔ Tránh broadcast storm
✔ Đảm bảo mạng hoạt động ổn định
Dù STP có thể block một số link dự phòng, nhưng chính cơ chế này giúp hệ thống mạng an toàn và đáng tin cậy hơn rất nhiều.