Skip to content

M06 Silmukan havaitseminen, osa 1 - Ethernet, Spanning-Tree

Takaisin opintojakson aikatauluun

Opetusvideot

Microsoft Stream (sharepoint) video

Silmukanhavaitsemista

Tietoverkoissa lisätään yleensä useampia redudanttisia kytkentöjä korkeamman saatavuuden takaamiseksi. Yhden linkin katkeaminen ei katkaise liikennettä kokonaan. Valitettavasti maailma ei ole täydellinen ja katkoksia välillä tulee.

Esimerkki linkin katkeamisesta

(Laajennetun) tähtitopologian palautuminen

Koska runkokaapeli kerroksen 1 ja 2 välissä ei ole varmistettu, koko kerros katkeaa.

!a

Rengastopologian palautuminen

Kun runkokaapelissa kerroksen 1, 3 & 4 välillä on rengastopologia... yhden linkin katkeaminen ei tapa koko verkkoa.

!a

Tässä kappaleessa keskustelemme OSI mallin kerroksen 2 silmukan havaitsemista Ethernet:ssä.

Spanning Tree Protocol (STP) - IEEE 801.1D

Spanning Tree Protocol - on yksi käytetyimmistä silmukanhavaitsemisprotokollista Ethernet kytkinverkoissa.

Spanning Treestä on monia eri versioita, kuten MSTP, RSTP, PVSTP, ...

Nämä variantit eivät ole opintojaksolla mielenkiinnon kohteena. Katsomme vain perus STP:n toiminnan. Jos törmäät muihin variantteihin työelämässä, niin sinun täytyy tutkia sen tarkemmat yksityiskohdat.

Info

Kilpailevia protokollia on olemassa esim. Ethernet Ring Protection Switching (ERPS), mutta STP on silti yleisin ja täten opetetuin protkolla tietoverkoissa.

Ongelma Ethernet verkoissa

Kytkimet oppivat MAC osoitteita... liian hyvin.

Kytkimet lähettävät tuntemattoman MAC osoitteen liikenteen ulos kaikista porteista. Rengastopologiassa tämä valitettavasti aiheuttaa loputtoman silmukan.

Ethernet kehyksissä ei ole TTL -kenttää!

Katso esimerkki Onnettomuustutkintakeskukselta liittyen Helsingin ja Uudenmaan sairaanhoitopiirin tietojärjestelmien vakavat häiriöt 7.-8.11.2017

Kehykset "eivät koskaan kuole, koska ne on lähetetty liian usein".

Katotaan tätä ilmiötä powerpoint -linkistä (klikkaa ikonia):

Sama animaationa

Ratkaisu; keksitään protokolla joka havaitsee silmukat Ethernet verkosta! Ja täten Spanning Tree Protocol tuli keksityksi.

Bridge Protocol Data Unit - BPDU viestit

Spanning Tree Protocol:ssa, kytkimet oppivat toisistaan BPDU -viesteillä.

Kytkimet valitsevat keskuudestaan Juurikytkimen (eng. Root Bridge), joka toimii Spanning Tree:n juurena. Kaikki kytkimet luovat polkunsa juurta kohden.

Esimerkki BPDU -viestistä

!a

Juurikytkimet (eng. Root Bridge)

Juurikytkin on kytkin verkon... juuri. Sillä on alhaisin prioriteetti, joten se on numero 1 kytkin.

Oletus prioriteetti on 32768 ja sitä pitää lisätä 4096 lisäyksin. Eli...

Suosittelisin seuraavia arvoja

4096 - prioriteetti juurikytkimellä

8192 - prioriteetti "vara" juurikytkimellä

32768 - prioriteetti lopuilla kytkimillä

Loput arvot pitää aina tapauskohtaisesti suunnitella kyseiseen tietoverkkoon.

Kysymys: Mitä jos kaikki kytkimet ovat oletusarvolla 32768?

Tämä tarkoittaa että kytkimen ID (eng. Bridge ID) tulee käyttöön.

Kytkimen ID (eng. Bridge ID) on yksittäinen identifikaatio kytkimelle. Koska OSI Mallin 2 tasolla ei ole IP osoitteita, Kytkimet käyttävät "Base MAC" -arvoa, joka on yleensä kovakoodattuna kytimeen. Tämä MAC osoite on käytössä myös kaikessa IP-liikenteessä kytkimeltä (esim. hallintayhteydet). Alhaisin MAC osoite voittaa (HEX -> DEC) juurikytkinvaalit (olettaen prioriteettien olevan sama).

Aiemmassa BPDU esimerkissä oli kaksi MAC-osoitetta pelissä

08:00:27:80:6b:b1 HEX -> 8 796 755 749 809 DEC (alhaisempi kokonaisluku)

08:00:27:ab:b8:bb HEX -> 8 796 758 587 579 DEC (korkeampi kokonaisluku)

Täten 08:00:27:80:6b:b1 osoitteesta tulisi juurikytkin (olettaen prioriteettien olevan sama)

Porttien tiloista

Vastaanottaessaan BPDU -viestejä, portit menevät seuraavien tilojen lävitse.

Tila Tarkoitus
Disabled Pois päältä
Listening Rakentaa "aktiivista" topologiaa vastaanottaen BPDU -viestejä
Learning Rakentaa MAC taulua ja vastaanottaa BPDU -viestejä
Forwarding Lähettää / vastaanottaa käyttäjien liikennettä
Blocking Vastaanottaa BPDU -viestejä pelkästään

Topologiarakenteen kannalta porteilla on vielä lisätiloja yhtäaikaisesti,

State Kirjain Tarkoitus
Designated Port DP Edelleenlähettää liikennettä (juurikytkimestä poispäin)
Root Port RP Edelleenlähettää liikennettä (juurikytkimeen päin)
Alternate Port AP / B Estää liikennettä, mutta on vaihtoehtoinen/vara portti kohti juurikytkintä

Annettuna alapuolinen topologia, tilat olisivat

!a

Konfiguroidaan STP

Ensiksi meidän täytyy määrittää että haluamme käyttää STP:tä kytkimen porteissa. Suositeltavaa on lisätä STP kaikkiin VLANeihin.

configure stpd s0 add vlan <name> ports all

Etukäteen suunnitellulla ja valitulla juurikytkimellä pelkästään tiputamme priorityn alemmaksi

configure stpd s0 priority 4096

Sitten laitamme STP:n päälle kytkimeen.

enable stpd s0

Sitten voimme tarkastella kytkimemme tilaa komennolla

show stpd s0

* EXOS-VM.1 # show stpd s0
Stpd: s0        Stp: ENABLED        Number of Ports: 2
Rapid Root Failover: Disabled
Operational Mode: MSTP          Default Binding Mode: 802.1D
MSTI Instance:  CIST
802.1Q Tag: (none)
Ports: 1,2
Participating Vlans: Default,servers,workstations
Auto-bind Vlans: Default
Bridge Priority            : 32768      Bridge Priority Mode: 802.1t
Operational Bridge Priority: 32768
BridgeID           : 80:00:08:00:27:80:6b:b1
Designated root        : 10:00:08:00:27:ab:b8:bb
CIST Root          : 10:00:08:00:27:ab:b8:bb
CIST Regional Root     : 10:00:08:00:27:ab:b8:bb
External RootPathCost      : 0  Internal RootPathCost: 200000 
Root Port   : 1         
MaxAge      : 20s   HelloTime     : 2s  ForwardDelay     : 15s
CfgBrMaxAge : 20s   CfgBrHelloTime: 2s  CfgBrForwardDelay: 15s
RemainHopCount: 19  CfgMaxHopCount: 20
Topology Change Time           : 35s        Hold time        : 1s
Topology Change Detected       : FALSE      Topology Change  : FALSE
Number of Topology Changes     : 1
Time Since Last Topology Change: 7038s
Topology Change initiated locally on Port none
Topology Change last received on Port 1 from 08:00:27:ab:b8:bb
Backup Root               : Off     Backup Root Activated  : FALSE
Loop Protect Event Window : 180s        Loop Protect Threshold : 3
New Root Trap             : On      Topology Change Trap   : Off
Tx Hold Count             : 6

Ja porttien tiloja voidaan tarkastella

show stpd s0 ports

* EXOS-VM.33 # show stpd s0 ports
Port     Mode   State      Cost  Flags     Priority Port ID Designated Bridge
1      802.1D FORWARDING 200000 eRapam--I- 128      8001    10:00:08:00:27:ab:b8:bb
2      802.1D FORWARDING 200000 eDap-w--B- 128      8002    80:00:08:00:27:80:6b:b1

Total Ports: 2

 ------------------------- Flags: ----------------------------
1:                e=Enable, d=Disable
2: (Port role)    R=Root, D=Designated, A=Alternate, B=Backup, M=Master
3: (Config type)  b=broadcast, p=point-to-point, e=edge, a=auto
4: (Oper. type)   b=broadcast, p=point-to-point, e=edge
5:                p=proposing, a=agree
6: (partner mode) d = 802.1d, w = 802.1w, m = mstp
7:                i = edgeport inconsistency
8:                S = edgeport safe guard active
                  s = edgeport safe guard configured but inactive
8:                G = edgeport safe guard bpdu restrict active in 802.1w and mstp
                  g = edgeport safe guard bpdu restrict active in 802.1d
9:                B = Boundary, I = Internal
10:               r = restricted role, t = active role

Liput kenttä (eng. Flags) o olennainen yläpuolisessa show komennossa. Olennaiset taulukkona alapuolella:

Port Mode State Cost Flags Priority Port ID Designated Bridge
1 802.1D FORWARDING 200000 eRapam--I- 128 8001 80:00:08:00:27:ab:b8:bb
2 802.1D FORWARDING 200000 eDap-w--B- 128 8002 80:00:08:00:27:80:6b:b1

Missä rivi

  1. on Root port ja
  2. on Designated port.

Jatka harjoituksiin!

Konfiguroi STP

Kertaa materiaalia pienellä tietovisalla?

Tietoverkot Quiz - M06 Silmukan havaitseminen, osa 1 - Ethernet, Spanning-Tree

Takaisin opintojakson aikatauluun?

Takaisin opintojakson aikatauluun


Lisenssi

Tämän opintojakson materiaalin on kirjoittanut Karo Saharinen ja se on lisensoitu Creative Commons Nimeä-EiKaupallinen-EiMuutoksia 4.0 Kansainvälinen -lisenssillä.

Creative Commons -lisenssi