Lab 3 – STP Toolkit
Sơ đồ:
Hình 3.1 – Sơ đồ bài Lab
Mô tả:
1. Cấu hình trunking
Trên SW1:
SW1(config)#interface range f0/20,f0/24
SW1(config-if-range)#switchport trunk encapsulation dot1q
SW1(config-if-range)#switchport mode trunk
SW1(config-if-range)#switchport nonegotiate
Trên SW2:
SW2(config)#interface range f0/22,f0/24
SW2(config-if-range)#switchport trunk encapsulation dot1q
SW2(config-if-range)#switchport mode trunk
SW2(config-if-range)#switchport nonegotiate
Trên SW3:
SW3(config)#interface range f0/20,f0/22
SW3(config-if-range)#switchport trunk encapsulation dot1q
SW3(config-if-range)# switchport mode trunk
SW3(config-if-range)# switchport nonegotiate
2. Cấu hình VTP
Cấu hình VTP trên các Switch:
SW1(config)#vtp domain vnpro
SW1(config)#vtp password cisco
SW2(config)#vtp domain vnpro
SW2(config)#vtp password cisco
SW3(config)#vtp mode client
SW3(config)#vtp domain vnpro
SW3(config)#vtp password cisco
Tạo VLAN trên SW1:
SW1(config)#vlan 10
SW1(config-vlan)#exit
SW1(config)#vlan 20
SW1(config-vlan)#exit
Cấu hình VLAN đã được đồng bộ giữa các Switch:
SW1#show vlan brief
VLAN Name Status Ports
---------------------------------------------------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/21
Fa0/22, Fa0/23, Gi0/1, Gi0/2
10 VLAN0010 active
20 VLAN0020 active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
SW2#show vlan brief
VLAN Name Status Ports
---------------------------------------------------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/23, Gi0/1, Gi0/2
10 VLAN0010 active
20 VLAN0020 active
SW3#show vlan brief
VLAN Name Status Ports
-------------------------------------------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/21
Fa0/23, Fa0/24, Gi0/1, Gi0/2
10 VLAN0010 active
20 VLAN0020 active
3. Cấu hình STP
SW1(config)#spanning-tree vlan 1,10,20 root primary
SW2(config)#spanning-tree vlan 1,10,20 root secondary
Kiểm tra:
Thực hiện kiểm tra trên VLAN 10:
SW1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 24586 (priority 24576 sys-id-ext 10)
Address c062.6b69.8280
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Desg FWD 19 128.22 P2p
Fa0/24 Desg FWD 19 128.26 P2p
SW2#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 19
Port 26 (FastEthernet0/24)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 28682 (priority 28672 sys-id-ext 10)
Address f4ac.c1c9.a600
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
---------------------------------------------------
Fa0/22 Desg FWD 19 128.24 P2p
Fa0/24 Root FWD 19 128.26 P2p
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 19
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
--------------------------- -------------------------------
Fa0/20 Root FWD 19 128.22 P2p
Fa0/22 Altn BLK 19 128.24 P2p
Kết quả kiểm tra cho thấy trên VLAN 10, SW1 đóng vai trò Root - Switch. Quan sát giá trị priority của các Switch có thể thấy rằng SW2 đóng vai trò secondary Root - Switch. Có thể thực hiện kiểm tra tương tự trên các VLAN còn lại.
Kết quả hội tụ STP trên 3 VLAN 1, 10 và 20 của các Switch được thể hiện như trên hình 3.2:
Hình 3.2 – Kết quả hội tụ STP trên VLAN 1, 10 và 20
Với kết quả hội tụ này, có thể thấy SW3 có hai đường uplink lên SW1 và SW2. Trong đó, đường uplink đi lên SW1 là đường chính và đường uplink đi lên SW2 đóng vai trò
dự phòng. 4. STP Toolkit (1) – Portfast
Gán cổng vào các VLAN theo phân bố cổng trên bảng 4.1:
SW3(config)#interface range f0/1 - 13
SW3(config-if-range)#switchport mode access
SW3(config-if-range)#switchport access vlan 10
SW3(config-if-range)#exit
SW3(config)#interface range f0/14 – 18,f0/24
SW3(config-if-range)#switchport mode access
SW3(config-if-range)#switchport access vlan 20
SW3(config-if-range)#exit
Thực hiện kết nối một Host vào cổng F0/13 của VLAN 10, tiến hành quan sát hiện tượng xảy ra trước và sau khi sử dụng tính năng portfast trên cổng này.
Để quan sát hiện tượng xảy ra, có thể sử dụng câu lệnh debug:
SW3#debug spanning-tree events
Spanning Tree event debugging is on
Trước khi bật tính năng portfast:
Khi cổng F0/13 up/up, cổng này sẽ đi vào các trạng thái Listening và Learning trước khi chuyển qua trạng thái Forwarding để có thể sử dụng được:
*Mar 1 00:54:49.038: set portid: VLAN0010 Fa0/13: new port id 800F
*Mar 1 00:54:49.038: STP: VLAN0010 Fa0/13 -> listening
*Mar 1 00:55:04.046: STP: VLAN0010 Fa0/13 -> learning
*Mar 1 00:55:19.053: STP[10]: Generating TC trap for port FastEthernet0/13
*Mar 1 00:55:19.053: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 00:55:19.053: STP: VLAN0010 Fa0/13 -> forwarding
Có thể thấy, cổng F0/13 đã phải ở trạng thái Listening 15s rồi mới chuyển qua trạng thái Learning, sau đó tiếp tục ở trạng thái này thêm 15s rồi mới chuyển qua trạng thái Forwarding.
Trong giai đoạn này, có thể thực hiện liên tục lệnh “show spanning-tree vlan 10” để quan sát trạng thái cổng F0/13
Sử dụng tính năng portfast trên các access port thuộc các VLAN 10, 20 để hoàn thành yêu cầu đặt ra:
SW3(config)#interface range f0/1 – 18,f0/24
SW3(config-if-range)#spanning-tree portfast
%Warning: portfast should only be enabled on ports connected to a single
host. Connecting hubs, concentrators, switches, bridges, etc... to this
interface when portfast is enabled, can cause temporary bridging loops.
Use with CAUTION
%Portfast will be configured in 19 interfaces due to the range command
but will only have effect when the interfaces are in a non-trunking mode.
SW3(config-if-range)#exit
Khi thực hiện cấu hình portfast trên cổng, một cảnh báo được đưa ra nhắc nhở rằng chỉ nên dùng tính năng này trên các port nối đến các “single Host” – tức là các end – user. Việc dùng tính năng này trên các cổng nối đến các thiết bị tập trung khác, ví dụ như Hub hay Switch,… có thể gây ra loop. Cảnh báo cũng nhắc nhở thêm rằng portfast chỉ có tác dụng trên cổng khi cổng hoạt động ở chế độ Access. Kiểm tra:
Sau khi bật tính năng portfast:
Khi cổng F0/13 up/up, cổng sẽ đi thẳng vào trạng thái Forwarding, bỏ qua các trạng thái Listening và Learning, Host có thể ngay lập tức truyền được dữ liệu:
*Mar 1 01:24:05.965: set portid: VLAN0010 Fa0/13: new port id 800F
*Mar 1 01:24:05.974: STP: VLAN0010 Fa0/13 ->jump to forwarding from blocking
Có thể sử dụng lệnh show sau đây để xác nhận cổng F0/13 của SW3 đã được bật tính năng portfast:
SW3#show spanning-tree interface f0/13 portfast
VLAN0010 enabled
Đến đây, việc kiểm tra hoạt động portfast với cổng F0/13 đã được hoàn tất. Có thể thực hiện kiểm tra tương tự trên các cổng còn lại thuộc VLAN 10 và VLAN 20. 5. STP Toolkit (2) – Uplink Fast
Khi chưa sử dụng tính năng Uplinkfast, nếu đường uplink chính down, đường uplink phụ phải đi vào các trạng thái Listening, Learning rồi mới chuyển qua trạng thái Forwarding để được sử dụng. Như vậy, phải mất 30s quá trình chuyển đổi dự phòng mới được hoàn tất.
Vẫn giữ nguyên câu lệnh debug đã bật lên ở yêu cầu 4, thực hiện shutdown cổng uplink F0/20 nối đến SW1 để kiểm tra:
SW3(config)#interface f0/20
SW3(config-if)#shutdown
SW3(config-if)#
*Mar 1 01:55:15.601: STP: VLAN0001 new root port Fa0/22, cost 38
*Mar 1 01:55:15.601: STP: VLAN0001 Fa0/22 -> listening
*Mar 1 01:55:15.610: STP[1]: Generating TC trap for port FastEthernet0/20
*Mar 1 01:55:15.610: STP: VLAN0010 new root port Fa0/22, cost 38
*Mar 1 01:55:15.610: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 01:55:15.610: STP[10]: Generating TC trap for port FastEthernet0/20
*Mar 1 01:55:15.610: STP: VLAN0020 new root port Fa0/22, cost 38
*Mar 1 01:55:15.610: STP: VLAN0020 Fa0/2
SW3(config-if)#2 -> listening
*Mar 1 01:55:15.610: STP[20]: Generating TC trap for port FastEthernet0/20
*Mar 1 01:55:17.589: %LINK-5-CHANGED: Interface FastEthernet0/20, changed state to administratively down
SW3(config-if)#
*Mar 1 01:55:17.606: STP: VLAN0001 sent Topology Change Notice on Fa0/22
*Mar 1 01:55:17.615: STP: VLAN0010 sent Topology Change Notice on Fa0/22
*Mar 1 01:55:17.615: STP: VLAN0020 sent Topology Change Notice on Fa0/22
SW3(config-if)#
*Mar 1 01:55:18.596: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/20, changed state to down
SW3(config-if)#
*Mar 1 01:55:30.609: STP: VLAN0001 Fa0/22 -> learning
*Mar 1 01:55:30.617: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 01:55:30.617: STP: VLAN0020 Fa0/22 -> learning
SW3(config-if)#
*Mar 1 01:55:45.616: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:55:45.616: STP: VLAN0001 Fa0/22 -> forwarding
*Mar 1 01:55:45.624: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:55:45.624: STP: VLAN0010 sent Topology Change Notice on Fa0/22
*Mar 1 01:55:45.624: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 01:55:45.624: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:55:45.624: STP: VLAN0020 Fa0/22 -> forwarding
Kết quả debug cho thấy phải mất 30s đi qua các trạng thái Listening, Learning, cổng F0/22 dự phòng mới có thể được sử dụng. Sau khi kiểm tra xong thì no shutdown cổng F0/20 để cấu hình tiếp tục. Cấu hình:
Sử dụng tính năng uplinkfast trên SW3 để thực hiện yêu cầu này:
SW3(config)#spanning-tree uplinkfast
Kiểm tra:
Sau khi bật tính năng Uplinkfast:
Cũng thực hiện shutdown đường uplink chính F0/20 và quan sát quá trình chuyển đổi đường uplink trên SW3:
SW3(config)#interface f0/20
SW3(config-if)#shutdown
SW3(config-if)#
*Mar 1 02:02:34.317: STP: VLAN0001 new root port Fa0/22, cost 3038
*Mar 1 02:02:34.317: %SPANTREE_FAST-7-PORT_FWD_UPLINK: VLAN0001 FastEthernet0/22 moved to Forwarding (UplinkFast)
Có thể thấy khi cổng uplink chính bị down, cổng uplink dự phòng được chuyển ngay lập tức từ trạng thái khóa sang trạng thái Forwarding để sử dụng.
Các thông số STP trên SW3 cũng được hiệu chỉnh lại do tác dụng của tính năng Uplinkfast:
SW3#sh spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3038
Port 24 (FastEthernet0/22)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/22 Root FWD 3019 128.24 P2p
Giá trị priority của SW3 đã được hiệu chỉnh thành 49152, cost trên các cổng được cộng thêm một giá trị là 3000. Điều này nhằm đảm bảo SW3 luôn là Switch ở cuối nhánh cây khi STP hội tụ.
Sau khi kiểm tra xong, cần mở cổng F0/20 lại như cũ:
SW3(config)#interface f0/20
SW3(config-if)#no shutdown
6. STP Toolkit (3) – Backbone Fast
Hình 3.3 – Hội tụ STP khi link giữa SW1 và SW2 down
Trước khi cấu hình Backbonefast:
Khi link đấu nối giữa SW1 và SW2 down, SW2 không còn nhận được BPDU của Root - Switch SW1 từ bất kỳ hướng nào, nó phát động lại tiến trình STP, tự bầu chọn mình làm Root - Switch và phát BPDU ra cổng F0/22.
Khi SW3 nhận được BPDU do SW2 phát ra, SW3 nhận thấy rằng cổng F0/22 của nó đã nhận được mẫu BPDU kém hơn mẫu BPDU nhận được trước đó, SW3 sẽ thực hiện chờ một khoảng thời gian Max – Age 20s trước khi tiếp tục phản ứng. Sau 20s chờ đợi, SW3 chuyển cổng F0/22 của nó ra khỏi trạng thái khóa để cung cấp BPDU từ Root - Switch SW1 xuống cho SW2. Để cổng F0/22 này có thể hoàn toàn forward được dữ liệu, cổng sẽ phải đi qua các trạng thái Listening, Learning rồi mới đi vào được Forwarding, như vậy mất thêm 30s nữa.
Như vậy tổng thời gian để có thể hội tụ thành công trong trường hợp này là 50s.
Thực hiện debug trên Sw3 và shutdown cổng F0/24 trên SW2 và quan sát kết quả debug trên SW3 để thấy được hoạt động hội tụ này.
Shutdown cổng F0/24 của SW2:
SW2(config)#interface f0/24
SW2(config-if)#shutdown
Kết quả debug trên SW3:
SW3#debug spanning-tree events
!SW3 nhận được các BPDU do SW2 phát ra tự xưng mình là root switch
*Mar 1 02:38:06.013: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:06.013: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:06.013: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
SW3#
*Mar 1 02:38:08.010: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:08.010: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:08.010: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
SW3#
!SW3 chờ một khoảng thời gian gần 20s rồi mới mở cổng F0/22, đi vào trạng
!thái Listening
*Mar 1 02:38:23.814: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 02:38:23.814: STP: VLAN0020 Fa0/22 -> listening
*Mar 1 02:38:23.814: STP: VLAN0001 Fa0/22 -> listening
*Mar 1 02:38:24.091: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN0001 Topology Change rcvd on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN00
SW3#01 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:38.821: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 02:38:38.821: STP: VLAN0020 Fa0/22 -> learning!Trạng thái Learning
*Mar 1 02:38:38.821: STP: VLAN0001 Fa0/22 -> learning
SW3#
!Trạng thái Forwarding
*Mar 1 02:38:53.828: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:38:53.828: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:53.828: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 02:38:53.828: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:38:53.828: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:53.828: STP: VLAN0020 Fa0/22 -> forwarding
*Mar 1 02:38:53.828: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:38
SW3#:53.828: STP: VLAN0001 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:53.828: STP: VLAN0001 Fa0/22 -> forwarding
Cấu hình:
Sử dụng tính năng Backbonefast trên tất cả các Switch để thực hiện yêu cầu này:
SW1-2-3(config)#spanning-tree backbonefast
Kiểm tra:
Sau khi cấu hình Backbonefast:
Sau khi cấu hình backbonefast trên các Switch, SW3 sẽ giảm thiểu tối đa được khoảng thời gian Max – Age và đưa cổng F0/22 vào trạng thái Listening luôn mà không cần phải chờ đợi.
Tương tự như trên, thực hiện shutdown cổng F0/24 của SW2 và quan sát kết quả debug trên SW3.
Shutdown cổng F0/24 của SW2:
SW2(config)#interface f0/24
SW2(config-if)#shutdown
Kết quả debug trên SW3:
!SW3 nhận được BPDU phát ra bởi SW2
*Mar 1 02:56:28.587: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:56:28.587: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:56:28.587: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
!SW3 đưa cổng F0/22 vào trạng thái Listening ngay, không phải chờ hết khoảng !thời gian Max – Age
*Mar 1 02:56:28.587: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 02:56:28.587: STP: VLAN0020 Fa0/22 -> listening
*Mar 1 02:56:28.595: STP: VLAN0001 Fa0/22 -> listening
SW3#
*Mar 1 02:56:29.677: STP: VLAN0010 Topology Change rcvd on Fa0/22
*Mar 1 02:56:29.677: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:29.677: STP: VLAN0020 Topology Change rcvd on Fa0/22
*Mar 1 02:56:29.677: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:29.677: STP: VLAN0001 Topology Change rcvd on Fa0/22
*Mar 1 02:56:29.686: STP: VLAN0001 sent Topology Change Notice on Fa0/20
SW3#
*Mar 1 02:56:43.594: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 02:56:43.594: STP: VLAN0020 Fa0/22 -> learning
*Mar 1 02:56:43.602: STP: VLAN0001 Fa0/22 -> learning
SW3#
*Mar 1 02:56:58.601: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:56:58.601: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:58.601: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 02:56:58.601: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:56:58.601: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:58.601: STP: VLAN0020 Fa0/22 -> forwarding
*Mar 1 02:56:58.610: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:56
SW3#:58.610: STP: VLAN0001 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:58.610: STP: VLAN0001 Fa0/22 -> forwarding
Từ kết quả debug có thể thấy, lần này, thời gian hội tụ đã giảm đi một khoảng xấp xỉ 20s, chỉ còn lại 30s.
Sau khi kiểm tra, nhớ no shutdown lại cổng F0/22 của SW2. 7. STP Toolkit (4) – BPDU Grard
Sử dụng tính năng BPDU Guard trên các Access port thuộc VLAN 10 để thực hiện yêu
cầu này:
SW3(config)#interface range f0/1 - 13
SW3(config-if-range)#spanning-tree bpduguard enable
SW3(config-if-range)#exit
Cấu hình đảm bảo khi sự vi phạm không còn diễn ra, cổng sẽ được tự động mở lại sau 2 phút (120s):
SW3(config)#errdisable recovery cause bpduguard
SW3(config)#errdisable recovery interval 120
Kiểm tra:
Thay Host đang kết nối trên cổng F0/13 bằng một Switch, thực hiện shutdown rồi
no shutdown cổng F0/13:
SW3(config)#int f0/13
SW3(config-if)#shutdown
SW3(config-if)#
*Mar 1 00:46:58.983: %LINK-5-CHANGED: Interface FastEthernet0/13, changed state to administratively down
*Mar 1 00:46:59.989: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to down
SW3(config-if)#no sh
SW3(config-if)#
*Mar 1 00:47:08.277: %LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to up
*Mar 1 00:47:09.284: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to up
Switch kết nối trên cổng F0/13 sẽ gửi vào cổng các gói BPDU để tiến hành các hoạt động STP, tính năng BPDU Guard trên cổng F0/13 sẽ đưa cổng vào trạng thái err – disabled:
*Mar 1 00:47:09.670: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Fa0/13 with BPDU Guard enabled. Disabling port.
SW3(config-if)#
*Mar 1 00:47:09.670: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/13, putting Fa0/13 in err-disable state
SW3(config-if)#
*Mar 1 00:47:10.685: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to down
SW3(config-if)#
*Mar 1 00:47:11.683: %LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to down
SW3#show int f0/13 status
Port Name Status Vlan Duplex Speed Type
Fa0/13 err-disabled 10 auto auto 10/100BaseTX
Thực hiện gỡ bỏ Switch trên cổng F0/13 và thay trở lại bằng một Host không chạy STP, sau 120s, cổng sẽ được phục hồi khỏi trạng thái err – disabled và hoạt động bình thường:
*Mar 1 00:49:09.669: %PM-4-ERR_RECOVER: Attempting to recover from bpduguard err-disable state on Fa0/13
SW3#
*Mar 1 00:49:13.335: %LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to up
*Mar 1 00:49:14.341: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to up
SW3#show interfaces f0/13 status
Port Name Status Vlan Duplex Speed Type
Fa0/13 connected 10 a-full a-100 10/100BaseTX
8. STP Toolkit (5) – Root Guard
Sử dụng tính năng Root guard để thực hiện yêu cầu này:
SW3(config)#interface range f0/14 - 18,f0/24
SW3(config-if-range)#spanning-tree guard root
SW3(config-if-range)#exit
Kiểm tra:
Thực hiện kết nối một Switch (trong câu Lab này, là Switch có hostname là SW4) vào cổng F0/24 của SW3 và cấu hình để SW4 này phát ta BPDU tối ưu hơn BPDU của Root - Switch hiện hành trên VLAN 20:
SW4(config)#int f0/24
SW4(config-if)#switchport mode access
SW4(config-if)#switchport access vlan 20
SW4(config)#spanning-tree vlan 20 priority 0
Cổng F0/24 của SW3 bị khóa khi nhận được BPDU tối ưu hơn từ SW4:
*Mar 1 01:13:12.686: %SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port FastEthernet0/24 on VLAN0020.
SW3#show spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49172 (priority 49152 sys-id-ext 20)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Altn BLK 3019 128.24 P2p
Fa0/24 Desg BKN*3019 128.26 P2p *ROOT_Inc
Gỡ bỏ cấu hình priority = 0 trên SW4 để SW4 không còn phát BPDU tối ưu hơn Root - Switch, cổng F0/24 trên SW3 được đưa trở lại trạng thái forward dữ liệu bình thường:
SW4(config)#no spanning-tree vlan 20 priority 0
SW3#
*Mar 1 01:19:13.597: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port FastEthernet0/24 on VLAN0020.
SW3#show spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49172 (priority 49152 sys-id-ext 20)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Altn BLK 3019 128.24 P2p
Fa0/24 Desg FWD 3019 128.26 P2p
9. STP Toolkit (6) – BPDU Fillter
Thực hiện cấu hình tính năng BPDU Filter trên cổng F0/22 để thực hiện yêu cầu này:
SW2(config)#interface f0/22
SW2(config-if)#spanning-tree bpdufilter enable
SW2(config-if)#exit
Lúc này, SW3 không còn nhận được BPDU trên cổng F0/22 được forward xuống từ SW2 nữa, SW3 giả thiết rằng SW2 bị mất kết nối về Root - Switch nên nó mở cổng F0/22, chuyển cổng này ra khỏi trạng thái khóa:
SW3#debug spanning-tree events
Spanning Tree event debugging is on
SW3#
*Mar 1 01:26:10.536: STP: VLAN0001 Fa0/22 -> listening
*Mar 1 01:26:10.536: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 01:26:10.536: STP: VLAN0020 Fa0/22 -> listening
SW3#
*Mar 1 01:26:25.543: STP: VLAN0001 Fa0/22 -> learning
*Mar 1 01:26:25.543: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 01:26:25.543: STP: VLAN0020 Fa0/22 -> learning
SW3#
*Mar 1 01:26:40.550: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:26:40.550: STP: VLAN0001 sent Topology Change Notice on Fa0/20
*Mar 1 01:26:40.550: STP: VLAN0001 Fa0/22 -> forwarding
*Mar 1 01:26:40.550: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:26:40.550: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 01:26:40.550: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 01:26:40.550: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:26
SW3#:40.550: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 01:26:40.550: STP: VLAN0020 Fa0/22 -> forwarding
(Nhắc lại rằng trước đó các Switch đã được cấu hình Backbonefast nên SW3 không cần phải chờ khoảng thời gian Max Age 20s mà tiến hành phản ứng ngay với việc mất BPDU đến từ SW2.)
Sau khi cổng F0/22 trên SW3 được mở ra, trên các VLAN 1, 10, 20 không còn cổng nào được khóa nữa:
SW1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 24586 (priority 24576 sys-id-ext 10)
Address c062.6b69.8280
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Desg FWD 19 128.22 P2p
Fa0/24 Desg FWD 19 128.26 P2p
SW2#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 19
Port 26 (FastEthernet0/24)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 28682 (priority 28672 sys-id-ext 10)
Address f4ac.c1c9.a600
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/22 Desg FWD 19 128.24 P2p
Fa0/24 Root FWD 19 128.26 P2p
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Desg FWD 3019 128.24 P2p
Nếu có dữ liệu broadcast đi vào hệ thống Switch, loop sẽ xảy ra. Các thông điệp log về MAC flapping xuất hiện trên các Switch thể hiện điều này:
SW1#
*Mar 1 01:29:25.093: %SW_MATM-4-MACFLAP_NOTIF: Host 0024.14d5.2a68 in vlan 10 is flapping between port Fa0/24 and port Fa0/20
SW1#
SW2#
*Mar 1 01:35:15.301: %SW_MATM-4-MACFLAP_NOTIF: Host 0024.14d5.2a68 in vlan 10 is flapping between port Fa0/24 and port Fa0/22
SW2#
SW3#
*Mar 1 01:37:25.584: %SW_MATM-4-MACFLAP_NOTIF: Host 0024.14d5.2a68 in vlan 10 is flapping between port Fa0/22 and port Fa0/20
SW3#
10. STP Toolkit (7) – Loop Guard
Cấu hình tính năng Loopguard trên cổng F0/22 của SW3 để thực hiện yêu cầu này. Với tính năng này, khi một cổng đang nhận được BPDU đột ngột không còn nhận được BPDU, cổng này sẽ bị khóa và đi vào trạng thái Loop_Inconsistent.
Trên SW3:
SW3(config)#interface f0/22
SW3(config-if)#spanning-tree guard loop
SW3(config-if)#exit
Kiểm tra:
Tắt tính năng lọc BPDU để sơ đồ STP hội tụ lại như đã thiết lập ban đầu (xem hình 3.2 ở trên):
SW2(config)#interface f0/22
SW2(config-if)#spanning-tree bpdufilter disable
SW2(config-if)#exit
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Altn BLK 3019 128.24 P2p
Mở lại tính năng lọc BPDU trên cổng F0/22 để chặn dòng BPDU đi xuống SW3:
SW2(config)#interface f0/22
SW2(config-if)#spanning-tree bpdufilter enable
SW2(config-if)#exit
Lần này, do tác dụng của tính năng Loopguard trên cổng F0/22 của SW3, cổng F0/22 sẽ không còn bị mở ra nữa mà sẽ bị khóa và đưa vào trạng thái Loop_Inconsistent, loop không còn xảy ra:
SW3#
*Mar 1 01:57:13.184: %SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/22 on VLAN0001.
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Desg BKN*3019 128.24 P2p *LOOP_Inc
Sơ đồ:
Hình 3.1 – Sơ đồ bài Lab
Mô tả:
- Sơ đồ gồm 3 Switch Cisco Catalyst 2960 được đấu nối với nhau như trên hình 3.1. Bài lab này có thể được thực hiện trên LAB giả lập sử dụng các IOL Switch i86bi_linux_l2-advipservicesk9.
- SW3 đóng vai trò là access – Switch giao tiếp trực tiếp với người dùng đầu cuối.
- Các Switch SW1 và SW2 là các Distribution Switch.
1. Cấu hình trunking
- Cấu hình tất cả các đường nối giữa các Switch thành các đường trunk Dot1q.
- Các đường trunk này phải được thiết lập tĩnh và tắt DTP.
Trên SW1:
SW1(config)#interface range f0/20,f0/24
SW1(config-if-range)#switchport trunk encapsulation dot1q
SW1(config-if-range)#switchport mode trunk
SW1(config-if-range)#switchport nonegotiate
Trên SW2:
SW2(config)#interface range f0/22,f0/24
SW2(config-if-range)#switchport trunk encapsulation dot1q
SW2(config-if-range)#switchport mode trunk
SW2(config-if-range)#switchport nonegotiate
Trên SW3:
SW3(config)#interface range f0/20,f0/22
SW3(config-if-range)#switchport trunk encapsulation dot1q
SW3(config-if-range)# switchport mode trunk
SW3(config-if-range)# switchport nonegotiate
2. Cấu hình VTP
- Domain name: vnpro.
- Password: cisco.
- SW1, SW2: Server; SW3: Client.
- Trên SW1, tạo VLAN 10, 20. Kiểm tra các VLAN này đã lan truyền đến được tất cả các Switch.
Cấu hình VTP trên các Switch:
SW1(config)#vtp domain vnpro
SW1(config)#vtp password cisco
SW2(config)#vtp domain vnpro
SW2(config)#vtp password cisco
SW3(config)#vtp mode client
SW3(config)#vtp domain vnpro
SW3(config)#vtp password cisco
Tạo VLAN trên SW1:
SW1(config)#vlan 10
SW1(config-vlan)#exit
SW1(config)#vlan 20
SW1(config-vlan)#exit
Cấu hình VLAN đã được đồng bộ giữa các Switch:
SW1#show vlan brief
VLAN Name Status Ports
---------------------------------------------------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/21
Fa0/22, Fa0/23, Gi0/1, Gi0/2
10 VLAN0010 active
20 VLAN0020 active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
SW2#show vlan brief
VLAN Name Status Ports
---------------------------------------------------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/23, Gi0/1, Gi0/2
10 VLAN0010 active
20 VLAN0020 active
SW3#show vlan brief
VLAN Name Status Ports
-------------------------------------------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/21
Fa0/23, Fa0/24, Gi0/1, Gi0/2
10 VLAN0010 active
20 VLAN0020 active
3. Cấu hình STP
- Cấu hình đảm bảo SW1 làm Root – SW, SW2 làm backup Root trên các VLAN đã tạo.
SW1(config)#spanning-tree vlan 1,10,20 root primary
SW2(config)#spanning-tree vlan 1,10,20 root secondary
Kiểm tra:
Thực hiện kiểm tra trên VLAN 10:
SW1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 24586 (priority 24576 sys-id-ext 10)
Address c062.6b69.8280
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Desg FWD 19 128.22 P2p
Fa0/24 Desg FWD 19 128.26 P2p
SW2#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 19
Port 26 (FastEthernet0/24)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 28682 (priority 28672 sys-id-ext 10)
Address f4ac.c1c9.a600
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
---------------------------------------------------
Fa0/22 Desg FWD 19 128.24 P2p
Fa0/24 Root FWD 19 128.26 P2p
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 19
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
--------------------------- -------------------------------
Fa0/20 Root FWD 19 128.22 P2p
Fa0/22 Altn BLK 19 128.24 P2p
Kết quả kiểm tra cho thấy trên VLAN 10, SW1 đóng vai trò Root - Switch. Quan sát giá trị priority của các Switch có thể thấy rằng SW2 đóng vai trò secondary Root - Switch. Có thể thực hiện kiểm tra tương tự trên các VLAN còn lại.
Kết quả hội tụ STP trên 3 VLAN 1, 10 và 20 của các Switch được thể hiện như trên hình 3.2:
Hình 3.2 – Kết quả hội tụ STP trên VLAN 1, 10 và 20
Với kết quả hội tụ này, có thể thấy SW3 có hai đường uplink lên SW1 và SW2. Trong đó, đường uplink đi lên SW1 là đường chính và đường uplink đi lên SW2 đóng vai trò
dự phòng. 4. STP Toolkit (1) – Portfast
- Trên SW3 thực hiện gán một số cổng vào các VLAN 10 và 20 vừa tạo theo phân bố cổng được chỉ ra trên bảng 3.1. Các cổng này sẽ được sử dụng để kết nối đến các end – user đầu cuối.
VLAN | Các interface |
10 | F0/1 – F0/13 |
20 | F0/14 – F0/18, F0/24 |
- Cấu hình để các end – user port này có thể được sử dụng ngay lập tức khi kết nối thành công mà không cần phải trải qua các khoảng thời gian trễ.
Gán cổng vào các VLAN theo phân bố cổng trên bảng 4.1:
SW3(config)#interface range f0/1 - 13
SW3(config-if-range)#switchport mode access
SW3(config-if-range)#switchport access vlan 10
SW3(config-if-range)#exit
SW3(config)#interface range f0/14 – 18,f0/24
SW3(config-if-range)#switchport mode access
SW3(config-if-range)#switchport access vlan 20
SW3(config-if-range)#exit
Thực hiện kết nối một Host vào cổng F0/13 của VLAN 10, tiến hành quan sát hiện tượng xảy ra trước và sau khi sử dụng tính năng portfast trên cổng này.
Để quan sát hiện tượng xảy ra, có thể sử dụng câu lệnh debug:
SW3#debug spanning-tree events
Spanning Tree event debugging is on
Trước khi bật tính năng portfast:
Khi cổng F0/13 up/up, cổng này sẽ đi vào các trạng thái Listening và Learning trước khi chuyển qua trạng thái Forwarding để có thể sử dụng được:
*Mar 1 00:54:49.038: set portid: VLAN0010 Fa0/13: new port id 800F
*Mar 1 00:54:49.038: STP: VLAN0010 Fa0/13 -> listening
*Mar 1 00:55:04.046: STP: VLAN0010 Fa0/13 -> learning
*Mar 1 00:55:19.053: STP[10]: Generating TC trap for port FastEthernet0/13
*Mar 1 00:55:19.053: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 00:55:19.053: STP: VLAN0010 Fa0/13 -> forwarding
Có thể thấy, cổng F0/13 đã phải ở trạng thái Listening 15s rồi mới chuyển qua trạng thái Learning, sau đó tiếp tục ở trạng thái này thêm 15s rồi mới chuyển qua trạng thái Forwarding.
Trong giai đoạn này, có thể thực hiện liên tục lệnh “show spanning-tree vlan 10” để quan sát trạng thái cổng F0/13
Sử dụng tính năng portfast trên các access port thuộc các VLAN 10, 20 để hoàn thành yêu cầu đặt ra:
SW3(config)#interface range f0/1 – 18,f0/24
SW3(config-if-range)#spanning-tree portfast
%Warning: portfast should only be enabled on ports connected to a single
host. Connecting hubs, concentrators, switches, bridges, etc... to this
interface when portfast is enabled, can cause temporary bridging loops.
Use with CAUTION
%Portfast will be configured in 19 interfaces due to the range command
but will only have effect when the interfaces are in a non-trunking mode.
SW3(config-if-range)#exit
Khi thực hiện cấu hình portfast trên cổng, một cảnh báo được đưa ra nhắc nhở rằng chỉ nên dùng tính năng này trên các port nối đến các “single Host” – tức là các end – user. Việc dùng tính năng này trên các cổng nối đến các thiết bị tập trung khác, ví dụ như Hub hay Switch,… có thể gây ra loop. Cảnh báo cũng nhắc nhở thêm rằng portfast chỉ có tác dụng trên cổng khi cổng hoạt động ở chế độ Access. Kiểm tra:
Sau khi bật tính năng portfast:
Khi cổng F0/13 up/up, cổng sẽ đi thẳng vào trạng thái Forwarding, bỏ qua các trạng thái Listening và Learning, Host có thể ngay lập tức truyền được dữ liệu:
*Mar 1 01:24:05.965: set portid: VLAN0010 Fa0/13: new port id 800F
*Mar 1 01:24:05.974: STP: VLAN0010 Fa0/13 ->jump to forwarding from blocking
Có thể sử dụng lệnh show sau đây để xác nhận cổng F0/13 của SW3 đã được bật tính năng portfast:
SW3#show spanning-tree interface f0/13 portfast
VLAN0010 enabled
Đến đây, việc kiểm tra hoạt động portfast với cổng F0/13 đã được hoàn tất. Có thể thực hiện kiểm tra tương tự trên các cổng còn lại thuộc VLAN 10 và VLAN 20. 5. STP Toolkit (2) – Uplink Fast
- SW3 hiện đang có hai đường uplink kết nối đến SW1 và SW2, một đường đang được mở ra để sử dụng và đường còn lại đang bị khóa ở trạng thái dự phòng.
- Khi đường uplink chính down, đường dự phòng trên SW3 phải trải qua khoảng thời gian trễ tới 30s mới có thể sử dụng.
- Thực hiện cấu hình để khi đường uplink chính của SW3 down, đường dự phòng có thể được sử dụng ngay lập tức mà không cần phải trải qua khoảng thời gian trễ 30s nêu trên.
Khi chưa sử dụng tính năng Uplinkfast, nếu đường uplink chính down, đường uplink phụ phải đi vào các trạng thái Listening, Learning rồi mới chuyển qua trạng thái Forwarding để được sử dụng. Như vậy, phải mất 30s quá trình chuyển đổi dự phòng mới được hoàn tất.
Vẫn giữ nguyên câu lệnh debug đã bật lên ở yêu cầu 4, thực hiện shutdown cổng uplink F0/20 nối đến SW1 để kiểm tra:
SW3(config)#interface f0/20
SW3(config-if)#shutdown
SW3(config-if)#
*Mar 1 01:55:15.601: STP: VLAN0001 new root port Fa0/22, cost 38
*Mar 1 01:55:15.601: STP: VLAN0001 Fa0/22 -> listening
*Mar 1 01:55:15.610: STP[1]: Generating TC trap for port FastEthernet0/20
*Mar 1 01:55:15.610: STP: VLAN0010 new root port Fa0/22, cost 38
*Mar 1 01:55:15.610: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 01:55:15.610: STP[10]: Generating TC trap for port FastEthernet0/20
*Mar 1 01:55:15.610: STP: VLAN0020 new root port Fa0/22, cost 38
*Mar 1 01:55:15.610: STP: VLAN0020 Fa0/2
SW3(config-if)#2 -> listening
*Mar 1 01:55:15.610: STP[20]: Generating TC trap for port FastEthernet0/20
*Mar 1 01:55:17.589: %LINK-5-CHANGED: Interface FastEthernet0/20, changed state to administratively down
SW3(config-if)#
*Mar 1 01:55:17.606: STP: VLAN0001 sent Topology Change Notice on Fa0/22
*Mar 1 01:55:17.615: STP: VLAN0010 sent Topology Change Notice on Fa0/22
*Mar 1 01:55:17.615: STP: VLAN0020 sent Topology Change Notice on Fa0/22
SW3(config-if)#
*Mar 1 01:55:18.596: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/20, changed state to down
SW3(config-if)#
*Mar 1 01:55:30.609: STP: VLAN0001 Fa0/22 -> learning
*Mar 1 01:55:30.617: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 01:55:30.617: STP: VLAN0020 Fa0/22 -> learning
SW3(config-if)#
*Mar 1 01:55:45.616: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:55:45.616: STP: VLAN0001 Fa0/22 -> forwarding
*Mar 1 01:55:45.624: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:55:45.624: STP: VLAN0010 sent Topology Change Notice on Fa0/22
*Mar 1 01:55:45.624: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 01:55:45.624: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:55:45.624: STP: VLAN0020 Fa0/22 -> forwarding
Kết quả debug cho thấy phải mất 30s đi qua các trạng thái Listening, Learning, cổng F0/22 dự phòng mới có thể được sử dụng. Sau khi kiểm tra xong thì no shutdown cổng F0/20 để cấu hình tiếp tục. Cấu hình:
Sử dụng tính năng uplinkfast trên SW3 để thực hiện yêu cầu này:
SW3(config)#spanning-tree uplinkfast
Kiểm tra:
Sau khi bật tính năng Uplinkfast:
Cũng thực hiện shutdown đường uplink chính F0/20 và quan sát quá trình chuyển đổi đường uplink trên SW3:
SW3(config)#interface f0/20
SW3(config-if)#shutdown
SW3(config-if)#
*Mar 1 02:02:34.317: STP: VLAN0001 new root port Fa0/22, cost 3038
*Mar 1 02:02:34.317: %SPANTREE_FAST-7-PORT_FWD_UPLINK: VLAN0001 FastEthernet0/22 moved to Forwarding (UplinkFast)
Có thể thấy khi cổng uplink chính bị down, cổng uplink dự phòng được chuyển ngay lập tức từ trạng thái khóa sang trạng thái Forwarding để sử dụng.
Các thông số STP trên SW3 cũng được hiệu chỉnh lại do tác dụng của tính năng Uplinkfast:
SW3#sh spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3038
Port 24 (FastEthernet0/22)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/22 Root FWD 3019 128.24 P2p
Giá trị priority của SW3 đã được hiệu chỉnh thành 49152, cost trên các cổng được cộng thêm một giá trị là 3000. Điều này nhằm đảm bảo SW3 luôn là Switch ở cuối nhánh cây khi STP hội tụ.
Sau khi kiểm tra xong, cần mở cổng F0/20 lại như cũ:
SW3(config)#interface f0/20
SW3(config-if)#no shutdown
6. STP Toolkit (3) – Backbone Fast
- Khi đường link đấu nối giữa SW1 và SW2 down, SW2 phải mất khoảng thời gian lên đến khoảng 50s để chuyển lại đường đi về Root - Switch theo hướng SW3.
- Thực hiện cấu hình để việc hội tụ vừa nêu giảm thiểu được một khoảng thời gian tối đa là 20s.
Hình 3.3 – Hội tụ STP khi link giữa SW1 và SW2 down
Trước khi cấu hình Backbonefast:
Khi link đấu nối giữa SW1 và SW2 down, SW2 không còn nhận được BPDU của Root - Switch SW1 từ bất kỳ hướng nào, nó phát động lại tiến trình STP, tự bầu chọn mình làm Root - Switch và phát BPDU ra cổng F0/22.
Khi SW3 nhận được BPDU do SW2 phát ra, SW3 nhận thấy rằng cổng F0/22 của nó đã nhận được mẫu BPDU kém hơn mẫu BPDU nhận được trước đó, SW3 sẽ thực hiện chờ một khoảng thời gian Max – Age 20s trước khi tiếp tục phản ứng. Sau 20s chờ đợi, SW3 chuyển cổng F0/22 của nó ra khỏi trạng thái khóa để cung cấp BPDU từ Root - Switch SW1 xuống cho SW2. Để cổng F0/22 này có thể hoàn toàn forward được dữ liệu, cổng sẽ phải đi qua các trạng thái Listening, Learning rồi mới đi vào được Forwarding, như vậy mất thêm 30s nữa.
Như vậy tổng thời gian để có thể hội tụ thành công trong trường hợp này là 50s.
Thực hiện debug trên Sw3 và shutdown cổng F0/24 trên SW2 và quan sát kết quả debug trên SW3 để thấy được hoạt động hội tụ này.
Shutdown cổng F0/24 của SW2:
SW2(config)#interface f0/24
SW2(config-if)#shutdown
Kết quả debug trên SW3:
SW3#debug spanning-tree events
!SW3 nhận được các BPDU do SW2 phát ra tự xưng mình là root switch
*Mar 1 02:38:06.013: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:06.013: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:06.013: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
SW3#
*Mar 1 02:38:08.010: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:08.010: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:08.010: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
SW3#
!SW3 chờ một khoảng thời gian gần 20s rồi mới mở cổng F0/22, đi vào trạng
!thái Listening
*Mar 1 02:38:23.814: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 02:38:23.814: STP: VLAN0020 Fa0/22 -> listening
*Mar 1 02:38:23.814: STP: VLAN0001 Fa0/22 -> listening
*Mar 1 02:38:24.091: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN0001 Topology Change rcvd on Fa0/22
*Mar 1 02:38:24.091: STP: VLAN00
SW3#01 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:38.821: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 02:38:38.821: STP: VLAN0020 Fa0/22 -> learning!Trạng thái Learning
*Mar 1 02:38:38.821: STP: VLAN0001 Fa0/22 -> learning
SW3#
!Trạng thái Forwarding
*Mar 1 02:38:53.828: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:38:53.828: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:53.828: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 02:38:53.828: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:38:53.828: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:53.828: STP: VLAN0020 Fa0/22 -> forwarding
*Mar 1 02:38:53.828: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:38
SW3#:53.828: STP: VLAN0001 sent Topology Change Notice on Fa0/20
*Mar 1 02:38:53.828: STP: VLAN0001 Fa0/22 -> forwarding
Cấu hình:
Sử dụng tính năng Backbonefast trên tất cả các Switch để thực hiện yêu cầu này:
SW1-2-3(config)#spanning-tree backbonefast
Kiểm tra:
Sau khi cấu hình Backbonefast:
Sau khi cấu hình backbonefast trên các Switch, SW3 sẽ giảm thiểu tối đa được khoảng thời gian Max – Age và đưa cổng F0/22 vào trạng thái Listening luôn mà không cần phải chờ đợi.
Tương tự như trên, thực hiện shutdown cổng F0/24 của SW2 và quan sát kết quả debug trên SW3.
Shutdown cổng F0/24 của SW2:
SW2(config)#interface f0/24
SW2(config-if)#shutdown
Kết quả debug trên SW3:
!SW3 nhận được BPDU phát ra bởi SW2
*Mar 1 02:56:28.587: STP: VLAN0010 heard root 28682-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:56:28.587: STP: VLAN0020 heard root 28692-f4ac.c1c9.a600 on Fa0/22
*Mar 1 02:56:28.587: STP: VLAN0001 heard root 28673-f4ac.c1c9.a600 on Fa0/22
!SW3 đưa cổng F0/22 vào trạng thái Listening ngay, không phải chờ hết khoảng !thời gian Max – Age
*Mar 1 02:56:28.587: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 02:56:28.587: STP: VLAN0020 Fa0/22 -> listening
*Mar 1 02:56:28.595: STP: VLAN0001 Fa0/22 -> listening
SW3#
*Mar 1 02:56:29.677: STP: VLAN0010 Topology Change rcvd on Fa0/22
*Mar 1 02:56:29.677: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:29.677: STP: VLAN0020 Topology Change rcvd on Fa0/22
*Mar 1 02:56:29.677: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:29.677: STP: VLAN0001 Topology Change rcvd on Fa0/22
*Mar 1 02:56:29.686: STP: VLAN0001 sent Topology Change Notice on Fa0/20
SW3#
*Mar 1 02:56:43.594: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 02:56:43.594: STP: VLAN0020 Fa0/22 -> learning
*Mar 1 02:56:43.602: STP: VLAN0001 Fa0/22 -> learning
SW3#
*Mar 1 02:56:58.601: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:56:58.601: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:58.601: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 02:56:58.601: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:56:58.601: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:58.601: STP: VLAN0020 Fa0/22 -> forwarding
*Mar 1 02:56:58.610: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 02:56
SW3#:58.610: STP: VLAN0001 sent Topology Change Notice on Fa0/20
*Mar 1 02:56:58.610: STP: VLAN0001 Fa0/22 -> forwarding
Từ kết quả debug có thể thấy, lần này, thời gian hội tụ đã giảm đi một khoảng xấp xỉ 20s, chỉ còn lại 30s.
Sau khi kiểm tra, nhớ no shutdown lại cổng F0/22 của SW2. 7. STP Toolkit (4) – BPDU Grard
- Các user thuộc VLAN 10 không được phép kết nối các thiết bị có phát ra BPDU vào các access – port thuộc VLAN 10.
- Thực hiện cấu hình đảm bảo nếu user kết nối thiết bị có phát ra BPDU vào port bất kỳ của VLAN 10, port này sẽ bị shutdown.
- Cấu hình thêm để nếu sự vi phạm không còn diễn ra, port vi phạm sẽ được tự động mở lại sau 2 phút.
Sử dụng tính năng BPDU Guard trên các Access port thuộc VLAN 10 để thực hiện yêu
cầu này:
SW3(config)#interface range f0/1 - 13
SW3(config-if-range)#spanning-tree bpduguard enable
SW3(config-if-range)#exit
Cấu hình đảm bảo khi sự vi phạm không còn diễn ra, cổng sẽ được tự động mở lại sau 2 phút (120s):
SW3(config)#errdisable recovery cause bpduguard
SW3(config)#errdisable recovery interval 120
Kiểm tra:
Thay Host đang kết nối trên cổng F0/13 bằng một Switch, thực hiện shutdown rồi
no shutdown cổng F0/13:
SW3(config)#int f0/13
SW3(config-if)#shutdown
SW3(config-if)#
*Mar 1 00:46:58.983: %LINK-5-CHANGED: Interface FastEthernet0/13, changed state to administratively down
*Mar 1 00:46:59.989: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to down
SW3(config-if)#no sh
SW3(config-if)#
*Mar 1 00:47:08.277: %LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to up
*Mar 1 00:47:09.284: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to up
Switch kết nối trên cổng F0/13 sẽ gửi vào cổng các gói BPDU để tiến hành các hoạt động STP, tính năng BPDU Guard trên cổng F0/13 sẽ đưa cổng vào trạng thái err – disabled:
*Mar 1 00:47:09.670: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Fa0/13 with BPDU Guard enabled. Disabling port.
SW3(config-if)#
*Mar 1 00:47:09.670: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/13, putting Fa0/13 in err-disable state
SW3(config-if)#
*Mar 1 00:47:10.685: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to down
SW3(config-if)#
*Mar 1 00:47:11.683: %LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to down
SW3#show int f0/13 status
Port Name Status Vlan Duplex Speed Type
Fa0/13 err-disabled 10 auto auto 10/100BaseTX
Thực hiện gỡ bỏ Switch trên cổng F0/13 và thay trở lại bằng một Host không chạy STP, sau 120s, cổng sẽ được phục hồi khỏi trạng thái err – disabled và hoạt động bình thường:
*Mar 1 00:49:09.669: %PM-4-ERR_RECOVER: Attempting to recover from bpduguard err-disable state on Fa0/13
SW3#
*Mar 1 00:49:13.335: %LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to up
*Mar 1 00:49:14.341: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to up
SW3#show interfaces f0/13 status
Port Name Status Vlan Duplex Speed Type
Fa0/13 connected 10 a-full a-100 10/100BaseTX
8. STP Toolkit (5) – Root Guard
- Các user thuộc VLAN 20 được phép kết nối thiết bị tập trung có khả năng chạy STP vào các cổng của VLAN 20 tuy nhiên các thiết bị này không được phép chiếm quyền Root - Switch của sơ đồ hiện hành.
- Thực hiện cấu hình để đảm bảo: nếu thiết bị của end – user kết nối vào một port của VLAN 20 cố tình phát ra BPDU tối ưu hơn để chiếm quyền root, port nối đến thiết bị này sẽ bị khóa không truyền được dữ liệu nhưng không bị shutdown. Khi sự vi phạm kết thúc, port sẽ được mở ra lại để truyền dữ liệu.
Sử dụng tính năng Root guard để thực hiện yêu cầu này:
SW3(config)#interface range f0/14 - 18,f0/24
SW3(config-if-range)#spanning-tree guard root
SW3(config-if-range)#exit
Kiểm tra:
Thực hiện kết nối một Switch (trong câu Lab này, là Switch có hostname là SW4) vào cổng F0/24 của SW3 và cấu hình để SW4 này phát ta BPDU tối ưu hơn BPDU của Root - Switch hiện hành trên VLAN 20:
SW4(config)#int f0/24
SW4(config-if)#switchport mode access
SW4(config-if)#switchport access vlan 20
SW4(config)#spanning-tree vlan 20 priority 0
Cổng F0/24 của SW3 bị khóa khi nhận được BPDU tối ưu hơn từ SW4:
*Mar 1 01:13:12.686: %SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port FastEthernet0/24 on VLAN0020.
SW3#show spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49172 (priority 49152 sys-id-ext 20)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Altn BLK 3019 128.24 P2p
Fa0/24 Desg BKN*3019 128.26 P2p *ROOT_Inc
Gỡ bỏ cấu hình priority = 0 trên SW4 để SW4 không còn phát BPDU tối ưu hơn Root - Switch, cổng F0/24 trên SW3 được đưa trở lại trạng thái forward dữ liệu bình thường:
SW4(config)#no spanning-tree vlan 20 priority 0
SW3#
*Mar 1 01:19:13.597: %SPANTREE-2-ROOTGUARD_UNBLOCK: Root guard unblocking port FastEthernet0/24 on VLAN0020.
SW3#show spanning-tree vlan 20
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49172 (priority 49152 sys-id-ext 20)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Altn BLK 3019 128.24 P2p
Fa0/24 Desg FWD 3019 128.26 P2p
9. STP Toolkit (6) – BPDU Fillter
- Thực hiện cấu hình để SW2 lọc bỏ toàn bộ BPDU gửi đến SW3.
- Quan sát hiện tượng và cho biết vai trò STP của cổng F0/22 của SW3 trên các VLAN sau khi STP hội tụ.
Thực hiện cấu hình tính năng BPDU Filter trên cổng F0/22 để thực hiện yêu cầu này:
SW2(config)#interface f0/22
SW2(config-if)#spanning-tree bpdufilter enable
SW2(config-if)#exit
Lúc này, SW3 không còn nhận được BPDU trên cổng F0/22 được forward xuống từ SW2 nữa, SW3 giả thiết rằng SW2 bị mất kết nối về Root - Switch nên nó mở cổng F0/22, chuyển cổng này ra khỏi trạng thái khóa:
SW3#debug spanning-tree events
Spanning Tree event debugging is on
SW3#
*Mar 1 01:26:10.536: STP: VLAN0001 Fa0/22 -> listening
*Mar 1 01:26:10.536: STP: VLAN0010 Fa0/22 -> listening
*Mar 1 01:26:10.536: STP: VLAN0020 Fa0/22 -> listening
SW3#
*Mar 1 01:26:25.543: STP: VLAN0001 Fa0/22 -> learning
*Mar 1 01:26:25.543: STP: VLAN0010 Fa0/22 -> learning
*Mar 1 01:26:25.543: STP: VLAN0020 Fa0/22 -> learning
SW3#
*Mar 1 01:26:40.550: STP[1]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:26:40.550: STP: VLAN0001 sent Topology Change Notice on Fa0/20
*Mar 1 01:26:40.550: STP: VLAN0001 Fa0/22 -> forwarding
*Mar 1 01:26:40.550: STP[10]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:26:40.550: STP: VLAN0010 sent Topology Change Notice on Fa0/20
*Mar 1 01:26:40.550: STP: VLAN0010 Fa0/22 -> forwarding
*Mar 1 01:26:40.550: STP[20]: Generating TC trap for port FastEthernet0/22
*Mar 1 01:26
SW3#:40.550: STP: VLAN0020 sent Topology Change Notice on Fa0/20
*Mar 1 01:26:40.550: STP: VLAN0020 Fa0/22 -> forwarding
(Nhắc lại rằng trước đó các Switch đã được cấu hình Backbonefast nên SW3 không cần phải chờ khoảng thời gian Max Age 20s mà tiến hành phản ứng ngay với việc mất BPDU đến từ SW2.)
Sau khi cổng F0/22 trên SW3 được mở ra, trên các VLAN 1, 10, 20 không còn cổng nào được khóa nữa:
SW1#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 24586 (priority 24576 sys-id-ext 10)
Address c062.6b69.8280
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/20 Desg FWD 19 128.22 P2p
Fa0/24 Desg FWD 19 128.26 P2p
SW2#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 19
Port 26 (FastEthernet0/24)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 28682 (priority 28672 sys-id-ext 10)
Address f4ac.c1c9.a600
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/22 Desg FWD 19 128.24 P2p
Fa0/24 Root FWD 19 128.26 P2p
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Desg FWD 3019 128.24 P2p
Nếu có dữ liệu broadcast đi vào hệ thống Switch, loop sẽ xảy ra. Các thông điệp log về MAC flapping xuất hiện trên các Switch thể hiện điều này:
SW1#
*Mar 1 01:29:25.093: %SW_MATM-4-MACFLAP_NOTIF: Host 0024.14d5.2a68 in vlan 10 is flapping between port Fa0/24 and port Fa0/20
SW1#
SW2#
*Mar 1 01:35:15.301: %SW_MATM-4-MACFLAP_NOTIF: Host 0024.14d5.2a68 in vlan 10 is flapping between port Fa0/24 and port Fa0/22
SW2#
SW3#
*Mar 1 01:37:25.584: %SW_MATM-4-MACFLAP_NOTIF: Host 0024.14d5.2a68 in vlan 10 is flapping between port Fa0/22 and port Fa0/20
SW3#
10. STP Toolkit (7) – Loop Guard
- Sau khi thực hiện yêu cầu 9, hiện tượng loop đã xảy ra, hãy thực hiện cấu hình trên SW3 để đảm bảo khi xảy ra hiện tượng mất đột ngột BPDU từ SW2, loop cũng không xảy ra.
Cấu hình tính năng Loopguard trên cổng F0/22 của SW3 để thực hiện yêu cầu này. Với tính năng này, khi một cổng đang nhận được BPDU đột ngột không còn nhận được BPDU, cổng này sẽ bị khóa và đi vào trạng thái Loop_Inconsistent.
Trên SW3:
SW3(config)#interface f0/22
SW3(config-if)#spanning-tree guard loop
SW3(config-if)#exit
Kiểm tra:
Tắt tính năng lọc BPDU để sơ đồ STP hội tụ lại như đã thiết lập ban đầu (xem hình 3.2 ở trên):
SW2(config)#interface f0/22
SW2(config-if)#spanning-tree bpdufilter disable
SW2(config-if)#exit
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Altn BLK 3019 128.24 P2p
Mở lại tính năng lọc BPDU trên cổng F0/22 để chặn dòng BPDU đi xuống SW3:
SW2(config)#interface f0/22
SW2(config-if)#spanning-tree bpdufilter enable
SW2(config-if)#exit
Lần này, do tác dụng của tính năng Loopguard trên cổng F0/22 của SW3, cổng F0/22 sẽ không còn bị mở ra nữa mà sẽ bị khóa và đưa vào trạng thái Loop_Inconsistent, loop không còn xảy ra:
SW3#
*Mar 1 01:57:13.184: %SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/22 on VLAN0001.
SW3#show spanning-tree vlan 10
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address c062.6b69.8280
Cost 3019
Port 22 (FastEthernet0/20)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49162 (priority 49152 sys-id-ext 10)
Address c062.6b35.2c80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
-------------------------- --------- -------- -------------------------------
Fa0/13 Desg FWD 3019 128.15 P2p Edge
Fa0/20 Root FWD 3019 128.22 P2p
Fa0/22 Desg BKN*3019 128.24 P2p *LOOP_Inc