Trong bài giới thiệu về giao thức STP, ta đã biết rằng giao thức STP thực hiện chặn vòng lặp trong mạng bằng cách đặt các cổng của bộ chuyển mạch ở các trạng thái khác nhau dựa trên tiêu chí lựa chọn của Root Bridge. Trong bài viết này, chúng ta sẽ đi tìm hiễu rõ hơn về các trạng thái cổng (Port States) trong giao thức STP.
Trong giao thức STP các cổng có các trạng thái sau:
1. Trạng thái chặn (Blocking)
Trạng thái cổng Blocking là trạng thái ban đầu của một cổng khi STP mới được kích hoạt hoặc khi một cổng được thêm vào mạng. Mục đích chính của trạng thái Blocking là ngăn chặn việc chuyển tiếp dữ liệu trước khi cây cầu (bridge) xây dựng được.
Trong trạng thái này, cổng không tham gia vào việc chuyển tiếp dữ liệu, đảm bảo rằng không có dữ liệu nào được truyền qua cổng này.
Cổng ở trạng thái Blocking chỉ lắng nghe các gói tin BPDU (Bridge Protocol Data Units) từ các switch khác trong mạng. Cổng tiếp tục gửi các gói tin BPDU mà nó nhận được ra ngoài để thông báo về sự tồn tại của nó và giữ cho các switch khác trong mạng biết về sự tồn tại của nó.
Trong trạng thái Blocking, switch thực hiện kiểm tra và xác định xem có vòng lặp nào trong mạng không. Các thông điệp BPDU được sử dụng để xác định cây cầu (bridge) có thể hoặc không thể sử dụng cổng này mà không gây ra vòng lặp.
Cổng thường ở trong trạng thái Blocking trong một khoảng thời gian nhất định (20 giây) để đảm bảo rằng mạng đã xây dựng cây cầu ổn định trước khi chuyển sang trạng thái tiếp theo.
2. Trạng thái nghe (Listening)
Trạng thái cổng Listening là trạng thái mà cổng tiếp theo sau trạng thái Blocking. Trong trạng thái này, cổng vẫn không chuyển tiếp dữ liệu giống như trong trạng thái Blocking. Tuy nhiên, cổng bắt đầu lắng nghe các gói tin BPDU từ các switch khác trong mạng để xác định cây cầu có thể sử dụng cổng này mà không gây ra vòng lặp.
Khi đang ở trạng thái Listening, switch thực hiện một số kiểm tra trước hoạt động để đảm bảo rằng việc chuyển đổi từ trạng thái Blocking sang trạng thái Forwarding không gây ra vấn đề về sự hình thành của các vòng lặp trong mạng.
Cổng thường ở trong trạng thái Listening trong khoảng 15 giây rồi chuyển sang Learning và được quy định bởi các tham số của giao thức STP, trước khi chuyển sang trạng thái tiếp theo.
Mục tiêu của trạng thái Listening là đảm bảo rằng việc chuyển đổi từ trạng thái Blocking sang trạng thái Forwarding được thực hiện một cách an toàn và không gây ra vấn đề về sự hình thành của các vòng lặp trong mạng.
3. Trạng thái học (Learning)
Trạng thái Learning là trạng thái tiếp theo sau Listenning. Mục đích chính của trạng thái Learning là cho phép switch học địa chỉ MAC của các thiết bị mạng kết nối vào cổng này và thêm chúng vào bảng địa chỉ MAC của switch.
Trong trạng thái này, switch vẫn không chuyển tiếp dữ liệu nhưng bắt đầu học các địa chỉ MAC từ các thiết bị mạng gửi dữ liệu vào cổng này. Cổng vẫn tiếp tục lắng nghe các gói tin BPDU từ các switch khác trong mạng để tiếp tục xác định cây cầu có thể sử dụng cổng này mà không gây ra vòng lặp.
Trong trạng thái Learning, switch lắng nghe dữ liệu từ các thiết bị kết nối vào cổng và học địa chỉ MAC của chúng. Mỗi địa chỉ MAC được học sẽ được thêm vào bảng địa chỉ MAC của switch, giúp switch biết cách chuyển tiếp dữ liệu cho các thiết bị kết nối.
Dù đã học được địa chỉ MAC, switch vẫn không chuyển tiếp dữ liệu trong trạng thái Learning. Dữ liệu vẫn không được gửi qua cổng này. Cổng thường ở trong trạng thái Learning 15 giây trước khi chuyển tiếp sang trạng thái Forwarding.
Mục tiêu của trạng thái Learning là xây dựng bảng địa chỉ MAC để switch biết cách chuyển tiếp dữ liệu cho các thiết bị kết nối và chuẩn bị cho việc chuyển sang trạng thái Forwarding.
4. Trạng thái chuyển tiếp (Forwarding)
Mục đích chính của trạng thái Forwarding là cho phép cổng chuyển tiếp dữ liệu giữa các thiết bị trong mạng. Trong trạng thái này, cổng đã hoàn tất quá trình học địa chỉ MAC và đã sẵn sàng chuyển tiếp dữ liệu.
Cổng ở trạng thái Forwarding chuyển tiếp dữ liệu giữa các thiết bị mạng kết nối vào cổng này. Dữ liệu được chuyển tiếp theo các định tuyến đã được xác định trước bởi STP và các gói tin được chuyển tiếp đến đích một cách an toàn.
Trong trạng thái Forwarding, cổng hoạt động bình thường như một cổng trong mạng LAN, truyền dữ liệu từ các thiết bị một cách chính xác. Mục tiêu chính của trạng thái Forwarding là đảm bảo rằng không có vòng lặp trong mạng bằng cách chọn ra các đường dẫn tối ưu và loại bỏ các đường dẫn không cần thiết.
Các switch trong trạng thái Forwarding thực hiện định tuyến dựa trên thông tin trong bảng địa chỉ MAC và các thông tin topolog của mạng, để chọn ra đường dẫn tối ưu nhất để chuyển tiếp dữ liệu.
5. Trạng thái vô hiệu hóa (Disabled)
Trạng thái Disabled đại diện cho việc cổng hoặc switch không tham gia vào quá trình xây dựng và duy trì cây cầu (bridge) thông qua giao thức STP. Một cổng hoặc switch được đưa vào trạng thái Disabled thường do quản trị viên hoặc hệ thống tự động vô hiệu hóa để loại bỏ khỏi mạng hoặc để thực hiện bảo trì.
Trong trạng thái Disabled, cổng hoặc switch không hoạt động và không tham gia vào việc chuyển tiếp dữ liệu hoặc trao đổi thông điệp STP. Cổng hoặc switch sẽ không lắng nghe hay gửi bất kỳ thông điệp BPDU nào và không thể tham gia vào quá trình xây dựng cây cầu ổn định.
Mục tiêu của trạng thái Disabled là loại bỏ một phần của mạng hoặc một switch cụ thể khỏi hoạt động của STP để thực hiện các tác vụ bảo trì hoặc để kiểm soát lưu lượng mạng.
Dưới đây là bảng tổng hợp đặc điểm của các trạng thái cổng trong STP:
Trạng thái cổng STP | Nhận gói tin BPDU | Gửi gói tin BPDU | Học địa chỉ MAC | Chuyển tiếp gói dữ liệu |
Blocking | Có | Có | Không | Không |
Listenning | Có | Có | Không | Không |
Learning | Có | Có | Có | Không |
Forwarding | Có | Có | Có | Có |
Disabled | Có | Không | Không | Không |
Nếu bạn đã dùng các sản phẩm Switch Cisco. Ta sẽ thấy rằng khi cắm cáp vào cổng, đèn led trên giao diện sẽ chuyển từ màu cam sang màu xanh lục. Điều này là quá trình chuyển đổi trạng thái cổng. Và khoảng thời gian mà chuyển đổi màu này sẽ tầm khoảng 60 giây.
Mong rằng qua bài viết này, bạn đã có cái nhìn chi tiết hơn về giao thức STP và các trạng thái cổng trên STP để hiểu cách giao thức này ngăn chặn vòng lặp và hoạt động như thế nào?
Thông Tin Về Tác Giả
Nguyễn Thành Hợp là một chuyên gia về lĩnh vực thiết bị mạng, viễn thông gần 10 năm kinh nghiệm với nhiều chứng chỉ chất lượng như CCNA 200-301, CCNP, CCDA, CCDP,... do Cisco cung cấp. Sở thích cá nhân là khám phá những kiến thức mới mẻ về công nghệ nói chung và đặc biệt là liên quan đến lĩnh vực mạng!