M06 Silmukan havaitseminen, osa 1 - Ethernet, Spanning-Tree
Takaisin opintojakson aikatauluun
Opetusvideot
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.
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.
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
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
- on Root port ja
- on Designated port.
Jatka harjoituksiin!
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ä.