در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

در ادامه آموزش های سوئیچ می خوام امروز Spanning Tree Protocol براتون معرفی می کنم امیدوارم مفید واقع بشه ، در طراحی شبکه داشتن لینک جایگزین (Redundant) یک ویزگی محسوب می شود که در صورت از کار افتادن لینک اصلی از لینک جایگزین جهت جلوگیری از وقفه در جریان ترافیک استفاده می شود اما Ethernet قابلیت تشخیص لینک جایگزین و غیر فعال کردن ان تا زمان مورد نیاز را ندارد در نتیجه باعث ایجاد یک چرخه می شود و ترافیک Broadcast دائم در این مسیر در حال چرخش است و به مقدار آن اضافه می شود و به اصطلاح باعث ایجاد Loop در شبکه می شود و در نهایت با پر شدن پهنای باند و درگیر شدن تجهیزات ، شبکه از کار می افتد که به آن Broadcast Storm گفته می شود.

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

Spanning Tree پروتکلی است که با تشخیص مسیر جایگزین یا مسیر دوم آنرا تا زمانی که مورد نیاز نیست مسدود می کند. بنابراین طراح شبکه می تواند دو یا چند مسیر را بین سوئیچ های خود در نظر بگیرد ، یک مسیر را به عنوان مسیری اصلی و باقی مسیرها به عنوان رزرو در نظر گرفته می شود و در صورت قطع شدن مسیر اصلی مسیر رزور به سرعت جایگزین مسیر اصلی شده و ترافیک را منتقل می کند. و به این شکل یک شبکه با قابلیت اطمینان بیشتر خواهیم داشت.

نحوی عملکرد یک سوئیچ در لایه دوم به صورت زیر است


  • در هنگام دریافت یک فریم MAC Address فرستنده فریم و شماره پورتی که فریم را روی آن دریافت کرده را در جدول تحت عنوان CAM Table ذخیره می کند.
  • فریم های Broadcast و Multicast را روی تمام پورت های خود غیر از پورتی که این فریم را روی آن دریافت کرده ارسال می کند.
  • آدرس MAC گیرنده فریم های unicast را در جدول CAM Table چک می کند در صورتی که مورد مشابه پیدا کند فریم را به پورت متناظر ارسال آن ارسال می کند.
  • در صورتی که آدرس MAC گیرنده فریم unicast را در جدول CAM Table خود نداشته باشد این فریم را روی تمام پورت های خود غیر از پورتی که فریم را روی ان دریافت کرده ارسال می کند.
  • در فریم دریافتی تغییر ایجاد نمی کند.

نکته : مدت زمان نگه داری اطلاعات CAM Table برابر 300 ثانیه (5 دقیقه) می باشد.

نکته: در STP از کلمه Bridge زیاد استفاده می کند که همان سوئیچ می باشد.

نحوی عملکرد STP


STP یک سوئیچ را به عنوان Root Bridge انتخاب می کند ، سپس از باقی سوئیچ ها به سمت سوئیچ ریشه یا همان Root Bridge یک مسیر به عنوان loop-free (یک مسیر بودن ایجاد loop) انتخاب می شود. در نهایت شبکه ما به صورت یک درخت در می اید که Root Bridge به عنوان ریشه این درخت است.

مواردی که باید در STP انتخاب شود


  • یک Root Bridge
  • یک Root Port برای هر یک از سوئیچ ها غیر از سوئیچ Root Bridge
  • انتخاب پورت Designated در هر بخش از شبکه

معیار های انتخاب در Spanning Tree Election Criteria


برای انتخاب مواردی که در بخش قبل عنوان شد از ایتم های زیر استفاده می کنیم:

  • Lowest Root Bridge ID (BID) : Bridge ID متشکل از Priority+Bridge MAC Address

نکته : Priority یک متغییر 2 بایتی است که بین 0 تا 65535 می تواند مقدار دهی شود و مقدار پیش فرض ان 32768 می باشد.

نکته : Bridge MAC Address همان MAC ادرس سوئیچ است.

  • Lowest Path Cost : مجموع هزینه های مسیر تا Root Bridge
  • Lowest Sender Bridge ID : Bridge ID سوئیچ همسایه ما ، که از طریق ان به Root Bridge می رسیم
  • Lowest Sender Port ID : متشکل از Port priority + Port Number

نکته: Port Priority متغییر 8 بیتی است که بین 0 تا 255 مقدار دهی می شود و مقدار پیش فرض ان 128 است.

نکته : Port Number همان شماره پورت است.

انتخابات STP Election


این انتخابات را براساس شکل زیر انجام می دهیم که بهتر بتوانیم مفهوم را توضیح دهیم.

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

انتخاب Root Bridge


همینطور که قبلا گفته شد اولین مرحله از انتخابات در STP انتخاب Root Bridge است. سوئیچی که دارای کمترین Bridge ID باشد به عنوان Root Bridge انتخاب می شود. که در شکل بالا با فرض اینکه مقدار Priority همه سوئیچ ها مقدار پیش فرض 32768 است ، سوئیچ A دارای کمترین مقدار Bridge ID است در نتیجه به عنوان Root Bridge انتخاب می شود.

نکته : قبل از اضافه کردن سوئیچ جدید به شبکه مقدار Bridge ID ان را چک کنید.

انتخاب Root Port


Root Port پورتی است که از طریق آن با کمترین Cost به Root Bridge می رسیم.با توجه به شکل قبل که سوئیچ A به عنوان Root Bridge انتخاب شد ، باقی سوئیچ ها باید مسیری که دارای کمترین Cost برای رسیدن به Root Bridge را پیدا کنند و پورت مورد نظر را به عنوان Root Port انتخاب کنند. نحوی محاسبه Cost یا هزینه براساس جدول زیر بدست می آید.

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

با توجه به شکل قبل :

سوئیچ B : پورت متصل به سوئیچ A با هزینه 19 به عنوان Root Port انتخاب می شود(سرعت لینک 100 Mbps)

سوئیچ C : پورت متصل به سوئیچ A از نوع Ethernet با هزینه 100 می باشد و از طریق سوئیچ B با هزینه 23 به Root Bridge می رسد در نتیجه پورت متصل به سوئیچ B به عنوان Root Port انتخاب می شود.

سوئیچ D : از طریق سوئیچ B با هزینه 119 و از طریق سوئیچ C با هزینه 119 و از طریق سوئیچ C به B به A با هزینه 42 به Root Bridge می رسد در نتیجه مسیر C به B به A انتخاب می شود.

سوئیچ E : هزینه هر دو لینک یکسان است (D به C به B به A با هزینه 61) برای انتخاب پورت ایتم بعدی چک می شود که Sender BID است که باز هم هر دو لینک به سوئیچ D متصل است در نتیجه مقدار Sender BID یکسان دارد ، سپس Sender Port ID چک می شود با فرض این مقدار Port Priority تغییر نکرده و همان مقدار پیش فرض است ، در اینجا مقدار Port ID یکی 01 و دیگری 02 است که مقدار 0/1 کمتر است و به عنوان Root Port انتخاب می شود.

انتخاب Designated Port


Designated Port پورتی است که می تواند یک سوئیچ دیگر را با کمترین هزینه به Root Bridge برساند.

نکته: تمام پورت های Root Bridge در حالت Designated قرار دارند.

نکته : همیشه پورت مقابل Root Port در حالت Designated قرار دارد.

  • لینک متصل بین B و D : سوئیچ B دارای Cost کمتری تا Root Bridge نسبت به D (هزینه 19 در برابر 119) است در نتیجه پورت سوئیچ B به عنوان Designated انتخاب می شود.
  • لینک متصل بین C و D : سوئیچ C دارای Cost کمتری تا Root Bridge نسبت به D (هزینه 100 در برابر 119) است در نتیجه پورت سوئیچ C به عنوان Designated انتخاب می شود.
  • لینک متصل بین B و C : سوئیچ B دارای Cost کمتری تا Root Bridge نسبت به C (هزینه 19 در برابر 100) است در نتیجه پورت سوئیچ B به عنوان Designated انتخاب می شود.
  • لینکهای متصل بین D و E : سوئیچ D دارای Cost کمتری تا Root Bridge نسبت به E (هزینه 42 در برابر 61) برای هر دو لینک است در نتیجه پورت های سوئیچ D به عنوان Designated انتخاب می شود.

نکته : باقی پورت در حالت Block قرار می گیرند.

بعد از این انتخابات درخت تشکیل شده و سوئیچ A به عنوان ریشه آن است و دیگر مشکلی بابت loop در این شبکه نخواهیم داشت و شبکه ما به شکل زیر تبدیل خواهد شد.

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

Bridge Protocol Data Units - BPDU چیست ؟


پروتکل STP برای عملکرد خود و اگاهی از وضعیت شبکه بسته هایی با نام BPDU بین سوئیچ ها رد و بدل می کند.دو نوع BPDU داریم:

1. Configuration : هر دو ثانیه یکبار از سمت Root Bridge به سمت پایین ارسال می شود و برای موارد ذیل مورد استفاده قرار می گیرد:

  • در زمان انتخابات
  • حفظ و نگه داری ارتباطات بین سوئیچ ها

نکته : BPDU Configuration در زمان ارسال با Cost صفر ایجاد می شود و پس از عبور از سوئیچ به مقدار سرعت پورت به آن اضافه خواهد شد.

نکته : در صورتی که به مدت 20 ثانیه سوئیچ ها BPDU دریافت نکنند به منزله قطع شدن Root Bridge خواهد بود و مراحل انتخابات مجدد انجام خواهد شد.


2. TCN - Topology Change Notification: توسط سوئیچ های پایین دست تولید و به سمت Root Bridge ارسال می شوند و برای موارد ذیل مورد استفاده قرار می گیرند:

  • زمان که در توپولوژی شبکه تغییر ایجاد شود مثلا یک پورت خاموش یا روشن شود.
  • زمانی که یک فریم TCN از همسایه خود دریافت کند.

نکته : در صورت استفاده از دستور Portfast ، آن پورت دیگر فریم TCN تولید نخواهد کرد.

نکته : اگر سوئیج یک TCN از همسایه خود دریافت کند در پیام Acnowledgment به عنوان تائید دریافت TCN به همسایه خود ارسال می کند و سپس یک TCN به سمت Root Bridge ارسال می کند و اینکار تا زمانی که TCN به دست Root Bridge برسد ادامه خواهد یافت.

نکته : TCN فقط اعلام می کند که در شبکه تغییر رخ داده و از چزئیات آن چیزی اعلام نمی کند


محتویات یک فریم Configuration BPDU به صورت زیر است:

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

نکته : محتویات فریم TCN BPDU سه مورد اول Configuration BPDU است.

وضعیت های مختلف پورت در STP


زمانی که یک پورت فعال می شود مراحل زیر را طی می کند:

  • Disable : در این حالت پورت خاموش است.
  • Blocking : اولین حالت پس از فعال شدن پورت است و هیچ فریم را ارسال یا دریافت نمی کند و همچنین هیچ MAC Address را به CAM Table خود اضافه نمی کند و تنها قادر به دریافت BPDU است.
  • Listening : در این حالت هم هیچ فریم را ارسال یا دریافت نمی کند و همچنین هیچ MAC Address را به CAM Table خود اضافه نمی کند ولی قادر به ارسال و دریافت BPDU خواهد بود و در این مرحله می تواند خود را به عنوان Root Port یا Designated Port معرفی کند ، اگر نتواند Root Port یا Designated Port شود به حالت قبل یعنی Blocking باز خواهد گشت.
  • Learning : باز هم در این حالت هم هیچ فریم را ارسال یا دریافت نمی کند ولی MAC Addressها را به CAM Table خود اضافه می کند و قادر به ارسال و دریافت BPDU است.
  • Forwarding : در این حالت قادر به ارسال و دریافت فریم است و CAM Table خود را با MAC Address ها بروز می کند و قادر به ارسال و دریافت BPDU است.

مراحل ذکر شده در جدول زیر نمایش داده شده است:

معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن

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

به امید دیدار مجدد

نویسنده : جعفر قنبری شوهانی

منبع : جزیره سیسکو وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#loopback_adapter_چیست #spanning_tree_protocol_چیست #روش_کار_پروتکل_spanning_tree #معرفی_پروتکل_spanning_tree #نارنجی_شدن_چراغ_سویچ_سیسکو #پروتکل_stp_چیست #بررسی_پروتکل_spanning_tree #کاربرد_loopback_interface_در_روتر_سیسکو #spanning_tree_چیست #مکانیزم_جلوگیری_از_loop_در_سویچ_سیسکو
عنوان
1 معرفی پروتکل Spanning Tree Protocol یا STP و مکانیزم کاری آن رایگان
2 انواع پروتکل Spanning Tree Protocol - بخش اول رایگان
3 انواع پروتکل Spanning Tree Protocol - بخش دوم رایگان
4 مکانیزم امنیتی BPDU Guard برای حفاظت از پروتکل Spanning Tree رایگان
5 مکانیزم امنیتی Root Guard برای حفاظت از پروتکل Spanning Tree رایگان
زمان و قیمت کل 0″ 0
13 نظر
مرتضی عنابستانی

عالی بود امیدوارم همیشه شاهد مقاله های پر بار شما باشیم .

رضا بالی

سلام. من به کمک فوری نیاز دارم. لطفا جواب بدید.

لینک مربوط به سوال بنده در همین انجمن

v.taghavi68

مهندس جون دمت جیلیز و ویلیز واقعا ممنون خیلی خوب و به درد بخور بود

کاش همه آدما یاد بگیرن مثل شما زکات علمشون رو بدن

واقعا ممنون

محمدجواد  جمشیدی

فوق العاده بود این مقاله

ممنونم

وریا رحمانی

ممنون. بسیار عالی بود

pouya adiban

عالی بسیار عالی.

موفق باشید.

مرجان ثباتي

خیلی عالی بود .ممنونم و براتون آرزو میکنم روزگار بر وفق مرادتون باشه انشاالله

Ali Zarifi

زیبا بود

mahdi2174

خیلی عالی بود فقط در قسمت انتخاب designated port کمی گیج شدم

وب سایت توسینسو

saidsaadathossaini

سلام مهندس

یک سوال داشتم امکان این است که در یک شبکه با سه سویچ از دو استاندار MST و RSTP همزمان استفاده کرد.یعنی اینکه هر سویچ یک استاندارد STPداشته باشه؟

جعفر قنبری شوهانی

زمانی که توی شبکه برندهای مختلف سوئیچ داشته باشیم و پروتکل های مورد نظرمون توسط همه سوئیچ ها ساپورت نشه و بنا به دلایلی حتما بخوایم اینکار رو بکنیم میرین سراغ این قضیه برخی از پروتکل های STP با هم سازگاری دارن و توی مقاله اشاره کردم و میشه کنار هم اونها رو راه اندازی کرد به طور مثال توی یکی از سایت ها دیده بودم که پروتکل MST و RSTP کنار هم استفاده می کردند در کل سعی کنید که از یک پروتکل یکسان برای STP استفاده کنید 

saidsaadathossaini

تشکر مهندس جان.
ما الان سویچ های Distributed و سویچ های accsess قبلا Hirschmann بود.بعد یه مدت از ما خواسته شد که سویچ های لایه Access را با سویچ سیسکو مدل 4000 IE تعویز کنیم.متاسفا من بعد کانفیگ MST ارتباط سویچ لایه Access باDistributed قطع میشه رو Distributed هم از RSTP استفاده میکنم.نکته اینکه با VLAN native  هیچ مسله ای پیش نمی آید اما اگر تعداد VLAN بیشتر بشه ارتباط لایه Access با Distributed قطع مشه دلیل استفاده از MST را بعدا براتون ارسال خواهم کرد.

باتشکر از شما

جعفر قنبری شوهانی

من با سوئیچ های Hirschmann تا حالا کار نکردم شما باید داکیومنت ها مربوط به این سوئیچ ها رو بررسی کنید و ببینید که در مورد راه اندازی STP چه نکاتی وجود داره

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو