حلقه سوئیچینگ یا Bridge Loop چیست؟
وقتی در شبکههای کامپیوتری بین دو نقطه (Endpoint) بیش از یک مسیر در لایه ۲ وجود داشته باشد، پدیدهای به نام حلقه سوئیچینگ رخ میدهد؛ مثلاً وقتی دو سوئیچ با چندین کابل به هم وصل شوند یا دو پورت روی یک سوئیچ به یکدیگر متصل شوند. در این حالت، چون سوئیچها بستههای پخش (Broadcast) و چندپخشی (Multicast) را از تمام پورتهای خود ارسال میکنند، این فریمها در حلقه مدام چرخیده و شبکه با طوفان پخش (Broadcast Storm) مواجه میشود. از آنجا که هدر لایه ۲ فیلدی به نام زمان حیات (TTL) ندارد، فریمی که وارد چنین توپولوژی شود، تا ابد در شبکه میچرخد.
دلیل ایجاد حلقههای فیزیکی
وجود مسیرهای فیزیکی اضافی برای ایجاد افزونگی (Redundancy) و پایداری شبکه بسیار جذاب است؛ اما یک شبکه سوئیچی نباید حلقه داشته باشد. راهحل این مشکل آن است که حلقههای فیزیکی را حفظ کنیم، اما با استفاده از فناوریهایی مانند تجمیع لینک (Link Aggregation)، پلزنی کوتاهترین مسیر (Shortest Path Bridging)، پروتکل درخت پوشا (Spanning Tree Protocol) یا TRILL، یک توپولوژی منطقی بدون حلقه روی سوئیچها بسازیم.
طوفان پخش (Broadcast Storm)
وقتی بستههای پخش در حلقه سوئیچینگ قرار میگیرند، وضعیت به سرعت به طوفان پخش تبدیل میشود. یک مثال ساده را در نظر بگیرید: سوئیچی با سه پورت A، B و C داریم. پورت A به یک دستگاه عادی وصل است، اما پورتهای B و C با یک کابل به هم متصل شدهاند (حلقه فیزیکی). سرعت تمام پورتها یکسان و حالت آنها Full Duplex است. وقتی یک فریم پخش از پورت A وارد سوئیچ میشود، به پورتهای B و C ارسال میشود. این دو فریم از دو جهت در حلقه میچرخند و دوباره از پورت مقابل وارد سوئیچ میشوند. فریمی که از پورت B آمده به A و C، و فریمی که از پورت C آمده به A و B ارسال میشود. این چرخه بیپایان ادامه مییابد و فریمهای پخش انباشته میشوند. در نهایت، پهنای باند خروجی اشباع شده، سوئیچ شروع به رها کردن فریمها میکند و ارتباطات شبکه مختل میشود.
ناپایداری جدول MAC
حلقههای سوئیچینگ باعث ایجاد اطلاعات گمراهکننده در جدول کنترل دسترسی رسانه (MAC) سوئیچ میشوند و میتوانند فریمهای یونیکست را به صورت نامحدود در شبکه پخش کنند. حلقه باعث میشود سوئیچ یک فریم پخش را از دو پورت مختلف دریافت کند؛ در نتیجه، آدرس MAC فرستنده را به صورت متناوب به یکی از این دو پورت نسبت میدهد. سوئیچ ممکن است ترافیک آن آدرس MAC را به اشتباه به پورت اشتباهی ارسال کند و این ترافیک از بین برود. حتی ممکن است سایر سوئیچها نیز آدرس فرستنده را به پورت نادرستی نسبت دهند.
ارسال چندباره فریمها
در یک شبکه سوئیچی افزونه، این احتمال وجود دارد که دستگاه گیرنده یک فریم را چندین بار دریافت کند.
نبود فیلد TTL در لایه ۲
در حلقههای مسیریابی (لایه ۳)، فیلد زمان حیات (TTL) در هدر بستهها مانع از چرخش بینهایت آنها میشود؛ بستهها آنقدر میچرخند تا TTL آنها به صفر برسد. اما در لایه ۲ هیچ مفهومی به نام TTL وجود ندارد و فریمهای گرفتار در حلقه سوئیچینگ تا زمانی که منابع سوئیچ تمام نشود و فریمها Drop نشوند، در شبکه میچرخند.