چگونه Loop سوئیچ سیسکو را بدون خاموش کردن شبکه پیدا کنیم؟

چگونه Loop سوئیچ سیسکو را بدون خاموش کردن شبکه پیدا کنیم؟

یکی از آزاردهنده‌ترین مشکلاتی که مدیران شبکه با آن مواجه می‌شوند، ایجاد Loop در سوئیچ سیسکو (Cisco Switch Loop) است. این مشکل می‌تواند در عرض چند ثانیه باعث افزایش شدید ترافیک Broadcast، اشغال کامل CPU سوئیچ، کند شدن شبکه، قطع ارتباط کاربران و حتی از کار افتادن کل زیرساخت شود. در بسیاری از سازمان‌ها خاموش کردن شبکه برای پیدا کردن لوپ امکان‌پذیر نیست؛ زیرا توقف سرویس‌ها باعث خسارت مالی و اختلال در فعالیت کاربران می‌شود.

خبر خوب این است که در اغلب موارد می‌توان بدون خاموش کردن شبکه، محل ایجاد Loop را شناسایی کرد. سوئیچ‌های سیسکو ابزارها و دستورات متعددی برای بررسی وضعیت پورت‌ها، میزان Broadcast، آدرس‌های MAC و پروتکل STP در اختیار مدیر شبکه قرار می‌دهند که با استفاده از آن‌ها می‌توان منبع Loop را پیدا کرد.

در این مقاله به صورت کاملاً عملی بررسی می‌کنیم که چگونه Loop را بدون قطع کردن شبکه شناسایی کنیم، چه دستوراتی در Cisco IOS بیشترین کاربرد را دارند و چگونه از وقوع مجدد این مشکل جلوگیری کنیم.

Loop زمانی ایجاد می‌شود که بین دو یا چند سوئیچ، بیش از یک مسیر فعال لایه دوم (Layer 2) وجود داشته باشد و مکانیزم جلوگیری از لوپ به درستی عمل نکند یا غیرفعال باشد. در چنین شرایطی فریم‌های Ethernet به صورت بی‌پایان در شبکه گردش می‌کنند و باعث موارد زیر می‌شوند:

  • Broadcast Storm
  • افزایش شدید مصرف CPU سوئیچ
  • پر شدن جدول MAC Address
  • افزایش Latency
  • Packet Loss
  • قطع و وصل شدن کاربران
  • Down شدن سرویس‌ها

قبل از اینکه به سراغ پیدا کردن Loop بروید باید مطمئن شوید که واقعاً با لوپ مواجه هستید.

رایج‌ترین علائم عبارتند از:

  • کند شدن ناگهانی شبکه
  • قطع و وصل شدن ارتباط کاربران
  • افزایش شدید Broadcast
  • بالا رفتن مصرف CPU سوئیچ
  • تغییر مداوم جدول MAC Address
  • چشمک زدن غیرعادی LED پورت‌ها
  • ناپایدار شدن STP
  • افزایش Unknown Unicast
حالت های اتفاق افتادن loop در سوئیچ سیسکو

اولین قدم، بررسی وضعیت پردازنده سوئیچ است.

دستور:

show processes cpu sorted

اگر مصرف CPU به صورت مداوم بالای 70 یا 80 درصد باشد و فرآیندهای مربوط به Interrupt یا STP حجم زیادی از CPU را مصرف کنند، احتمال وجود Loop زیاد است.

بهترین دوست شما هنگام پیدا کردن Loop، پروتکل Spanning Tree است. دستور:

show spanning-tree

موارد زیر را بررسی کنید:

  • Root Bridge
  • Port Role
  • Port State
  • Forwarding
  • Blocking
  • Topology Change Count

اگر تعداد Topology Change به سرعت افزایش پیدا کند، معمولاً Loop یا ناپایداری لینک وجود دارد. برای مشاهده جزئیات:

show spanning-tree detail

به این قسمت دقت کنید:

Number of topology changes

اگر این عدد هر چند ثانیه افزایش پیدا کند، باید به دنبال لوپ باشید.

دستور بسیار مهم:

show interfaces counters

یا

show interfaces counters errors

همچنین:

show interfaces

به این موارد دقت کنید:

  • Broadcast Packets
  • Multicast Packets
  • Input Rate
  • Output Rate

اگر یک پورت حجم بسیار بیشتری از Broadcast نسبت به سایر پورت‌ها داشته باشد، احتمالاً Loop از همان مسیر ایجاد شده است.

یکی از بهترین روش‌های پیدا کردن لوپ بررسی تغییرات جدول MAC است. دستور:

show mac address-table

اگر مشاهده کنید یک MAC Address مدام بین دو پورت جابه‌جا می‌شود، احتمال وجود Loop بسیار زیاد است. برای بررسی MAC خاص:

show mac address-table address xxxx.xxxx.xxxx

اگر هر بار دستور را اجرا کنید و MAC روی پورت دیگری ظاهر شود، به اصطلاح MAC Flapping رخ داده است.

سوئیچ سیسکو معمولاً هنگام ایجاد Loop هشدارهایی ثبت می‌کند. دستور:

show logging

به دنبال پیام‌هایی مانند:

MACFLAP_NOTIF

SPANTREE

LOOP

Topology Change

STP

BPDU

وجود مکرر این پیام‌ها معمولاً نشان‌دهنده وجود لوپ است.

گاهی Loop روی لینک‌های بین سوئیچ‌ها ایجاد می‌شود. دستور:

show interfaces trunk

موارد زیر را بررسی کنید:

  • Native VLAN
  • Allowed VLAN
  • Status
  • Encapsulation

اشتباه در تنظیمات Trunk یکی از دلایل رایج ایجاد لوپ است.

اگر EtherChannel به درستی تشکیل نشده باشد، ممکن است Loop ایجاد شود. دستور:

show etherchannel summary

اگر مشاهده کردید یکی از لینک‌ها مستقل (Individual) شده است، احتمال بروز Loop وجود دارد.

دستور:

show interfaces gigabitEthernet 1/0/10

به این قسمت‌ها دقت کنید:

  • Input Errors
  • Broadcast
  • Unknown Protocol
  • Packets Input
  • Packets Output

اگر نرخ دریافت بسته بسیار بیشتر از حد معمول باشد، آن پورت باید بررسی شود.

دستور:

show mac address-table dynamic

اگر صدها یا هزاران MAC در مدت کوتاهی وارد جدول شوند یا مدام جابه‌جا شوند، تقریباً مطمئن هستید که لوپ رخ داده است.

اگر بخواهید بدون قطع شبکه علت دقیق را پیدا کنید، بهترین راه استفاده از Port Mirroring است. نمونه تنظیم:

monitor session 1 source interface Gi1/0/10

monitor session 1 destination interface Gi1/0/24

سپس با نرم‌افزارهایی مانند Wireshark می‌توانید مشاهده کنید:

  • Broadcast Storm
  • BPDUهای غیرعادی
  • ARP Storm
  • Unknown Unicast
  • Duplicate Frames

این روش یکی از دقیق‌ترین راهکارها برای تشخیص محل ایجاد Loop است.

اگر از قبل Storm Control فعال باشد، پیدا کردن Loop بسیار ساده‌تر خواهد بود. بررسی تنظیمات:

show storm-control

در صورت فعال بودن، سوئیچ می‌تواند هنگام افزایش غیرعادی Broadcast هشدار دهد یا حتی میزان ترافیک را محدود کند تا کل شبکه از کار نیفتد.

گاهی علت لوپ ، اتصال اشتباه بین دو سوئیچ یا اتصال یک کابل به همان سوئیچ است. بررسی همسایه‌ها:

show cdp neighbors detail

یا

show lldp neighbors

اگر توپولوژی نمایش‌داده‌شده با مستندات شبکه مطابقت نداشته باشد، ممکن است یک اتصال اشتباه عامل Loop باشد.

در عمل، بهترین روش این است که اطلاعات چند دستور را کنار هم قرار دهید:

  1. بررسی Topology Change در STP
  2. بررسی Broadcast روی پورت‌ها
  3. بررسی MAC Flapping
  4. مشاهده Logها
  5. بررسی Trunkها
  6. مانیتور کردن پورت با SPAN

تقاطع نتایج این بررسی‌ها معمولاً شما را مستقیماً به پورتی می‌رساند که عامل Loop است، بدون اینکه نیاز باشد سوئیچ یا کل شبکه را خاموش کنید.

پس از شناسایی پورت مشکل‌دار:

  • ابتدا دستگاه متصل به آن پورت را شناسایی کنید.
  • در صورت امکان، همان پورت را به صورت موقت Shutdown کنید؛ نیازی به خاموش کردن کل شبکه نیست.
  • کابل‌کشی را بررسی کنید تا اتصال اشتباه یا حلقه فیزیکی وجود نداشته باشد.
  • تنظیمات STP و EtherChannel را بازبینی کنید.
  • در صورت استفاده از سوئیچ‌های غیرمدیریتی، آن‌ها را از نظر ایجاد حلقه بررسی کنید.
  • پس از رفع مشکل، پورت را مجدداً فعال کنید و وضعیت شبکه را مانیتور نمایید.

بهترین راه، پیشگیری است. پیشنهاد می‌شود قابلیت‌های زیر را روی سوئیچ‌های سیسکو فعال کنید:

فعال بودن Rapid Spanning Tree (RSTP)

RSTP سریع‌تر از STP کلاسیک مسیرهای حلقه را شناسایی و مسدود می‌کند و زمان بازیابی شبکه را نیز کاهش می‌دهد.

استفاده از PortFast فقط روی پورت‌های Access

فعال کردن PortFast روی لینک‌های بین سوئیچ‌ها می‌تواند خطر ایجاد Loop را افزایش دهد. این قابلیت فقط باید روی پورت‌هایی که به کلاینت‌ها متصل هستند استفاده شود.

فعال کردن BPDU Guard

BPDU Guard در صورت دریافت BPDU روی پورت‌های Access، آن پورت را به حالت Err-Disable می‌برد و از ایجاد حلقه جلوگیری می‌کند.

فعال کردن Loop Guard

Loop Guard از Forward شدن اشتباه پورت‌ها در صورت از دست رفتن BPDU جلوگیری کرده و احتمال ایجاد Loop را کاهش می‌دهد.

فعال کردن UDLD

در لینک‌های فیبر نوری، UDLD می‌تواند لینک‌های یک‌طرفه (Unidirectional) را شناسایی کرده و قبل از ایجاد Loop آن‌ها را غیرفعال کند.

استفاده از Storm Control

Storm Control با محدود کردن ترافیک Broadcast، Multicast و Unknown Unicast مانع از تبدیل یک Loop کوچک به قطعی گسترده شبکه می‌شود.

مستندسازی دقیق توپولوژی

ثبت مسیر کابل‌ها، لینک‌های Trunk، EtherChannelها و تجهیزات متصل، احتمال ایجاد اتصال اشتباه و حلقه‌های ناخواسته را به شکل محسوسی کاهش می‌دهد.

Loop یکی از خطرناک‌ترین مشکلات شبکه‌های لایه دوم است و در صورت عدم تشخیص به‌موقع می‌تواند کل شبکه را از دسترس خارج کند. خوشبختانه در سوئیچ‌های سیسکو ابزارهای قدرتمندی برای شناسایی این مشکل وجود دارد و در اغلب موارد می‌توان بدون خاموش کردن شبکه، منبع ایجاد Loop را پیدا کرد.

ترکیب بررسی Spanning Tree، جدول MAC Address، شمارنده‌های اینترفیس، لاگ‌های سیستم، وضعیت Trunk و EtherChannel به همراه مانیتورینگ ترافیک با SPAN، سریع‌ترین و دقیق‌ترین روش برای یافتن Loop است. همچنین فعال‌سازی قابلیت‌هایی مانند RSTP، BPDU Guard، Loop Guard، UDLD و Storm Control نقش مهمی در پیشگیری از بروز مجدد این مشکل دارد و پایداری شبکه را به شکل قابل‌توجهی افزایش می‌دهد.

محصول با موفقیت به سبد خرید اضافه شد.
تماس با ما