چطور میشه که وجود حلقه (loop) در یک شبکه باعث ایجاد خرابی شبکه میشه و چطور میشه که STP این چرخه رو قطع میکنه.
زمانی که اتصال بین سوییچ ها ایجاد میشه دقیقا همین نقطه هستش که باعث میشه شبکه رو به خرابی بره. شاید که ما قصدمون این باشه که مسیر دیگه ای ایجاد کنیم تا شبکه از کار نیافته اما موضوع اینجاست که همین مورد میتونه باعث بهم ریختن شبکه بشه چون باعث ایجاد حلقه (loop) در شبکه میشن.
فرض کنید دوتا سوویچ داریم. switch A و switch B. حالا این ها هرکدوم برای خودشون پورت هایی رو دارن. زمانی که ما این دوتارو بهم متصل میکنیم.ارتباطی که بین اینها الان وجود داره اینطوری هست که switch A به switch B بسته ای ارسال میکنه. switch B اون رو میگیره و به تمامی پورت هاش ارسال میکنه و به switch A میگه دریافت کردم. همین پیامی که به switch A میده رو هم switch A دریافت میکنه و دوباره به همه پورت های خودش ارسال میکنه و این چرخه هی داره تکرار و تکرار میشه.
زمانی که این موضوع داره اتفاق میوفته پهنای باند شبکه داره کم کم با یه طوفان رو به رو میشه. جدول مک آدرس ها دارن مدام با مک آدرسی پر میشن که قبلا بارها و بارها اونرو دیدن و دارن دوباره با همون رو به رو میشن. مادامی که این موضوع پیش میاد چه راه حلی رو پیشنهاد میدن ؟ اینکه کابل رو جدا کنید !.
یه حلقه( loop) تنهای بلاک نشده که ظرفیت 1 گیگابایت لینک رو میتونه در کمتر از 1 ثانیه اشباع کنه !. STP چیزی هست که میتونه این موضوع رو درست کنه.
قدم اول - انتخاب Root Bridge
هر سوییچ دارای یک Bridge ID هست که 8 بایت هست. 2 بایت اون priority و 6 بایت دیگه مک آدرس هست.سوییچ با bridge ID کمتر توی انتخاب شدن به عنوان root bridge برنده میشه.
مقدار priority به طور پیش فرض 32768 روی همه سوییچ ها هست. oخب الان سوال اینجاست که وقتی همه این مقادیر یکی هستن چطوریه که یکیشون به عنوان root bridge انتخاب میشه؟
وقتی که این موضوع پیش میاد اون سوییچ که مک آدرس کمتری داره توی این مورد برنده میشه.
بقیه پورت های این سوویچ که root bridge شناخته شده به عنوان Designated port و forward traffic شناخته میشن.
قدم دوم - انتخاب Root Port
توی این مرحله وقتشه که سوییچ های دیگه یهپورت از خودشون رو به عنوان root port انتخاب کنن. یعنی اون پورتی که مسیر برگشت که root bridge هست.اینکار با محاسبه هزینه مسیر(path cos) تا root bridge هست. یعنی پورتی که هزینه کمتری داره واسه برگشت به root bridge به عنوان root port معرفی و انتخاب میشه.
قدم سوم - انتخاب Designated Port
در هر بخش از شبکه یک پورت باید به عنوان Designated Port یا به اختصار DP معرفی بشه. سوویچ ای که هزینه کمتری داره در اون بخش از شبکه به عنوان DP معرفی میشه. اگر هر دو هزینه برابر داشتند اونی که Bridge ID کمتری داره برنده میشه.
پورت هایی که به عنوان DP معرفی میشن. مسئول عبور ترافیک هستند.
قدم چهارم - بقیه رو بلاک کن!
توی این قدم دیگه همه چیز انجام شده و همه چیز الان مشخصه و همه میدونن مسئولیت خودشون توی این شبکه چیه. هر پورتی که نه Root Port هست و نه Designated Port پس باید بره تو حالت Block.این به این معنی نیست کلا کار نمیکنه بلکه به این معنی هست که از خودش ترافیک رو عبور نمیده و صرفا حالت Block رو داره چون توی مراحل قبل اصلا شایسته انتخاب شدن نبود.
اگر توپولوژی تغییر کنه چه اتفاقی میوفته ؟
این پورت هم ترافیک دریافت میکنه تا ببینه میتونه حالتش عوض بشه یا نه چون ممکنه تغییراتی که رخ داده داخل شبکه باعث بشه وضعیت این پورت تغییر کنه.
هزینه مسیر (path cost) توسط لینک های فیزیکی مشخص میشن. برای همین یک جدول پیدا کردم که این هزینه ها رو از قبل داشت شاید بدردتون بخوره.
