Cac Loai Spaning Tree

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

1.

Các loại Spanning Tree

Bài viết này nhằm phân biệt các loại STP . Tạm thời , 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 sẽ đề cập ở cáccho phép load
balancing được thực hiện ( layer 2 loadbalancing trang dưới ) .
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 đồ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 :
- 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 . IST , CIST , CST :
CST chạy trên toàn bộ domain , CST coi các MST region như là một “ big switch “ tham
gia vao CST instance . CST lúc này sẽ tạo ra một loop-free topology cho các MST region .
Trong mỗi MST region cũng cần phải có các sub STP instance để tạo ra một sub loop-free
tree . Các instance chạy trong một MST region gọi là các MSTIs . Và các MSTIs này được
quản lí bởi một IST instance . Trong MST , thì IST được coi như là một locally CST trong
MST đó . Các MSTIs được đánh số từ 0-15 . Trong đó , MSTIs 0 ( instance 0 ) chính là IST .
IST đại diện cho toàn bộ MST region để giao tiếp với các MST region khác . Chỉ có IST
instance là cho phép gửi và nhận các MST BPDUs . Thông tin của các MSTIs khác được
đưa vào BPDUs với giá trị M record . Mặc dù MST region có thể có tới 16 MSTIs cùng chạy
nhưng chỉ có một BPDUs là mang thông tin của chúng đi . MSTIs chỉ có ý nghĩa cục bộ
trong một MST region mà thôi . Nếu MST region 1 có MSTI 2 , MST region 2 cũng có một
MSTI được đánh số là 2 thì cũng không hề bị ảnh hưởng . Nếu một MST region kết nối với
một PVST+ switch thì nó sẽ nhận biết ngay được điều này bằng cách kiểm tra BPDUs .
Nếu BPDUs được nghe thấy từ nhiều VLAN , nghĩa là neighbor đang chạy PVST+ . Khi
MST region gửi BPDUs cho PVST+ switch nó se replicate IST BPDUs cho mỗi Vlan trong
PVST+ .
CIST là một tập hợp các MSTIs trong một MST region .
IST trong một MST region lúc converge sẽ tạo ra một IST master ( CIST regional Root )
của region đó . Sau đó các CIST regional root nay sẽ tiếp tục được gửi ra ngoài một
Region để tiếp tục đọ sức với các CIST regional root khác . Kết quả của các cuộc đọ sức
này là tạo nên được một CST root .

You might also like