آموزش پروتکل STP – مفاهیم اولیه (قسمت اول)

2 224
مدت زمان مطالعه : ۱۵ دقیقه                                                                                         پیشنیاز:آشنایی با شبکه                                                                                  سطح:متوسط

با عرض سلام و ادب خدمت همه The Ways های عزیز و علاقمندان به مباحث IT مخصوصا زیر ساخت:

با یک غیبت کوچولوJ به دلیل مشغله کاری در خدمتتون هستم تا یک مبحث جدید رو با هم شروع کنیم:

تصمیم گرفتم مبحث Spanning Tree رو با هم استارت کنیم و بریم تو دلش ببینیم چی داره و چیکارا میکنه و چطور میتونیم خوب مدیریتش کنیم:

دوستان همانطور که میدانیم کار اصلی این پروتکل یعنی STP تضمین Loop Free در شبکه سوییچینگ ماست.و باز همان طور که میدانیم وجود Loop در شبکه یک فاجعه به وجود می آورد و شبکه ما را Down میکند.

این پروتکل با استاندارد ۸۰۲٫۱D از IETF معرفی شده و کار اصلی آن همانطور که گفتیم Loop Detection یا Loop Prevention است.

این پروتکل به صورت پیشفرض درسوییچ های سیسکو فعال است.

همانطور که میدانیم اگر دیزاین شبکه ما جای درختی بودن گراف باشد در شبکه LOOP   به وجود می آید و وجود LOOP در برادکست لایه دو باعث Down  شدن شبکه میشود.

در این شکل یک گراف را میبینیم که اگر STP آن را تبدیل به Tree نکند Loop به وجود می آید.

این درختی که قرار است درست شود باید پوشای مینیمال شود (Spaning Tree)یعنی هم همه را شامل شود هم سریعتر و بهینه تر باشد.

 

سیسکو به کمک پروتکل STP   که به صورت پیشفرض در سوییچ ها فعال است Loop   را دیتکت میکند و اون مسیری که باعث Loop    شده است را مانند شکل بالا خاموش میکند حالا ما به بررسی این پروتکل میپردازیم.

اولین سوالی که ممکن است پرسیده شود این است که اصلا ما چرا باید طوری طرحی کنیم که Loop ایجاد شود و بعد STP جلوی آن را بگیرد؟؟

ما در شبکه در هر سطحی نیاز به Redundancy داریم تا به اصطلاح Availability شبکه مان بالا برود و یا High Available  شود حالا این قضیه در هر سطحی میتواند انجام شود از اضافه کردن کارت شبکه  و کابل گرفته تا اضافه کردن یک سرور و … . خب ما به ناچار برای بالا بردن Availability شبکه مان در بحث کابل مجبوریم دیزاین شبکه را به حالت گراف در بیاوریم و به ناچار LOOP درست کنیم و اینجاست که پروتکل STP شروع به کار میکند تا LOOP Free کند.

همانطور که گفتیم STP باید طوری کار کند که شبکه ما جای گراف،درخت شود.

STP سه فاز مهم دارد که با هم بررسی شان میکنیم:

Phase 1: Electing Root Bridge

  برای درخت شدن مسلما نیاز به یک ریشه داریم.

پس با یک اصطلاح جدید با نام Root Bridge آشنا میشویم.

Root Bridge سوییچ ریشه ی ماست که شاخ و برگ های درخت ما از این سوییچ رشد میکنند.خب حالا باید به یک نوعی این سوییچ انتخاب شود.

برای اینکه بفهمیم Root Bridge چطور انتخاب میشود باید بدانیم Bridge ID یا BID چطور به دست می آید؟

خب این BID تشکیل شده از :

 (Priority+Vlan ID).MAC_SW

  • این Priority که در فرمول میبینیم یک عدد است که پیشفرض آن ۳۲۷۶۸ است و البته قابل تغییر بسته به نیاز ما.و منظور از MAC_SWITCH هم BaseMac خود سوییچ است

در سیسکو Per Vlan یک BID وجود دارد و همینطور Per Vlan  ما Root Bridge داریم پس در سیسکو میتونیم بگیم ما جای STP ،PVST داریم یعنی Per Vlan Spanning Tee .خب حالا که فهمیدیم BID چطور به دست می آید میرویم سراغ تشخیص Root  Bridge که هر سوییچی BID کمتری داشته باشد در هر Vlan به عنوان سوییچ ریشه انتخاب میشود.

اگر شرایط را به صورت دیفالت بگذاریم فکر کنید تصادفی یکی از سوییچ های لایه اکسس که ارزان قیمت و معمولی هستند Mac کمتری دارد و به عنوان Root Bridge  انتخاب شده خب تمام سوییچ ها ترجیح میدهند از سوییچ ریشه به مقصد بروند با این اوصاف با یک Battle Neck یا کندی شبکه بزرگی مواجه میشویم پس نیاز است که بدانیم کدام سوییچ Root شده.پس بهتر است خودمان به صورت دستی سوییچ ریشه را انتخاب کنیم که اگر دیزاینمان استاندارد باشد معمولا سوییچ های لایه Distribute به عنوان ریشه انتخاب میشوند.

برای این که یک سوییچ را ریشه کنیم هم میتوانیم Priority را به روش زیر پایین بیاوریم:

(config)#spanning-tree vlan ? priority ?

هم میتوانیم از این کامند استفاده کنیم و مستقیم یک سوییچ را Root کنیم:

حالا میخواهیم بفهمیم که این BID چطور به همه سوییچ ها میرسد و آنها قبول میکنند که فلان سوییچ فرضا ریشه شود.

برای فهمیدن این موضوع باید با یک اصطلاح جدید با نام BPDU آشنا شویم:

BPDU: (Bridge Protocol Data Unit):

یک پکت است که سوییچ ها مرتب به هم میفرستند و داخل آن کلی اطلاعات وجود دارد تا آنها متوجه شود تا دیوایسی که وصل شده سوییچ است یا نه اگر سوییچ بود که اون هم BPDU   برمیگرداند و این BPDU به طور مرتب ارسال میشود  که یکی از چیزهایی که داخلش هست همین BID است.

اولین سوییچی که روشن میشود خودش را Root Bridge میکند و بعد اول به واسطه مالتی کست سوییچ ها به هم BPDU ارسال میکنند بعد از انتخاب ریشه؛ریشه وظیفه این ارسال را بر عهده میگیرد.

ما با کامند Show Spanning tree میتوانیم جزییات مربوط به این پروتکل را ببینیم:

دوستان عزیز قصه ی STP سر دراز دارد و حالا حالا ها ادامه داره.انشالله در قسمت های بعدی فاز های این پروتکل رو تموم میکنیم و در مقاله های بعد به بهینه کردن آن خواهیم پرداخت.

ممنون که وقتتون رو گذاشتین

امیدوارم که این مقاله ها مفید واقع بشه.

چه زیباست برای انتشار مقاله منبع را هم ذکر کنیم
2 نظرات
  1. میلاد اسحاقی می گوید

    خیلی عالی بود مهندس ، بسیار زیبا و با قاعده
    یک سوال هم داشتم ، با چ دستوری از بین مثلا ۱۰۰ سوییچ بفهمم کدام یک Root bridge است ؟ بدون اینکه بخواهم بر روی سوییچ ها مورد به مورد تست کنم ؟
    بی صبرانه منتظر این مقالات هستم

    1. محمدمهدی دهقان می گوید

      خواهش میکنم مهندس جان ما همیشه پیش شما درس پس میدیم.
      راجع به سوالتون باید بگم که من تا الان کامندی ندیدم که توی یه شبکه بزنیم و مستقیم Host Name سوییچ ریشه رو بهمون بده،اما همونطور که توی کامند Sh Sp مشخصه مک آدرس سوییچ ریشه رو نمایش میده که میشه با نرم افزارای مانیتورینگ یا نرم افزار هایی که برای اسکن دیوایس ها هست Host Name رو هم پیدا کرد.
      در خدمتتون هستم

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.