Dưới vai trò một kỹ sư mạng, một người đã nhiều lần triển khai STP ở quy mô doanh nghiệp và có kinh nghiệm thực chiến như khi thi CCIE, mình sẽ chia sẻ lại đúng tinh thần những kinh nghiệm mình được biết: Per VLAN Spanning Tree (PVST) là phiên bản giúp bạn “tách STP theo từng VLAN” để vừa kiểm soát tốt, vừa tối ưu tài nguyên đường truyền.
PVST là gì và vì sao bạn cần quan tâm?
Trong STP truyền thống (chuẩn 802.1D / và cả CST), ý tưởng là: bạn có một spanning-tree chung cho toàn mạng. Điều này giống như bạn dùng chung “bản đồ đường đi” cho mọi VLAN. Vấn đề là mạng thực tế hiếm khi đồng nhất. Có những VLAN cần đi đường A, có VLAN lại cần đi đường B để tối ưu tải hoặc vì lý do thiết kế.
PVST (Per VLAN Spanning Tree) giải quyết đúng bài toán đó bằng cách tính toán một spanning-tree riêng cho từng VLAN.
Nói cách khác, nếu bạn có VLAN 10 và VLAN 20, thì PVST sẽ tạo ra:
Khác biệt giữa vật lý và logic: vì sao “cùng 1 loop” mà PVST vẫn hiệu quả?
Tài liệu nhấn mạnh một ý quan trọng mà nhiều bạn hay nhầm: giữa physical topology và logical topology.
Bạn có thể đang có một loop vật lý giữa nhiều switch (ví dụ nối dự phòng hai hướng). Tuy nhiên, STP không “cấm loop vật lý”. Nó làm việc ở lớp logic bằng cách:
PVST hoạt động như thế nào trong thực tế?
Tài liệu mô tả bối cảnh: có các switch kết nối với nhau, và các VLAN (ví dụ VLAN 10 và VLAN 20) được cấu hình trên các switch.
Điểm mấu chốt trong file: PVST định nghĩa “mỗi VLAN là một instance STP riêng”.
Đặc biệt:
Giả sử bạn có 3 switch SW1, SW2, SW3 và có 2 VLAN: VLAN 10 và VLAN 20.
Trong mô hình PVST, tài liệu cho thấy có thể xảy ra trường hợp:
Điều này chính là “điểm mạnh” của PVST: khả năng load sharing theo VLAN.
Điều bạn phải nhớ: nếu thiết kế sai thì PVST có thể không “nhả” được tối ưu
Trang tài liệu có tình huống rất “đúng chất lab CCIE” và cũng là lỗi thường gặp trong triển khai thật:
Bạn muốn mỗi VLAN dùng port khác nhau để tránh blocking một cách lãng phí băng thông. Nhưng nếu bạn thiết kế khiến cùng một interface trở thành “điểm nghẽn blocking” cho cả VLAN, thì bạn sẽ mất lợi thế.
Tài liệu mô tả một scenario dạng:
PVST tối ưu chỉ khi đường dự phòng và cấu hình priority/role được thiết kế để mỗi VLAN “đi khác nhau”.
Còn nếu tất cả bị ép cùng logic, bạn vẫn lãng phí.
Thế còn “load sharing” thì đạt được thế nào?
PVST cho phép bạn “tách” root và từ đó port forwarding/blocking theo từng VLAN, giúp bạn chia tải dựa theo VLAN.
Trong ví dụ, tài liệu thể hiện:
Và tài liệu kết luận theo hướng:
Vì tài liệu đang ở mức khái niệm và ví dụ, mình sẽ “chuyển hoá” thành kinh nghiệm quản trị thực chiến (không dùng bảng như bạn yêu cầu), để bạn áp dụng ngay:
Kết luận theo đúng tinh thần tài liệu
PVST (Per VLAN Spanning Tree) là cơ chế STP của Cisco “tách cây” theo từng VLAN:
Nếu bạn muốn “bắt” đúng kiến thức PVST như tài liệu đang dẫn, hãy tự trả lời:
PVST là gì và vì sao bạn cần quan tâm?
Trong STP truyền thống (chuẩn 802.1D / và cả CST), ý tưởng là: bạn có một spanning-tree chung cho toàn mạng. Điều này giống như bạn dùng chung “bản đồ đường đi” cho mọi VLAN. Vấn đề là mạng thực tế hiếm khi đồng nhất. Có những VLAN cần đi đường A, có VLAN lại cần đi đường B để tối ưu tải hoặc vì lý do thiết kế.
PVST (Per VLAN Spanning Tree) giải quyết đúng bài toán đó bằng cách tính toán một spanning-tree riêng cho từng VLAN.
Nói cách khác, nếu bạn có VLAN 10 và VLAN 20, thì PVST sẽ tạo ra:
- STP instance cho VLAN 10
- STP instance cho VLAN 20
Khác biệt giữa vật lý và logic: vì sao “cùng 1 loop” mà PVST vẫn hiệu quả?
Tài liệu nhấn mạnh một ý quan trọng mà nhiều bạn hay nhầm: giữa physical topology và logical topology.
Bạn có thể đang có một loop vật lý giữa nhiều switch (ví dụ nối dự phòng hai hướng). Tuy nhiên, STP không “cấm loop vật lý”. Nó làm việc ở lớp logic bằng cách:
- chọn một số đường để forwarding
- chặn một số đường để tránh broadcast loop
PVST hoạt động như thế nào trong thực tế?
Tài liệu mô tả bối cảnh: có các switch kết nối với nhau, và các VLAN (ví dụ VLAN 10 và VLAN 20) được cấu hình trên các switch.
Điểm mấu chốt trong file: PVST định nghĩa “mỗi VLAN là một instance STP riêng”.
Đặc biệt:
- Theo một phiên bản mặc định trên Cisco từ một release cụ thể trở đi, STP default mode có thể là Rapid và PVST+ là dạng biến thể hoạt động theo PVST/PVST+ (ý chính ở trang này là PVST là mặc định kiểu Cisco theo từng VLAN).
Mình giữ tinh thần kỹ thuật: PVST là cơ chế STP theo từng VLAN của Cisco.
Giả sử bạn có 3 switch SW1, SW2, SW3 và có 2 VLAN: VLAN 10 và VLAN 20.
Trong mô hình PVST, tài liệu cho thấy có thể xảy ra trường hợp:
- VLAN 10 có root bridge khác
- VLAN 20 có root bridge khác
- port nào ở trạng thái forwarding cho VLAN 10 thì có thể khác port ở VLAN 20
- do đó bạn có thể tận dụng đường dự phòng hợp lý hơn
Điều này chính là “điểm mạnh” của PVST: khả năng load sharing theo VLAN.
Điều bạn phải nhớ: nếu thiết kế sai thì PVST có thể không “nhả” được tối ưu
Trang tài liệu có tình huống rất “đúng chất lab CCIE” và cũng là lỗi thường gặp trong triển khai thật:
Bạn muốn mỗi VLAN dùng port khác nhau để tránh blocking một cách lãng phí băng thông. Nhưng nếu bạn thiết kế khiến cùng một interface trở thành “điểm nghẽn blocking” cho cả VLAN, thì bạn sẽ mất lợi thế.
Tài liệu mô tả một scenario dạng:
- nếu làm sao đó khiến SW1 chọn root và dẫn tới việc trên các VLAN, cổng liên quan bị block đồng thời
- kết quả: bạn không đạt được “load sharing”
- nhìn vào hình, có các ký hiệu chặn (blocking) tương ứng
PVST tối ưu chỉ khi đường dự phòng và cấu hình priority/role được thiết kế để mỗi VLAN “đi khác nhau”.
Còn nếu tất cả bị ép cùng logic, bạn vẫn lãng phí.
Thế còn “load sharing” thì đạt được thế nào?
PVST cho phép bạn “tách” root và từ đó port forwarding/blocking theo từng VLAN, giúp bạn chia tải dựa theo VLAN.
Trong ví dụ, tài liệu thể hiện:
- một switch có thể là root cho VLAN này
- switch khác có thể là root cho VLAN kia
- dẫn tới một số port forwarding cho VLAN 10 và port khác forwarding cho VLAN 20
Và tài liệu kết luận theo hướng:
- nếu thiết kế đúng, PVST giúp bạn cân bằng tải đường truyền nhờ thay đổi root và instance theo VLAN
- nếu thiết kế chưa đúng, bạn sẽ rơi lại vào tình huống blocking lãng phí
Vì tài liệu đang ở mức khái niệm và ví dụ, mình sẽ “chuyển hoá” thành kinh nghiệm quản trị thực chiến (không dùng bảng như bạn yêu cầu), để bạn áp dụng ngay:
- Xác định mục tiêu
Bạn muốn VLAN nào đi đường nào? Bạn muốn load share ra sao? - Chọn root bridge theo VLAN
Thực hành thường dùng priority (hoặc cấu hình root theo VLAN). Ý là mỗi VLAN có thể cần root khác nhau. - Kiểm tra trạng thái port theo từng VLAN
PVST không chỉ “root là ai”, mà kéo theo port đó sẽ forwarding/blocking khác nhau theo VLAN. - Đừng quên: một thiết kế loop vật lý vẫn cần STP chọn logic hợp lý
PVST giúp tách logic theo VLAN, nhưng vật lý vẫn là vật lý; nếu cáp/port trunk/VLAN allowed/portfast trunk không đúng, PVST không “ảo” được.
Kết luận theo đúng tinh thần tài liệu
PVST (Per VLAN Spanning Tree) là cơ chế STP của Cisco “tách cây” theo từng VLAN:
- Mỗi VLAN có một spanning-tree riêng
- Root bridge và vai trò port có thể khác nhau theo VLAN
- Nhờ đó bạn có thể đạt load sharing thay vì chỉ một đường forwarding cho mọi VLAN
- Tuy nhiên, nếu thiết kế priority/đường dự phòng không hợp lý, bạn vẫn có thể gặp tình trạng blocking trùng lặp và mất tối ưu
Nếu bạn muốn “bắt” đúng kiến thức PVST như tài liệu đang dẫn, hãy tự trả lời:
- VLAN 10 root là switch nào?
- VLAN 20 root là switch nào?
- Trên cùng một cặp liên kết dự phòng, VLAN 10 và VLAN 20 có cùng port forwarding không?
- Nếu bạn thay đổi priority root của VLAN 10, port trạng thái trên các switch có thay đổi đúng kỳ vọng không?