داشتن افزونگی در شبکه میتواند بسیار مفید باشد. افزونگی باعث شود در مواقعی که وسیله یا لینکی در شبکه قطع میشود ارتباطات بین تمامی بخشهای شبکه قطع نشود. به عنوان مثال در شکل زیر PC A برای رسیدن به PC B تنها یک مسیر ممکن را دارد و در صورتی قطعی در هر یک از لینکهای بین switch2 و switch1 و یا switch1 با switch3 و یا مشکل در خود switch1 ارتباط بین این دو PC ممکن نخواهد بود.
یک راه حل منطقی برای بالا بردن ضریب اطمینان از برقرار بودن شبکه ایجاد یک لینک مستقیم بین switch2 و switch3 است. انجام این کار باعث میشود که PC A برای رسیدن به PC B دارای دو مسیر باشد.
ایجاد افزونگی میتواند مشکلاتی را در شبکه به وجود آورد.! در این حالت به عنوان مثال اگر PC A بستهای را به مقصد PC B ارسال کند این کار باعث ایجاد ترافیکی میشود که در یک حلقه بین 3 سوئیچ خواهد چرخید و شبکه را از کار خواهد انداخت.!
Spanning Tree Protocol یا همان پروتکل درخت پوشا پروتکلی است که از بروز این مشکل جلوگیری میکند. برای این کار STP افزونگیهای موجود در شبکه را از بین میبرد.!! البته این از بین بردن به معنی قطع کردن لینکهای افزونه در شبکه به صورت موقت است و در صورت قطع شدن لینکهای فعال، لینکهای افزونه به صورت خودکار فعال میشوند.
برای از بین بردن حلقه موجود در شکل بالا یکی از لینکهای بین سوئیچها باید قطع شود. سوالی که پیش میآید این است که STP کدام لینک را قطع میکند و معیار انتخاب چیست؟
هر سوئیچ دارای شناسه ای که به آن Bridge ID میگویند میباشد. این شناسه از دو بخش Priority و Mac Address تشکیل شده است. Priority به صورت پیش فرض 32768 است که این مقدار قابل تغییر میباشد.
سوئیچی که کوچکترین مقدار را به عنوان Bridge ID خود داشته باشد به عنوان Root انتخاب میشود. سوئیچی که به عنوان Root انتخاب میشود هیچ کدام از پورتهای خود را بلاک نمیکند.
در شکل زیر سوئیچ شماره 1 به علت داشتن کوچکترین Bridge ID به عنوان Root انتخاب میشود. (قسمت Priority در همه همان مقدار پیش فرض 32768 میباشد.)
پورتهای سوئیچ Root همگی نقش Designated را دارند. (در هر لینک فقط و فقط یک طرف میتواند Designated باشد.)
ما بقی سوئیچهای موجود در شبکه بهترین پورت برای رسیدن به سوئیچ Root را به عنوان Root Port در نظر میگیرند. …
لینک بین سوئیچهای 2 و 3 که افزونه میباشد باید قطع شود. برای این کار یک طرف باید پورت را Designated و طرف دیگر آن را Alternate در نظر بگیرد. برای این کار نیز از Bridge ID استفاده میشود. سوئیچ شماره 2 به علت داشتن Bridge ID کوچکتر Designated و سوئیچ شماره 3 نیز نقش Alternate را انتخاب میکند.
به این صورت حلقه موجود در شبکه از بین میرود و در صورتی که هر یک از لینکها دیگر قطع شوند لینک بین سوئیچ شماره 2 و 3 به صورت خودگار فعال میشود.
…