root
Well-Known Member
- Joined
- Dec 31, 2012
- Messages
- 1,153
- Reaction score
- 71
- Points
- 48
Tìm hiểu về giao thức Spanning tree protocol
- Spanning tree protocol định nghĩa trong chuẩn IEEE 802.1D. Spanning tree là giao thức không thể thiểu trong môi trường layer 2. Bài viết này sẽ giải thích
- Spanning tree là gì? Tìm hiểu giao thức spanning tree, cơ chế hoạt động của giao thức Spanning tree.
Sau đó chúng ta sẽ tìm hiểu quy tắc bầu chọn trong Spanning tree để lựa chọn Root bridge, port cần block...và cách cấu hình spanning tree để traffic của đường đi trong hệ thống là tốt nhất. Hướng dẫn cấu hình Spanning tree trên Cisco Router.
Tìm hiểu các viết tiếp theo
Tham khảo các bài lab cấu hình Spanning tree
Các bài tổng hợp lý thuyết và tổng hợp các bài lab CCNA
I. Spanning là gì ?
- Khi Sw nhận được 1 frame- Học source MAC vào bảng MAC address
- Tra Des MAC trong bảng MAC address, ban đầu bảng MAC trắng nên nó sẽ flood frame ra tất cả các cổng.
- Broadcast storm
- Instability MAC address table
- Multiple Frame copies
Vd: 1 sw nối 1port này vs 1 port khác trên cùng 1 sw, 2 sw nối với nhau bằng 2 dây qua 4 port…
- IEEE đưa ra chuẩn 802.1D(spanning tree protocol) để chống loop. Về mặt luận lý thì nó sẽ khóa 1 port( Block port)
- Để tìm ra block port nó trải qua các bước:
- Bầu chộn Root Switch
- Bầu chọn Root port
- Bầu chọn Al
- port còn lại là al
II. Quá trình tìm Block Port Spanning tree
1. Root Switch:
- Khi các Sw được đấu nối khởi động nó sẽ gửi gói tin BPDU(bridge protocol data unit) trên các port của Switch.
- Thông số quyết định Sw nào được làm Root Sw là Bridge-ID(8 byte) gồm có các thông số :
- priority(của switch):
- dài 2 byte(9 -> 65535), default = 32768.
- Sw nào có chỉ số priority có chỉ số nhỏ nhất sẽ được chọn làm Root-switch
- MAC Address Switch:
- dài 6 byte.
- Xét từ trái sang phải từng giá trị hexa thì switch nào có MAC nhỏ nhất làm Root-switch
- Theo nguyên tắc đánh số MAC của nhà sản xuất thì khi bầu chọn root-switch nó sẽ chọn switch đời đầu làm root-switch => sw cùi cắp làm lãnh đạo. Nên trong thực tế ta ko bao giờ cho bầu chọn bằng MAC mà ta chỉnh priority
2. Root port:
- Là port cung cấp đường về Root-switch mà có tổng path-cost là nhỏ nhất
- Khi bầu chọn Root-port thì Root-Switch ko tham gia quá trình bầu chọn này
- Mỗi Root-switch chỉ có 1 Root-port
- Path-cost là giá trị cost trên từng cổng của Switch.
- Nguyên tắc tính tổng path-cost: tính từ switch đang muốn tính --> Root-switch
- Đi ra: ko cộng
- Đi vào: cộng cost
- Sender Bridge ID:
- Cổng nào kết nối switch mà switch đó có bridge ID nhỏ nhất -> port đó sẽ được chọn làm Root-port.
- Bridge ID của B nhỏ hơn C à port số 2 làm Root-port
- Sender Port ID:
- Port ID của Switch bên kia thì port nào của switch bên kia có giá trị port-ID nhỏ hơn thì chọn port bên switch mình kết nối với port ID nhỏ hơn đó.
- Priority của port: có giá trị từ 0 -> 255, default=128. Port nào có priority nhỏ hơn thì port đó có Port ID nhỏ hơn.
- Vị trí của port: Xét theo hạng của số thứ tự của port. Port số 1 < port 2 -> port số 2 làm root-port
- Port ID của Switch bên kia thì port nào của switch bên kia có giá trị port-ID nhỏ hơn thì chọn port bên switch mình kết nối với port ID nhỏ hơn đó.
- Khi các luật trên không giải quyết được thì nó sẽ xét đến Port ID trên chính nó
- Priority và vị trí của port
- VD: Vì hub nó thực hiện flood ra tất cả các port nên frame từ port 1 của swD sẽ đi đến hub và đi cả 2 đường từ hub -> swC. Nên lúc này chúng ta không thể xác định bằng cách trên. Lúc này ta phải xet port-ID trên chính SwC
3. Designated port
- Tất cả các port của Root-sw đều là Designated port
- Trên 1 phân đoạn nếu port đối diện là Root-port thì mình là Designated port(ko có ý nghĩa ngược lại).
- Là port cung cấp đường về Root-sw trên phân đoạn mạng đang xét mà có tổng path-cost là nhỏ nhất.
Vd: tính path-cost trên phân đoạn ta tính từ
4. Alternate port
- Khi 1 trong các phân đoạn khác bị đứt thì phân đoạn port lock sẽ được mở ra để chạy
- Khi phân đoạn trên có lại thì phân đoạn lock sẽ tiếp tục bị lock lại
- Tuy port lock không nhận được dữ liệu nhưng nó vẫn nhận gói tin BPDU từ Root-switch để duy trì cây spanning-tree. Nếu nó không nhận được gói BPDU thì nó sẽ mở port lock này ra à lúc này bị loop ráng chịu
5 . Peer PVST(peer Vlan Spanning tree)
PriorityVlan n = PriorityVlan n + n
- Lưu ý: Khi chỉnh sửa Priority thì số priority phải chia hết cho 4096- Ví dụ: Vlan 1 à priority = 32768 + 1
7. STP timer
- Helo timer: 2(s) Thời gian gửi BPDU
- Forward timer: 15(s)
- Max-agetimes: 20(s) Nếu Root-Sw chết hay port lock không nhận được BPDU thì mất 20s nó mới hoạt động( tự mở lên hoặc bầu chọn lại Root-sw)
8. STP state
- Các trạng thái khi Sw khởi động
- Disable: down
- Blocking: nhận BDPU, ko gửi BPDU, ko học MAC, ko forward frame
- Listening: _________, gửi BPDU, ___________________
- Leaning: __________________, học MAC, _______________
- Forwarding: _____________________________, forward frame
- Việc chuyển từ trạng thái: Listening à Leaning mất 15(s)
- Việc chuyển từ trạng thái: Leaning à Forwarding mất 15(s)
=> Vậy khi Sw khởi động xong or khi cắm dây vào port thì phải mất 30(s) đèn chuyển sang màu xanh
=> Mất 30+20+2 = 52(s) để STP port lock mới hoạt động
III. Cấu hình Spanning tree
1. Config
- Đưa VLAN 1 trên Sw1 lên làm Root-sw
SW1(config)#spanning-tree vlan n root-primary
- Khi SW1 chết thì ta đưa Sw2 làm Root-sw mà không cần chờ đợi việc bầu chọn
SW2(config)#spanning-tree vlan n root-secondary
- Thay đổi Priority
Sw(config)#spanning-tree vlan n priority m[/TD]
- Lưu ý: m phải chia hết cho 4096 nếu ko sẽ báo lỗi.- Khi cắm Pc vào Sw nó phải đợi 30s để port hoạt động + time xin DHCP => mất quá nhiều thời gian. Lúc này để pc cắm vào Sw mà nó hoạt động ngay thì ta dùng câu lệnh
Code:
Sw(config-if)#switchport mode access[/CODE[/INDENT]
[LIST]
[*]tác dụng trên 1 port
[/LIST]
[INDENT][CODE]Sw(config-if)#spanning-tree portfast
- Khi muốn tác dụng lên nhiều port
Code:
Sw(config)#spanning-tree port fast default
- Lưu ý: nó chỉ có tác dụng trên port mà ở mode Access và ko có tác dụng với các port ở mode khác(trunk,auto…)
Sw#show spanning-tree [vlan n]
2. Các loại Spanning tree
- IEEE: Traditional spanning tree( Spanning tree tryền thống)
- Khi Sw có chia VLAN -> PVSP
- Cisco đưa ra PVST + ( cũng là PVSP)
- Do quá trình hội tụ chậm nên sau này IEEE phát triển ra: Rapid Spanning Tree( hiện tại đang dùng)
- thay vì đợi 30s thì đợi 6s
- Thay vì Root-sw gửi BPDU thì mọi Sw đều đc gửi BPDU để nhanh hơn
- Ví dụ: có 1000 vlan VLAN thì -> có 1000 cây spanning tree -> sw rất chậm. Lúc này MSTP nó sẽ gom 1 đống VLAN thành 1 cây VLAN. => Lúc này còn khoảng 2-3 cây nhưng mỗi cây chứa khoảng vài trăm VLAN. Khi còn 2,3 cây thì sw nó xử lý nhanh hơn
Last edited: