پروتکل درخت پوشا یا (STP:Spanning Tree Protocol)
در طراحی شبکه داشتن لینک جایگزین (Redundant) یک ویژگی محسوب میشود که در صورت از کار افتادن لینک اصلی از لینک جایگزین جهت جلوگیری از وقفه در جریان ترافیک استفاده میشود . اما قابلیت Ethernet فابلیت تشخیص لینک جایگزین و غیر فعال کردن آن تا زمان مورد نیاز را ندارد . در نتیجه باعث ایجاد یک چرخه می شود و ترافیک Broardcast دائم در این مسیر در حال چرخش است و به مقدار آن اضافه میشود و به اصطلاح باعث ایجاد Loop در شبکه میشود و 3 اتفاق بر روی شبکه رخ خواهد داد که در نهایت با پر شدن پهنای باند و درگیر شدن تجهیزات ، شبکه ظرف مدت 3 تا 5 دقیقه Down خواهد شد . سه اتفاق اشاره شده عبارتند از :
1 – Broadcast Storm : به دلیل ارسال پیاپی بسته های ARP در شبکه و ایجاد Loop این پدیده در شبکه رخ میدهد .
2 – Mac Address – Table Instability : با ارسال بسته ARP برای PC ها (FLOOD) سوئیچ Mac دستگاه ها را در جدول خود ثبت میکند و پس از مدتی دچار سر در گمی و بی ثباتی میشود که این Mac دریافتی از PC را روی پورت 1 خود ثبت کند یا 2(Learn). جدول نگهداری Mac دائماً در حال تغییر است و چنانچه مشکل فوق مدت زیادی به طول بیانجامد پورت غیر فعال میشود و Mac- Flapping رخ میدهد .
3 – Multiple Farming : همزمان دو Frame با یک مشخصات برای پورت ارسال میشود . نرم افزار های امنیتی نصب شده روی شبکه به دلیل احتمال خطر Attack روی شبکه یکی از بسته ها را Drop می کنند . بودن و نبودن این اتصال به عنوان مسیر جایگزین شبکه را در کوتاه مدت و دراز مدت با مشکل مواجه میسازد ، پس چاره کار چیست ؟
Spanning tree پروتکلی است استاندارد (802.1D) که با تشخیص مسیر جایگزین یا مسیر دوم آن را تا زمانی که مورد نیاز است مسدود میکند . بنابراین طراح شبکه میتواند ضمن جلوگیری از بوجود آمدن Loop (Loop Free) در شبکه دو یا چند مسیر را بین سوئیچ های خود در نظر بگیرد .یک مسیر را به عنوان مسیر اصلی Active و بافی مسیر ها به عنوان Standby در نظر گرفته میشود و در صورت قطع شدن مسیر اصلی مسیر Standby به سرعت جایگزین مسیر اصلی شده و ترافیک را منتقل میکند . و به این شکل یک شبکه با قابلیت اطمینان بیشتر خواهیم داشت .
STP چگونه کار میکند ؟
این پروتکل دارای الگوریتمی است که طی آن عملیات تصمیم گیری صورت میگیرد تا مشخص شود کدامیک از لینک های شبکه در حالت Forwarding و کدامیک در حالت Blocking قرار گیرد . این تصمیم گیری بر اساس چند عامل صورت میپذیرد که مهمترین آنها عبارتند از :
الف) اگر یک Switch به عنوان Switch اصلی شناسایی شود تمام لینک های متصل به آن در حالت Forwarding قرار خواهند گرفت.
ب) اگر چندین سوئیچ به سوئیچ x متصل باشند ، سوئیچ x تنها لینکی را در حالت هدایت قرار میدهد که کمترین و کوتاه ترین هزینه را تا سوئیچ اصلی دارا باشد .
ج) لینکی از یک سوئیچ که کمترین هزینه را با سوئیچ اصلی دارا است در حالت هدایت قرار خواهد گرفت .