STP(Spanning tree Protocol) là một giao thức ngăn chặn sự lặp vòng, cho phép các Switch truyền thông với nhau để phát hiện vòng lặp vật lý trong mạng.STP sử dụng thuật toán STA(spanning tree Algorithm) để bầu chọn ra Root Switch.
Vòng lặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, trong trường hợp này, một link hoặc switch bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi
+ Cơ chế SYN giữa các Switch để tìm ra root Bridge
STP bidge ID(BID) gồm 8 byte.Trong đó 2 byte đầu là priority và 6 byte còn lại là System ID(địa chỉ MAC của switch) SID phải là duy nhất.
STP định ra BPDU(bridge protocol data units), Thông điệp này được trao đổi giữa các switch với nhau để trao đổi thông tin về nhau.Thông điệp này được gọi là Hello BPDU.Các Switch Sẽ so sánh các BPDU của nó với nhau để tìm ra root Bridge
Gói Hello bao gồm các trường
Field
Description
Root bridge ID
Bridge ID của Switch gửi gói Hello để tìm ra root Switch
Sender’s bridge ID
Bridge ID của switch gửi gói Hello
Cost to reach root
STP cost giữa các Switch và root hiện tại
Timer values on the root switch
Bao gồm Hello timer,MaxAge timer và Forward Delay timer
Lựa chọn Root switch
Root Switch là switch có giá trị bridge ID nhỏ nhất
Bridge ID:priority(2 byte) + System ID(6 byte)
PRIORITY
SYSTEM ID
2 BYTES
6 BYTES
Các Switch sẽ so sánh priority với nhau, priority nhỏ hơn sẽ đóng vai trò Root Bridge.
Nếu Priority bằng nhau, Các Switch sẽ so sánh Sys ID và cũng lấy SID nào nhỏ nhất làm root Bridge
Quá trình trao đổi BPDUs giữa các Switch
Đầu tiên các switch sẽ gửi ra gói Hello BPDUs,khi đó các Switch sẽ so sánh các BPDUs của nhau để tìm ra BPDUs nào có Bridge ID thấp nhất(Superior Hello).Sau đó nó sẽ forward các superior Hello và ngưng việc quảng cáo ra BPDUs mà bản thân nó là root
Hình ảnh
Chọn ra Root Port
Trên các non root Bridge sẽ chọn ra cho nó chỉ 1 root port(RP).RP là interface mà có số Cost nhỏ nhất để đến root Bridge.Switch sẽ cộng cost của root với cost của chính nó trong cùng 1 segment.
Chọn ra Designated port
Mặc định thì các port còn lại trên Root Bridge là Designated port(DP)
Port còn lại trên non root bridge có cost đến root bridge là thấp nhất sẽ được chọn làm DP
Nếu cost bằng nhau thì nó sẽ so sánh Bridge ID và BRID nào nhỏ hơn sẽ được làm DP
Chọn ra non Designated port
Port còn lại có cost đến root bridge cao nhất sẽ là Non DP và bị block
Chỉ khi nào đường kia hư thì mới dung đường này
Cảm ơn bạn đã xem--Chúc Bạn thành công
Vòng lặp xảy ra trong mạng với nhiều nguyên nhân. Hầu hết các nguyên nhân thông thường là kết quả của việc cố gắng tính toán để cung cấp khả năng dự phòng, trong trường hợp này, một link hoặc switch bị hỏng, các link hoặc switch khác vẫn tiếp tục hoạt động, tuy nhiên các vòng lặp cũng có thể xảy ra do lỗi
+ Cơ chế SYN giữa các Switch để tìm ra root Bridge
STP bidge ID(BID) gồm 8 byte.Trong đó 2 byte đầu là priority và 6 byte còn lại là System ID(địa chỉ MAC của switch) SID phải là duy nhất.
STP định ra BPDU(bridge protocol data units), Thông điệp này được trao đổi giữa các switch với nhau để trao đổi thông tin về nhau.Thông điệp này được gọi là Hello BPDU.Các Switch Sẽ so sánh các BPDU của nó với nhau để tìm ra root Bridge
Gói Hello bao gồm các trường
Field
Description
Root bridge ID
Bridge ID của Switch gửi gói Hello để tìm ra root Switch
Sender’s bridge ID
Bridge ID của switch gửi gói Hello
Cost to reach root
STP cost giữa các Switch và root hiện tại
Timer values on the root switch
Bao gồm Hello timer,MaxAge timer và Forward Delay timer
Lựa chọn Root switch
Root Switch là switch có giá trị bridge ID nhỏ nhất
Bridge ID:priority(2 byte) + System ID(6 byte)
PRIORITY
SYSTEM ID
2 BYTES
6 BYTES
Các Switch sẽ so sánh priority với nhau, priority nhỏ hơn sẽ đóng vai trò Root Bridge.
Nếu Priority bằng nhau, Các Switch sẽ so sánh Sys ID và cũng lấy SID nào nhỏ nhất làm root Bridge
Quá trình trao đổi BPDUs giữa các Switch
Đầu tiên các switch sẽ gửi ra gói Hello BPDUs,khi đó các Switch sẽ so sánh các BPDUs của nhau để tìm ra BPDUs nào có Bridge ID thấp nhất(Superior Hello).Sau đó nó sẽ forward các superior Hello và ngưng việc quảng cáo ra BPDUs mà bản thân nó là root
Hình ảnh
Chọn ra Root Port
Trên các non root Bridge sẽ chọn ra cho nó chỉ 1 root port(RP).RP là interface mà có số Cost nhỏ nhất để đến root Bridge.Switch sẽ cộng cost của root với cost của chính nó trong cùng 1 segment.
Chọn ra Designated port
Mặc định thì các port còn lại trên Root Bridge là Designated port(DP)
Port còn lại trên non root bridge có cost đến root bridge là thấp nhất sẽ được chọn làm DP
Nếu cost bằng nhau thì nó sẽ so sánh Bridge ID và BRID nào nhỏ hơn sẽ được làm DP
Chọn ra non Designated port
Port còn lại có cost đến root bridge cao nhất sẽ là Non DP và bị block
Chỉ khi nào đường kia hư thì mới dung đường này
Cảm ơn bạn đã xem--Chúc Bạn thành công
Ủng hộ chủ thớt bài lab STP 802.1D nè:
Lab Topo:
Yêu cầu:
- Tạo VLAN 10, 20, 30 trên cả 3 switch SW1, SW2 & SW3
- Cấu hình PVST sao cho:
- Đối với VLAN 10:
- SW1 là root switch
- Port F0/2 trên SW3 & port F0/2 trên SW2 là root port
- Đối với VLAN 20:
- SW2 là root switch
- Port F0/2 trên SW1 là Designated Port, Port F0/1 trên SW3 là Non-Designated Port.
- Đối với VLAN 30:
- SW3 là root switch
Sử dụng lệnh show spanning-tree vlan 1 để xác định BID của các switch như sau:Tạo VLAN 10, 20, 30 trên SW1, SW2, SW3 như sau:
- SW1: Priority 32769 , Address 0014.1c2c.3e80
- SW2: Priority 32769, Address 0009.e8fb.b980
- SW3: Priority 32769, Address 0014.1c2c.cd00
SW1(config)#vlan 10,20,30
Trước khi cấu hình STP, kiểm tra đảm bảo các kết nối giữa các switch UP và được cấu hình trunk cho phép VLAN10, 20, 30 đi qua.
Cấu hình STP mode PVST trên tất cả các switch:
SW1(config)#spanning-tree mode pvst
Cấu hình đối với VLAN 10:
So sánh các BID mặc định của các switch, bạn dễ dàng nhận thấy SW2 sẽ là root switch cho cả 3 vlan 10,20 & 30. Để SW1 là root switch của vlan 10, bạn phải thay đổi BID của SW1 thành nhỏ nhất bằng cách cấu hình spanning-tree vlan 10 root primary hoặc giảm BID Priority xuống. Lưu ý bước nhảy của BID Priority là 4096. Cấu hình như sau:
SW1(config)#spanning-tree vlan 10 priority 28672
Kiểm tra:
SW1(config)#do sho span vl 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 28682 (priority 28672 sys-id-ext 10)
Address 0014.1c2c.3e80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p
SW2#sho span vl 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
Cost 19
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0009.e8fb.b980
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Port ID Designated Port ID
Name Prio.Nbr Cost Sts Cost Bridge ID Prio.Nbr
---------------- -------- --------- --- --------- -------------------- --------
Fa0/1 128.1 19 FWD 19 32778 0009.e8fb.b980 128.1
Fa0/2 128.2 19 FWD 0 28682 0014.1c2c.3e80 128.1
SW3(config-if)#do sho span vl 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
Cost 19
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p
Hiện nay Port F0/2 trên SW3 đang là Non-Designated Port. Để Port F0/2 trên SW3 là Root Port bạn có 2 cách:
1. Giảm cost của F0/2 của SW2 & F0/2 SW3 xuống sao cho tổng cost của 2 port này < 38
2. Tăng cost của F0/1 SW3 lên >38.
SW3(config)# interface FastEthernet0/1
SW3(config-if)# spanning-tree vlan 10 cost 39
Kiểm tra:
SW3(config-if)#do sho span vl 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 28682
Address 0014.1c2c.3e80
Cost 38
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Altn BLK 39 128.1 P2p
Fa0/2 Root FWD 19 128.2 P2p
Cấu hình đối với VLAN 20:
Mặc định SW2 có BID thấp nhất do vậy bạn không cần thay đổi BID. Kiểm tra cấu hình cho thấy:
SW2#sho span vl 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 32788
Address 0009.e8fb.b980
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0009.e8fb.b980
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Port ID Designated Port ID
Name Prio.Nbr Cost Sts Cost Bridge ID Prio.Nbr
---------------- -------- --------- --- --------- -------------------- --------
Fa0/1 128.1 19 FWD 0 32788 0009.e8fb.b980 128.1
Fa0/2 128.2 19 FWD 0 32788 0009.e8fb.b980 128.2
SW1#sho span vl 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 32788
Address 0009.e8fb.b980
Cost 19
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0014.1c2c.3e80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p
SW3(config-if)#do sho span vl 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 32788
Address 0009.e8fb.b980
Cost 19
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Altn BLK 19 128.1 P2p
Fa0/2 Root FWD 19 128.2 P2p
Hiện nay Port F0/1 trên SW3 đang là Non-Designated Port. Do BPDU cost gửi ra cổng F0/1 SW3 & F0/2 SW1 có cost bẳng nhau (19). Do vậy để bầu chọn Designated Port trên segment giữa SW1 & SW3, port trên switch có BID nhỏ hơn sẽ là Designated Port. Trong trường hợp này SW1 BID < SW3 BID, do vậy F0/2 SW1 là DP. Để thay đổi F0/1 SW1 thành DP, bạn cần tăng BID SW1 < BID SW3. Cấu hình như sau:
SW1(config)#span vl 20 priority 36864
Kiểm tra:
SW1(config)#do sho span vl 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address 0009.e8fb.b980
Cost 21
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 36884 (priority 36864 sys-id-ext 20)
Address 0014.1c2c.3e80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 21 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p
SW3#sho span vl 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address 0009.e8fb.b980
Cost 19
Port 2 (FastEthernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32788 (priority 32768 sys-id-ext 20)
Address 0014.1c2c.cd00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Root FWD 19 128.2 P2p
Cấu hình đối với VLAN 30:
SW3(config)#spanning-tree vlan 30 root primary
SW3(config)#do sho span vl 30
Không có nhận xét nào:
Đăng nhận xét