Trong bài viết này, Mình xin giới thiệu một cách tổng quan nhất về giao thức STP (Spanning Tree Protocol). Đây là một giao thức quan trọng nhằm hỗ trợ các tính năng dự phòng và chặn vòng lặp trên Switch Layer 2.
Mình sẽ đi từ khái niệm, tác dụng, các định nghĩa liên quan, cách hoạt động và cách cấu hình giao thức STP. Mong rằng qua bài viết này bạn sẽ hiểu một cách sâu sắc về giao thức này!
NỘI DỤNG BÀI VIẾT
Giới thiệu giao thức Spanning Tree Protocol


Giao thức Spanning Tree (STP) là một giao thức mạng được sử dụng trong các mạng Ethernet để ngăn chặn và loại bỏ các vòng lặp trong cấu trúc mạng chuyển mạch (switched network).
Giao thức Spanning Tree hoạt động ở tầng 2 trong mô hình OSI, cụ thể là tầng mạng cấu hình (Data Link Layer). Nó quản lý các thiết bị mạng như bridge và switch để ngăn chặn vòng lặp trong mạng.
Giao thức Spanning Tree được chuẩn hóa dưới IEEE 802.1D. Chuẩn này xác định các quy tắc và thuật toán cụ thể mà các thiết bị mạng phải tuân theo để xây dựng cây liên kết và loại bỏ các vòng lặp.
Mục tiêu chính của STP là ngăn chặn và loại bỏ các vòng lặp trong mạng. Vòng lặp có thể dẫn đến các vấn đề như lưu lượng mạng trôi dạt, trạng thái đính kèm của gói tin, và làm quá tải các thiết bị mạng. STP giúp đảm bảo rằng chỉ có một đường dẫn duy nhất giữa các thiết bị mạng, đồng thời các đường dẫn dự phòng được xác định để sử dụng khi đường dẫn chính gặp sự cố.
Hiễu rõ tác dụng của giao thức STP


Giao thức STP có một số tác dụng quan trọng trong mạng Ethernet:
- Loại bỏ vòng lặp: Tác dụng quan trọng nhất của STP là ngăn chặn và loại bỏ các vòng lặp trong mạng. Khi có nhiều đường dẫn giữa các switch trong mạng, vòng lặp có thể xảy ra dễ dàng, và chúng có thể gây ra các vấn đề nghiêm trọng như lưu lượng mạng trôi dạt (broadcast storms) và làm quá tải các thiết bị mạng. STP giúp đảm bảo rằng chỉ có một đường dẫn hoạt động trong mạng, đồng thời tạo ra các đường dẫn dự phòng để sử dụng khi đường dẫn chính gặp sự cố.
- Cung cấp dự phòng: STP cung cấp tính sẵn sàng và tin cậy cho mạng bằng cách tự động chuyển từ các đường dẫn dự phòng sang đường dẫn chính khi cần thiết. Nếu một đường dẫn chính gặp sự cố (ví dụ: một switch bị hỏng), STP sẽ kích hoạt một đường dẫn dự phòng để thay thế ngay lập tức.
- Phân phối tải: Một số biến thể của STP, như Rapid Spanning Tree Protocol (RSTP) và Multiple Spanning Tree Protocol (MSTP), cho phép phân phối tải trên các đường dẫn chính và dự phòng. Điều này có nghĩa là mạng có thể sử dụng nhiều đường dẫn đồng thời để tải lưu lượng mạng và tăng hiệu suất.
- Quản lý cấu hình: STP cung cấp khả năng tự động cấu hình cây liên kết của mạng, giúp giảm thiểu công việc cấu hình thủ công và tiềm ẩn sai sót. Khi mạng thay đổi (thêm hoặc loại bỏ switch, cổng, hoặc đường dẫn), STP sẽ cập nhật cây liên kết mạng một cách tự động.
STP đảm bảo tính ổn định, sẵn sàng, và tin cậy của mạng Ethernet bằng cách loại bỏ vòng lặp và quản lý đường dẫn mạng một cách hiệu quả. Điều này giúp tránh được các vấn đề tiềm ẩn và đảm bảo rằng mạng hoạt động một cách trơn tru và hiệu quả.
Giao thức STP hoạt động như thế nào?
Giao thức Spanning Tree hoạt động bằng cách xác định cây liên kết (spanning tree) trong một mạng Ethernet để loại bỏ các vòng lặp và đảm bảo tính ổn định của mạng. Dưới đây là một phân tích chi tiết về cách STP hoạt động:
Xác định Bridge Root (Bridge Gốc):
- Mạng STP bắt đầu bằng việc các switch trong mạng xác định bản sao của mình gọi là Bridge Identifier (ID Bridge).
- Bridge ID bao gồm Bridge Priority (ưu tiên cầu truyền) và địa chỉ MAC của switch (MAC Address).
- Ban đầu, mọi switch tự xem mình là Root Bridge (Bridge Gốc) ứng với Bridge Priority thấp nhất.


Chọn Root Bridge:
- Các switch trong mạng gửi thông điệp Bridge Protocol Data Units (BPDU) qua các cổng của mình để thông báo về Bridge ID của mình.
- Khi một switch nhận được BPDU từ một switch khác, nó so sánh thông tin Bridge ID trong BPDU với Bridge ID của mình.
- Nếu Bridge ID trong BPDU là thấp hơn, switch sẽ cập nhật Bridge ID của mình và chuyển tiếp BPDU này.
- Quá trình này tiếp tục cho đến khi một switch trở thành Root Bridge với Bridge ID thấp nhất trong mạng.


Tính toán đường dẫn đến Root Bridge:
- Sau khi Root Bridge đã được xác định, mỗi switch tính toán đường dẫn tới Root Bridge thông qua các cổng của mình.
- Switch gán một Metric (đánh giá) cho mỗi đường dẫn, thường là khoảng cách đến Root Bridge dựa trên số lần truyền đi qua các switch khác.
- Switch chọn một cổng có Metric thấp nhất để trở thành đường dẫn chính đến Root Bridge và tắt các cổng còn lại.


Loại bỏ Các Đường Dẫn Dự Phòng:
- STP xác định các đường dẫn dự phòng bằng cách chọn các đường dẫn không chính để trở thành các đường dẫn dự phòng.
- Các đường dẫn dự phòng được sử dụng khi đường dẫn chính gặp sự cố, đảm bảo tính sẵn sàng và tin cậy của mạng.


Theo Dõi và Cập Nhật:
- STP duy trì theo dõi liên tục về trạng thái của các đường dẫn và Root Bridge.
- Khi một sự cố xảy ra (như sự cố switch hoặc cổng), STP sẽ cập nhật cây liên kết và chuyển đổi sang các đường dẫn dự phòng nếu cần.
Truyền BPDU Định Kỳ:
- Các switch liên tục truyền các BPDU để duy trì thông tin cấu trúc mạng.
- Nếu một switch ngừng truyền BPDU trong một khoảng thời gian, các switch khác có thể xem xét rằng nó đã gặp sự cố và thực hiện cập nhật cây liên kết.


Giải thích các khái niệm liên quan đến giao thức STP
Khi tìm hiểu về giao thức Spanning Tree (STP), có một số định nghĩa quan trọng mà bạn nên hiểu để có kiến thức cơ bản về cách giao thức này hoạt động. Dưới đây là một số định nghĩa quan trọng:
Bridge ID:
- Bridge ID là một giá trị duy nhất dùng để xác định một switch trong mạng.
- Nó bao gồm Bridge Priority (ưu tiên cầu truyền) và địa chỉ MAC của switch.
Bridge Priority (Bridge ưu tiên):
- Bridge Priority là một giá trị dùng để xác định mức độ quan trọng của một switch trong việc xác định Root Bridge (Bridge Gốc).
- Switch với Bridge Priority thấp hơn có ưu tiên cao hơn trong việc trở thành Root Bridge.
Root Bridge (Bridge Gốc):
- Root Bridge là switch có Bridge ID thấp nhất trong mạng và là trung tâm của cây liên kết (spanning tree) mà các switch khác kết nối đến.
- Root Bridge là điểm cuối của tất cả các đường dẫn trong cây liên kết.
BPDU (Bridge Protocol Data Unit):
- BPDU là các gói tin dữ liệu chuyên dụng sử dụng bởi STP để trao đổi thông tin giữa các switch trong mạng.
- Chúng chứa thông tin về Bridge ID, đường dẫn, và các thông tin khác về cấu trúc cây liên kết.
Cây Liên Kết (Spanning Tree):
- Cây liên kết là một đồ thị phân nhánh không có vòng lặp được tạo ra bởi STP trong mạng Ethernet.
- Nó bao gồm các switch và các đường dẫn giữa chúng, với Root Bridge ở trung tâm.
Đường Dẫn Chính (Root Port):
- Đường dẫn chính là cổng trên một switch được chọn làm đường dẫn chính để kết nối đến Root Bridge.
- Đường dẫn chính có Metric (đánh giá) thấp nhất trong các đường dẫn từ switch đó đến Root Bridge.
Đường Dẫn Dự Phòng (Backup Port):
- Đường dẫn dự phòng là các cổng trên một switch được dự phòng để sử dụng khi đường dẫn chính gặp sự cố.
- Các đường dẫn dự phòng có Metric (đánh giá) cao hơn so với đường dẫn chính.
Root Port Election (Quyết định Đường Dẫn Chính):
Quá trình trong đó các switch trong mạng xác định cổng trên mình là cổng đường dẫn chính đến Root Bridge dựa trên Bridge ID và Metric.
STP State (Trạng Thái STP):
- Các cổng trên switch có thể có các trạng thái khác nhau trong quá trình STP hoạt động, bao gồm Blocking, Listening, Learning, và Forwarding.
- Trạng thái này xác định cách cổng tham gia vào cây liên kết và xử lý gói tin dữ liệu.
Cấu hình giao thức STP trên Switch Cisco
Để cấu hình giao thức Spanning Tree trên một switch Cisco, bạn cần truy cập giao diện dòng lệnh (CLI – Command Line Interface) của switch thông qua Telnet, SSH, hoặc console. Dưới đây là một ví dụ cơ bản về cách cấu hình STP trên một switch Cisco sử dụng giao thức STP chuẩn (IEEE 802.1D):
1. Truy cập Command Line Interface (CLI):
Sử dụng một phần mềm kết nối SSH, Telnet hoặc console để truy cập giao diện dòng lệnh của switch Cisco.
Đăng nhập bằng tài khoản quản trị có đặc quyền để thực hiện các thay đổi cấu hình.
2. Vào chế độ cấu hình:
Sau khi đăng nhập, bạn cần vào chế độ cấu hình bằng cách nhập lệnh sau:
enable
configure terminal
3. Cấu hình giao thức STP:
Để cấu hình giao thức Spanning Tree, bạn sử dụng lệnh spanning-tree trong chế độ cấu hình. Dưới đây là ví dụ cách cấu hình giao thức STP:
spanning-tree mode <mode>
Trong đó <mode> là chế độ STP bạn muốn sử dụng. Các chế độ thường gặp bao gồm:
- Spanning-tree mode pvst: Per-VLAN Spanning Tree, cho phép STP cho từng VLAN riêng biệt.
- Spanning-tree mode rapid-pvst: Rapid Per-VLAN Spanning Tree, phiên bản cải tiến của PVST với thời gian hồi phục nhanh hơn.
- Spanning-tree mode mst: Multiple Spanning Tree, cho phép định cấu hình nhiều cây liên kết Spanning Tree trên cùng một switch.
Ví dụ:
spanning-tree mode pvst
4. Lưu cấu hình:
Sau khi bạn đã cấu hình giao thức STP, hãy lưu cấu hình để đảm bảo rằng nó sẽ tự động khởi động lại sau khi switch được khởi động lại. Sử dụng lệnh sau:
end
write memory
Hoặc bạn có thể sử dụng lệnh ngắn gọn “wr” thay cho “write memory”.
5. Thoát khỏi chế độ cấu hình:
Cuối cùng, thoát khỏi chế độ cấu hình bằng lệnh sau:
exit
Tổng Kết:
Tóm lại, giao thức STP là một công cụ quan trọng giúp xây dựng và duy trì các mạng Ethernet an toàn và hiệu quả. Nó đóng vai trò quan trọng trong quản lý mạng và đảm bảo tính ổn định của hạ tầng mạng, đặc biệt khi mạng có nhiều switch và cấu hình phức tạp.
Mong rằng qua bài viết này, bạn đã hiểu rõ về giao thức STP. Nếu có bất kỳ thắc mắc nào hãy để lại dưới phần bình luận để mình hỗ trợ giải đáp.
Xem thêm các bài viết khác:
Giao thức là gì
NAT là gì
Giao thức ACL là gì?
Tìm hiểu giao thức DHCP snooping