Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Per VLAN Spanning Tree (PVST)

    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:
    • STP instance cho VLAN 10
    • STP instance cho VLAN 20
    Và vì mỗi VLAN có cây riêng, nên root bridge, vai trò các port, trạng thái blocking/forwarding cũng có thể khác nhau theo từng VLAN.

    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 topologylogical 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
    Nếu bạn dùng CST (Common Spanning Tree), STP sẽ tính toán một cây cho toàn mạng nên có thể không linh hoạt theo từng VLAN. Còn với PVST, vì mỗi VLAN có cây riêng, nên việc chặn/forwarding có thể được phân bổ theo từng VLAN để tối ưu.
    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.
    Ví dụ thực chiến: 2 VLAN có thể chọn 2 root khác nhau

    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 10root bridge khác
    • VLAN 20root bridge khác
    Khi đó, với VLAN 10 và VLAN 20, các switch sẽ tính toán cây khác nhau:
    • 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
    Ở hình minh họa, bạn sẽ thấy nhãn như “ROOT – VLAN 10” và “ROOT – VLAN 20” đặt tương ứng.

    Đ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
    Mình thường khuyên anh em một câu rất thực dụng trong vận hành:
    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í
    Cách liên hệ vào quản trị mạng: bạn sẽ tối ưu PVST như thế nào?

    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:
    1. 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?
    2. 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.
    3. 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.
    4. Đừ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
    Bonus: câu hỏi thực hành để bạn tự kiểm tra PVST trong lab

    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?
    Attached Files
Working...
X