CCNA [Network - 3] Tìm Hiểu Giao Thức Ngăn Chặn Layer 2 Loop (STP, RSTP, MSTP)

GIAO THỨC NGĂN CHẶN VÒNG LẶP Ở LỚP HAI


Trong mạng máy tính, đặc biệt là các mạng LAN sử dụng switch, vòng lặp có thể gây ra những vấn đề nghiêm trọng như bão broadcast, mất gói tin và giảm hiệu suất hệ thống. Để giải quyết vấn đề này, các giao thức Spanning Tree (STP), Rapid Spanning Tree (RSTP) và Multiple Spanning Tree (MSTP) được thiết kế nhằm loại bỏ vòng lặp và đảm bảo mạng hoạt động ổn định. Bài viết này sẽ trình bày chi tiết về từng giao thức, bao gồm cách hoạt động, vai trò của các cổng, cơ chế bầu chọn Root Bridge và các cải tiến trong từng phiên bản.


1. Spanning Tree Protocol (STP)


STP (Spanning Tree Protocol) là một giao thức được định nghĩa trong tiêu chuẩn IEEE 802.1D, giúp ngăn chặn các vòng lặp trong mạng tầng 2 bằng cách tạo ra một cấu trúc cây không vòng lặp, đảm bảo chỉ có một đường duy nhất kết nối giữa các thiết bị mạng. STP sẽ định nghĩa ra một sơ đồ đường đi từ root-device (thiết bị quản lý) qua việc bầu chọn giữa các thiết bị, quá trình bầu chọn các thiết bị có thể tóm tắt như sau:
  • Mỗi switch có một Bridge ID (BID) gồm Bridge Priority (mặc định là 32768) và địa chỉ MAC.
  • Khi các switch hoạt động, chúng gửi các BPDU (Bridge Protocol Data Unit) ra tất cả các cổng. BPDU chứa thông tin về Bridge ID của switch gửi cũng như Root Bridge (ban đầu mặc định tất cả các switch đều là Root).
  • Switch có BID nhỏ nhất sẽ được chọn làm Root Bridge.
  • Nếu các switch có cùng Bridge Priority, địa chỉ MAC sẽ được sử dụng như tiêu chí để quyết định Root Bridge.
1742445276972.png

Hình 1: Mô hình cơ bản cho thực hành STP
Về phương thức hoạt động:
  • Sau khi Root Bridge được chọn, mỗi switch sẽ xác định Root Port của mình.
  • Các cổng còn lại sẽ được xác định là Designated port hoặc Non-designated port dựa trên BPDU và chi phí đường đi.
  • Quá trình này đảm bảo không có vòng lặp trong mạng bằng cách đặt các cổng không cần thiết vào trạng thái Blocking.
Các cổng trên switch thường sẽ luôn ở những trạng thái khác nhau như hình dưới đây.
1742445646091.png

Hình 2: Các trạng thái của cổng

Các cổng được cấu hình STP cũng sẽ có vai trò khác nhau, có 3 loại cổng bao gồm:
  • Root Port (RP): Cổng trên switch không phải root bridge có đường đi ngắn nhất đến root bridge.
  • Designated Port (DP): Cổng được chọn để chuyển tiếp frame trên một segment mạng cụ thể.
  • Non-Designated Port: Cổng không được chọn làm DP, thường ở trạng thái blocking.
Dưới đây là một số cấu hình cơ bản của STP trên thiết bị Allied Telesis, có thể sử dụng các mã sau để thực hiện.
Mã:
spanning-tree mode stp
spanning-tree enable
spanning-tree priority 4096
1742446487653.png

Hình 3: Cấu hình STP trên Switch 1
Cấu hình tương tự trên hai switch còn lại nhưng đặt priority cao hơn (hoặc để mặc định) để đảm bảo rằng switch 1 là Root Bridge.
Tiếp đến cần thực hiện cấu hình Root Guard - là một tính năng bảo mật trong các giao thức STP, RSTP và MSTP, nhằm ngăn chặn các thiết bị không mong muốn trở thành Root Bridge bằng cách chặn các BPDU (Bridge Protocol Data Unit) có ưu tiên cao hơn từ một thiết bị khác.
Sơ lược về hoạt động của Root Guard như sau:
  • Khi Root Guard được kích hoạt trên một cổng, cổng đó chỉ được phép là Designated Port.
  • Nếu cổng nhận được một BPDU có giá trị ưu tiên cao hơn(tức là BPDU từ một switch có thể trở thành Root Bridge), nó sẽ chuyển sang trạng thái Listening nếu dùng STP hoặc sang trạng thái Discarding nếu dùng RSTP hoặc MSTP.
Có thể nói Root Guard là rất quan trọng vì nó giúp bảo vệ topology mạng khỏi bị thay đổi bởi các switch không mong muốn cũng như ngăn chặn các switch mới hoặc switch bị cấu hình sai vô tình chiếm quyền Root Bridge, làm thay đổi đường đi của gói tin và gây ảnh hưởng đến hiệu suất mạng.
1742447010546.png

Hình 4: Cấu hình Root Guard


2. Rapid Spanning Tree Protocol (RSTP)


RSTP (Rapid Spanning Tree Protocol), được chuẩn hóa trong 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ụ khi có sự thay đổi trong mạng. RSTP sử dụng BPDU để trao đổi thông tin nhanh chóng giữa các switch, giúp giảm thời gian hội tụ. Tương tự như STP, RSTP cũng bầu chọn Root Bridge dựa trên Bridge ID.
RSTP cải tiến hơn STP ở điểm RSTP cải thiện thời gian hội tụ bằng cách sử dụng các vai trò cổng mới và giảm số lượng trạng thái cổng. Cổng có thể chuyển trực tiếp từ trạng thái discarding sang forwarding mà không cần qua các giai đoạn trung gian như trong STP.
Khác với STP, các cổng trên switch chạy RSTP chỉ có ba trạng thái như sau:
  • Discarding: Cổng không chuyển tiếp hay nhận các frame dữ liệu và không học địa chỉ MAC.
  • Learning: Cổng bắt đầu học địa chỉ MAC nhưng chưa chuyển tiếp frame dữ liệu.
  • Forwarding: Cổng chuyển tiếp và nhận các frame dữ liệu, đồng thời học địa chỉ MAC.
Đồng thời các cổng được cấu hình RSTP cũng sẽ có các vai trò khác nhau:
  • Root Port (RP): Cổng trên switch không phải root bridge có đường đi ngắn nhất đến root bridge.
  • Designated Port (DP): Cổng được chọn để chuyển tiếp frame trên một segment mạng cụ thể.
  • Alternate Port: Cổng cung cấp đường dự phòng đến root bridge, ở trạng thái discarding.
  • Backup Port: Cổng dự phòng cho designated port trên cùng một segment mạng, ở trạng thái discarding.
Dưới đây là một số cấu hình cơ bản của RSTP trên thiết bị Allied Telesis, có thể sử dụng các mã sau để thực hiện.
Mã:
spanning-tree mode rstp
spanning-tree enable
spanning-tree priority 4096

Trong giao thức Rapid Spanning Tree Protocol (RSTP), Edge Port là một loại cổng đặc biệt được sử dụng để kết nối trực tiếp với các thiết bị không tạo ra BPDU (Bridge Protocol Data Unit), chẳng hạn như máy tính, máy in hoặc thiết bị IoT. Việc cấu hình Edge Port còn giúp:
  • Giảm thời gian chờ Spanning Tree: Các cổng thông thường trong STP phải trải qua các trạng thái Listening → Learning → Forwarding, mất khoảng 30 giây để bắt đầu truyền dữ liệu.
  • Edge Port bỏ qua quá trình này, chuyển trực tiếp sang trạng thái Forwarding, giúp tăng tốc độ kết nối cho thiết bị đầu cuối.
  • Tránh topology change: Vì Edge Port không tham gia vào quá trình tính toán STP, nó sẽ không tạo topology change khi có thay đổi kết nối.
Khi một cổng được cấu hình là Edge Port, nó ngay lập tức chuyển sang trạng thái Forwarding, thay vì chờ xác nhận BPDU từ thiết bị khác. Nếu Edge Port nhận được BPDU, nó sẽ tự động hủy trạng thái Edge Port và tham gia vào thuật toán RSTP như một cổng bình thường.
1742449640628.png

Hình 5: Cấu hình RSTP
1742449662011.png

Hình 6: Cấu hình Edge Port
1742449765523.png

Hình 7: Cấu hình BPDU Guard

Đồng thời ta cũng cần phải cấu hình BPDU Guard - là một tính năng bảo mật trong Spanning Tree Protocol (STP, RSTP, MSTP), giúp ngăn chặn BPDU trên các cổng đã được cấu hình là Edge Port (PortFast).
Khi một cổng được cấu hình BPDU Guard nó sẽ bị đưa vào trạng thái "err-disabled" (tắt hoàn toàn) để bảo vệ mạng. Phải bật lại cổng thủ công hoặc sử dụng errdisable timeout để tự động kích hoạt lại sau một thời gian.
Các cấu hình này tương tự với các switch còn lại.

3. Multiple Spanning Tree Protocol (MSTP)


MSTP (Multiple Spanning Tree Protocol), được định nghĩa trong IEEE 802.1s, cho phép nhóm nhiều VLAN vào một MST Instance (MSTI) riêng biệt, giúp tối ưu hóa băng thông và phân phối tải hợp lý trong mạng lớn. Các trạng thái của các cổng tương tự với RSTP.
MSTP có quá trình bầu chọn khác biệt hơn hai giao thức trên ở chỗ mỗi MSTI có thể có root bridge riêng, được bầu chọn dựa trên Bridge ID trong phạm vi MSTI đó. Điều này cho phép phân phối lưu lượng mạng hiệu quả hơn bằng cách sử dụng các đường dẫn khác nhau cho các MSTI khác nhau.
Dưới đây là một số cấu hình cơ bản của RSTP trên thiết bị Allied Telesis, có thể sử dụng các mã sau để thực hiện.
Mã:
spanning-tree mode mstp
spanning-tree enable
spanning-tree mst configuration
region <region-name>
revision <revision-number>
instance <mstiid> vlan {<vid>| <vid-list>}

Giải thích:
Câu lệnh "region <region-name>" giúp xác định tên vùng MSTP vì MSTP chia mạng thành các vùng (region), trong đó tất cả các switch thuộc cùng một MST Region phải có cùng: tên region, số revision và ánh xạ VLAN → MST Instance. Các switch trong cùng một MST Region có thể chia sẻ thông tin MSTP và tối ưu hóa đường đi, giúp cân bằng tải và tránh loop.
Câu lệnh "revision <revision-number>" giúp xác định số hiệu phiên bản (revision number) của cấu hình MST, có giá trị từ 0 đến 255 và giúp theo dõi và đồng bộ cấu hình MSTP giữa các switch trong cùng một MST Region.
Câu lệnh "instance <mstiid> vlan {<vid>| <vid-list>}" giúp tạo MST Instance (MSTI) và ánh xạ VLAN vào instance đó. Một MSTI có thể chứa nhiều VLAN, nhưng một VLAN chỉ có thể thuộc một MSTI.

Ngoài ra, dưới đây là bảng so sánh một số tiêu chí của STP, RSTP và MSTP để các bạn có thể tóm lượt thông tin hơn.
1742451596368.png

Hình 8: Bảng so sánh một số tiêu chí cho ba loại giao thức
 
Cho mình hỏi, tại sao giữa các thiết bị Switch đấu với nhau như vậy lại xảy ra hiện trạng Loop vậy bạn? Và nếu 1 hệ thống bị loop thì sẽ như thế nào?
 
Cho mình hỏi, tại sao giữa các thiết bị Switch đấu với nhau như vậy lại xảy ra hiện trạng Loop vậy bạn? Và nếu 1 hệ thống bị loop thì sẽ như thế nào?
Các thiết bị Switch đấu với nhau xảy ra hiện tượng Loop là do hai vấn đề chính:
- Về vấn đề lắp đặt thiết bị:
  • Các Switch có thể đấu nối với nhau bằng nhiều đường liên kết vật lý nhưng lại không có cấu hình LACP để quản lý các liên kết vật lý có thể dẫn đến vòng lặp.
  • Do lắp đặt các Switch theo một vòng tròn, chúng có thể liên tục phát các gói Broadcast dẫn đến tạo ra hiện tượng Loop
- Về vấn đề cấu hình thiết bị: Vấn đề này có thể là kết quả của việc lắp đặt thiết bị với quá nhiều đường kết nối vật lý dẫn đến Loop. Hoặc có thể do không sử dụng các giao thức Spanning Tree để vô hiệu các đường kết nối dư thừa. Hoặc đôi khi là cấu hình sai BPDU hoặc Root Bridge có thể dẫn đến Loop.
Nếu một hệ thống bị Loop thì dẫn đến các vấn đề như:
  • Tắt nghẽn mạng, làm tăng khả năng sử dụng băng thông, khiến hiệu suất mạng giảm và làm chậm các dịch vụ khác.
  • Việc các gói tin lặp đi lặp lại nhiều lần có thể dẫn đến mất thông tin và giảm độ tin cậy của dữ liệu truyền.
  • Việc mất thời gian để sửa lỗi Loop trong hệ thống mạng dẫn đến gián đoạn các dịch vụ, tăng chi phí bảo trì hệ thống.
  • Ảnh hưởng đến độ tin cậy của mạng, làm giảm tính sẵn sàng của các thiết bị và gián đoạn các dịch vụ.
  • Gây tiêu tốn tài nguyên mạng, lãng phí băng thông và dung lượng.
  • Dữ liệu có nguy cơ bị đánh cắp hoặc bị khai thác.
 
Back
Top