مشکل Broadcast storms در شبکههای LAN چیست و چگونه برطرف میشود؟
پروتکل درخت پوشا (STP) سرنام Spanning Tree Protocol یکی از مؤثرترین راهکار برای حل مشکل حلقه در شبکههای سوئیچ شده است…
مشکل Broadcast storms در شبکههای LAN چیست و چگونه برطرف میشود؟
پروتکل درخت پوشا (STP) سرنام Spanning Tree Protocol یکی از مؤثرترین راهکار برای حل مشکل حلقه در شبکههای سوئیچ شده است. پروتکل درخت پوشا، وظیفه مدیریت لینکها جهت فراهمکردن افزونگی (redundancy) مسیر و پیشگیری از ایجاد حلقه را دارد. مشکلی که شبکههای کامپیوتری دارند این است که با ساخت مسیرهای چندگانه فعال بین دو ایستگاه کاری، باعث بروز مشکل حلقه لایه دو میشود، فلذا برای عملکرد درست شبکه فقط باید یک مسیر فعال بین دو ایستگاه کاری باشد. از طرف دیگر نبود لینکهای اضافه باعث کاهش پایداری شبکه شده و اگر یک لینک قطع شود، ممکن است نیمی از شبکه از دسترس خارج شود. به همین دلیل است که مدیران شبکه اقدام به راهاندازی چند مسیر بین سوئیچها میکنند تا افزونگی در شبکه را ایجاد کنند. کارشناسان شبکه برای حل مشکل فوق و دستیابی به افزونگی باهدف پیشگیری از ایجاد حلقه از پروتکل STP استفاده میکنند.
درخت پوشا (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 میرود که الگوی یکسانی دارند. در نهایت، هر گره در این دامنه پخشی یک نسخه از b این بسته را دریافت میکند.
در مدل فوق و این همبندی شبکه محلی همه چیز خوب کار میکند، به شرطی که خرابی افزونگی نداشته باشیم. اکنون اجازه دهید تا بررسی کنیم اگر یک پیوند اضافی بین 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 هر یک از آنها را جدا و پردازش میکند که باعث مصرف بیش از اندازه پردازنده مرکزی میشود.
مهندسان شبکه باید بدانند اترنت در توپولوژیهای سوئیچهای دارای حلقه کار نمیکند. به همین دلیل ما به پروتکلی نیاز داریم که بتواند توپولوژی حلقه را به یک پروتکل بدون حلقه تبدیل کند.
منبع:Shabakeh-mag