I denna laboration implementeras två viktiga tekniker som används i moderna redundanta nätverk: Spanning Tree Protocol (STP) och Hot Standby Router Protocol (HSRP).
Syftet är att bygga ett nätverk med hög tillgänglighet där kommunikationen fortsätter att fungera även om en länk eller en enhet skulle sluta fungera. STP används för att förhindra switchloopar i den redundanta Layer 2-topologin, medan HSRP används för att ge klienterna en redundant standardgateway på Layer 3.
Nätverket består av två distributionsswitchar (DS1 och DS2) som är anslutna till fyra access-switchar (S1–S4). Samtliga switchar är sammankopplade med redundanta trunkförbindelser, vilket skapar flera möjliga vägar genom nätverket. Utan STP skulle detta leda till Layer 2-loopar och kraftiga broadcaststormar.
För att optimera trafiken delas ansvaret mellan distributionsswitcharna:
- DS1 är STP Root Bridge för VLAN 2–5.
- DS2 är STP Root Bridge för VLAN 6–9.
- DS1 är aktiv HSRP-router för VLAN 2–5.
- DS2 är aktiv HSRP-router för VLAN 6–9.
Genom att låta samma switch vara både STP-root och aktiv HSRP-router för respektive VLAN skapas en effektiv trafikväg där klienternas trafik når sin gateway utan onödiga omvägar genom nätverket.
Topologi

I laborationen används följande fysiska anslutningar:
| Enhet | Port | Ansluten till | Port |
|---|---|---|---|
| DS1 | G1/0/1 | S1 | G0/1 |
| DS2 | G1/0/1 | S1 | G0/2 |
| DS1 | G1/0/2 | S2 | G0/1 |
| DS2 | G1/0/2 | S2 | G0/2 |
| DS1 | G1/0/3 | S3 | G0/1 |
| DS2 | G1/0/3 | S3 | G0/2 |
| DS1 | G1/0/4 | S4 | G0/1 |
| DS2 | G1/0/4 | S4 | G0/2 |
Alla uplinkar mellan distributionsswitcharna och access-switcharna är konfigurerade som trunkportar.
VLAN-fördelning
För att sprida trafiken mellan distributionsswitcharna används åtta VLAN.
- S1 VLAN 2, VLAN 3
- S2 VLAN 4, VLAN 5
- S3 VLAN 6, VLAN 7
- S4 VLAN 8, VLAN 9
Design STP
-
- DS1 är den primära rotbryggan för vlan 2-5
- DS1 är den sekundära rotbryggan för vlan 6-9
- DS2 är den primära rotbryggan för vlan 6-9
- DS2 är den sekundära rotbryggan för vlan 2-5
Denna design gör att belastningen delas mellan distributionsswitcharna samtidigt som redundans bibehålls.
Design HSRP
HSRP används för att ge klienterna en redundant standardgateway.
Om den aktiva distributionsswitchen skulle sluta fungera tar standby-switchen automatiskt över gatewayfunktionen utan att klienterna behöver ändra sin konfiguration.
Genom att kombinera STP och HSRP skapas ett nätverk som är både redundant, belastningsbalanserat och feltolerant. Detta är en vanlig designprincip i företagsnätverk där hög tillgänglighet är ett viktigt krav.
Konfigurationer
- Switch> enable
- Switch# configure terminal
- Switch(config)# hostname DS1
- DS1(config)# no ip domain-lookup
- DS1(config)# vlan 2
- DS1(config-vlan)# name VLAN2
- DS1(config-vlan)# exit
- DS1(config)# vlan 3
- DS1(config-vlan)# name VLAN3
- DS1(config-vlan)# exit
- DS1(config)# vlan 4
- DS1(config-vlan)# name VLAN4
- DS1(config-vlan)# exit
- DS1(config)# vlan 5
- DS1(config-vlan)# name VLAN5
- DS1(config-vlan)# exit
- DS1(config)# vlan 6
- DS1(config-vlan)# name VLAN6
- DS1(config-vlan)# exit
- DS1(config)# vlan 7
- DS1(config-vlan)# name VLAN7
- DS1(config-vlan)# exit
- DS1(config)# vlan 8
- DS1(config-vlan)# name VLAN8
- DS1(config-vlan)# exit
- DS1(config)# vlan 9
- DS1(config-vlan)# name VLAN9
- DS1(config-vlan)# exit
- DS1(config)# spanning-tree mode rapid-pvst
- DS1(config)# spanning-tree vlan 2-5 root primary
- DS1(config)# spanning-tree vlan 6-9 root secondary
- DS1(config)# interface range g1/0/1 - 4
- DS1(config-if-range)# switchport mode trunk
- DS1(config-if-range)# switchport trunk allowed vlan 2-9
- DS1(config-if-range)# switchport nonegotiate
- DS1(config-if-range)# no shutdown
- DS1(config-if-range)# exit
- DS1(config)# ip routing
- DS1(config)# interface vlan 2
- DS1(config-if)# ip address 172.16.0.2 255.255.252.0
- DS1(config-if)# standby 2 ip 172.16.0.1
- DS1(config-if)# standby 2 priority 105
- DS1(config-if)# standby 2 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 3
- DS1(config-if)# ip address 172.16.4.2 255.255.252.0
- DS1(config-if)# standby 3 ip 172.16.4.1
- DS1(config-if)# standby 3 priority 105
- DS1(config-if)# standby 3 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 4
- DS1(config-if)# ip address 172.16.8.2 255.255.252.0
- DS1(config-if)# standby 4 ip 172.16.8.1
- DS1(config-if)# standby 4 priority 105
- DS1(config-if)# standby 4 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 5
- DS1(config-if)# ip address 172.16.12.2 255.255.252.0
- DS1(config-if)# standby 5 ip 172.16.12.1
- DS1(config-if)# standby 5 priority 105
- DS1(config-if)# standby 5 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 6
- DS1(config-if)# ip address 172.16.16.2 255.255.252.0
- DS1(config-if)# standby 6 ip 172.16.16.1
- DS1(config-if)# standby 6 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 7
- DS1(config-if)# ip address 172.16.20.2 255.255.252.0
- DS1(config-if)# standby 7 ip 172.16.20.1
- DS1(config-if)# standby 7 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 8
- DS1(config-if)# ip address 172.16.24.2 255.255.252.0
- DS1(config-if)# standby 8 ip 172.16.24.1
- DS1(config-if)# standby 8 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# interface vlan 9
- DS1(config-if)# ip address 172.16.28.2 255.255.252.0
- DS1(config-if)# standby 9 ip 172.16.28.1
- DS1(config-if)# standby 9 preempt
- DS1(config-if)# no shutdown
- DS1(config-if)# exit
- DS1(config)# end
- DS1# copy running-config startup-config
- Switch> enable
- Switch# configure terminal
- Switch(config)# hostname DS2
- DS2(config)# no ip domain-lookup
- DS2(config)# vlan 2
- DS2(config-vlan)# name VLAN2
- DS2(config-vlan)# exit
- DS2(config)# vlan 3
- DS2(config-vlan)# name VLAN3
- DS2(config-vlan)# exit
- DS2(config)# vlan 4
- DS2(config-vlan)# name VLAN4
- DS2(config-vlan)# exit
- DS2(config)# vlan 5
- DS2(config-vlan)# name VLAN5
- DS2(config-vlan)# exit
- DS2(config)# vlan 6
- DS2(config-vlan)# name VLAN6
- DS2(config-vlan)# exit
- DS2(config)# vlan 7
- DS2(config-vlan)# name VLAN7
- DS2(config-vlan)# exit
- DS2(config)# vlan 8
- DS2(config-vlan)# name VLAN8
- DS2(config-vlan)# exit
- DS2(config)# vlan 9
- DS2(config-vlan)# name VLAN9
- DS2(config-vlan)# exit
- DS2(config)# spanning-tree mode rapid-pvst
- DS2(config)# spanning-tree vlan 6-9 root primary
- DS2(config)# spanning-tree vlan 2-5 root secondary
- DS2(config)# interface range g1/0/1 - 4
- DS2(config-if-range)# switchport mode trunk
- DS2(config-if-range)# switchport trunk allowed vlan 2-9
- DS2(config-if-range)# switchport nonegotiate
- DS2(config-if-range)# no shutdown
- DS2(config-if-range)# exit
- DS2(config)# ip routing
- DS2(config)# interface vlan 2
- DS2(config-if)# ip address 172.16.0.3 255.255.252.0
- DS2(config-if)# standby 2 ip 172.16.0.1
- DS2(config-if)# standby 2 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 3
- DS2(config-if)# ip address 172.16.4.3 255.255.252.0
- DS2(config-if)# standby 3 ip 172.16.4.1
- DS2(config-if)# standby 3 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 4
- DS2(config-if)# ip address 172.16.8.3 255.255.252.0
- DS2(config-if)# standby 4 ip 172.16.8.1
- DS2(config-if)# standby 4 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 5
- DS2(config-if)# ip address 172.16.12.3 255.255.252.0
- DS2(config-if)# standby 5 ip 172.16.12.1
- DS2(config-if)# standby 5 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 6
- DS2(config-if)# ip address 172.16.16.3 255.255.252.0
- DS2(config-if)# standby 6 ip 172.16.16.1
- DS2(config-if)# standby 6 priority 105
- DS2(config-if)# standby 6 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 7
- DS2(config-if)# ip address 172.16.20.3 255.255.252.0
- DS2(config-if)# standby 7 ip 172.16.20.1
- DS2(config-if)# standby 7 priority 105
- DS2(config-if)# standby 7 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 8
- DS2(config-if)# ip address 172.16.24.3 255.255.252.0
- DS2(config-if)# standby 8 ip 172.16.24.1
- DS2(config-if)# standby 8 priority 105
- DS2(config-if)# standby 8 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# interface vlan 9
- DS2(config-if)# ip address 172.16.28.3 255.255.252.0
- DS2(config-if)# standby 9 ip 172.16.28.1
- DS2(config-if)# standby 9 priority 105
- DS2(config-if)# standby 9 preempt
- DS2(config-if)# no shutdown
- DS2(config-if)# exit
- DS2(config)# end
- DS2# copy running-config startup-config
- Switch> enable
- Switch# configure terminal
- Switch(config)# hostname S1
- S1(config)# no ip domain-lookup
- S1(config)# vlan 2
- S1(config-vlan)# name VLAN2
- S1(config-vlan)# exit
- S1(config)# vlan 3
- S1(config-vlan)# name VLAN3
- S1(config-vlan)# exit
- S1(config)# spanning-tree mode rapid-pvst
- S1(config)# interface range fa0/1 - 5
- S1(config-if-range)# switchport mode access
- S1(config-if-range)# switchport access vlan 2
- S1(config-if-range)# no shutdown
- S1(config-if-range)# exit
- S1(config)# interface range fa0/6 - 10
- S1(config-if-range)# switchport mode access
- S1(config-if-range)# switchport access vlan 3
- S1(config-if-range)# no shutdown
- S1(config-if-range)# exit
- S1(config)# interface g0/1
- S1(config-if)# description Trunk to DS1
- S1(config-if)# switchport mode trunk
- S1(config-if)# switchport trunk allowed vlan 2,3
- S1(config-if)# switchport nonegotiate
- S1(config-if)# no shutdown
- S1(config-if)# exit
- S1(config)# interface g0/2
- S1(config-if)# description Trunk to DS2
- S1(config-if)# switchport mode trunk
- S1(config-if)# switchport trunk allowed vlan 2,3
- S1(config-if)# switchport nonegotiate
- S1(config-if)# no shutdown
- S1(config-if)# exit
- S1(config)# interface range fa0/1 - 10
- S1(config-if-range)# spanning-tree portfast
- S1(config-if-range)# spanning-tree bpduguard enable
- S1(config-if-range)# exit
- S1(config)# end
- S1# copy running-config startup-config
- Switch> enable
- Switch# configure terminal
- Switch(config)# hostname S2
- S2(config)# no ip domain-lookup
- S2(config)# vlan 4
- S2(config-vlan)# name VLAN4
- S2(config-vlan)# exit
- S2(config)# vlan 5
- S2(config-vlan)# name VLAN5
- S2(config-vlan)# exit
- S2(config)# spanning-tree mode rapid-pvst
- S2(config)# interface range fa0/1 - 5
- S2(config-if-range)# switchport mode access
- S2(config-if-range)# switchport access vlan 4
- S2(config-if-range)# no shutdown
- S2(config-if-range)# exit
- S2(config)# interface range fa0/6 - 10
- S2(config-if-range)# switchport mode access
- S2(config-if-range)# switchport access vlan 5
- S2(config-if-range)# no shutdown
- S2(config-if-range)# exit
- S2(config)# interface g0/1
- S2(config-if)# description Trunk to DS1
- S2(config-if)# switchport mode trunk
- S2(config-if)# switchport trunk allowed vlan 4,5
- S2(config-if)# switchport nonegotiate
- S2(config-if)# no shutdown
- S2(config-if)# exit
- S2(config)# interface g0/2
- S2(config-if)# description Trunk to DS2
- S2(config-if)# switchport mode trunk
- S2(config-if)# switchport trunk allowed vlan 4,5
- S2(config-if)# switchport nonegotiate
- S2(config-if)# no shutdown
- S2(config-if)# exit
- S2(config)# interface range fa0/1 - 10
- S2(config-if-range)# spanning-tree portfast
- S2(config-if-range)# spanning-tree bpduguard enable
- S2(config-if-range)# exit
- S2(config)# end
- S2# copy running-config startup-config
- Switch> enable
- Switch# configure terminal
- Switch(config)# hostname S3
- S3(config)# no ip domain-lookup
- S3(config)# vlan 6
- S3(config-vlan)# name VLAN6
- S3(config-vlan)# exit
- S3(config)# vlan 7
- S3(config-vlan)# name VLAN7
- S3(config-vlan)# exit
- S3(config)# spanning-tree mode rapid-pvst
- S3(config)# interface range fa0/1 - 5
- S3(config-if-range)# switchport mode access
- S3(config-if-range)# switchport access vlan 6
- S3(config-if-range)# no shutdown
- S3(config-if-range)# exit
- S3(config)# interface range fa0/6 - 10
- S3(config-if-range)# switchport mode access
- S3(config-if-range)# switchport access vlan 7
- S3(config-if-range)# no shutdown
- S3(config-if-range)# exit
- S3(config)# interface g0/1
- S3(config-if)# description Trunk to DS1
- S3(config-if)# switchport mode trunk
- S3(config-if)# switchport trunk allowed vlan 6,7
- S3(config-if)# switchport nonegotiate
- S3(config-if)# no shutdown
- S3(config-if)# exit
- S3(config)# interface g0/2
- S3(config-if)# description Trunk to DS2
- S3(config-if)# switchport mode trunk
- S3(config-if)# switchport trunk allowed vlan 6,7
- S3(config-if)# switchport nonegotiate
- S3(config-if)# no shutdown
- S3(config-if)# exit
- S3(config)# interface range fa0/1 - 10
- S3(config-if-range)# spanning-tree portfast
- S3(config-if-range)# spanning-tree bpduguard enable
- S3(config-if-range)# exit
- S3(config)# end
- S3# copy running-config startup-config
- Switch> enable
- Switch# configure terminal
- Switch(config)# hostname S4
- S4(config)# no ip domain-lookup
- S4(config)# vlan 8
- S4(config-vlan)# name VLAN8
- S4(config-vlan)# exit
- S4(config)# vlan 9
- S4(config-vlan)# name VLAN9
- S4(config-vlan)# exit
- S4(config)# spanning-tree mode rapid-pvst
- S4(config)# interface range fa0/1 - 5
- S4(config-if-range)# switchport mode access
- S4(config-if-range)# switchport access vlan 8
- S4(config-if-range)# no shutdown
- S4(config-if-range)# exit
- S4(config)# interface range fa0/6 - 10
- S4(config-if-range)# switchport mode access
- S4(config-if-range)# switchport access vlan 9
- S4(config-if-range)# no shutdown
- S4(config-if-range)# exit
- S4(config)# interface g0/1
- S4(config-if)# description Trunk to DS1
- S4(config-if)# switchport mode trunk
- S4(config-if)# switchport trunk allowed vlan 8,9
- S4(config-if)# switchport nonegotiate
- S4(config-if)# no shutdown
- S4(config-if)# exit
- S4(config)# interface g0/2
- S4(config-if)# description Trunk to DS2
- S4(config-if)# switchport mode trunk
- S4(config-if)# switchport trunk allowed vlan 8,9
- S4(config-if)# switchport nonegotiate
- S4(config-if)# no shutdown
- S4(config-if)# exit
- S4(config)# interface range fa0/1 - 10
- S4(config-if-range)# spanning-tree portfast
- S4(config-if-range)# spanning-tree bpduguard enable
- S4(config-if-range)# exit
- S4(config)# end
- S4# copy running-config startup-config