530 likes | 821 Views
OSI modelis Spanning Tree protokolas. Simonas Kareiva. Turinys. OSI modelis Tinklo architektūros lygiai Patikimumas konvergavusiame tinkle Kaip Spanning Tree protokolas (STP) eliminuoja 2 lygio kilpas tinkle Trys STP algoritmo žingsniai Rapid STP. Protokolai modelio kontekste.
E N D
OSI modelisSpanning Tree protokolas Simonas Kareiva
Turinys • OSI modelis • Tinklo architektūros lygiai • Patikimumas konvergavusiame tinkle • Kaip Spanning Tree protokolas (STP) eliminuoja 2 lygio kilpas tinkle • Trys STP algoritmo žingsniai • Rapid STP
Mūsų poreikiai • Patikimumas core ir distribution sluoksniuose • Daugybiniai sujungimai tarp komutatorių • Vienam sujungimui pradingus pradeda veikti kitas sujungimas
Papildomas jungimas • Komutavimo kilpos (switching loops) sukelia šias problemas (angl.): • Broadcast storms • Multiple frame transmission • Inconsistent switch tables
Broadcast audra (storm) Ir niekas negali to sustabdyti Komutavimo kilpa Broadcast info persiunčiama kitais prievadais Siunčiam ARP užklausą
Multiple Frame Transmissions A yra 3 porte Nepažįstu B Broadcast Siųsti pranešimą (frame) B Gaunam kartą A B Ir dar kartą
Nesuderinamos komutavimo lentelės ? A yra porte 1 A yra porte 2 WTF??? A is on port 3 Don’t know B So flood A yra porte 3 A yra porte 1 A yra porte 2 Siųsti pranešimą (frame) B A B
Klaidingas jungimas • Jeigu specialiai nejungiate tinklo kilpomis, galite tai padaryti netyčia. Arba tai gali padaryti USERIS!
Etherchannel – išimtis • Keletas sujungimų nesukuria kilpos kai naudojamas Etherchannel protokolas. • Sujungimai agreguojami į vieną loginį sujungimą, kurio pralaidumas yra visų agreguotų sujungimų pralaidumų suma.
Patikimumas be kilpų • Vienu metu turi būti tik vienas kelias. • Atsarginiai keliai turi būti atjungti ir įjungiami tik neveikiant pagrindiniams keliams. • Viską reikia daryti greitai ir automatiškai • Tai daro Spanning Tree Protokolas.
Kas yra “spanning tree”? • Medžio (žvaigždės) topologija • Medis neturi kilpų! • Padengiami visi įrenginiai • Ta prasme - visi įrenginiai sujungti į tinklą.
Ar spanning tree? • Yra kilpų…
Ar spanning tree? • Pamiršom vieną aparatą…
Ar spanning tree? • Jokių kilpų, visi įrenginiai - PUIKU
Klausimas (off-topic) • Kuo skiriasi: • Bridge (tiltas) • Switch (komutatorius) • ? • Niekuom! • Tai marketinginiai terminai - sinonimai!
Spanning tree protokolas • Komutatoriams skirtas protokolas, leidžiantis perteklinį sujungimą paversti spanning tree • Išjungia nenorimus sujungimus (blokuoja portą) • STP apibrėžiamas IEEE 802.1d • Rapid STP apibrėžiamas IEEE 802.1w • Dauguma komutatorių naudoja STP by default – nereikia jokios konfigūracijos.
Spanning tree algoritmas The switches use this algorithm to decide which ports should be shut down. • Vienas komutatorius išrenkamas “root bridge” • Kiekvienam komutatoriuje išrenkamas “root port” • Kiekvienam tinklo segmente parinkti “designated port” • Visus kitus sujungiamuosius prievadus išjungti.
Designated port Designated port Root port Root port Root port Designated port Designated port Nepasirinktas Išjungti!!! Procesas Root bridge
1 Parenkamas root bridge • Kiekvienas komutatorius turi bridge ID (BID) kurį nusako prioritetas ir MAC adresas • Komutatoriai apsikeičia Bridge Protocol Data Units (BPDUs) pranešimais kad sulyginti BID • Komutatorius su mažiausiu BID tampa root bridge • Administratorius gali rankom nustatyti prioritetą kad išvengti tokių atvejų, kai koks nors senukas komutatorius netyčia tampa root bridge. • Kodėl taip nutinka?
Bridge ID • Bridge ID sudaromas iš prioriteto, sistemos ID ir MAC adreso • Pagal nutylėjimą prioritetas yra 32768 • Laimi komutatorius su mažiausia prioriteto reikšme • Reikšmės 1 - 65536, (4096 kartotiniai) • Sistemos ID reikšmė nusako VLAN ID. • MAC adresas nusako prioritetą jei kitos reikšmės sutampa. Geriau nesiremti MAC adresu...
Konfigūruojame prioritetą • Tiesiogiai nustatome prioritetą: • SW1# spanning-tree vlan 1 priority 24576 • Arba netiesiogiai…: • SW1# spanning-tree vlan 1 root primary • Toks užrašymas nustato prioritetą 24576 arba 4096 mažiau negu surastas žemiausias prioritetas. • SW1# spanning-tree vlan 1 root secondary • Taigi, nustato reikšmę į 28672. Pastarasis komutatorius taps root bridge kai (jei) pagrindinis nustos veikti.
1 Parenkamas root bridge • Komutatorius įsijungęs siunčia BPDU pranešimus (frames) kuriuose yra komutatoriaus BID ir root ID (kas pora sek.) • Visų pirma komutatorius galvoja kad jis yra root • Jei komutatorius BPDU pranešimu gauna informaciją jog yra kažkas su mažesniu BID, jis identifikuoja naują root bridge ir perduoda šią info kitiems • Galų gale STP protokolui konvergavus visi komutatoriai vieningai sutaria, kas yra root bridge
Parenkami root prievadai • Kiekvienas ne root komutatorius pasirenka savo root port’ą: • Tai yra prievadas į root bridge pusę su mažiausia kaina
Nustatoma sujungimo kaina • Pagal nutylėjimą remiamasi sujungimo greičiu. Tai sugalvojo ir nustatė IEEE. • Kai Ethernet protokolas taps greitesniu, kainos vėl gali pasikeisti
Kaip keičiama interfeiso kaina • SW1(config)#int fa0/1 • SW1(config-if)#spanning-tree cost 25 • SW1(config-if)#end • SW1(config)#int fa0/1 • SW1(config-if)#no spanning-tree cost • SW1(config-if)#end
O kas jei prievadų kaina vienoda? • Naudotis portų prioritetu ir numeravimu • By defaultF0/1 turi 128.1F0/2 turi 128.2
Taigi, prievadų prioritetas • SW2(config-if)# spanning-tree port-priority 112 • Prioriteto reikšmės kinta nuo 0 iki 240, 16 kartotiniu. • Reikšmė pagal nutylėjimą yra 128. • Laimi mažiausia reikšmė • Looseris išjungiamas
Perduodama kainos informacija • Kiekvienas BPDU pranešimas turi kelio iki root bridge kainą. • Ši kaina yra visų sujungimų kainų suma. • Komutatorius gavęs BPDU pranešimą atnaujina savo kainą pridėdamas prievado, kuriuo gavo BPDU info, kainą prie kainos, nurodytos BPDU pranešime.
Pasirenkami designated ports • Kiekviename segmente prievadas su mažiausia kaina į root bridge tampa designated port.
Jei kaina sutampa… • Tuomet renkamas prievadas tame komutatoriuje, kurio BID mažesnis. Pagal pvz tai komutatorius B.
Išjungiam looser’ius • Kiekvienas prievadas, kuris nėra root arba designated prievadas, yra išjungiamas.
BPDU (Bridge Protocol Data Units) • BPDU pranešimas enkapsuliuojamas Ethernet frame pranešime. • Gavėjo MAC adresas visada yra 01:80:C2:00:00:00, tai yra multicast adresas, naudojamas STP protokole
Taigi, prievadų rolės • STP paverčia prievadus: • Root ports (dirba) • Designated ports (dirba) • Non-designated ports (išjungiami)
Prievadų būsenos tradiciniame STP • Blocking – siunčia ir gauna BPDU pranešimus. • Listening - siunčia ir gauna BPDU pranešimus. • Learning - siunčia ir gauna BPDU pranešimus. Mokosi naujų MAC adresų • Forwarding – Visiškai aktyvus, perduodamas normalus srautas. • Disabled – Atjungtas (administratively down).
Būsenos ir taimeriai BlockingLoss of BPDU detectedMax-age = 20 sec BlockingWhen link first comes up ListeningForward delay = 15 sec “Hello” taimeris BPDU siuntimui yra 2 sekundės. Blogam sujungimui vėl įsijungti gali prireikti iki 50 sek. LearningForward delay = 15 sec Forwarding
BPDU taimeriai • Taimeriai yra optimizuoti 7 komutatorių skersmens tinklui. • Tinklas turi šiek tiek laiko konverguoti kol komutatoriai pradeda siųsti vartotojų duomenis • Taimeriai gali būti individualiai koreguojami… • Pakeitus diametrą visi taimeriai automatiškai pasikeičia. Geriau nedaryti namuose… • spanning-tree vlan 1 root primary diameter 5
Patikrinkime spanning tree Root bridge Šis komutatorius
Topology change notification (TCN) • Tinklui konvergavus root bridge siunčia BPDUs, bet kiti komutatoriai BPDU atgal neatsiunčia. • Jei yra topologijos pasikeitimų, komutatorius siunčia specialų BPDU, vadinamą TCN. Jis adresuojamas root bridge. • Kiekvienas komutatorius pakeliui gavęs TCN pranešimą patvirtina ir persiunčia toliau į designated portą/root portą. Kol jį gauna root bridge • Root bridge tuomet išsiunčia visiems naują BPDU su TC (topology change) bitu.
STP variacijos Cisco Proprietary • Per-VLAN spanning tree protocol (PVST). • Per-VLAN spanning tree protocol plus (PVST+) - supports IEEE 802.1Q • Rapid per-VLAN spanning tree protocol (rapid PVST+) IEEE Standards • Rapid spanning tree protocol (RSTP) - • Multiple STP (MSTP) -
PVST+ • Atskiras STP kiekvienam VLAN
Rapid Spanning Tree Protocol • Daugiau negu STP bet su juo suderinamas. • Daug greičiau konverguoja. • Ta pati BPDU struktūra, tik versijos lauke įrašomas 2 • Siunčia BPDU kas 2 sek. • Kitokios prievadų rolės ir būsenos. • Kitaip naudojami taimeriai • 3 negauti BPDU pranešimai laikomi linko praradimu (kiek čia sekundžių?)
Edge prievadas RSTP • Prievadas, kuris niekada nebus jungiamas į komutatorių • Iškart jungiamas į forward būseną • Idėja analogiška Cisco PortFast. • Net konfigūracijai naudojamas portfast žodis: • spanning-tree portfast • Tik gavęs BPDU pranešimą toks prievadas tampa įprastu spanning-tree prievadu
Sujungimų tipai • Sujungimas tarp dviejų komutatorių, dirbantis full-duplex režimu vadinamas point-to-point link. • Sujungimas dirbantis half-duplex režimu vadinamas shared link.
Alternate porttakes over if Des port fails. RSTP prievadų rolės • Viskas kaip ir anksčiau .