گاهی یک دستگاه خراب مثل کارت شبکه، استفاده از سوئیچ سیسکو ارزانقیمت یا ایجاد یک Loop ساده، سیل عظیمی از ترافیک Broadcast یا Multicast را تولید میکند. این اتفاق نتایج مخربی مانند کندی شدید ارتباطات، Packet Loss، بالا رفتن پردازنده (CPU) سوئیچ و حتی قطع شدن کل شبکه را به دنبال دارد. در این شرایط، storm control سیسکو دقیقاً مثل یک «فیوز» محافظ روی پورت عمل میکند. اگر ترافیک از سقف مجاز عبور کند، این قابلیت ترافیک را محدود و کنترل میکند تا شبکه از کار نیفتد. در ادامه، علاوه بر درک کامل این مفهوم، مراحل کانفیگ storm control را همراه با سناریوهای تست و عیبیابی آموزش میدهیم.
Storm Control سیسکو چیست؟
استورم کنترل (Storm Control)، قابلیتی امنیتی و بسیار حیاتی در سوئیچهای لایه ۲ و لایه ۳ سیسکو است که با پایش مداوم میزان ترافیک ورودی به هر پورت، از وقوع طوفانهای ترافیکی مخرب (مانند Broadcast Storm) در سطح شبکه به طور موثری جلوگیری میکند.
این ویژگی پیشگیرانه، دقیقاً مانند یک «فیوز برق» هوشمند برای پورتها عمل میکند. مکانیزم کار به این صورت است که شما با تعیین یک سقف مجاز (Threshold) درصدی یا بیتی، مشخص میکنید که چه مقدار از پهنای باند پورت میتواند به ترافیک برادکست، مالتیکست یا یونیکستِ ناشناس اختصاص پیدا کند. اگر به دلیل خرابی یک کارت شبکه، ویروسها یا اشتباهات کابلکشی (ایجاد لوپ)، ترافیک غیرعادی تولید شده و از این سقف تعیینشده عبور کند، سوئیچ بلافاصله واکنش نشان میدهد.
در این شرایط بحرانی، سوئیچ ترافیک مازاد را فیلتر (Drop) کرده یا پورت درگیر را برای محافظت از کل شبکه مسدود میکند تا مانع از درگیری شدید پردازنده، کندی آزاردهنده یا قطعی کامل ارتباطات سایر کاربران شود. این قابلیت، خط دفاعی اول شما برای پایداری شبکه است.
چرا شبکه به Storm Control نیاز دارد؟
در شبکه کامپیوتری، خطرات پنهانی وجود دارند که میتوانند در کسری از ثانیه، یک زیرساخت پایدار و قدرتمند را به زانو درآورند. تصور کنید در یک سازمان بزرگ، تنها به دلیل خرابی فیزیکی یک کارت شبکه (NIC) در یک کامپیوتر قدیمی، یا یک اشتباه ساده در کابلکشی که منجر به ایجاد لوپ (Loop) لایه ۲ میشود، چه اتفاقی میافتد؟ حتی گاهی بدافزارها و حملات سایبری نیز به عمد این شرایط بحرانی را ایجاد میکنند.
نتیجه این اتفاقات، تولید حجم عظیمی از ترافیکهای بدون مقصد مشخص (مانند بستههای Broadcast یا Multicast) است. این بستهها مانند یک سیل ویرانگر در شبکه تکثیر میشوند، تمام پهنای باند موجود را میبلعند و پردازنده سوئیچها را آنقدر درگیر پردازش میکنند که تجهیزات شبکه عملاً از کار میافتند (هنگ میکنند) و کل ارتباطات سازمان قطع میشود.
در چنین شرایط بحرانی، فعالسازی قابلیت استورم کنترل روی پورتهای متصل به کاربران نهایی (Access Ports)، دقیقاً نقش یک «فیوز محافظ برق» را ایفا میکند. همانطور که فیوز با بالا رفتن غیرعادی جریان برق میپرد تا دستگاههای گرانقیمت نسوزند، استورم کنترل هم اجازه نمیدهد اختلال یا آلودگی یک نود کوچک در یک اتاق، به سایر بخشها سرایت کرده و پایداری کل شبکه سازمان را به خطر بیندازد.
مفهوم Level و نحوه محاسبه آن در سوئیچهای سیسکو
برای اینکه مکانیزم هوشمند Storm Control بداند دقیقاً چه زمانی باید وارد عمل شود، ما باید یک «خط قرمز» یا سقف مجاز (Threshold) برای آن تعریف کنیم. در سیستمعامل سوئیچهای سیسکو، این خط قرمز با پارامتری به نام level مشخص میشود.
این پارامتر معمولاً به صورت درصدی از کل ظرفیت پهنای باند همان پورت (با دقتی بین ۰.۰۰ تا ۱۰۰.۰۰) تنظیم میگردد. به زبان ساده، شما به سوئیچ میگویید: «اجازه نده ترافیک برادکست این پورت، از فلان درصدِ کل ظرفیت آن بیشتر شود.»
مثال عملی: فرض کنید پورت کاربری شما از نوع GigabitEthernet است که ظرفیتی معادل ۱۰۰۰ مگابیت بر ثانیه دارد. اگر شما در تنظیمات، عدد 1.00 (یعنی ۱ درصد) را برای ترافیک Broadcast تنظیم کنید، سوئیچ یک محاسبه ساده انجام میدهد: یک درصد از ۱۰۰۰ مگابیت میشود ۱۰ مگابیت بر ثانیه.
حالا تا زمانی که ترافیک برادکست این کاربر زیر ۱۰ مگابیت باشد، همهچیز عادی است. اما به محض اینکه یک ویروس یا خرابی سختافزاری باعث شود این ترافیک از مرز ۱۰ مگابیت عبور کند، سوئیچ بلافاصله متوجه وضعیت غیرعادی شده و مکانیزم دفاعی خود (مثل مسدود کردن پورت یا دور ریختن ترافیک) را فعال میکند.
چرا انتخاب عدد Level به شدت حساس و حیاتی است؟
تنظیم این درصد نیازمند شناخت نسبی از رفتار طبیعی شبکه شماست. انتخاب یک عدد اشتباه میتواند دردسرهای بزرگی برای ادمین شبکه ایجاد کند:
- تنظیم مقدار خیلی کم (حساسیت بیش از حد): اگر درصد را بسیار پایین در نظر بگیرید، سوئیچ حتی به ترافیکهای سالم و روتین سیستمها (مثل پیدا کردن پرینترهای تحت شبکه یا درخواستهای عادی دریافت IP از DHCP) واکنش نشان میدهد. نتیجه این کار، فیلتر شدن ترافیک مجاز و قطعیهای بیدلیل و مکرر کاربران است که باعث نارضایتی شدید میشود.
- تنظیم مقدار خیلی زیاد (بیاثر کردن لایه محافظتی): از طرف دیگر، اگر درصد را خیلی بالا تنظیم کنید، عملاً این لایه امنیتی را خنثی کردهاید! در این حالت، سوئیچ زمانی متوجه بحران میشود و واکنش نشان میدهد که ترافیک مخرب حجم زیادی از پهنای باند پورت را اشغال کرده و شبکه از قبل دچار کندی شدید و افت کیفیت شده است.
آموزش گامبهگام کانفیگ storm control در محیط CLI
برای پیادهسازی و کانفیگ storm control، باید وارد محیط خط فرمان سوئیچ شده و تنظیمات را روی پورتهای مورد نظر اعمال کنید. معمولاً این تنظیمات روی پورتهای Access (متصل به کاربران نهایی) پیادهسازی میشوند.
برای اینکه این آموزش هم برای افراد تازهکار و هم برای متخصصین شبکههای سازمانی کامل باشد، فرآیند را در دو گام اصلی و با تمام جزئیات بررسی میکنیم.
گام اول: ورود به اینترفیس و تعیین سقف مجاز (Level Threshold)
در این گام مشخص میکنیم که ترافیکهای خاص (مثل برادکست) تا چه سقفی مجاز به استفاده از پهنای باند پورت هستند. برای انجام این کار، ابتدا به حالت Global Configuration میرویم و اینترفیس هدف را انتخاب میکنیم.
نکته: به جای کانفیگ تکتک پورتها، میتوانید با استفاده از دستور interface range، استورم کنترل را به صورت یکجا روی تمام پورتهای متصل به کاربران اعمال کنید.
Switch> enable Switch# configure terminal Switch(config)# interface range GigabitEthernet 0/1 - 24 Switch(config-if-range)# storm-control broadcast level 1.00 Switch(config-if-range)# storm-control multicast level 1.00 Switch(config-if-range)# storm-control unicast level 1.00
تحلیل دستورات گام اول
- مفهوم Level 1.00: این عدد نشاندهنده ۱ درصد از کل پهنای باند پورت است. اگر پهنای باند پورت ۱ گیگابیت باشد، عبور از ۱۰ مگابیت باعث فعال شدن مکانیزم کنترل میشود.
- اهمیت Unicast: فعال کردن unknown unicast storm control مانع از حملات MAC Flooding و اشغال پهنای باند توسط ترافیک ناشناس میشود.
ویژگی پیشرفته در سوئیچهای جدید
در سوئیچهای مدرن سیسکو میتوان به جای درصد، محدودیت را بر اساس pps یا bps تنظیم کرد:
Switch(config-if)# storm-control broadcast pps 500

محصول پیشنهادی جهت خرید سوئیچ سیسکو
گام دوم: تعیین استراتژی دفاعی و اکشن پورت (Action)
پس از تعیین سقف ترافیک، مهمترین تصمیم این است که به سوئیچ بگویید: «اگر ترافیک از حد مجاز گذشت، دقیقاً چه واکنشی نشان دهم؟». در سیستمعامل سیسکو (IOS)، سه رفتار اصلی برای مدیریت این بحران وجود دارد:
رفتار پیشفرض: Drop
اگر شما در گام دوم هیچ دستوری وارد نکنید، سوئیچ به صورت پیشفرض در این حالت قرار دارد.
عملکرد: سوئیچ به محض عبور ترافیک از سقف تعیینشده، فقط ترافیک مازاد را دور میریزد (Drop میکند).
نتیجه: پورت روشن میماند، کاربر به کار خود ادامه میدهد و ارتباط کل شبکه قطع نمیشود.
رفتار اطلاعرسانی: Trap
اگر میخواهید سوئیچ علاوه بر دور ریختن ترافیک اضافی، به سرور مانیتورینگ شما (NMS) نیز یک هشدار رسمی ارسال کند، از این اکشن استفاده کنید:
Switch(config-if-range)# storm-control action trap
ترافیک اضافی Drop شده و پیام SNMP Trap برای NMS ارسال میشود.
رفتار سختگیرانه: Shutdown
اگر میخواهید منبع اختلال (مثل یک سیستم ویروسی یا یک لوپ ایجاد شده) کاملاً از شبکه ایزوله شود تا هیچ آسیبی به Core شبکه نرسد، باید پورت را به صورت فیزیکی خاموش کنید:
Switch(config-if-range)# storm-control action shutdown
به محض تشخیص طوفان ترافیکی، سوئیچ پورت را کاملاً میبندد و آن را در وضعیت امنیتی err-disable قرار میدهد.
تحلیل گام دوم
انتخاب بین این گزینهها مستقیماً به معماری و سیاستهای سازمان شما بستگی دارد:
- مرحله تست و راهاندازی اولیه: همیشه کار را با حالت پیشفرض (Drop/Trap) شروع کنید تا تنظیمات شما باعث قطعی ناخواسته کاربران نشود.
- پورتهای حساس و سرورها: استفاده از حالت Drop/Trap پیشنهاد میشود تا سرویسدهی سرور به طور کامل متوقف نشود.
دستورات بررسی و عیبیابی Storm Control و مدیریت بحران
یک کانفیگ هرچقدر هم که اصولی باشد، زمانی کامل و حرفهای محسوب میشود که بتوانید عملکرد آن را مانیتور کرده و در زمان بروز بحران، شبکه را به سرعت عیبیابی کنید. سیسکو برای اطمینان از صحت عملکرد Storm Control، دستورات مانیتورینگ کارآمدی را در محیط Privilege EXEC Mode در اختیار شما قرار داده است.
مانیتورینگ وضعیت محدودیتها و شمارندههای ترافیک
برای اینکه ببینید آیا تنظیمات شما به درستی اعمال شده و وضعیت فعلی فیلترینگ چگونه است، از دستور زیر استفاده کنید:
Switch# show storm-control interface GigabitEthernet 0/1
با اجرای این دستور (یا فرم کلی آن show storm-control)، سوئیچ جدولی نمایش میدهد که شامل سقف مجاز (Level)، میزان درگیری لحظهای پهنای باند، اکشن تعریفشده و وضعیت فعلی پورت (Forwarding یا Blocking) است.
پیدا کردن پورتهای از کار افتاده
اگر اکشن پورت را روی مسدودسازی تنظیم کرده باشید و طوفان ترافیکی رخ دهد، سوئیچ آن پورت را برای محافظت از شبکه خاموش کرده و در وضعیت Err-disable قرار میدهد. برای پیدا کردن سریع پورتهای درگیر، از این دستور استفاده کنید:
Switch# show interface status err-disabled
این دستور لیستی از تمام پورتهای قطعشده را نشان میدهد. در ستون Reason، وجود عبارت storm-control تایید میکند که پورت به دلیل ارسال ترافیک بیش از حد مسدود شده است.

محصول پیشنهادی جهت خرید سوئیچ سیسکو
تنظیم بازگشت خودکار پورت به مدار
برای اینکه نیازی نباشد پس از هر قطعی، وارد سوئیچ شوید و پورتها را به صورت دستی ریست کنید، میتوانید از راهکار errdisable recovery storm-control استفاده کنید. با این کار سوئیچ پس از زمان تعیینشده (مثلاً ۳۰۰ ثانیه)، پورت مسدود شده را روشن میکند:
Switch# configure terminal Switch(config)# errdisable recovery cause storm-control Switch(config)# errdisable recovery interval 300
برای بررسی زمان باقیمانده تا روشن شدن خودکار پورتها، دستور زیر به شما کمک میکند:
Switch# show errdisable recovery
مانیتورینگ از طریق لاگهای سیستم
معمولاً اولین نشانههای وقوع طوفان ترافیکی، لاگهایی است که سوئیچ تولید میکند. در صورت عبور ترافیک از حد مجاز، سوئیچ این اتفاق را در سرور مانیتورینگ ثبت میکند.
نمونه لاگ برای حالت فیلتر کردن پیشفرض (Drop):
%STORM_CONTROL-3-FILTERED: A Broadcast storm detected on Gi0/1. A packet filter action has been applied.
نمونه لاگ در صورت مسدودسازی کامل پورت (Shutdown):
%PM-4-ERR_DISABLE: storm-control error detected on Gi0/1, putting Gi0/1 in err-disable state
ریست کردن شمارندهها برای عیبیابی لحظهای
شمارندههای دستور show storm-control مقادیر را از زمان روشن شدن سوئیچ محاسبه میکنند. در زمان عیبیابی شبکه، برای اینکه متوجه شوید آیا منبع تولید طوفان برطرف شده یا خیر، بهتر است یک بار آمار ترافیکی پورت را صفر کنید تا بتوانید تغییرات را به صورت زنده ببینید:
Switch# clear counters GigabitEthernet 0/1
پس از تایید این دستور، شمارندهها ریست میشوند و شما میتوانید مجدداً ترافیک ورودی را پایش کنید.
بهترین تنظیمات پیشنهادی storm control سیسکو در محیطهای Enterprise
پیادهسازی storm control سیسکو مانند راه اندازی یک شمشیر دو لبه است؛ اگر این قابلیت را با مقادیر اشتباه یا روی پورتهای نامناسب کانفیگ کنید، به جای محافظت از زیرساخت، خودتان باعث ایجاد یک قطعی گسترده (Self-inflicted DoS) در شبکه خواهید شد. برای اینکه کانفیگ storm control به پایدارترین شکل ممکن انجام شود و جلوگیری از کندی شبکه سوئیچ را تضمین کند، باید استراتژیهای زیر را به عنوان یک ادمین حرفهای در نظر بگیرید.
در جدول زیر، یک نمای کلی از استراتژی برخورد با پورتهای مختلف را میبینید:
| نوع پورت در معماری شبکه | مکانیزم پیشنهادی (Threshold) | اکشن امنیتی (Action) | سطح ریسک قطعی | استراتژی فنی و توضیحات |
|---|---|---|---|---|
| Access (کلاینتها/پرینترها) | ۱ تا ۵ درصد (یا تعیین بر اساس pps) | Shutdown (مسدودسازی) | پایین | پورتهای لبه شبکه (Edge) بیشترین پتانسیل تولید طوفان را دارند. اعمال سیاست سختگیرانه در اینجا الزامی است. |
| Server Farm (سرورها) | ۵ تا ۱۰ درصد | Drop (فقط فیلتر) | متوسط | سرورها ممکن است برای کلاسترهای خاص نیاز به Multicast بالاتری داشته باشند. مسدود کردن کامل پورت سرور توصیه نمیشود. |
| Trunk / Uplink (ارتباط سوییچها) | توصیه نمیشود (در صورت اجبار بالای ۲۰٪) | Drop (فقط هشدار/فیلتر) | بسیار بالا | ترافیک برادکست تمام VLANها از Trunk عبور میکند. مسدود شدن Uplink یعنی قطعی کل ارتباطات یک طبقه. |
رویکرد دو مرحلهای: اول مانیتورینگ، بعد مسدودسازی (Soft Launch)
هیچگاه در روز اول، اکشن Shutdown را در کل شبکه زیر بار فعال نکنید. بهترین روش این است که ابتدا قابلیت را با اکشن پیشفرض (Trap/Drop) راهاندازی کنید. سوئیچ را به سرور مانیتورینگ (مانند Zabbix یا SolarWinds) یا سرور Syslog متصل کنید و به مدت یک هفته لاگها را زیر نظر بگیرید.
وقتی مطمئن شدید که سقف مجاز تعیینشده (Threshold) باعث دور ریخته شدن ترافیک نرمال و سالم شبکه نمیشود، در مرحله دوم وارد سوئیچ شده و دستور
storm-control action shutdown
را روی پورتهای Access اعمال کنید.
احتیاط شدید در پورتهای Trunk و Uplink
ترافیک در پورتهای Trunk شامل پکتهای حیاتی مثل درخواستهای ARP، پیامهای DHCP و Hello پکتهای پروتکلهای مسیریابی (مثل OSPF) برای چندین VLAN مختلف است. بنابراین حجم طبیعی ترافیک Broadcast و Multicast در این پورتها همیشه بالاست.
قانون طلایی: حدالامکان Storm Control را روی پورتهای Uplink فعال نکنید. اگر مجبور به این کار شدید، سقف آن را بسیار بالاتر از پورتهای Access در نظر بگیرید و هرگز از اکشن Shutdown استفاده نکنید.
قطع شدن یک پورت ترانک به دلیل اشتباه محاسباتی میتواند ارتباط دهها یا حتی صدها کاربر را به طور همزمان قطع کند.
چالش محاسبه Level: درصد (Percentage) یا بسته بر ثانیه (PPS)
در سوئیچهای جدیدتر سیسکو، علاوه بر تعیین درصد، میتوانید محدودیت را بر اساس بسته در ثانیه (PPS) یا بیت بر ثانیه (BPS) نیز مشخص کنید.
استفاده از درصد (مثلاً ۱٪) روی یک پورت ۱۰۰ مگابیتی منطقی است، اما روی یک پورت ۱۰ گیگابیتی مقدار ۱٪ برابر با ۱۰۰ مگابیت بر ثانیه ترافیک Broadcast خواهد بود که رقم بسیار بالایی محسوب میشود.
پیشنهاد فنی: اگر سوئیچ شما پشتیبانی میکند، برای پورتهای با پهنای باند بالا محدودیت را به صورت PPS یا BPS تنظیم کنید.
storm-control broadcast pps 500
ترکیب با سایر لایههای امنیتی (Defense in Depth)
استورم کنترل یک راهکار واکنشی است؛ یعنی زمانی عمل میکند که طوفان ترافیکی شروع شده باشد. برای داشتن یک شبکه پایدار، باید آن را با راهکارهای پیشگیرانه ترکیب کرد:
- BPDU Guard و PortFast: جلوگیری از ایجاد Loop لایه ۲ در همان لحظات اولیه.
- Port Security: محدود کردن تعداد MAC آدرسهای مجاز روی هر پورت و جلوگیری از حملات MAC Flooding.
- DHCP Snooping: جلوگیری از پیامهای مخرب Broadcast در فرآیند تخصیص IP.
با رعایت این استراتژیها، زیرساخت شبکه در برابر خطاهای انسانی و مشکلات سختافزاری بسیار مقاومتر خواهد شد.
سوالات متداول
❓ آیا با وجود فعال بودن پروتکل STP برای جلوگیری از لوپ، باز هم به Storm Control نیاز داریم؟
بله، پروتکل STP فقط وظیفه جلوگیری از لوپهای فیزیکی در لایه ۲ را بر عهده دارد. اما طوفانهای ترافیکی همیشه به خاطر لوپ اتفاق نمیافتند. خرابی فیزیکی کارت شبکه (NIC) یک کاربر، بدافزارها و ویروسها، یا حتی ترافیکهای استریم ویدئویی (Multicast) میتوانند بدون وجود هیچگونه لوپی، شبکه را غرق در ترافیک کنند. STP در این موارد هیچ واکنشی نشان نمیدهد، بنابراین این دو قابلیت مکمل یکدیگر هستند و هر دو باید فعال باشند.
❓ آیا Storm Control ترافیک خروجی (Egress) از سوئیچ به سمت کاربر را هم محدود میکند؟
خیر. مکانیزم Storm Control در سوئیچهای سیسکو به صورت پیشفرض فقط روی ترافیک ورودی (Ingress) به پورت نظارت میکند. منطق سیسکو این است که باید از ورود ترافیک مخربِ یک کلاینت به داخل شبکه (Core) جلوگیری کرد. مدیریت ترافیکی که از سوئیچ خارج شده و به سمت کاربر میرود، معمولاً نیازمند ابزارهای دیگری مانند QoS است.
❓ اگر پورتها را با قابلیت EtherChannel تجمیع کرده باشیم، کانفیگ باید کجا انجام شود؟
این یکی از رایجترین اشتباهات ادمینهاست. در سوئیچهای سیسکو، تنظیمات Storm Control باید حتماً روی اینترفیسهای فیزیکی (Physical Interfaces) انجام شود، نه روی اینترفیس منطقی Port-channel. اگر شما محدودیت را مستقیماً روی Port-channel اعمال کنید، مکانیزم به درستی عمل نکرده و حتی ممکن است باعث از کار افتادن تجمیع لینکها شود.
❓ برای پورتی که به سرور مجازیساز (مثل ESXi یا کلاستر Docker) با دهها ماشین مجازی متصل است، تنظیمات باید چگونه باشد؟
پورتهای متصل به سرورهای مجازیساز رفتار بسیار متفاوتی نسبت به یک کامپیوتر عادی دارند، زیرا ترافیک دهها ماشین مجازی (VM) با MAC آدرسهای مختلف به صورت همزمان از یک پورت عبور میکند. برای این پورتها هرگز از درصدهای پایین (مثل ۱ یا ۲ درصد) استفاده نکنید. به عنوان Best Practice، محدودیت را به جای درصد بر اساس pps (بسته در ثانیه) تنظیم کنید و اکشن پورت را حتماً روی حالت فیلتر (Drop) رها کنید. استفاده از اکشن Shutdown روی پورتِ سرور، ریسک بسیار بالایی دارد و میتواند کل سرویسها را قطع کند.
کلام آخر
امروزه پیشگیری از قطعی، همیشه ارزانتر از عیبیابی است. استفاده از storm control سیسکو به شما کمک میکند تا طوفانهای ترافیکی را پیش از درگیر کردن CPU سوئیچ متوقف کنید. با یادگیری و اجرای اصولی کانفیگ storm control، میتوانید رفتار پورتها را در زمان عبور ترافیک از حد مجاز کنترل کنید. این ابزار قدرتمند، جلوی کندیهای دردسرساز را میگیرد و شبکهای همیشه در دسترس را برای کاربران فراهم میکند.











