Hovipiter
Intern
Trong các hệ thống mạng máy tính, việc thiết lập các đường liên kết dự phòng là cần thiết để đảm bảo Lý Thuyết + Lab Tìm Hiểu Giao Thức Ngăn Chặn Layer 2 Loop (STP, RSTP, MSTP). Bài viết này sẽ giới thiệu cho các bạn biết về ba giao thức trên
Mục lục
Mục lục
I. STP
1. Khái niệm
2. Cách hoạt động
3. Các trạng thái STP
II. RSTP
III. MSTP
I. STP
1. Khái niệm
Giao thức Spanning Tree (STP) là một giao thức mạng lớp 2 được sử dụng để ngăn chặn hiện tượng lặp vòng trong mạng LAN. Khi mạng có kết nối dự phòng, dữ liệu có thể đi theo nhiều hướng và bị lặp lại liên tục, gây tắc nghẽn và “broaddcast storm”, làm giảm hiệu suất mạng.
Giao thức STP giúp ngăn chặn tình trạng lặp vòng trong mạng bằng cách giám sát tất cả các liên kết, xác định các kết nối dự phòng và vô hiệu hóa các cổng có thể gây ra vòng lặp. Nhờ STP, mạng có thể duy trì các kết nối dự phòng mà không lo xảy ra hiện tượng lặp vòng, đảm bảo hoạt động ổn định và hiệu quả.
Giao thức STP giúp ngăn chặn tình trạng lặp vòng trong mạng bằng cách giám sát tất cả các liên kết, xác định các kết nối dự phòng và vô hiệu hóa các cổng có thể gây ra vòng lặp. Nhờ STP, mạng có thể duy trì các kết nối dự phòng mà không lo xảy ra hiện tượng lặp vòng, đảm bảo hoạt động ổn định và hiệu quả.
2. Các hoạt động
STP sử dụng các BPDU (Bridge Protocol Data Unit) để trao đổi thông tin giữa các switch và quyết định cấu trúc mạng sao cho không có vòng lặp.
BPDU là gói tin dùng để trao dổi thông tin giữa các switch trong mạng và giúp switch xác định topology mạng, phát hiện và ngăn chặn các vòng lặp (loop) có thể xảy ra.
Giao thức STP hoạt động theo 4 bước sau:
1. Bầu chọn Root Bridge
BPDU là gói tin dùng để trao dổi thông tin giữa các switch trong mạng và giúp switch xác định topology mạng, phát hiện và ngăn chặn các vòng lặp (loop) có thể xảy ra.
Giao thức STP hoạt động theo 4 bước sau:
1. Bầu chọn Root Bridge
- Root Bridge là switch trung tâm trong mạng STP
- Switch có Bridge ID nhỏ nhất sẽ được chọn làm Root Bridge.
- Bridge ID = Priority + MAC Address (ưu tiên switch có priority thấp hơn).
- Priority: có chiều dài 2 byte, và có priority mặc định là 32768. Switch nào có chỉ số priority nhỏ nhất sẽ được chọn làm Root-switch
- MAC Address: dài 6 byte; xét từ trái sang phải từng giá trị hexa xem switch nào có địa chỉ MAC nhỏ nhất.
- Quy tắc chọn sẽ ưu tiên priority trước, nếu prority bằng nhau thì xét xem địa chỉ MAC nào nhỏ nhất
- Ví dụ trong mô hình sau thì SW1 được chọn là Root Bridge vì nó có địa chỉ MAC nhỏ nhất

2. Bầu chọn Root Port
- Sau khi đã chọn Root Bridge, các switch còn lại sẽ chọn Root Port – cổng tốt nhất để đi đến Root Bridge. Mỗi switch chỉ có một Root Port, và cổng này được xác định dựa trên tổng Path Cost thấp nhất. Path Cost được tính từ Root Bridge đến switch theo nguyên tắc: đi ra không cộng, đi vào cộng thêm cost của cổng.
- Nếu một switch có nhiều cổng có cùng Path Cost về Root Bridge, nó sẽ xét thêm các yếu tố sau để chọn Root Port:
- So sánh Bridge ID của switch gửi BPDU: Switch nào có Bridge ID nhỏ hơn, cổng nhận BPDU từ switch đó sẽ là Root Port.
- Nếu Bridge ID bằng nhau, xét đến Port ID của switch gửi BPDU: Port nào có giá trị nhỏ hơn, cổng đối diện trên switch sẽ là Root Port.
- Nếu vẫn bằng nhau, xét đến số thứ tự của cổng trên switch: Cổng có số nhỏ hơn sẽ được chọn làm Root Port.
Ví dụ theo mô hình sau:

Trong mô hình này, sw1 là root bridge, khi đó gói tin được gửi từ sw1 ra int g0/0 đến sw 3 có path cost là 0, khi gói tin vào int g0/0 của sw3 thì path cots là 4; tiếp theo gói tin ra int g0/1 của sw3 thì path cost không thay đổi, khi gói tin vào int g0/0 của sw2 thì path cost là 8. Vậy tổng path cost khi gói tin đi từ int g0/0 của sw1 đến int g0/0 của sw2 là 8. Khi gói tin đi từu int g0/1 của sw1 đến int g0/1 của sw2 thì path cost là 4. Vậy khi đó, int g0/1 của sw2 sẽ được chọn làm Root Port. Tương tự với sw3 thì ta có int g0/0 của sw3 là root port.
3. Bầu chọn Designated Port
3. Bầu chọn Designated Port
Quy tắc chọn Designated Port như sau:
- Tất cả các cổng trên Root Bridge (RB) đều là Designated Port.
- Cổng đối diện với một Root Port (RP) sẽ là Designated Port.
- Trên một phân đoạn mạng chưa có RP, cổng có tổng Path Cost nhỏ nhất về Root Bridge sẽ là DP.
- Nếu Path Cost bằng nhau, cổng có Port ID nhỏ hơn sẽ là DP.
4. Port còn lại là Block Port
- Các port còn lại sẽ là port block
- Khi một đường kết nối khác bị đứt, cổng đang bị Block sẽ được mở để duy trì kết nối mạng.
- Khi đường kết nối đó được khôi phục, cổng này sẽ lại chuyển về trạng thái Block để ngăn vòng lặp.
- Dù không truyền dữ liệu, cổng Block vẫn nhận gói tin BPDU từ Root Bridge để theo dõi trạng thái của mạng STP.
3. Các trạng thái của STP
Khi STP (Spanning Tree Protocol) được kích hoạt trên một switch, mỗi cổng sẽ trải qua 5 trạng thái để kiểm soát việc chuyển tiếp dữ liệu và ngăn vòng lặp mạng:
- Disabled: Cổng không tham gia vào việc chuyển tiếp dữ liệu cũng như các hoạt động của STP.
- Blocking:
- Không chuyển tiếp dữ liệu, bỏ qua các frame từ thiết bị kết nối.
- Vẫn nhận và xử lý gói BPDU để duy trì thông tin mạng STP.
- Đây là trạng thái mặc định ban đầu của tất cả các cổng khi STP khởi động.
- Listening (Lắng nghe): Chuyển từ trạng thái Blocking sang Listening, không chuyển tiếp dữ liệu, chỉ nhận và xử lý BPDU để xác định cấu trúc STP.
- Learning:
- Chuyển từ trạng thái Listening sang Learning.
- Không chuyển tiếp dữ liệu, nhưng bắt đầu ghi nhận địa chỉ MAC vào bảng CAM.
- Forwarding:
- Chuyển từ trạng thái Learning sang Forwarding.
- Bắt đầu chuyển tiếp dữ liệu bình thường và tiếp tục nhận BPDU.
- Thời gian chuyển đổi giữa các trạng thái thường mất khoảng 15-20 giây mỗi bước.
- Mỗi cổng ban đầu luôn ở trạng thái Blocking, nếu được bật lên thì cũng bắt đầu từ trạng thái này.
- STP giúp duy trì đường dự phòng mà không gây vòng lặp, đảm bảo mạng hoạt động ổn định.
II. RSTP
RSTP là phiên bản cải tiến của giao thức STP mang lại tốc độ hội tụ nhanh hơn và có tương thích ngược với STP. RSTP tối ưu hóa mạng bằng cách giữ lại một đường kết nối duy nhất giữa hai thiết bị, trong khi các kết nối dư thừa sẽ được đặt ở chế độ dự phòng, sẵn sàng kích hoạt ngay lập tức khi kết nối chính gặp sự cố. Nhờ đó, mạng duy trì được sự ổn định và giảm thiểu thời gian gián đoạn. Giao thức này được chuẩn hóa theo IEEE 802.1w.
RSTP hoạt động cũng tương tự như STP, cụ thể như sau:
RSTP hoạt động cũng tương tự như STP, cụ thể như sau:
- Chọn Root Bridge: cách chọn root bridge tương tự như STP, switch nào có Bridge ID thấp nhất sẽ làm Root Bridge
- Xác định vai trò các cổng: sau khi chọn được Root Bridge, mỗi switch sẽ quyết định vai trò của các cổng dựa trên khoảng cách đến Root Bridge
- Root Port: cổng có đường đi tốt nhất đến Root Bridge
- Designated Port (DP): Cổng được chọn để chuyển tiếp lưu lượng trên mỗi segment mạng.
- Alternate Port (AP): Cổng dự phòng thay thế nếu Root Port bị lỗi.
- Backup Port (BP): Cổng dự phòng cho Designated Port (ít gặp).
- Edge Port: Cổng kết nối trực tiếp với thiết bị đầu cuối (PC, máy in...)
- Chuyển trạng thái cổng: RSTP sử dụng 3 trạng thái cổng chứ không dùng 5 trạng thái cổng như STP. Đó là discarding, learning, forwarding. Khi một switch khởi động hoặc một cổng mới được kích hoạt, cổng đó sẽ ở trạng thái Discarding trong một khoảng thời gian ngắn
Cơ chế hội tụ nhanh
- Sử dụng BPDU chủ động: Trong STP, chỉ có Root Bridge gửi BPDU, nhưng trong RSTP, tất cả switch đều gửi BPDU định kỳ để phát hiện thay đổi topology nhanh hơn.
- Cổng Alternate và Backup: Khi một đường kết nối bị lỗi, RSTP có thể nhanh chóng kích hoạt cổng dự phòng thay vì chờ thời gian hội tụ như STP.
- Cổng Edge tự động chuyển Forwarding: Không cần chờ quá trình Listening/Learning như STP.
Khi có sự thay đổi topology
- Khi một cổng bị mất kết nối, switch sẽ gửi TCN BPDU (Topology Change Notification) để thông báo cho các switch khác.
- Các switch sẽ cập nhật bảng MAC và kích hoạt đường dự phòng ngay lập tức nếu có Alternate Port.
III. MSTP
RSTP đã là một bước tiến lớn so với STP khi giúp mạng hội tụ nhanh hơn. Nhưng nếu mỗi VLAN cần một quá trình STP riêng để ngăn chặn vòng lặp, thì với số lượng VLAN lớn, tài nguyên của switch sẽ bị tiêu tốn đáng kể. MSTP (Multiple Spanning Tree Protocol) ra đời để giải quyết vấn đề này.
Ví dụ trong mô hình này:
Ví dụ trong mô hình này:

Trong mô hình này, ta có 3 switch và có tổng cộng 199 VLAN. Nếu chúng ta chạy giao thức STP hay giao thức RSTP nghĩa là mỗi VLAN sẽ có một spanning tree riêng, đồng nghĩa với việc có 199 quá trình tính toán STP khác nhau. Điều này gây lãng phí tài nguyên và khiến hệ thống quản lý phức tạp hơn. Khi đó MSTP được sinh ra để giải quyết vấn đề trên. Thay vì tính STP cho mỗi VLAN thì MSTP sẽ nhóm các VLAN vào các instances để giảm số lượng spanning tree. Với mô hình mạng trên, ta có thể chia ra 2 instance:
- Instance 1: VLAN 100-200
- Instance 2: VLAN 201-300
Nhờ cách này, thay vì cần 199 spanning tree, chúng ta chỉ cần 2 instance, giúp tối ưu hóa hiệu suất mạng.
MSTP hoạt động theo vùng (Region), nơi các switch có cùng cấu hình MSTP sẽ thuộc cùng một vùng.
MSTP hoạt động theo vùng (Region), nơi các switch có cùng cấu hình MSTP sẽ thuộc cùng một vùng.

Khi hai switch có cùng các thông số MSTP, chúng sẽ nhận diện nhau và làm việc chung trong một vùng. Các thông số cần phải giống nhau để thuộc cùng một region bao gồm:
- MSTP Configuration Name – định danh cho MSTP Region.
- MSTP Configuration Revision Number – số phiên bản của cấu hình MSTP.
- MSTP Instance-to-VLAN Mapping Table – bảng ánh xạ VLAN vào các instance.
Khi các switch có cùng các thuộc tính được cấu hình chúng sẽ cùng region. Nếu hai switch không có cùng cấu hình, chúng sẽ coi nhau là biên giới vùng. Các switch này có thể kết nối với một vùng MSTP khác hoặc giao tiếp với switch chạy một phiên bản spanning tree khác.
Trong mỗi vùng MSTP, sẽ có một Instance Spanning Tree (IST) đảm nhận vai trò tính toán đường đi chung cho toàn bộ vùng. Cisco mặc định sử dụng Instance 0 để chạy IST, giúp tạo cấu trúc không vòng lặp trong vùng.
Trong mỗi vùng MSTP, sẽ có một Instance Spanning Tree (IST) đảm nhận vai trò tính toán đường đi chung cho toàn bộ vùng. Cisco mặc định sử dụng Instance 0 để chạy IST, giúp tạo cấu trúc không vòng lặp trong vùng.
Sửa lần cuối:
Bài viết liên quan
Bài viết mới