Ta đã biết IEEE 802.1q không chỉ định nghĩa làm sao mà các vlan có thể trunking qua các switch , nó còn chỉ ra rằng chỉ có một tiến trình STP duy nhất chạy trên toàn bộ các vlan mà thôi.
Trang 1Bài viết này nhằm phân biệt các loại STP Ta có thể chia ra các loại sau :
- CST
- PVST
- PVST+
- MST ( IEEE 802.1s)
- IST
- STP ( dạng truyền thống 802.1d )
- RSTP ( IEEE 802.1w)
1 CST : Common Spanning Tree
Ta đã biết IEEE 802.1q không chỉ định nghĩa làm sao mà các vlan có thể trunking qua các switch , nó còn chỉ ra rằng chỉ có một tiến trình STP duy nhất chạy trên toàn bộ các vlan mà thôi Và tiến trình duy nhất này người ta gọi tên là CST Tất cả các CST
BPDUs được vận chuyển trên đường trunk bằng native vlan với các untagged frame Việc chạy duy nhất một tiến trình STP có lợi ở chỗ nó không tiêu tốn nhiều khả năng xử
lí của CPU khi phải tính toán lại STP topology , cũng như làm cho công việc cấu hình của chúng ta trở nên đơn giản Tuy nhiên , nó hạn chế ở chỗ sẽ không cho phép load balancing được thực hiện
2 PVST : per VLan Spanning Tree
Đây là một version độc quyền của Cisco , cho phép hoạt động linh hoạt hơn CST Mỗi
vlan sẽ chạy một tiến trình STP riêng biệt và không bị phụ thuộc lẫn nhau
Ưu điểm : làm giảm kích thước của STP topology , chia ra làm các topology nhỏ hơn ,
dẫn đến thời gian converge của STP giảm xuông Thêm vào đó , nó còn cung cấp thêm khả năng load balancing
Khuyết điểm : sử dụng nhiều tài nguyên của CPU trong việc quản lí nhiều vlan PVST
sử dụng ISL trunking nên đối với một mạng tồn tại 2 dạng STP là PVST và CST thì sẽ
dẫn đến không tương thích về mặt trunking ( CST xài dot1q ) Do đó BPDUs sẽ không được quảng bá giữa 2 loại STP này
3 PVST+ : per Vlan Spanning Tree Plus
Cisco tung ra một version khác của STP là PVST+ nhằm giải quyết vấn đề tương thích giữa CST và PVST PVST+ đảm nhiệm vai trò như là một translator giữa PVST và CST PVST+ có thể giao tiếp với PVST qua kết nối ISL trunking , ngược lại PVST+ có thể giao tiếp với CST qua kết nối dot1q trunking Tại biên giới của PVST và PVST+ sẽ diễn ra việc mapping STP one-to-one Tại biên giới của PVST+ và CST sẽ diễn ra việc mapping giữa một STP của CST và một PVST trong PVST+ ( STP trong CST chỉ có một
mà thôi )
Trong hình trên có một kí hiệu là MST , nhưng MST ở đây không phải là Multiple
Spanning tree mà là Mono Spanning tree Ta có thể hiểu MST trong trường hợp này
Trang 2đồng nghĩa với lại CST
4 MST : Multiple Spanning Tree
Trong hầu hết các network , một switch đều có kết nối dự phòng tới switch khác Ví dụ một access-layer switch sẽ có 2 kết nối uplink đến 2 distribution / core switch khác nhau Khi STP hoạt động ở dạng CST thì chỉ có một kết nối là forwarding và kết nối kia rơi vào trạng thái blocking Như vậy chúng ta đã lãng phí mất một kết nối Chúng ta sẽ sắp xếp làm sao đó để sử dụng đồng thời 2 kết nối trên nhằm mục đích load balancing PVST+
có vẻ là một lựa chọn hấp dẫn , vì nó cho phép các vlan khác nhau tạo ra những loop-free topology khác nhau và chạy trên các đường uplink khác nhau Tuy nhiên , nếu số lượng Vlan tăng lên , đồng nghĩa với việc xuất hiện nhiều STP instance hơn sẽ làm cho CPU tiêu tốn nhiều resource hơn
Nghĩ xa hơn , ví dụ chúng ta có 100 Vlan tương ứng chúng ta cũng sẽ có 100 loop-free topology Nhưng 100 topology này có một điểm chung là đều đi qua một trong 2 kết nối uplink
Trong hình trên , có 2 STP instance , mỗi instance chạy cho một vlan Topology cho mỗi instance là độc lập và được chỉ ra như hình vẽ Vlan A có thể chọn đường uplink bên trái
để đi , và blocking đường uplink bên phải Tương tự , Vlan B có thể chọn đường uplink bên phải để đi và blocking đường uplink bên trái Như vậy cả 2 đường uplink đều được
sử dụng , load balancing đã được thực hiện Không loại trừ trường hợp cả vlan A và Vlan B đều tính toán và chọn ra đi một đuờng uplink duy nhất ( ví dụ đường uplink bên phải ) Tuy nhiên chúng ta sẽ phải can thiệp vào quá trình tính toán của chúng bằng cách cấu hình sao cho cả 2 đường đều được sử dụng
Cũng với hình này , nếu chúng ta có 100 vlan thì topology của các instance tính toán được cũng chỉ đi qua một trong 2 kết nối uplink mà thôi Như vậy việc sử dụng tới 100 STP instance trong khi topology thì chỉ đi qua một trong 2 đường uplink sẽ làm tiêu tốn rất nhiều resource của CPU Ta sẽ hạn chế số instance lại bằng cách cho instance thứ nhất chạy cho 1 range vlan ( ví dụ từ 1-50 ) , instance thứ 2 chạy cho range vlan từ
51-100 Chúng ta đã hạn chế được số lượng instance đồng thời vẫn đảm bảo cho load
balancing hoạt động
Ví dụ cấu hình load balancing
Ta sẽ cấu hình sao cho range vlan 3-6 sẽ lấy đường trunk 2 làm forwarding và trunk 1 là blocking Trong khi đó , range vlan 8-10 sẽ lấy đường trunk 1 làm forwarding và trunk 2 lại là blocking Nếu một trong 2 kết nối trunk 1 hoặc trunk 2 bị down , toàn bộ traffice trong cả 2 range vlan đều dồn về một phía và chạy Có thể cấu hình bằng cách gán priority như hình vẽ
Đoạn trên đã mô tả khái niệm của MST Như vậy MST được xây dựng dựa trên việc mapping một hay nhiều vlan vào một STP instance
Khi triển khai MST , chúng ta cân chú ý những điều sau đây :
Trang 3- Số lượng Instance cần phải dùng là bao nhiêu
- Range vlan cần map cho mỗi instance là gì
Để hiểu được các khái niệm kế tiếp , chúng ta cần phải nắm được MST region là gì ? Để switch có thể tham gia vào một MST instance thì nó phải được cấu hình với các thông số nhất quán với nhau Các thông số này bao gồm MST region , revision number , và MST Vlan map Tập hợp các switch có cấu hình MST giống nhau tạo thành MST region
5.RSTP ( Rapid spanning tree protocol ) : là giao thức được cải tiến từ giao thức STP
nhằm rút ngắn thời gian ( tăng tốc ) hội tụ của mạng Nếu như STP phải trải qua 4 bước : Blocking, Listening, Learning, Forwarding và mất 50 giây cho 4 bước thì RSTP chỉ trải
qua 3 bước :Blocking ( Discarding ), Learning, Forwarding và mất ít hơn 10 giây.