Trong bài trước, chúng ta đã tìm hiểu về địa chỉ Layer 2, cách hoạt động của switch cũng như các khái niệm quan trọng như VLAN, Access và Trunking – những yếu tố cốt lõi trong việc tổ chức và quản lý mạng LAN. Tuy nhiên, khi triển khai mô hình mạng với nhiều switch, việc xuất hiện các đường kết nối dự phòng giữa các thiết bị có thể vô tình tạo ra vòng lặp Layer 2, gây ra các vấn đề nghiêm trọng như broadcast storm và suy giảm hiệu suất mạng. Để giải quyết vấn đề này, các giao thức như Spanning Tree Protocol (STP), Rapid Spanning Tree Protocol (RSTP) và Multiple Spanning Tree Protocol (MSTP) được sử dụng nhằm ngăn chặn vòng lặp, đảm bảo hoạt động ổn định và tối ưu hóa khả năng dự phòng của mạng. Trong bài viết này, chúng ta sẽ đi sâu vào cơ chế hoạt động của các giao thức này.
Mục lục
I. Spanning Tree Protocol (STP)II. Rapid Spanning Tree Protocol (RSTP)
III. Multiple Spanning Tree Protocol (MSTP)
IV. Path Cost trong STP
V. So sánh STP, RSTP, MSTP
VI. Bảo mật cho Spanning Tree
I. Spanning Tree Protocol (STP)
STP (Spanning Tree Protocol) là giao thức được IEEE định nghĩa trong tiêu chuẩn IEEE 802.1D, có nhiệm vụ phát hiện và vô hiệu hóa các đường dẫn dư thừa để tránh vòng lặp trong mạng Layer 2.1. Cách hoạt động của STP
Bầu chọn Root Bridge:- Tất cả các switch trong mạng sẽ tham gia vào quá trình bầu chọn Root Bridge bằng cách trao đổi các gói tin BPDU (Bridge Protocol Data Unit)
- Dựa trên Bridge ID (Bridge Priority + MAC Address), switch có Bridge ID thấp nhất sẽ trở thành Root Bridge.
- Nếu Priority bằng nhau, switch có MAC Address nhỏ hơn sẽ thắng.
- Root Port (RP): Cổng có đường dẫn tốt nhất đến Root Bridge.
- Designated Port (DP): Cổng được chọn để tiếp tục truyền dữ liệu trong một segment.
- Blocking Port: Cổng bị vô hiệu hóa để tránh vòng lặp.
- Bước 1: Bầu chọn Root Bridge bằng cách so sánh Bridge ID.
- Bước 2: Mỗi switch chọn Root Port có đường dẫn tốt nhất đến Root Bridge.
- Bước 3: Trong mỗi segment, chọn Designated Port để truyền dữ liệu.
- Bước 4: Cổng dư thừa chuyển sang Blocking để ngăn loop.
- Bước 5: Cổng chuyển trạng thái Blocking -> Listening -> Learning -> Forwarding.
Mỗi cổng của switch sẽ trải qua các trạng thái sau trong quá trình hội tụ STP:
- Blocking: Không chuyển tiếp frame, chỉ lắng nghe BPDU. Mất khoảng Max Age (mặc định 20 giây) để xác định có thay đổi topology không.
- Listening: Nhận và gửi BPDU, để xác định topology, không học địa chỉ MAC, cũng không chuyển tiếp frame. Mất khoảng 15 giây.
- Learning: Học địa chỉ MAC nhưng chưa chuyển tiếp frame. Mất khoảng 15 giây.
- Forwarding: Chuyển tiếp frame bình thường.
- Disabled: Cổng không hoạt động.
2. Cấu trúc gói tin BPDU trong STP:

- Protocol ID (2 byte): Xác định giao thức STP
- Protocol Version ID (1 byte): Xác định phiên bản STP (0 = STP, 2 = RSTP).
- BPDU Type (1 byte): Xác định loại BPDU (0 = Configuration BPDU, 2 = RST BPDU).
- Flags (1 byte): Chứa thông tin về Topology Change và các trạng thái khác.
- Root ID (8 byte): Chứa Bridge ID của Root Bridge.
- Root Path Cost (4 byte): Tổng chi phí từ switch đến Root Bridge.
- Bridge ID (8 byte): Định danh của switch gửi BPDU.
- Port ID (2 byte): Định danh của cổng gửi BPDU.
- Message Age (2 byte): Thời gian BPDU đã tồn tại trong mạng.
- Max Age (2 byte): Thời gian tối đa BPDU có hiệu lực trước khi bị loại bỏ.
- Hello Time (2 byte): Khoảng thời gian giữa hai BPDU liên tiếp (mặc định 2 giây).
- Forward Delay (2 byte): Thời gian chờ trước khi chuyển trạng thái port (mặc định 15 giây).
II. Rapid Spanning Tree Protocol (RSTP)
RSTP (Rapid Spanning Tree Protocol) được định nghĩa trong tiêu chuẩn IEEE 802.1w, là phiên bản cải tiến của STP giúp giảm đáng kể thời gian hội tụ, tăng hiệu suất và khả năng tận dụng băng thông trong mạng Layer 2.1. Cách hoạt động của RSTP
Bầu chọn Root Bridge:- RSTP giữ nguyên cơ chế bầu chọn Root Bridge giống STP.
- Switch có Bridge ID (Bridge Priority + MAC Address) thấp nhất sẽ trở thành Root Bridge.
- Nếu Priority bằng nhau, switch có MAC Address nhỏ hơn sẽ thắng.
RSTP thay đổi cách thức xác định vai trò cổng, giúp giảm thời gian hội tụ bằng cách bỏ qua trạng thái Listening và chuyển nhanh trạng thái khi có thể.
- Root Port (RP): Cổng có đường tốt nhất đến Root Bridge, mỗi switch (trừ Root) có một RP.
- Designated Port (DP): Cổng chịu trách nhiệm chuyển tiếp dữ liệu trong một segment.
- Alternate Port: Dự phòng cho RP, có thể chuyển sang Forwarding ngay khi RP lỗi.
- Backup Port: Dự phòng cho DP, sẵn sàng Forwarding khi cần.
- Discarding Port: Thay thế Blocking Port của STP, không chuyển tiếp frame, chỉ nhận BPDU để phát hiện loop.
RSTP cải thiện quá trình hội tụ bằng cách sử dụng Alternate Port và Backup Port để phản ứng nhanh khi có sự cố.
- Bầu chọn Root Bridge giống STP.
- Chọn Root Port (có Path Cost thấp nhất đến Root Bridge).
- Chọn Designated Port trong mỗi segment.
- Các cổng dự phòng Alternate/Backup có thể chuyển ngay sang Forwarding nếu cần.
- Cổng chuyển nhanh trạng thái từ Discarding → Learning → Forwarding.
Thời gian hội tụ giảm xuống còn 6 giây hoặc nhanh hơn, thay vì 30 - 50 giây như STP.
Cải tiến trong trạng thái cổng của RSTP:Khi có thay đổi topology, Alternate Port hoặc Backup Port có thể chuyển ngay lập tức sang Forwarding nếu nhận thấy Root Port hoặc Designated Port bị mất.
Các cổng Discarding -> Learning -> Forwarding theo mặc định sẽ tuân theo thời gian Hello Time (2 giây) để xác nhận BPDU. Nhưng nếu không có loop, nó có thể vào Forwarding ngay lập tức mà không cần đợi 6 giây.
- Discarding: Không học địa chỉ MAC, không chuyển tiếp frame. Sử dụng cho Alternate Port, Backup Port hoặc cổng bị vô hiệu hóa.
- Learning: Học địa chỉ MAC, nhưng chưa chuyển tiếp frame. Giúp switch chuẩn bị gửi frame mà không gây loop.
- Forwarding: Chuyển tiếp frame bình thường.
Ngoài ra, không thể bỏ qua quá trình Discarding như STP vì vẫn cần thiết để ngăn chặn loop.
2. Cấu trúc gói tin BPDU trong RSTP
RSTP vẫn sử dụng BPDU nhưng có một số cải tiến:- BPDU được gửi mỗi 2 giây từ tất cả các switch (thay vì chỉ do Root Bridge gửi như STP).
- Sử dụng bit đặc biệt mới ở trường flags trong BPDU để thông báo trạng thái nhanh chóng (Proposal, Agreement, Learning, Forwarding, Port Role).
III. Multiple Spanning Tree Protocol (MSTP)
Multiple Spanning Tree Protocol (MSTP) MSTP (Multiple Spanning Tree Protocol) được định nghĩa trong tiêu chuẩn IEEE 802.1s, là phiên bản cải tiến của RSTP giúp tối ưu hóa việc sử dụng băng thông bằng cách nhóm VLAN vào các vùng spanning tree khác nhau.1. Cách hoạt động của MSTP
Cách bầu chọn Root Bridge, vai trò của các cổng, quá trình hội tụ (Convergence), cải tiến trong trạng thái cổng của MSTP đều giống RSTP, chỉ khác ở duy nhất là MSTP cho phép nhóm nhiều VLAN thành 1 map thay vì mỗi map cho 1 VLAN như RSTP.Vùng MST (MST Region):
- MSTP cho phép nhóm nhiều VLAN vào một Multiple Spanning Tree Instance (MSTI) thay vì chạy một spanning tree riêng cho từng VLAN.
- Tất cả switch trong cùng một MST Region phải có cùng cấu hình:
- MST Region Name
- MST Configuration Revision Number
- Bản đồ ánh xạ VLAN-MSTI (VLAN-to-Instance Mapping)
2. Cấu trúc gói tin BPDU trong MSTP
MSTP sử dụng BPDU mở rộng từ RSTP với trường MST Configuration chứa thông tin về MST Region:
- BPDU được gửi mỗi 2 giây từ tất cả các switch.
- MST BPDU chứa thông tin về:
- MST Configuration Identifier (Region Name, Revision Number, VLAN Mapping)
- MSTI Information (Root Bridge, Path Cost, Port Roles cho từng MSTI)
- Flags đặc biệt để hỗ trợ quá trình hội tụ nhanh.
- CIST IRPC (Internal Root Path Cost) – Chứa chi phí đường dẫn đến Root Bridge của Common and Internal Spanning Tree (CIST) – toàn bộ đường đi của MSTP hiện tại.
- CIST Bridge ID – Chứa Bridge ID của switch đang gửi BPDU, giúp xác định Root Bridge của CIST.
- CIST Remaining ID – Xác định số MSTI có trong BPDU.
- MSTI Configuration Messages – Chứa thông tin về từng MST Instance (MSTI), bao gồm Root Bridge, Path Cost, và Port Role của từng MSTI.

IV. Path Cost trong STP
Loại cáp | Băng thông (Mbps/Gbps) | Cost (IEEE 802.1D - Cũ) | Cost (IEEE 802.1T - Mới) |
Cat 3 UTP | 10 Mbps | 100 | 2,000,000 |
Cat 5 UTP | 100 Mbps | 19 | 200,000 |
Cat 5e, Cat 6 | 1 Gbps | 4 | 20,000 |
Cat 6a, Cat 7 | 10 Gbps | 2 | 2,000 |
Cat 8 | 25 - 40 Gbps | Không có | 500 - 250 |
Cáp quang MMF | 100 Gbps | Không có | 20 |
- IEEE 802.1D (cũ): Giá trị cost cố định. Chỉ còn 1 vài switch cũ sử dụng bảng cost này.
- IEEE 802.1T (mới): Cost tăng lên để phù hợp với tốc độ cao hơn, giúp tính toán chính xác hơn trong các mạng hiện đại. (RSTP, MSTP)
- Cost càng thấp -> Đường đi càng ưu tiên.
- Một số thiết bị cho phép cấu hình cost thủ công để ưu tiên đường mong muốn.
V. So sánh STP, RSTP, MSTP
Tiêu chí | STP (802.1D) | RSTP (802.1w) | MSTP (802.1s) |
Hội tụ (Convergence) | 30 - 50 giây | ~6 giây hoặc nhanh hơn | ~6 giây hoặc nhanh hơn |
Trạng thái cổng | Blocking, Listening, Learning, Forwarding | Discarding, Learning, Forwarding | Discarding, Learning, Forwarding |
Vai trò cổng | Root, Designated, Non-Designated | Root, Designated, Alternate, Backup | Root, Designated, Alternate, Backup |
Khả năng mở rộng | Chạy một STP chung | Cải thiện nhưng vẫn giới hạn | Hỗ trợ nhiều Instance (MSTI) |
Sử dụng tài nguyên | Không tối ưu, mỗi VLAN chạy STP riêng (PVST+) | Tốt hơn nhưng vẫn có overhead | Giảm overhead, nhóm VLAN vào MSTI |
Tương thích | Chuẩn cũ, dễ gặp loop | Có thể tương thích STP, nhưng có cải tiến | Hỗ trợ STP, RSTP nhưng tối ưu hơn |
1. STP(Spanning Tree Protocol)
Ưu điểm:- Dễ cấu hình, hoạt động trên tất cả các switch.
- Ngăn chặn loop hiệu quả.
- Thời gian hội tụ chậm (30-50 giây).
- Tiêu tốn tài nguyên do phải tính toán lại spanning tree, gửi gói tin BPDU.
- khả năng sử dụng băng thông kém do STP có thể chặn nhiều đường truyền dự phòng mà không thể tận dụng
2. RSTP (Rapid Spanning Tree Protocol)
Ưu điểm:- Hội tụ nhanh (~6 giây).
- Sử dụng Alternate Port và Backup Port để nhanh chóng chuyển đổi khi có sự cố.
- Vẫn tiêu tốn tài nguyên nếu chạy trên mỗi VLAN.
- Không tối ưu bằng MSTP khi có nhiều VLAN.
- Không tương thích hoàn toàn với các thiết bị STP cũ.
- Vẫn cần thời gian để xử lý sự thay đổi của topology.
3. MSTP (Multiple Spanning Tree Protocol)
Ưu điểm:- Hỗ trợ nhóm nhiều VLAN vào một MSTI để giảm số lượng Spanning Tree.
- Hội tụ nhanh tương tự RSTP (~6 giây).
- Tiết kiệm tài nguyên switch, giảm overhead.
- Cấu hình phức tạp hơn STP, RSTP.
- Cần thiết lập MST Region đồng nhất giữa các switch, nếu không sẽ gặp lỗi.
- Không tương thích hoàn toàn với các thiết bị STP, RSTP cũ.
VI. Bảo mật cho Spanning Tree
Trong mạng Ethernet, Spanning Tree Protocol (STP) đóng vai trò quan trọng trong việc ngăn chặn loop Layer 2, giúp duy trì sự ổn định của hệ thống. Tuy nhiên, STP không chỉ đơn thuần là một cơ chế kiểm soát topology, mà còn có thể trở thành điểm yếu nếu không được bảo vệ đúng cách. Kẻ tấn công có thể lợi dụng các lỗ hổng trong STP để thực hiện tấn công hệ thống mạng, gây mất ổn định mạng và chiếm quyền điều khiển.BPDU Guard:
- Ngăn chặn các thiết bị không mong muốn gửi BPDU vào mạng.
- Kích hoạt trên các Access để tránh thiết bị đầu cuối gây ảnh hưởng.
- Ngăn chặn thiết bị không mong muốn chiếm quyền Root Bridge bằng cách gửi BPDU ưu tiên cao.
- Kích hoạt trên các cổng mà bạn không muốn trở thành Root Port.
Kết luận
STP, RSTP và MSTP đều đóng vai trò quan trọng trong việc ngăn chặn vòng lặp Layer 2 và đảm bảo mạng hoạt động ổn định. Việc lựa chọn giao thức phù hợp phụ thuộc vào nhu cầu thực tế. Nếu mạng yêu cầu phản ứng nhanh với các thay đổi topology, RSTP là lựa chọn hợp lý. Đối với hệ thống lớn với nhiều VLAN, MSTP giúp tối ưu hóa băng thông và tăng hiệu suất. Hiểu rõ từng giao thức sẽ giúp ta xây dựng hệ thống mạng hiệu quả và linh hoạt hơn.
Sửa lần cuối:
Bài viết liên quan
Bài viết mới