پروژه ساخت وبلاگ

پروژه ساخت وبلاگ

پروژه ساخت وبلاگ
پروژه ساخت وبلاگ

پروژه ساخت وبلاگ

پروژه ساخت وبلاگ

بررسی ساختار پروتکل Spanning Tree در سویچ های سیسکو

بررسی ساختار پروتکل Spanning Tree در سویچ های سیسکو


با سلام به دوستان ،همانگونه که بسیاری از دوستان عزیز میدانند برای داشتن پهنای باند بیشتر در شبکه میتوان سویچها و روترها را با چند لینک بهم متصل نمود که با این کار نوعیRedundancy نیز در شبکه ایجاد کرده ایم یعنی مثلا بین دو سویچ دو تا لینک فیزیکی برای ارتباط قرار داد یا از یک PC در یک Segment از دو مسیر با PC دیگر درSegment دیگر ارتباط داشت اما این موجب بوجود آمدن Loop میشود همانطور که در شکل ذیل نشان داده شده است :
روش عملکرد پروتکل Spanning Tree در سویچ های سیسکو

بنابراین اگر PC A یک ARP که Broadcast است ارسال کند مثلا برای پیدا کردن PC B در شبکه (که قصد ارسال بسته ای را به آن دارد )در اینجا سه مشکل بوجود می آید
  1. Multiple Frame Copy
  2. Broadcast Storm
  3. Mislearning MAC address
همانگونه که میدانید سویچ 3 چون آدرس PC B را نمیداند فریم ارسالی را به هردوی سویچهای 1 و 2 ارسال میکند سویچ 1 نیز این فریم ورودی را مجددا روی تمام پورتهایش(غیر از پورت ورودی) منتشر میکند این عمل در سویچ 2 نیز اتفاق می افتد و فریم ورودی در لینک 23 خودش را روی لینک 12 و لینک متصل به PC B منتشر میکند و بنابراین لینک 12 مجددا این فریم را از سویچ 2 به سویچ 1 ارسال میکند و به همین نحو سویچ 1 مجددا فریم را روی لینک 13 به سویچ 3 ارسال میکند و میبینیم که اصطلاحا Broadcast storm یا طوفان Broadcast راه می افتد و چندین کپی از فریم روی پورتهای سویچها ایجاد میشود .

اما فرض کنید PC A بسته ای را به مقصد PC B ارسال کند(اما آدرس آن را در شبکه نمیداند بنابراین Broadcast میشود و وقتی به پورتهای سویچهای 2 و 3 میرسد ، سویچها بسته را اصطلاحاFlood یا منتشر میکنند در این حین MAC address کامپیوتر A در جدول کدام پورتها ثبت میشود ؟ همانگونه که میدانید پورتهای سویچ هر بار که فریمی دریافت میکنند طی فرآیندی بنام Learning ، آدرسهای MAC جدول پورتهای خودشون رو Update میکنند یعنی مثلا آدرس MAC کامپیوتر A که روی پورتهای متصل به لینکهای 23 و 13 به سویچ 1 و 2 میرسد در این پورتها که فریم به آنها رسیده ثبت میشود اما وقتی Flood اتفاق می افتد یعنی از سویچ 2 به سمت سویچ 1 و از سمت سویچ 1 به سمت سویچ 2 فریم با آدرسMAC کامپیوتر A ارسال میشود سویچ 2 با فرض اینکهPC A متصل به سویچ 1 است جدول پورتهای خودش را Update میکند و انگار که PC A واقعاً به یکی از پورتهای سویچ1 متصل شده و همین موضوع نیز در سویچ 1 اتفاق می افتد انگار که PC A به یکی از پورتهای سویچ 2 متصل شده باشد سویچ 1 این را در جدول پورتهایش Update میکند.بنابراین دیدیم که چگونه Redundancy که به منظور افزایش پهنای باند و کم کردن امکان قطعی بین سویچها ایجاد کرده بودیم (احتمال اینکه لینکهای 23 و 13 همزمان قطع شوند کم است) چگونه با ایجاد لوپ مشکلات گفته شده را ایجاد نمود.

شرکت سیسکو برای از بین بردن لوپ در Device های لایه 2 ای شبکه پرو توکلی بنام STP یا Spanning Tree Protocol ارائه کرد که طی فرآیند سه مرحله ای با انتخاب Root Switch در توپو لوژی شبکه و نیز انتخاب Root Port و Designated Port برای هر سویچ موجود در شبکه ، که با توجه به ID سویچها در شبکه و نیز Accumulated path cost و نیز عدد فیزیکی شماره پورتها ی سویچها و Priority آنها این انتخابها صورت میگیرند و باعث می شود سویچ با کمترین ID به عنوان Root Switch در نظر گرفته شود (البته ID هر سویچ از دو قسمت تشکیل شده که از چپ به راست شامل یک مقدار Priority است که میتوان آنرا در Config سویچ تغییر داد و پیش فرض آن برای سویچهای سیسکو 32768 است و قسمت بعدی ID همان MAC Address سویچ است ) در هر سویچ نیز آن پورتی که کمترین هزینه اصطلاحا انباشته شده را برای رسیدن یک بسته از Root switch به آن پورت را دارد ، بعنوان Root port در نظر گرفته میشود که البته این پارامتر بصورت دستی در Config سویچ برای هر پورت تعریف میشود و چنانچه این هزینه برای همه پورتهای سویچ یکسان باشد از آنجا که برای هر پورت سویچ نیز یک مقدار Priority وجود دارد که یش فرض آن در سویچهای سیسکو 32 است پورتی که کمترین مقدار priority را دارد انتخاب میشود و اگر Priority پورتها نیز یکی باشد پورت با کمترین شماره فیزیکی انتخاب میشود یعنی مثلا پورت 01 بجای 02 یا 0/3 بعنوان Root Port انتخاب میشود .

روشن است که patch cost همه پورتهای Root switch صفر است , ودر محاسبه هزینه Patch همواره هزینه ورود بسته جمع بسته میشود و هنگامیکه از سویچ از یک پورت خارج میشویم نباید هزینه آن پورت اضافه شود.گام سوم STP انتخاب designated Port است که در واقع پورتی است که هدف از انتخاب آن اطمینان حاصل کردن از این است که Segment متصل به سویچ مسیری به Root port داشته باشد (چرا که همچنانکه خواهم گفت پورتهای غیر Root یا Designate همگی در یک سویچ درون حلقه به حالتی بنام Blocking میروند تا تنها یک مسیر بین Root و سویچ وجود داشته باشد و حلقه از بین برود ) .انتخاب این پورت هم بر اساس کمترین هزینه رسیدن از Root port به Segment متصل به سویچ صورت میگیرد و همان مقایسه های گفته شده در بالا در این انتخاب نیز صورت میگیرد .در این مورد سویچی را در نظر بگیرید که دو تا لینک با سویچ کناری خود دارد و فرض کنید priority و patch Cost دو لینک نیز یکی باشد بنابراین پورت با کمترین شماره فیزیکی انتخاب میشود همانطور که در شکل زیر دیده میشود Sw5 که دو لینک ارتباطی با sw4 دارد و همه مشخصات دو لینک آن یکسانند بنابراین Fa 023 را در مقایسه با Fa 024 انتخاب میکند

Spanning Tree چیست


اما STP این اطلاعات را از کجا می آورد و در نظر بگیرید که تغییری در توپولوژی شبکه اتفاق بیفتد مثلا یک سویچ به ان اضافه یا از آن کم کنیم و یا Config های یک سویچ درون حلقه مثلاPriority آن را عوض کنیم و یا یک لینک ارتباطی قطع شود ، اطلاعاتی مثل Switch ID و اینکه Root switch و Root port ها و Designated port ها و پورتهای Block شده هرسویچ کدامند درفریمهای Multicast به نام BPDU’s بین سویچها هر دو ثانیه یکبار رد و بدل میشوند .لازم به ذکر است که IEEE پروتکلSTP را بنام 802.1d استاندارد سازی نموده تا همه Device های غیر سیسکو نیز بتوانند از آن استفاده کنند.نحوه جلوگیری از تشکیل حلقه توسطSTP را در مقالات بعدی شرح خواهم داد .

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.