VTP Pruning چیست و چه زمانی باعث قطع ارتباط می‌شود؟

VTP Pruning چیست و چه زمانی باعث قطع ارتباط می‌شود؟

در شبکه‌های مبتنی بر سوئیچ سیسکو، مدیریت تعداد زیادی VLAN روی چندین سوئیچ می‌تواند باعث ایجاد ترافیک غیرضروری شود. یکی از قابلیت‌هایی که برای کنترل این وضعیت استفاده می‌شود، VTP Pruning است. این قابلیت به سوئیچ‌ها کمک می‌کند ترافیک Broadcast، Multicast و Unknown Unicast مربوط به VLANهایی را که در یک بخش از شبکه کاربردی ندارند، از لینک‌های Trunk عبور ندهند.

با این حال، اگر VTP Pruning به‌درستی پیکربندی نشود یا ساختار VLAN و Trunk شبکه با آن هماهنگ نباشد، ممکن است چیزی که برای کاهش ترافیک طراحی شده، باعث شود VLAN موردنیاز یک سوئیچ دیگر به آن قسمت از شبکه نرسد. در این حالت کاربر ممکن است با قطع ارتباط، عدم دسترسی به Gateway یا از دست رفتن ارتباط بین دو بخش شبکه مواجه شود. در این مقاله بررسی می‌کنیم VTP Pruning چیست، چگونه کار می‌کند، چه زمانی مفید است و در چه شرایطی می‌تواند باعث قطع ارتباط شود.

VTP Pruning قابلیتی در پروتکل VLAN Trunking Protocol یا VTP است که از ارسال ترافیک غیرضروری VLANها روی لینک‌های Trunk جلوگیری می‌کند. برای مثال فرض کنید سه سوئیچ سیسکو در شبکه دارید و VLAN 20 فقط روی Switch 1 و Switch 2 استفاده می‌شود. اگر Switch 3 هیچ پورت فعالی در VLAN 20 نداشته باشد، نیازی نیست Broadcastهای VLAN 20 از طریق Trunk به سمت Switch 3 ارسال شوند.

VTP Pruning می‌تواند این نوع ترافیک را در مسیرهایی که VLAN مربوطه به آن‌ها نیاز ندارد، محدود کند. نکته مهم این است که VTP Pruning خود VLAN را حذف نمی‌کند و VLAN را از Trunk به‌صورت کامل مسدود نمی‌کند؛ بلکه هدف اصلی آن جلوگیری از عبور ترافیک Flood شده غیرضروری است.

برای درک بهتر VTP Pruning باید تفاوت بین VLAN Allowed و VTP Pruning را بدانیم. در یک Trunk ممکن است VLAN 10، 20، 30 و 40 مجاز باشند:

Switch A ===== Trunk ===== Switch B
             VLAN 10
             VLAN 20
             VLAN 30
             VLAN 40

اگر Switch B هیچ کاربری در VLAN 30 نداشته باشد، ارسال Broadcastهای VLAN 30 از Switch A به Switch B ممکن است غیرضروری باشد. VTP Pruning با استفاده از اطلاعات مربوط به VLANهای موردنیاز downstream، مشخص می‌کند که ترافیک Flood شده کدام VLANها باید از یک لینک Trunk عبور کنند.

در نتیجه:

Without VTP Pruning:
Broadcast VLAN 30 → Switch B → بدون استفاده

With VTP Pruning:
Broadcast VLAN 30 → متوقف می‌شود

این کار به‌خصوص در شبکه‌های بزرگ که VLANهای زیادی دارند، می‌تواند میزان Broadcast Domain Traffic را کاهش دهد.

VTP Pruning چگونه کار می‌کند؟

هدف VTP Pruning عمدتاً کاهش ترافیک Flood شده است، از جمله:

  • Broadcast
  • Unknown Unicast
  • بعضی Multicast Trafficها

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

VTP Pruning به این معنی نیست که تمام ترافیک یک VLAN از لینک Trunk حذف می‌شود. اگر مقصد مشخصی برای یک Frame وجود داشته باشد و سوئیچ بداند که مقصد از طریق یک مسیر مشخص قابل دسترسی است، رفتار Forwarding مطابق جدول MAC و منطق سوئیچینگ انجام می‌شود. بنابراین نباید VTP Pruning را با دستور زیر اشتباه گرفت:

switchport trunk allowed vlan

دستور allowed vlan مشخص می‌کند کدام VLANها اساساً اجازه عبور از Trunk را دارند؛ اما VTP Pruning برای جلوگیری از Flooding غیرضروری در VLANهای مجاز طراحی شده است.

در حالت عادی، VTP Pruning نباید باعث قطع ارتباط عادی کاربران شود. مشکل زمانی ایجاد می‌شود که مدیر شبکه تصور کند یک VLAN در یک مسیر موردنیاز نیست، در حالی که در واقع برای ارتباط یا سرویس خاصی به آن VLAN نیاز است. چند سناریوی مهم وجود دارد.

یکی از رایج‌ترین اشتباهات این است که مدیر شبکه فکر می‌کند VTP Pruning همان محدود کردن VLAN روی Trunk است. مثلاً:

switchport trunk allowed vlan 10,20

در این حالت VLAN 30 اصلاً اجازه عبور از Trunk را ندارد. اما VTP Pruning مفهوم متفاوتی دارد. اگر VLAN موردنظر در allowed vlan وجود داشته باشد، اما VTP Pruning آن را Prune کند، ممکن است ترافیک Flood شده آن VLAN از یک مسیر مشخص عبور نکند. بنابراین هنگام عیب‌یابی باید ابتدا مشخص کنید مشکل از Allowed VLAN است یا VTP Pruning.

فرض کنید VLAN 50 برای یک سرویس خاص استفاده می‌شود، اما در یک سوئیچ downstream هیچ Access Port فعالی برای این VLAN وجود ندارد. VTP Pruning ممکن است تشخیص دهد که این VLAN در آن قسمت از شبکه موردنیاز نیست. اما ممکن است یک سرویس خاص، Gateway، DHCP Relay، Firewall یا دستگاه مدیریتی از همان مسیر به VLAN 50 نیاز داشته باشد.

در چنین شرایطی، ممکن است کاربران تصور کنند VTP Pruning باعث قطع ارتباط شده است. بنابراین قبل از فعال‌سازی Pruning باید مشخص شود که هر VLAN دقیقاً در کدام بخش‌های شبکه استفاده می‌شود.

یکی از خطرناک‌ترین سناریوها زمانی اتفاق می‌افتد که توپولوژی شبکه تغییر کند. برای مثال:

قبل:

Core
 |
Switch A
 |
Switch B
 |
Users

بعداً یک سوئیچ جدید به شبکه اضافه می‌شود یا مسیر Trunk تغییر می‌کند. اگر وضعیت VLANها و VTP Pruning بررسی نشود، ممکن است VLAN موردنیاز کاربران جدید به شکل مورد انتظار در مسیر جدید Flood نشود. به همین دلیل پس از تغییر توپولوژی باید وضعیت Trunk، VLAN و Pruning دوباره بررسی شود.

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

ویژگیVTP PruningAllowed VLAN
هدفکاهش ترافیک غیرضروریتعیین VLANهای مجاز
مرتبط با Trunkبلهبله
VLAN را کاملاً حذف می‌کند؟خیر، هدف آن Flood Traffic استبله، اگر VLAN در لیست نباشد
کاربرد اصلیکاهش Broadcast/Unknown Trafficکنترل عبور VLAN
پیکربندیوابسته به VTPروی Interface Trunk

بنابراین اگر یک VLAN اصلاً از Trunk عبور نمی‌کند، اولین چیزی که باید بررسی کنید allowed vlan است، نه VTP Pruning.

در Cisco IOS می‌توانید از دستور زیر استفاده کنید:

show vtp status

در خروجی به دنبال وضعیت زیر بگردید:

VTP Pruning Mode

اگر مقدار آن Enabled باشد، VTP Pruning فعال است. همچنین برای بررسی وضعیت VLANها و Trunkها:

show vlan brief

و:

show interfaces trunk

بسیار مهم هستند.

یکی از مهم‌ترین دستورات هنگام عیب‌یابی این است:

show interfaces trunk

خروجی این دستور اطلاعات مختلفی درباره Trunk در اختیار شما قرار می‌دهد، از جمله VLANهای مجاز و VLANهایی که به دلایل مختلف Prune شده‌اند. به‌صورت مفهومی ممکن است چیزی شبیه این ببینید:

Port        Vlans allowed on trunk
Gi0/1       10,20,30,40,50

Port        Vlans allowed and active
Gi0/1       10,20,30,40,50

Port        Vlans in spanning tree forwarding state
Gi0/1       10,20,40

اگر VLAN موردنظر در وضعیت Forwarding قرار ندارد، باید بررسی کنید علت آن چیست. علت می‌تواند فقط VTP Pruning نباشد و مواردی مثل STP، Allowed VLAN، Native VLAN یا وضعیت خود Trunk نیز باید بررسی شوند.

اگر بعد از فعال‌سازی VTP Pruning یک VLAN ارتباط خود را از دست داده است، این مراحل را دنبال کنید.

مرحله اول: VLAN را روی سوئیچ بررسی کنید

show vlan brief

بررسی کنید VLAN موردنظر روی سوئیچ وجود دارد یا خیر. مثلاً:

VLAN 20
Name: USERS
Status: active

اگر VLAN اصلاً وجود نداشته باشد، مشکل VTP Pruning نیست.

مرحله دوم: وضعیت Trunk را بررسی کنید

show interfaces trunk

بررسی کنید VLAN موردنظر در لیست VLANهای مجاز روی Trunk وجود داشته باشد. اگر VLAN در Allowed VLAN نیست، ابتدا باید Trunk را اصلاح کنید.

مرحله سوم: VTP را بررسی کنید

show vtp status

موارد مهم شامل:

  • VTP Mode
  • VTP Domain
  • VTP Version
  • VTP Pruning Mode
  • Configuration Revision

هستند.

مرحله چهارم: وضعیت STP را بررسی کنید

دستور زیر را اجرا کنید:

show spanning-tree vlan 20

بررسی کنید مسیر موردنظر در وضعیت Forwarding باشد. گاهی اوقات مشکل به VTP Pruning نسبت داده می‌شود، در حالی که VLAN توسط Spanning Tree Protocol روی یک مسیر خاص Forward نمی‌شود.

مرحله پنجم: Gateway را بررسی کنید

اگر کاربران VLAN نمی‌توانند به شبکه‌های دیگر دسترسی پیدا کنند، بررسی کنید Gateway مربوط به VLAN در دسترس باشد. برای مثال:

VLAN 20
Gateway: 192.168.20.1

ممکن است VLAN در Access Switch وجود داشته باشد، اما مسیر Trunk تا محل Gateway مشکل داشته باشد.

چطور مشکل VTP Pruning را عیب‌یابی کنیم؟

در شبکه‌های کوچک، معمولاً مزیت VTP Pruning آن‌قدر زیاد نیست که پیچیدگی اضافی آن را توجیه کند. اما در شبکه‌های بزرگ با تعداد زیادی VLAN و چندین لایه Access، Distribution و Core، کاهش ترافیک Flood شده می‌تواند مفید باشد. قبل از فعال‌سازی VTP Pruning بهتر است این موارد را بررسی کنید:

  1. توپولوژی شبکه مستند باشد.
  2. VLANهای موردنیاز هر Access Switch مشخص باشند.
  3. Trunkها به‌درستی تنظیم شده باشند.
  4. STP بدون مشکل کار کند.
  5. وابستگی سرویس‌هایی مانند DHCP، Gateway و Firewall مشخص باشد.
  6. وضعیت VTP روی تمام سوئیچ‌ها بررسی شود.

در شبکه‌های سیسکو مدرن، نباید صرفاً به دلیل وجود قابلیت VTP Pruning آن را به‌صورت خودکار روی هر شبکه‌ای فعال کرد. استفاده از VTP باید با توجه به طراحی شبکه و نسخه VTP انجام شود. در بسیاری از محیط‌های Enterprise، مدیران شبکه ترجیح می‌دهند مدیریت VLAN را با روش‌های کنترل‌شده‌تری انجام دهند و به‌جای اتکا به VTP، VLANها و Trunkها را به‌صورت دستی یا از طریق سیستم‌های مدیریت شبکه کنترل کنند.

بنابراین VTP Pruning یک ابزار طراحی شبکه است، نه یک راه‌حل عمومی برای تمام مشکلات Broadcast.

VTP Pruning برای جلوگیری از عبور ترافیک Flood شده غیرضروری VLANها روی لینک‌های Trunk استفاده می‌شود و می‌تواند در شبکه‌های بزرگ به کاهش Broadcast Traffic و استفاده بهتر از پهنای باند کمک کند. با این حال، اگر VLANها به‌درستی طراحی نشده باشند یا مدیر شبکه تفاوت بین VTP Pruning، Allowed VLAN و STP را در نظر نگیرد، ممکن است یک VLAN در بخشی از شبکه به‌درستی کار نکند و این موضوع به شکل قطع ارتباط کاربران ظاهر شود.

اگر بعد از فعال‌سازی VTP Pruning با قطع ارتباط مواجه شدید، به‌جای غیرفعال کردن فوری آن، این موارد را بررسی کنید:

show vtp status
show interfaces trunk
show vlan brief
show spanning-tree vlan <VLAN-ID>

در بیشتر موارد، همین بررسی‌ها مشخص می‌کنند که مشکل واقعاً از VTP Pruning است یا از تنظیمات Trunk، STP، VLAN یا Gateway.

نکته نهایی: VTP Pruning به‌تنهایی نباید باعث قطع ارتباط عادی یک VLAN شود. اگر چنین اتفاقی رخ داده است، معمولاً باید دنبال یک ناهماهنگی در طراحی VLAN، وضعیت Trunk، STP یا وابستگی سرویس‌های شبکه باشید.

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