در شبکههای مبتنی بر سوئیچ سیسکو، مدیریت تعداد زیادی 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 عمدتاً کاهش ترافیک Flood شده است، از جمله:
اما یک نکته بسیار مهم وجود دارد:
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 Pruning | Allowed 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 ارتباط خود را از دست داده است، این مراحل را دنبال کنید.
show vlan brief
بررسی کنید VLAN موردنظر روی سوئیچ وجود دارد یا خیر. مثلاً:
VLAN 20
Name: USERS
Status: active
اگر VLAN اصلاً وجود نداشته باشد، مشکل VTP Pruning نیست.
show interfaces trunk
بررسی کنید VLAN موردنظر در لیست VLANهای مجاز روی Trunk وجود داشته باشد. اگر VLAN در Allowed VLAN نیست، ابتدا باید Trunk را اصلاح کنید.
show vtp status
موارد مهم شامل:
هستند.
دستور زیر را اجرا کنید:
show spanning-tree vlan 20
بررسی کنید مسیر موردنظر در وضعیت Forwarding باشد. گاهی اوقات مشکل به VTP Pruning نسبت داده میشود، در حالی که VLAN توسط Spanning Tree Protocol روی یک مسیر خاص Forward نمیشود.
اگر کاربران VLAN نمیتوانند به شبکههای دیگر دسترسی پیدا کنند، بررسی کنید Gateway مربوط به VLAN در دسترس باشد. برای مثال:
VLAN 20
Gateway: 192.168.20.1
ممکن است VLAN در Access Switch وجود داشته باشد، اما مسیر Trunk تا محل Gateway مشکل داشته باشد.

در شبکههای کوچک، معمولاً مزیت VTP Pruning آنقدر زیاد نیست که پیچیدگی اضافی آن را توجیه کند. اما در شبکههای بزرگ با تعداد زیادی VLAN و چندین لایه Access، Distribution و Core، کاهش ترافیک Flood شده میتواند مفید باشد. قبل از فعالسازی VTP Pruning بهتر است این موارد را بررسی کنید:
در شبکههای سیسکو مدرن، نباید صرفاً به دلیل وجود قابلیت 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 یا وابستگی سرویسهای شبکه باشید.