Spanning Tree Protocol
Introduction to Spanning Tree Protocol
जैसा की मैने आपको पहले बताया layer 2 switches में single broadcast domain होती है। इसका मतलब जब कोई भी host broadcast send करता है तो switch उसे हर port को forward करता है। हालांकि ये एक बहुत ही अच्छा feature है लेकिन कई बार ये network के लिए बहुत बुरा साबित होता है।
उदाहरण के लिए ऊपर दिए हुए diagram को देखिये। इसमें सभी switches आपस में connected है। जब host A एक frame broadcast कर रहा है तो वो सबसे पहले switch 1 के पास जाता है। Switch 1 इसे switch 2 और 3 को forward कर देता है। Switch 2 इस frame को switch 3 को और switch 3 switch 2 forward करता है। इसके बाद ये दोनों ही same frame को switch 1 को पास कर देते है। Switch 1 वापस इस फ्रेम को दोनों switch को पास कर देता है और यही process infinitely चलती रहती है। जब तक की कोई switches को off करके वापस on न करे । इसे broadcast storm कहते है। इससे बचना बहुत महत्वपूर्ण होता है।
इस problem से बचने के लिए कुछ rules का set बनाया गया है जिसे spanning tree protocol कहते है।
Spanning tree protocol को switching loops से generate होने वाले broadcast storms को रोकने के लिए develop किया गया है। Spanning tree protocol को IEEE 802.1D में define किया गया था।
जिन switches में spanning tree protocols enabled होता है वे पुरे switch network का एक map create करते है। जिसे STP topology कहते है। Spanning tree protocol ढूंढता है की कँही network में कोई loop तो नहीं है। यदि कोई loop मिलता है तो STP उस लूप को eliminate करने के लिए जितने ports को block करना पड़े उन सभी ports को spanning tree protocol block कर देता है।
यदि कोई दूसरा port down हो जाये तो एक blocked port फिर से reactivate हो जाता है। इससे network की redundancy बनी रहती है।
Spanning tree protocol के switches नेटवर्क का map बनाने के लिए Bridge Protocol Data Units (BPDU) share करते है। हर 2 second में सभी ports एक multicast MAC address () पर BPDU’s forward करते है।
जैसे ही switch network की पूरी topology (map) बन जाती है और सभी loops eliminate कर दिए जाते है तो switches converged कहलाते है।
Steps to Build Spanning Tree Protocol Topology
- सबसे पहले सभी switches में से एक root switch चुना जाता है।
- इसके बाद root ports identify किये जाते है।
- इसके बाद designated ports identify किये जाते है।
- इसके बाद loops को eliminate करने के लिए ports को block किया जाता है।
ये process convergence process कहलाती है। आइये अब इन सभी steps को detail में देखते है।
Applying Spanning Tree Protocol
Setting a Root Switch (Root Bridge)
Convergence process में सबसे पहला step root switch set करना है। ये पूरी STP topology का central point होता है। सबसे अच्छा तो यही रहेगा की जो switch topology में सबसे center और top पर है उसे ही root switch बना दिया जाये।
Root switch switch ID के माध्यम से चुना जाता है। Switch ID, switch priority और switch के MAC address से मिलकर बनी होती है। Switch priority 16 bit की होती है इसकी maximum value 32768 होती है। हर switch की default priority यही रहती है।
जिस switch की priority सबसे low होती है वही switch root switch बन जाता है। यदि 2 switches की priority same हो तो फिर उनके MAC address को compare किया जाता है। जिस switch का MAC address छोटा होता है वही switch root switch बन जाता है।
ऊपर दिए हुए diagram में switch 2 की priority सबसे कम है इसलिए यही root switch कहलायेगा। सभी switches को जब एक दूसरे का BPDU मिलता है तो वे एक दूसरे की priority के हिसाब से root switch का पता कर लेते है।
Identifying Root Ports
STP convergence process का second step root ports को identify करना होता है। हर switch का root port वह port होता है जिसकी root switch (root bridge) तक path cost बाकी सभी ports से कम होती है। हर switch में सिर्फ एक ही root port हो सकता है। Root switch (root bridge) में कोई root port नहीं होता है क्योंकि root port को root switch को point करने के लिए यूज़ किया जाता है और root switch में इसका कोई उपयोग नहीं होता है।
किसी port की root switch (root bridge) से path cost उसकी bandwidth पर depend करती है। जितनी ज्यादा bandwidth होती है उतनी ही कम path cost होती है। जैसे की 1 Gbps की path cost 4 होती है और 10 Gbps की path cost 2 होती है।
जैसा की आप ऊपर दिए diagram में देख सकते है सभी switches के सभी port links की bandwidth समान है। ऐसी situation में switch का जो port root switch (root bridge) से directly connected होता है वही root port कहलाता है।
Identifying Designated Root Ports
STP convergence process का 3rd step designated ports identify करना होता है। एक designated port वो port होता है जो network में BPDU और frames forward करने के लिए responsible होता है। यदि किसी switch में ऐसे 2 ports है जो designated port बन सकते है तो इसका मतलब होता है की network में loop है। एक same port कभी root port और designated port नहीं बन सकता है।
इसे दूसरी तरह से देखे तो आप के network में हर switch में सिर्फ एक ही ऐसा port हो जिससे सारे network में कँही भी frame send किया जा सके है। यदि ऐसे port एक से अधिक है तो समझ लीजिये की आपके network में लूप है और इसे eliminate करने के लिए आपको हर स्विच से एक port को छोड़कर बाकि सभी ऐसे ports को block करना होगा।
ऊपर दिए गए diagram में आप देख सकते है switch 1 में ऐसे 2 port है जो पुरे network में frames send कर सकते है इसलिए आप इन दोनों में से किसी एक को block कर देते है और loop eliminate हो जाता है। हालांकि ये network बहुत छोटा है इसलिए एक port को block करते ही ये converged हो चूका है। लेकिन real life में बहुत से loops आपके network में हो सकते है।