درخت پوشا (Spanning-Tree) چیست؟
پروتکل درخت پوشا مکانیزمی برای حل مشکل شکلگیری حلقهها در شبکههای سوییچ شده است. گاهی أوقات، اترنت در همبندیهای redundant کار نمی کند، زیرا حلقههای اترنتی بهنام layer-2 loop یا broadcast storms در شبکه پدید میآیند. بدون فناوری که شبکه محلی را با لینکهای افزونه به توپولوژی بدون حلقه تقسیم کند، فریمهای BUM سرنام broadcast, unknown-unicast, and multicast به شکل نامحدود دور میزنند تا هنگامی که لینک یا دستگاهی خراب شود. این امر به دلیل شیوهای است که سوئیچها فریمهای BUM را ارسال می کنند.
سوئیچها و فریمهای BUM
هنگامی که سوئیچی فریمی را دریافت میکند، مکآدرس مقصد را در جدول مک خود بررسی میکند و اگر ورودی یکسان نداشته باشد، فریم را از همه پورتها به جز پورت ورودی ارسال میکند. این فرایند flooding نامیده میشود و فریمی که مقصد مک آن ناشناخته است یک یونیکست ناشناخته (unknown unicast) نامیده میشود. مشکل اصلی این است که اگر سوییچ نداند فریم را دقیقا باید به کجا تحویل دهد، آنرا برای همه گرهها ارسال میکند تا در نهایت گیرنده آنرا دریافت کند. علاوه بر این، به احتمال زیاد گیرنده پاسخ خواهد داد، بنابراین سوئیچ مکآدرس هر دو گره را یاد میگیرد و فرایند ارسالهای بعدی را به عنوان شناخته شده یونیکست ادامه میدهد. بهطور معمول، سوئیچها دو نوع فریم دیگر را نیز flood میکنند:
Broadcast: آنهایی که مقصد آدرس اترنتشان FF-FF-FF-FF-FF-FF است.
Multicast : مواردی که برای مکآدرس تعیین شده و با بیتهای ۱۱۱۰ آغاز میشوند.
شکل زیر حالتی را نشان میدهد که در آن PC1 یک فریم broadcast ارسال میکند. بر اساس مکآدرس مقصد، سوئیچ ۱ میداند که broadcast میشود و بنابراین یک کپی از آن به همه پورتها به جز ورودی ارسال میکند. بنابراین یک کپی از فریم به SW2 و SW3 میرود که الگوی یکسانی دارند. در نهایت، هر گره در این دامنه پخشی یک نسخه از این بسته را دریافت میکند.
در مدل فوق و این همبندی شبکه محلی همه چیز خوب کار میکند، به شرطی که خرابی افزونگی نداشته باشیم. اکنون اجازه دهید تا بررسی کنیم اگر یک پیوند اضافی بین SW2 و S3 به وجود آید، چه اتفاقی میافتد.
توفانهای همه پخشی (Broadcast storms)
اگر یک توپولوژی سوئیچینگ حلقهای مانند شکل زیر داشته باشیم و درخت پوشا ( Spanning-Tree) اجرا نشود، سه مشکل اصلی ایجاد میشود.
مشکل اول: حتی یک فریم حلقه شده باعث ایجاد توفان همهپخشی میشود
این حالت هنگامی اتفاق میافتد که یک فریم BUM پیرامون سوئیچها به شکل نامحدود ایجاد میشود و یک حلقه بی پایان را به وجود میآورد. این حالت ادامه پیدا میکند تا هنگامی که لینکی بیش از حد اشباع یا خراب شود یا سوئیچ به دلیل استفاده زیاد از پردازنده مرکزی خراب شود. دقت کنید که همه چراغهای الئیدی پورت به سرعت چشمک میزنند و پردازنده مرکزی سوییچ با دور کامل اجرا میشود. در این حالت دو اتفاق میافتد یا سوییچ خراب میشود یا حلقه به نوعی شکسته میشود.
اما علت بروز مشکل چیست؟ منطق اترنت به سوئیچها میگوید فریم BUM را در همه پورتها به جز رابط ورودی flood کنند. اگر از این منطق در مثال بالا استفاده کنیم SW1 یک فریم broadcast روی لینک SW1-SW2 دریافت و یک کپی از آن را به همه پورتهای که شامل SW3 و PC1 به جز لینک ورودی و لینک SW1-SW2 است ارسال میکند.
SW3 فریم broadcast را دریافت و از همان منطق استفاده میکند. این سوئیچ نیز یک کپی از فریم را به همه پورتهای خود به جز پورت فریم ارسال میکند. بنابراین broadcast را به SW2 و PC3 ارسال میکند.
SW2 فریم را دریافت، یک کپی از تمام پورتهای خود به جز پیوند ورودی SW3-SW2 ارسال میکند. بنابراین broadcast را به SW1 و PC2 ارسال میکند و این روند تکرار میشود و بهطور نامحدود ادامه پیدا میکند. در این حالت، همان حلقه در جهت مخالف نیز اتفاق میافتد.
مشکل دوم، توفان: باعث بروز مشکل دیگری بهنام بی ثباتی جدول مک آدرس میشود:
هنگامی که سوئیچ یک فریم را دریافت میکند، یک ورودی در جدول مکآدرس برای آدرس منبع و پورت ورودی ایجاد میکند، اما در صورت وقوع broadcast storm چند نسخه از یک فریم شبیه حالت حلقه ایجاد میشوند و سوئیچ آنرا در چند رابط دریافت میکند، اما یک مکآدرس تنها میتواند فقط به یک رابط سوئیچ متصل شود. با توجه به اینکه سوئیچ مدام در حال بازنویسی ورودی مکآدرس منبع با رابطها است یک ناپایداری شدید ایجاد میکند. در حالی که یک حلقه وجود دارد، هربار که جدول مکآدرس یک سوئیچ را بررسی میکنیم، مکآدرس به پورت دیگری متصل میشود.
SW1#show mac address-table
Mac Address Table
——————————————-
Vlan Mac Address Type Ports
—- ———– ——– —–
۱ ۰۰۰۲.۱۷۱d.6702 DYNAMIC Fa0/2
۱ ۰۰۰b.be01.b603 DYNAMIC Fa0/3
۱ ۰۰d0.979a.eb83 DYNAMIC Fa0/3
SW1#show mac address-table
Mac Address Table
——————————————-
Vlan Mac Address Type Ports
—- ———– ——– —–
۱ ۰۰۰۲.۱۷۱d.6702 DYNAMIC Fa0/2
۱ ۰۰۰b.be01.b603 DYNAMIC Fa0/3
۱ ۰۰d0.979a.eb83 DYNAMIC Fa0/2
SW1#show mac address-table
Mac Address Table
——————————————-
Vlan Mac Address Type Ports
—- ———– ——– —–
۱ ۰۰۰۲.۱۷۱d.6702 DYNAMIC Fa0/2
۱ ۰۰۰b.be01.b603 DYNAMIC Fa0/3
۱ ۰۰d0.979a.eb83 DYNAMIC Fa0/3
سومین مشکل، دستگاههای پایانی نسخههای چندگانهای از یک فریم دریافت میکنند
آخرین مشکلی که در ارتباط با حلقه ایجاد میشود این است که کلاینتهای نهایی کپیهای زیادی از فریمهای حلقه را به شکل مکرر دریافت میکنند، در حالی که توفان همهپخشی (broadcast storm) فعال است. بنابراین، کلاینتهای نهایی تاخیر زیادی را تجربه کنند و برنامههای حیاتی به دلیل فقدان منابع از خدمترسانی بازبمانند. اگر به PC1 نگاه کنید، مشاهده میکنید چند نسخه از یک فریم (نقطه سیاه نشان دهنده یک فریم پخش واحد) را دریافت میکند. اگر این یک فریم ARP باشد،PC1 هر یک از آنها را جدا و پردازش میکند که باعث مصرف بیش از اندازه پردازنده مرکزی میشود.
مهندسان شبکه باید بدانند اترنت در توپولوژیهای سوئیچهای دارای حلقه کار نمیکند. به همین دلیل ما به پروتکلی نیاز داریم که بتواند توپولوژی حلقه را به یک پروتکل بدون حلقه تبدیل کند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟