STP và Rapid PVST+: dự phòng mà không tạo vòng lặp

Tính cây STP cho tam giác ba switch theo từng VLAN. Phân biệt root, designated, alternate với trạng thái cổng và tìm nguyên nhân trước khi phục hồi đường dự phòng.
Mạng văn phòng có thêm đường nối giữa hai switch để dự phòng. Ngay sau đó, người dùng mất kết nối chập chờn, bảng MAC thay đổi liên tục và đèn cổng nhấp nháy dày đặc. Nếu các đường cùng chuyển frame trong một vòng kín Layer 2, chính đường dự phòng có thể làm mạng ngừng phục vụ.
STP chọn một cây chuyển tiếp không vòng lặp trên topology vật lý có dự phòng. Rapid PVST+ áp dụng cơ chế RSTP theo từng VLAN trên các nền tảng Cisco hỗ trợ. Bài này theo dõi ba switch, giải thích vì sao một cổng tạm không chuyển dữ liệu và cách xác nhận đó là hành vi đúng.
1. Chốt topology và phạm vi trước khi đọc trạng thái
Trong mô hình biên tập, SW1, SW2 và SW3 tạo thành tam giác. SW1 Gi1/0/23 nối SW2 Gi1/0/24; SW1 Gi1/0/24 nối SW3 Gi1/0/24; SW2 Gi1/0/23 nối SW3 Gi1/0/23. Các đường đều 1 Gb/s, full duplex, trunk cho VLAN 10. Máy A thuộc VLAN 10 trên SW2, máy B cùng subnet trên SW3. Không có EtherChannel, stack hay đường Layer 2 ẩn.
Ta chủ động dùng phương pháp cost dài, mỗi link có cost 20000 trong ví dụ. Không lấy con số này làm mặc định chung cho mọi switch: phiên bản, phương pháp cost và cấu hình thủ công có thể thay đổi giá trị. Luôn đọc trạng thái thật. Cần hiểu VLAN và trunk trước vì VLAN không đi qua link thì trạng thái cây của VLAN ấy không giải thích được luồng dữ liệu.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.
Các lệnh bên dưới minh họa IOS/IOS XE trên Catalyst có Rapid PVST+. Tên interface, cú pháp PortFast và khả năng hỗ trợ phải đối chiếu model/release. Chưa thực thi trên switch thật. Không ghép trực tiếp mô hình lab vào mạng đang vận hành.
2. Vì sao Ethernet cần một cây không vòng lặp?
Switch học MAC nguồn, tra MAC đích trong VLAN rồi forward hoặc flood như bài về bảng MAC. Broadcast ARP phải được chuyển ra nhiều cổng hợp lệ. Nếu bản sao quay lại switch từ hướng khác, Ethernet frame không có trường hop limit tương đương TTL của IPv4 để tự dừng vòng quay ấy. Nhiều bản sao tiếp tục sinh ra, chiếm đường truyền và tài nguyên xử lý.
MAC nguồn cũng có thể xuất hiện luân phiên trên các cổng, khiến switch thay đổi vị trí đã học. Tuy vậy, MAC move riêng lẻ chưa chứng minh có loop: máy ảo di chuyển, chuyển dự phòng hoặc thiết bị nối nhiều đường cũng có thể gây thay đổi. Chẩn đoán cần ghép topology, log, tốc độ broadcast và thời điểm sự cố.
STP trao đổi BPDU để thống nhất root và vai trò cổng. Một số cổng không chuyển frame người dùng cho instance đang xét, nhưng vẫn tham gia cơ chế điều khiển phù hợp. Vì thế link vật lý up và cổng STP discarding có thể cùng đúng. Không dùng no spanning-tree vlan 10 để ép đường dự phòng hoạt động.
PDF gốc, trang vật lý 443–458, trình bày loop, bão quảng bá và bầu bridge. Bài này giữ nguyên cơ chế nền, dựng lại ví dụ và tách trạng thái RSTP khỏi các trạng thái STP cổ điển để tránh trộn hai cách mô tả.
3. Đi từ root bridge tới cổng alternate bằng số cụ thể
Bridge ID nhỏ hơn được ưu tiên. Trong Rapid PVST+ có extended system ID, phần priority hiển thị thường gồm priority cấu hình cộng VLAN ID. Chọn priority SW1 là 4096, SW2 là 8192 và SW3 là 12288. Với VLAN 10, phần này lần lượt là 4106, 8202 và 12298. SW1 thắng trước khi cần so MAC. Nếu priority bằng nhau, phải tiếp tục so thành phần MAC trong BID.
Mỗi switch không phải root chọn root port theo thông tin BPDU tốt nhất và tổng path cost. SW2 tới SW1 trực tiếp hết 20000; vòng qua SW3 hết 40000. SW3 cũng có đường trực tiếp 20000 và đường vòng 40000. Vì vậy hai cổng Gi1/0/24 hướng SW1 là root port.
Trên đoạn SW2–SW3, hai đầu cùng quảng bá cost tới root là 20000. BID của SW2 nhỏ hơn SW3 nên SW2 Gi1/0/23 là designated, còn SW3 Gi1/0/23 là alternate. Nếu vẫn hòa, các tie-break tiếp theo liên quan port ID; không nên rút thành quy tắc “cổng có số nhỏ luôn thắng”.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.
Máy A gửi sang B qua SW2, SW1 rồi SW3. Khi đường SW3–SW1 mất, SW3 có thể dùng hướng SW2 sau quá trình hội tụ, nếu đường đó vẫn đủ điều kiện. Đây là suy luận từ mô hình, chưa phải kết quả đo thời gian phục hồi.
4. Phân biệt vai trò, trạng thái và tốc độ hội tụ
Vai trò trả lời “cổng đứng ở đâu trong cây”: root, designated, alternate hoặc backup. Trạng thái trả lời “cổng đang làm gì”: discarding, learning hay forwarding trong RSTP. Alternate dự phòng một đường tới root; backup dự phòng cho cùng một đoạn LAN trong tình huống chia sẻ thích hợp. Tam giác của ta có alternate, không cần gán thêm backup cho đủ tên.
Rapid PVST+ xây cây theo VLAN, nên VLAN 20 có thể có root và cổng alternate khác VLAN 10 nếu thiết kế như vậy. Cùng một trunk có thể chuyển dữ liệu VLAN này nhưng không chuyển VLAN kia. Khi đọc output, phải giữ nguyên context VLAN; nhìn một dòng của VLAN 10 rồi kết luận mọi VLAN đều bị chặn là sai.
RSTP có cơ chế proposal/agreement và xử lý edge, point-to-point để chuyển trạng thái nhanh hơn trong điều kiện phù hợp. Liên kết cũ, trạng thái vật lý, tương tác STP và loại sự cố có thể làm kết quả khác nhau. Không cam kết một số mili giây cố định hay “mọi lỗi đều phục hồi trong 15 giây”. Thời gian người dùng thấy còn chịu ảnh hưởng của bảng MAC, ARP và ứng dụng.
Hướng dẫn STP của Cisco cho Catalyst 9200 là nguồn đối chiếu về BID, path cost, instance và chế độ. Những con số của tam giác ở đây do biên tập tính theo giả thiết đã nêu.
5. Đặt root có chủ đích và bảo vệ cổng đúng vai trò
Trước thay đổi, lưu cấu hình hiện tại, danh sách root từng VLAN và đường quản trị. Đổi mode STP hoặc priority có thể làm cây hội tụ lại, gián đoạn lưu lượng và phiên SSH. Thực hiện trong lab hoặc cửa sổ thay đổi, có console/đường quay lại. Không dùng thiết lập toàn cục sau như một bước chẩn đoán mặc định.
! Minh họa trên SW1; chỉ dùng sau khi rà soát toàn topology
configure terminal
spanning-tree mode rapid-pvst
spanning-tree pathcost method long
spanning-tree vlan 10 priority 4096
end
! Trên SW2 dùng priority 8192; SW3 dùng 12288.
! Cả ba dùng cùng phương pháp cost trong mô hình này.
Root nên nằm tại vị trí phù hợp luồng mạng, không để một switch bất kỳ thắng chỉ do MAC nhỏ. Priority thấp hơn của SW2 trong ví dụ cũng giúp dự đoán root kế tiếp khi SW1 biến mất; đó không bảo đảm mọi đường dữ liệu vẫn sẵn sàng nếu thiết bị khác hoặc gateway cùng hỏng.
PortFast phù hợp cổng edge nối một máy trạm hoặc server không bridge sang mạng khác. Cấu hình nhầm vào đường nối switch có thể mở forwarding quá sớm. Với cổng người dùng đã xác minh, BPDU Guard đưa cổng vào err-disabled khi nhận BPDU; người dùng trên cổng đó sẽ mất kết nối. Điều tra thiết bị và đường cáp trước khi phục hồi, tránh bật lại cổng khi loop vẫn tồn tại.
Root Guard ngăn phía không được phép trở thành root bằng cách đưa cổng vào root-inconsistent khi nhận thông tin superior. Loop Guard xử lý nguy cơ mất BPDU trên cổng vốn cần nhận BPDU, có thể đưa vào loop-inconsistent. Chúng giải quyết điều kiện khác nhau; không bật cả hai trên cùng cổng. Xem tài liệu các tính năng bảo vệ STP trước khi áp dụng.
6. Kiểm tra từ VLAN và root tới cổng bị nghi ngờ
Bắt đầu bằng lệnh đọc, lưu output cùng thời gian ở cả hai đầu link:
show spanning-tree summary
show spanning-tree vlan 10
show spanning-tree vlan 10 detail
show spanning-tree inconsistentports
show interfaces trunk
show interfaces status err-disabled
show logging
Kỳ vọng của mô hình là SW1 tự nhận root VLAN 10, SW2/SW3 có root port Gi1/0/24, SW3 Gi1/0/23 có vai trò alternate. CLI có thể hiển thị trạng thái bằng ký hiệu như Altn/BLK; đọc legend và mode, không lấy chữ BLK làm bằng chứng thiết bị chạy STP cổ điển. Root ID trên ba switch phải thống nhất sau hội tụ.
Nếu người dùng VLAN 10 mất mạng nhưng cây đúng, kiểm tra VLAN active/allowed, access port, MAC, ARP và gateway. Nếu root đổi bất ngờ, so thời điểm log với thay đổi priority, thiết bị mới và uplink mất. Nếu một cổng inconsistent hoặc err-disabled, đọc nguyên nhân cụ thể trước khi thay cost hoặc shutdown/no shutdown.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.
Số topology change tăng cần được đối chiếu theo khoảng thời gian và thiết bị gây thay đổi. Một lần tăng sau thao tác đã biết không tương đương mạng đang loop. Chụp hai lần, so delta, đọc interface được nhắc tới rồi lần theo nhánh thay đổi. Tránh xóa log hoặc counters trước khi giữ bằng chứng.
7. Tự chứng minh cây đúng và ghi lại giới hạn
Trong lab, ghi cây VLAN 10 trước sự cố, đường đi dự kiến A–B và một phép thử ứng dụng. Ngắt đúng một link đã đánh dấu, ghi root/role mới cùng các lần mất gói; khôi phục và xem cây quay lại. Ping cho biết một phần tính liên tục IP, không chứng minh không mất phiên ứng dụng hoặc mọi VLAN đều ổn. Không rút cáp thử trên production khi chưa có phương án được duyệt.
- Xác định VLAN, mode, cost method và root mong đợi trước khi đọc cổng.
- Tính được vì sao đường 20000 thắng 40000 và vì sao SW2 thắng trên đoạn ngang.
- Phân biệt alternate bình thường với trạng thái do guard hoặc lỗi vật lý.
- Đối chiếu trunk, MAC và gateway khi STP đúng nhưng dịch vụ vẫn lỗi.
- Lưu cấu hình chỉ sau khi root, đường quản trị và dịch vụ đã xác nhận ổn định.
Hồ sơ chuyển giao cần topology có tên cổng, VLAN được thử, mốc thời gian, output trước/sau và phần chưa kiểm tra. PDF trang vật lý 439–462 là nền tảng; Rapid PVST+, extended system ID và guard được bổ sung theo Cisco. Ba sơ đồ là hình biên tập, không trích ảnh sách. Đọc tiếp EtherChannel với LACP để hiểu khi nhiều dây trở thành một cổng logic dưới góc nhìn STP.