Trong phần trước, mình đã giới thiệu về cách để bảo vệ STP. Trong phần này mình sẽ nói về các phiên bản nâng cấp của STP.
Có 3 giao thức của STP trong chuẩn 802.1D:
- PVST sử dụng một phiên bản STP riêng cho từng VLAN, cải thiện tính linh hoạt và hiệu suất. PVST yêu cầu các port trunk phải sử dụng đóng gói ISL. PVST và CST không tương thích với nhau.
- PVST+ là phiên bản nâng cao của PVST, tương thích với cả CST và PVST, và hỗ trợ cả đóng gói ISL và 802.1Q. PVST+ là chế độ mặc định trên nhiều nền tảng của Cisco.
Ngoài ra còn có các phiên bản hiện đại hơn là:
- STP bản cũ thì gian hội tụ vào khoảng 30-50 giây, thật không thể chấp nhận một khoảng thời gian lâu như vậy trong mạng ngày nay, người dùng cấm vô switch và phải đợi 50 giây mới được sử dụng. Do đó người ta đã cải tiến, từ tiêu chuẩn 802.1D thành 802.1W và RSTP ra đời.
- RSTP hoạt động cũng như STP:
- Ban đầu, một port bắt đầu ở trạng thái discarding:
- Trong RSTP, các switch sẽ thực hiện quá trình bắt tay trực tiếp với các switch hàng xóm, cho phép đồng bộ hóa nhanh chóng. Điều này cho phép các port chuyển tiếp từ trạng thái discarding sang trạng thái forwarding nhanh chóng mà không cần bộ đếm thời gian delay.
- Một thành phần chính của quy trình RSTP là loại của từng port:
- Quy trình hội tụ RSTP như sau:
- Topology Change Notification(TCN) là thứ giúp cho RSTP nhận biết quá trình thay đổi topology hiệu quả hơn là STP trong 2 trường hợp:
- Một switch nhận được TC BPDU sẽ xóa tất cả các địa chỉ MAC đã học trên các port designated, ngoại trừ port nhận TC BPDU.
- Trong trường hợp thay đổi cấu trúc mạng, RSTP sẽ cho phép các port alternate hoặc backup ngay lập tức chuyển sang trạng thái forwarding. Thêm vào đó, RSTP không cần phải chờ max age timer để chấp nhận một BPDU kém hơn, nếu có sự cố gián tiếp trong topology.
- RSTP hỗ trợ chức năng của UplinkFast và BackboneFast một cách tích hợp.
- RSTP tương thích với STP 802.1D. Nếu một switch không phản hồi RSTP, port sẽ trở lại trạng thái chuyển đổi qua các trạng thái của 802.1D. Lưu ý rằng điều này có nghĩa là tất cả các lợi ích của RSTP sẽ bị mất trên port đó.
- RSTP gần như là giống với với STP kể cả cấu hình, để kích hoạt RSTP trên một switch:
- Multiple Spanning Tree (MST), được định nghĩa trong IEEE 802.1s, cho phép nhóm các VLAN được ánh xạ đến một instance STP. Mỗi MST instance(MSTI) xây dựng cơ sở dữ liệu topology RSTP riêng của nó, bao gồm việc bầu chọn Root Bridge của nó. Một VLAN chỉ có thể được gán cho một instance duy nhất.
- MST còn phân tách topology STP thành các khu vực (regions). Tất cả các switch trong một khu vực phải được cấu hình với các tham số MST giống nhau:
- Internal Spanning Tree (IST) chịu trách nhiệm duy trì topology cho toàn bộ khu vực và tất cả các MSTI. Chỉ IST mới có thể gửi và nhận BPDUs, và nó đóng gói thông tin MSTI trong một BPDU dưới dạng MST record (M-record). IST luôn được ánh xạ đến instance 0.
- MST tương thích với tất cả các triển khai khác của STP. Một khu vực MST không bị phát hiện bởi các switch không phải MST, và chúng sẽ thấy toàn bộ khu vực MST như một switch 802.1D hoặc RSTP.
- Để mở chế độ MST trên switch:
- Để thay đổi các tham số của MST cần phải vào mode cấu hình:
- Để gán tên MST và revision number:
- Để gán VLAN vào một MSTI:
- Để xem các thay đổi đối với cấu hình:
- Tất cả các tham số MST khác đều được cấu hình tương tự như 802.1D STP, với hai ngoại lệ:
V. Versions of STP
Có 3 giao thức của STP trong chuẩn 802.1D:
- Common Spanning Tree (CST)
- Per-VLAN Spanning Tree (PVST)
- Per-VLAN Spanning Tree Plus (PVST+)
- PVST sử dụng một phiên bản STP riêng cho từng VLAN, cải thiện tính linh hoạt và hiệu suất. PVST yêu cầu các port trunk phải sử dụng đóng gói ISL. PVST và CST không tương thích với nhau.
- PVST+ là phiên bản nâng cao của PVST, tương thích với cả CST và PVST, và hỗ trợ cả đóng gói ISL và 802.1Q. PVST+ là chế độ mặc định trên nhiều nền tảng của Cisco.
Ngoài ra còn có các phiên bản hiện đại hơn là:
- Rapid Spanning Tree Protocol (RSTP)
- Multiple Spanning Tree (MST)
1. Rapid spanning tree Protocol(RSTP)
- STP bản cũ thì gian hội tụ vào khoảng 30-50 giây, thật không thể chấp nhận một khoảng thời gian lâu như vậy trong mạng ngày nay, người dùng cấm vô switch và phải đợi 50 giây mới được sử dụng. Do đó người ta đã cải tiến, từ tiêu chuẩn 802.1D thành 802.1W và RSTP ra đời.
- RSTP hoạt động cũng như STP:
- Gửi các gói BPDU giữa các switch
- Chọn ra một root bridge dựa trên Bridge ID nhỏ nhất.
- Root và designated port được chọn và hoạt động y như STP.
- Root port: port có path cost đến root bridge nhỏ nhất. Một switch chỉ có 1 root port.
- Alternate port: Port dự phòng cho root port.
- Designated port: Port không phải root port dùng để làm port chuyển tiếp cho segment
- Backup port: Port dự phòng cho Designated port.
- Ban đầu, một port bắt đầu ở trạng thái discarding:
- Một port discarding sẽ không chuyển tiếp các frame hoặc học các địa chỉ MAC.
- Một port discarding sẽ lắng nghe các BPDU.
- Các port alternate và backup sẽ vẫn ở trạng thái discarding.
- Một port learning sẽ bắt đầu thêm các địa chỉ MAC vào bảng CAM.
- Tuy nhiên, một port learning vẫn chưa thể chuyển tiếp các frame.
- Một port forwarding hoàn toàn hoạt động – nó sẽ gửi và lắng nghe các BPDU, học các địa chỉ MAC, và chuyển tiếp các frame.
- Các root port và designated sẽ cuối cùng chuyển sang trạng thái forwarding.
- BPDU được tạo ra bởi tất cả switch, và được gửi ở khoảng thời gian gửi gói hello.
- Các switch không còn phải đợi 3 trạng thái Disabled, Blocking, Listening mà được gộp lại thành Discarding.
- Switch không còn yêu cầu các bộ đếm thời gian ảo forward delay.
- Trong RSTP, các switch sẽ thực hiện quá trình bắt tay trực tiếp với các switch hàng xóm, cho phép đồng bộ hóa nhanh chóng. Điều này cho phép các port chuyển tiếp từ trạng thái discarding sang trạng thái forwarding nhanh chóng mà không cần bộ đếm thời gian delay.
- Một thành phần chính của quy trình RSTP là loại của từng port:
- Edge: port kết nối với một host. Port này hoạt động giống như một port được kích hoạt PortFast, chuyển ngay lập tức sang trạng thái forwarding.
- Root: port kết nối với một switch khác, và có chi phí đường dẫn tốt nhất đến Root Bridge.
- Point-to-Point: port kết nối với một switch khác, với khả năng trở thành port designated cho một segment.
- Quy trình hội tụ RSTP như sau:
- Các switch trao đổi BPDU để bầu chọn Root Bridge.
- Các port Edge ngay lập tức chuyển sang trạng thái forwarding.
- Tất cả các root port và point-to-point bắt đầu ở trạng thái discarding.
- Nếu một port nhận được một BPDU ưu tiên hơn, nó sẽ trở thành root port và chuyển ngay lập tức sang trạng thái forwarding.
- Đối với port point-to-point, mỗi switch sẽ trao đổi một tiến trình bắt tay để xác định port nào trở thành designated.
- Khi các switch đồng ý, port designated sẽ ngay lập tức chuyển sang trạng thái forwarding.
- Topology Change Notification(TCN) là thứ giúp cho RSTP nhận biết quá trình thay đổi topology hiệu quả hơn là STP trong 2 trường hợp:
- Khi mà port chuyển sang trạng thái forwarding.
- Khi mà port chuyển sang trạng thái blocking hoặc down.
- Một switch nhận được TC BPDU sẽ xóa tất cả các địa chỉ MAC đã học trên các port designated, ngoại trừ port nhận TC BPDU.
- Trong trường hợp thay đổi cấu trúc mạng, RSTP sẽ cho phép các port alternate hoặc backup ngay lập tức chuyển sang trạng thái forwarding. Thêm vào đó, RSTP không cần phải chờ max age timer để chấp nhận một BPDU kém hơn, nếu có sự cố gián tiếp trong topology.
- RSTP hỗ trợ chức năng của UplinkFast và BackboneFast một cách tích hợp.
- RSTP tương thích với STP 802.1D. Nếu một switch không phản hồi RSTP, port sẽ trở lại trạng thái chuyển đổi qua các trạng thái của 802.1D. Lưu ý rằng điều này có nghĩa là tất cả các lợi ích của RSTP sẽ bị mất trên port đó.
- RSTP gần như là giống với với STP kể cả cấu hình, để kích hoạt RSTP trên một switch:
Bash:
Switch(config)# spanning-tree mode rapid
2. Mulitple spanning tree (MST)
- Multiple Spanning Tree (MST), được định nghĩa trong IEEE 802.1s, cho phép nhóm các VLAN được ánh xạ đến một instance STP. Mỗi MST instance(MSTI) xây dựng cơ sở dữ liệu topology RSTP riêng của nó, bao gồm việc bầu chọn Root Bridge của nó. Một VLAN chỉ có thể được gán cho một instance duy nhất.
- MST còn phân tách topology STP thành các khu vực (regions). Tất cả các switch trong một khu vực phải được cấu hình với các tham số MST giống nhau:
- 32-byte đặt tên
- 16-bit revision number
- VLAN-to-instance mapping database
- Internal Spanning Tree (IST) chịu trách nhiệm duy trì topology cho toàn bộ khu vực và tất cả các MSTI. Chỉ IST mới có thể gửi và nhận BPDUs, và nó đóng gói thông tin MSTI trong một BPDU dưới dạng MST record (M-record). IST luôn được ánh xạ đến instance 0.
- MST tương thích với tất cả các triển khai khác của STP. Một khu vực MST không bị phát hiện bởi các switch không phải MST, và chúng sẽ thấy toàn bộ khu vực MST như một switch 802.1D hoặc RSTP.
- Để mở chế độ MST trên switch:
Bash:
Switch(config)# spanning-tree mode mst
Bash:
Switch(config)# spanning-tree mst configuration
Switch(config-mst)#
Bash:
Switch(config-mst)# name MYMSTNAME
Switch(config-mst)# revision 2
Bash:
Switch(config-mst)# instance 2 vlan 1-100
Switch(config-mst)# instance 3 vlan 101-200
Bash:
Switch(config-mst)# show pending
- Tham số mst phải được sử dụng trên tất cả các lệnh.
- Tất cả các lệnh tham chiếu đến instance MST thay vì một VLAN.
Bash:
Switch(config)# spanning-tree mst 2 root primary