مقاله آموزشی VTP

fashion img

Vlan Trunking Protocol

 
در این مقاله نگاهی جزئی خواهیم داشت به پروتکل VTP، اینکه این پروتکل چیست؟ برای چه هدفی بوجود آمده و چگونه می توانیم آن را پیاده سازی کنیم. اما قبل از هرچیز طبق روال همیشگی باید به یک سوال بسیار مهم پاسخ دهیم و آن سوال هم این است که چرا پروتکل VTP بوجود آمد و چرا ما باید از این پروتکل استفاده کنیم؟؟
چرا پروتکل VTP ؟؟
برای درک هرچه بهتر اینکه به چه دلیل پروتکل VTP بوجود آمد یک مثال را باهم بررسی می کنیم. فرض کنید قرار است پروژه ای را پیاده سازی کنید که نیاز های پروژه بصورت زیر می باشد :
 
• در داخل یک سازمان تعداد 1000 سوییچ وجود دارد که سوییچ ها در طبقات و ساختمان های مختلفی قرار گرفته اند.
 
• سازمان مورد نظر 800 بخش مختلف دارد همانند بخش های IT، Sale و غیره که نیاز می باشد به ازای هر بخش یک VLAN ایجاد شود، در نتیجه در نهایت باید 800، VLAN ایجاد شود.
 
• نکته ی قابل توجه اینجاست که کارمندان هر بخش در طبقات مختلفی قرار دارند و بصورت متمرکز در یکجا نمی باشند در نتیجه تمامی این 800، VLAN باید بر روی تمامی سوییچ ها یعنی 1000 سوییچ ساخته شوند.
 
خب نیاز های سازمان رو مطالعه کردید؟ 😊 صدرصد می دانم که میدانید چگونه باید VLAN های مورد نظر را ایجاد کنید اما اگر هیچ آشنایی با VLAN ها ندارید بهتون پیشنهاد می کنم ابتدا مقاله ی زیر را با دقت مطالعه کنید و سپس برگردید تا باهم ادامه ی این مقاله رو مطالعه کنیم.
 
 
بگذارید یک سوال بپرسم، نظر شما در رابطه با این سازمان چیست؟؟ آیا اونقدر زمان و انرژی دارید که هر 800، VLANرا بر روی هر یک از سوییچ ها ایجاد کنید؟ اگر بگوییم ساخت یک VLAN تنها به یک دستور نیاز دارد با یک حساب سر انگشتی متوجه می شویم باید حداقل 800 هزار دستور فقط برای ساخت ویلن ها بزنیم. حقیقتا منکه انرژیش رو ندارم ☹ .
 
به نظرتون در چنین شرایطی راه حل چیست؟ آیا واقعا باید 800 هزار دستور بزنیم؟ برای چنین سناریو  هایی شرکت سیسکو یک راه حل ارائه داد و اون راه حل چیزی نبود جز Vlan Trunking Protocol یا به اختصار VTP.
 
پروتکل VTP چیست؟
 
VTP یک پروتکل لایه 2 می باشد که وظیفه آن مدیریت کردن VLAN ها در یک ساختار لایه دویی می باشد. این پروتکل با استفاده از پیام هایی که در ادامه ی مقاله با آنها آشنا می شوید فعالیت می کند و با استفاده از این پیام ها پیکربندی های مربوط به VLAN ها، حذف کردن و ایجاد VLAN ها را برعهده دارد. تمامی سوییچ هایی که داخل شبکه وجود دارند باید از پروتکل VTP پشتیبانی کنند تا بتوانند تحت فرمان VTP عمل کنند. VTP پیام های خود را در یک ساختار لایه دویی که تحت عنوان VTP Domain شناخته می شود ارسال می کند. البته گاهی VTP Domain  با عنوان VTP Management Domain نیز معرفی می شود. VTP Domain معرفی کننده ی محدوده ای است که سوییچ های لایه 2 بهم متصل می باشند و اینترفیس بین آنها Trunk می باشد و با این VTP Domain است که متوجه می شویم سوییچ ها در یک ساختار VTP درحال فعالیت می باشند.
مزایایی که VTP ارائه می دهد به شرح زیر می باشند : 
 
• VTP میزان پیکربندی هایی که در رابطه با ساخت VLAN ها می باشد را تا حد قابل توجهی کاهش می دهد.
 
• این پروتکل با کاهش میزان پیکربندی ها خطاهای سهوی را بسیار کاهش می دهد.
 
• VTP به دلیل فعالیت متمرکزی که دارد میزان Misconfiguration ها به عنوان مثال Duplicate در نام VLAN ها نوع VLAN ها و ... را به حداقل می         رساند.
 
با استفاده از VTP ساخت، حذف و یا تغییرات مربوط به VLAN ها می توان بصورت متمرکز و بر روی یک سوییچ انجام داد، فکر میکنم که الان متوجه شدید VTP چه کمک بزرگی به ما میکنه. بله درست حدس زدید دیگر به جای 800 هزار کامند تنها نیاز به 800 کامند می باشد 😊
 
درک مفهوم Domain VTP 
 
یک دامنه VTP (همچنین یک دامنه مدیریت VLAN نیز نامیده می شود) از یک یا چند سوییچ متصل به یکدیگر تشکیل شده که تمامی سوییچ ها دارای یک نام VTP یکسان می باشند که ما آن را تحت عنوان VTP Domain می شناسیم. هر سوییچ تنها می تواند عضو یک VTP Domain باشد نه بیشتر.
 
در داخل پروتکل VTP سوییچ ها می توانند Mode ها مختلفی داشته باشند که در ادامه ی مقاله بصورت کامل به انواع Mode ها در VTP می پردازیم. بصورت پیش فرض تمامی سوییچ ها در Mode ای به نام Server قرار دارند، همچنین در فیلد VTP Domain سوییچ ها بصورت پیش فرض هیچ چیزی قرار نگرفته و فیلد VTP Domain خالی یا به عبارت بهتر Null می باشد. تا زمانی که یک سوییچ عضو VTP Domain نشود نمی تواند با پروتکل VTP کار کند. نکته ی بسیار مهمی که وجود دارد این است که تمامی سوییچ های متصل به یکدیگر باید اینترفیس هایشان Trunk باشد و از آنجا که اسم VTP نیز Vlan Trunking Protocol می باشد این الزام مشهود است و اگر اینترفیس بین سوییچ ها Trunk نباشد پیام های VTP از یک سوییچ به سوییچ دیگر ارسال نمی شود.
 
توجه – بصورت پیش فرض VTP Domain برای تمامی سوییچ ها بصورت Null یا خالی می باشد. اگر یک سوییچ که VTP Domain آن Null می باشد پیام VTP دریافت کند، همان VTP Domain ای که در پیام وجود دارد را برای خود بر میدارد. اما این در شرایطی می باشد که فقط فیلد VTP Domain سوییچ بصورت Null باشد.


با استفاده از دستور زیر می توانید یک VTP Domain بر روی سوییچ خود پیکربندی کنید : 
 

 VTP Domain Configuration 
 
SW(config)# vtp domain <WORD>
 

انواع Mode ها در VTP 


از آنجایی که پروتکل VTP بصورت متمرکز عمل می کند و وظیفه ی ایجاد، تغییرات و حذف VLAN ها بر عهده ی یک سوییچ مرکزی می باشد، نیاز است تا این پروتکل Mode ها مختلفی داشته باشد و بسته به نیاز Mode را بر روی هر سوییچ کانفیگ میکنیم.

 توجه - تمامی سوییچ ها بصورت پیش فرض در مود Server می باشند و می توانید مود هر سوییچ را دستی تغییر دهید.

 
می توانید هر یک از Mode ها زیر را بر روی سوییچ خود پیکربندی کنید : 
 
 • Server – در مود Server می توانید VLAN ها مورد نظر خود را ایجاد کنید، تغییر دهید و یا حذف کنید. به عبارت ساده مود Server مود پیکربندی و پیاده سازی VLAN ها در داخل پروتکل VTP و در یک VTP Domain می باشد. VTP اطلاعات مربوط به VLAN هایش را براساس پیام های VTP که بر روی لینک های خود دریافت می کند همگام سازی می کند. زمانی که بر روی یک سوییچ Server چند VLAN بسازید پروتکل VTP یک پیام VTP ایجاد و بر روی لینک های ترانک سوییچ ارسال می کند تا تمامی سوییچ ها از این تغییرات با خبر شوند.
 
• Client – در مود Client نمی توان هیچگونه پیکربندی VLAN بر روی سوییچ انجام داد، درنتیجه نمی توان هیچ VLAN ای ایجاد کرد، نمیتوان هیچ تغییراتی بر روی VLAN ها انجام داد و یا حتی نمیتوان هیچ VLAN ای را حذف کرد. سوییچی که در مود Client قرار دارد به پیام های VTP که بر روی اینترفیس های ترانک خود دریافت می کند گوش میدهد و به آنها عمل می کند. همچنین پیام هایی را که دریافت می کند بر روی اینترفیس های ترانک خود نیز ارسال می کند.
 
• Transparent – گاهی ممکن است در داخل شبکه تمامی سوییچ ها ظرفیت ساخت تعداد زیاد VLAN را نداشته باشند و یا حتی ممکن است به جز چند VLAN به هیچ VLAN دیگری نیازی نباشد، در این صورت می توانید از مود Transparent استفاده کنید. در مود Transparent می توانید VLAN ایجاد کنید، حذف کنید و یا حتی تغییر دهید، اما تمامی پیکربندی ها بصورت Local می باشند و بر روی هیچ سوییچ دیگری تاثیری نمی گذارند، از سویی سوییچی که در مود Transparent قرار دارد اگر پیام VTP دریافت کند به آن گوش نمی دهد. اما نکته ی مهم این می باشد که درست است سوییچ به پیام های VTP گوش نمی دهد اما اگر پیام VTP دریافت کند آن را بر روی اینترفیس های ترانک خود ارسال میکند به امید اینکه شاید یک سوییچ دیگری که در مود Client قرار دارد در آن طرف لینک ترانک وجود داشته باشد.
 
• Off – در مود Off سوییچ رفتاری مشابه با مود Transparent را انجام میدهد با این تفاوت که اگر پیام VTP دریافت کند روی لینک های ترانک خود ارسال نمی کند و بصورت کامل VTP غیرفعال می باشد.

 با استفاده از دستور زیر می توانید VTP Mode را بر روی سوییچ های خود تعیین کنید : 

VTP Mode Configuration
 
SW(config)# vtp mode [server | client | transparent | off]

 

توجه -  پیکربندی های مربوط به VLAN ها زمانی که سوییچ در مود های Server و Client قرار دارد در حافظه ی Flash ذخیره می شوند اما اگر سوییچ در مود Transparent قرار داشته باشد پیکربندی های VLAN در حافظه ی NVRAM ذخیره می شوند و می توانید با دستورات show running-config و show startup-config، ویلن های موجود بر روی سوییچ را مشاهده کنید.

 
ورژن های VTP
 
از زمانی که پروتکل VTP توسط شرکت سیسکو بوجود آمد به دلیل مشکلاتی که در این پروتکل وجود داشت شرکت سیسکو اقدام به ایجاد این پروتکل در ورژن های جدیدتر نمود. در حال حاضر سه ورژن از این پروتکل وجود دارد که هریک بعد از دیگری برا رفع مشکل ورژن قبل بوجود آمده است.
 
ورژن 1 پروتکل VTP
 
پروتکل VTP با ورژن 1 عرضه شد و بر روی IOS ها قرار گرفت. این ورژن از Standard VLAN ها پشتیبانی می کند. به دلیل مشکلات زیادی که در این ورژن وجود داشت شرکت سیسکو ورژن 2 را ارائه نمود. مشکلاتی که در ورژن 1 وجود دارد عبارتند از : 
 
• از ویلن های FDDI و Token Ring پشتیبانی نمی کند.
 
• در این پروتکل هیچگونه احراز هویتی وجود ندارد در نتیجه هر سوییچی می تواند وارد VTP Domain شود و خود را به عنوان Server معرفی کند.
 
• از ویلن های Extended پشتیبانی نمی کند در نتیجه نمی تواند این ویلن ها را به سوییچ های دیگر تبلیغ کند.
 
• در VTP Domain می توان چندین VTP Server داشت که مشکل امنیتی بزرگی را ایجاد میکند ( در ادامه به این موضوع پرداخته شده است.) تمامی این مشکلات باعث گردید تا سیسکو ورژن 2 این پروتکل را عرضه کند.
 
ورژن 2 پروتکل VTP
 
ورژن 2 علاوه بر اینکه تمامی ویژگی هایی که در ورژن 1 پشتیبانی می شوند از ویژگی هایی پشتیبانی می کند که ورژن 1 قادر به پشتیبانی آنها نیست. این ویژگی ها عبارتند از :
 
• پشتیبانی از ویلن های Token Ring و FDDI
 
• اضافه شدن احراز هویت 
 
اما در ورژن 2 نیز مشکلات و محدودیت هایی وجود دارد که باعث بوجود آمدن VTP ورژن 3 شدند این مشکلات عبارتند از :
 
• ورژن 2 نیز همانند ورژن 1 از ویلن های Extended پشتیبانی نمی کند.
 
• در VTP Domain می توان چندین VTP Server داشت که مشکل امنیتی بزرگی را ایجاد میکند ( در ادامه به این موضوع پرداخته شده است.)
 

 توجه - برخی منابع به این اشاره دارند که در ورژن 1 اگر ورژن سوییچ Transparent با سوییچ های Client و Server یکی نباشد سوییچ Transparent نمی تواند پیام های VTP را بر روی لینک های Trunk خود ارسال کند اما این مشکل در ورژن 2 رفع شده، که اینگونه نمی باشد و کاملا بستگی به پلتفرم و ورژن IOS دارد و در بیشتر ورژن ها حتی اگر VTP در ورژن دو فعالیت داشته باشد الزاما باید ورژن سوییچ Transparent نیز با دیگر سوییچ ها یکی باشد تا بتواند اطلاعات VTP را بر روی لینک های خود ارسال کند.

 
ورژن 3 پروتکل VTP
 
از IOS 12.2(33)SXI به بعد ورژن 3 توسط شرکت سیسکو در پی رفع مشکلاتی که در ورژن های قبلی وجود داشت عرضه شد. ورژن 3 آخرین ورژن حال حاضر پروتکل VTP می باشد. ورژن 3 تمامی ویژگی هایی که در ورژن 1 و 2 وجود دارد را پشتیبانی میکند. علاوه بر این از ویژگی های زیر نیز پشتیبانی می کند : 
 
• احراز هویت پیشرفته – در VTP ورژن سه احراز هویت بصورت پیشرفته وجود دارد یعنی اینکه می توان پسورد احراز هویت را در این ورژن بصورت Hidden وارد کرد. زمانی که شما پسورد را بصورت hidden وارد می کنید دیگر پسورد بصورت Plain-text یا واضح نمایش داده نمی شود و پسورد بصورت یک متن هگزادسیمال در Running-config ذخیره می شود که می تواند از 1 تا 64 کارکتر باشد. مزیت این نوع احراز هویت این می باشد که افراد دیگر در صورت مشاهده Running-config قادر به حفظ پسورد VTP نمی باشند.
 
• ورژن 3 از رنج ویلن های Extended نیز پشتیبانی می کند و این به این معنی می باشد که ویلن های 1006 به بعد نیز توسط این ورژن به سوییچ های دیگر در دامنه ی VTP قرار دارند تبلیغ می شوند.
 
• Private-VLAN ها تنها در ورژن 3 پشتیبانی می شوند.
 
• از پروتکل Multiple Spanning-Tree پشتیبانی می کند.
 
• تنها یک سوییچ می تواند در VTP Domain به عنوان Server معرفی شود و مدیریت VTP Domain را بر عهده بگیرد.
 
با استفاده از دستور زیر میتوانید ورژن VTP را بر روی یک سوییچ مشخص کنید : 
 
VTP Mode Configuration

SW(config)# vtp version [1| 2 | 3]
 
VTP Revision Number
 
فرض کنید بر روی سوییچ Server یک سری VLAN ایجاد کردیم و طبعا پروتکل VTP این ویلن ها را برای سوییچ های دیگر ارسال کرد و تمامی سوییچ ها دیتابیس خود را با دیتابیس سوییچ Server هماهنگ کردند. آیا تابحال به این فکر کرده اید که حال که دیتابیس تمامی سوییچ ها با سوییچ Server یکسان می باشد اگر دوباره تغییراتی از قبیل اضافه کردن ویلن، حذف کردن ویلن بر روی سوییچ Server انجام شود، دوباره سوییچ Server بابت این تغییرات پیام های VTP را ارسال می کند که حاوی دیتابیس خود می باشند. حال به نظر شما سوییچ ها چگونه باید متوجه شوند که آیا دیتابیس قبلی که از سوییچ Server دریافت کرده اند معتبر می باشد یا خیر این اطلاعات جدیدی که دریافت کرده اند بهتر می باشد و باید این دیتابیس جدید را با دیتابیس قدیمی جایگزین کنند. به نظر شما راه حل این موضوع چیست؟؟
برای اینکه سوییچ ها بتوانند تفاوتی میان دیتابیس های خود با دیتابیس های جدیدتر قائل شوند در پیام های پروتکل VTP فیلدی قرار دادند تحت عنوان Revision Number. 
Revision Number یک عدد صحیح می باشد که بصورت پیش فرض مقدار آن 0 می باشد. هر زمان که سوییچ Server تغییراتی را در VLAN ها اعمال کند همانند ایجاد کردن یک VLAN، حذف کردن یک VLAN و... علاوه بر اینکه این تغییرات بر روی سوییچ Server اعمال می شوند، سوییچ Server با استفاده از پروتکل VTP باید این تغییرات را به دیگر سوییچ ها نیز ارسال کند. اما قبل از ارسال پس از هر تغییر مقدار Revision Number را یک عدد افزایش می دهد و در پیام VTP ای که میخواهد به سوییچ های دیگر ارسال کند، مقدار جدید Revision Number را قرار می دهد.
زمانی که یک سوییچ یک پیام مربوط به VTP دریافت میکند که در آن پیام اطلاعات VLAN ها قرار دارند، سوییچ مقدار Revision Number خود را با مقدار Revision Number ای که در پیام VTP قرار دارد مقایسه می کند : 
 
• اگر مقدار Revision Number موجود در پیام VTP کوچکتر از Revision Number سوییچ باشد، سوییچ آن پیام را نادید میگیرد.
 
• اگر مقدار Revision Number موجود در پیام VTP بزرگتر از Revision Number سوییچ باشد، سوییچ آن پیام را به عنوان پیام جدیدتر می شناسد و اطلاعات مربوط به پیام را در دیتابیس VLAN های خود قرار میدهد.
 
توجه – Revision Number یکی از مباحثی می باشد که می تواند مشکلات امنیتی در داخل پروتکل VTP ایجاد کند، و دقیقا به دلیل وجود Revision Number توصیه می شود که حتما در بین سوییچ ها از Authentication استفاده شود و همچنین در صورت پشتیبانی تمامی سوییچ ها از VTP ورژن 3 استفاده شود. 

 

توجه – یک سوییچ زمانی که در یک VTP Domain قرار دارد به ازای هر تغییری که در VLAN ها رخ می دهد مقدار Revision Number آن افزایش پیدا می کند. حال گاهی ممکن است بخواهید مقدار Revision Number یک سوییچ را به مقدار 0 برگردانید. برای 0 کردن Revision Number هیچ دستوری وجود ندارد و فقط می توانید از یکی از این دو راه استفاده کنید : 
    • یکبار VTP Mode را به حالت Transparent ببرید و سپس به Mode اصلی بازگردانید.
    • VTP Domain را به یک نام غیرواقعی تغییر دهید و سپس به نام واقعی بازگردانید.

 

احراز هویت در پروتکل VTP

فرض کنید در داخل شبکه ی خود پروتکل VTP را راه اندازی کرده اید و با استفاده از این پروتکل تمامی VLAN های موجود در شبکه را بر روی تمامی سوییچ های دیگر ساخته شده اند. یک شخص غیر مجاز یک سوییچ را به یکی از سوییچ های شما متصل کند و لینک بین سوییچ خود و سوییچ شرکت شما را Trunk کند، چه اتفاقی رخ می دهد؟ پاسخ ساده است، تمامی VLAN های شبکه ی شما را دریافت می کند و به راحتی متوجه می شود که در سازمان شما از چه VLAN هایی استفاده می شود و VLAN مربوط به چه بخشی می باشد.
آیا از لحاظ امنیت مشکلی برای سازمان شما بوجود نمی آید؟ صدرصد مشکلاتی را به همراه خواهد داشت، به همین علت برای جلوگیری از این مشکلات شرکت سیسکو مبحث Authentication را در داخل VTP قرار داد.
Authentication در پروتکل VTP اینگونه بیان می کند که بر روی تمامی سوییچ ها باید الزما یک پسورد مشابه تعریف شود تا بتوانند از سوییچ های دیگر پیام های VTP را دریافت کنند. حال اگر یک سوییچ غیرمجاز متصل شود و پسورد مربوط به Authentication در VTP را نداشته باشد نمی تواند پیام های VTP را دریافت و مشاهده کند. به همین راحتی یکی از مشکلات امنیتی VTP رفع شد.

پیاده سازی Authentication در پروتکل VTP بسیار ساده است، کافیست از دستور زیر استفاده کنید و پسورد مورد نظر خود را وارد کنید، سپس همین کار را در تمامی سوییچ های دیگر نیز انجام دهید :
 

VTP Authentication

SW(config)# vtp password <password>


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

VTP Authentication, Verification

SW# show vtp password 

 

پیام های پروتکل VTP
 
VTP برای همگام سازی دیتابیس سوییچ ها با یکدیگر از چندین نوع پیام استفاده می کند که این پیام ها تحت عنوان VTP Advertisement شناخته می شوند. انواع VTP Advertisement هایی که VTP از آنها استفاده می کند عبارتند از : 
 
 Summary advertisement – سوییچ Server در یک VTP Domain هر 300 ثانیه یکبار این پیام را بر روی تمامی لینک های Trunk خود ارسال می کند. علاوه بر اینکه هر 300 ثانیه ارسال می کند اگر تغییری نیز در دیتابیسش       ایجاد شود بابت آن تغییر نیز یک پیام Summary advertisement ارسال می کند. این پیام حاوی اطلاعات کلی در رابطه با پروتکل VTP می باشد. همانند: ورژنی که سوییچ Server از آن استفاده می کند، نام VTP Domain، مقدار Revision Number، و تغییراتی که رخ داده و قرار است به ازای تغییرات چه تعداد Subset advertisement ارسال شود.
 
 Subset advertisement – بعد از هر تغییر در پیکربندی VLAN ها، پیام های Subset advertisement از سمت سوییچ Server ارسال می شوند. این پیام ها حاوی تغییراتی همچون ایجاد، حذف و یا تغییر VLAN ها می باشند.
 
 Advertisement requests from clients – یک سوییچ VTP Client اگر دیتابیس VLAN هایش با دیتایس سوییچ های دیگر یکسان نباشد به ازای اطلاعات که ندارد پیام Advertisement requests به سمت Server ارسال می کند. به عنوان مثال یک سوییچ Client به هردلیلی VLAN هایی که دارد پاک شوند و یا اینکه یک Summary advertisement دریافت کند که Revision Number موجود در پیام بزرگتر از Revision Number حال حاضر سوییچ Client باشد، در نتیجه سوییچ Client برای اینکه خودش را با باقی سوییچ های VTP Domain همگام کند یک پیام Advertisement requests ارسال میکند. بعد از اینکه یک سوییچ پیام Advertisement requests ارسال کرد، سوییچ Server بعد از دریافت این پیام با یک پیام Summary و یک پیام Subset Advertisement برای بروز کردن سوییچ Client پاسخ می دهد.
 
VTP Pruning
 
VTP Pruning پهنای باند یک شبکه را با کاهش پخش پیام های Broadcast, Multicast, Unknown unicast افزایش می دهد. بصورت ساده VTP Pruning از Flood شدن پیام های اضافی بر روی لینک های Trunk جلوگیری می کند و با اینکار باعث می شود پهنای باند لینک ها هدر نرود.
قانون کلی VTP Pruning اینگونه می باشد که فقط باید ترافیک ها بر روی لینک هایی ارسال شوند که در آن سمت لینک مقصد وجود داشته باشد. میدانیم زمانیکه از VTP استفاده می کنیم تمامی سوییچ ها VLAN های یکسانی خواهند داشت، اما آیا بر روی تمامی سوییچ ها تمامی VLAN ها بصورت فعال می باشند؟ VLAN فعال به VLAN ای گفته می شود که اینترفیسی از سوییچ عضو آن VLAN باشد. برای درک مفهوم VTP Pruning به شکل زیر دقت کنید : 
 
Flood شدن ترافیک بدون استفاده از VTP Pruning
 
شکل بالا یک شبکه را که از VTP استفاده می کند را نشان می دهد. در این شبکه VTP Pruning غیرفعال می باشد. اینترفیس شماره ی 1 که به SW-6 متصل می باشد و اینترفیس شماره ی 2 که به SW-1 متصل می باشد عضو VLAN شماره 12 می باشند. یک پیام Broadcast از سمت PC-1 ارسال می شود. SW-6 این پیام Broadcast را بر روی لینک های Trunk خود ارسال می کند، در نتیجه SW-3 نیز این پیام را دریافت می کند. SW-3 همانند SW-6 این پیام را بر روی اینترفیس های خود ارسال می کند، و SW-1 با دریافت پیام Broadcast بر روی تمامی اینترفیس های خود ارسال میکند. در نهایت پیام به SW-2 می رسد و SW-2 پیام را به SW-4 ارسال می کند. در نتیجه پیام Broadcast ارسالی از سمت PC-1 به تمامی سوییچ های موجود در شبکه ارسال می شود. با اینکه در SW-5, SW-2, SW-4  هیچ اینترفیسی عضو VLAN 12 نیست بازهم این سوییچ ها پیام Broadcast را دریافت می کنند، نتیجه ی دریافت این پیام بیهوده از بین رفتن پهنای باند لینک های این سوییچ ها و درگیر شدن سخت افزار این سوییچ ها می باشد.
حال به شکل زیر نگاه کنید، این شکل همان شکل قبلی می باشد با این تفاوت که این بار بر روی سوییچ ها VTP Pruning فعال شده.
 
Flood شدن ترافیک با استفاده از VTP Pruning
 
فعال کردن VTP Pruning بر روی VTP Server آن را برای کل VTP management domain فعال می کند. پس از فعال شدن بعد از چند ثانیه تاثیرات VTP Pruning قابل مشاهده می باشد. بصورت پیش فرض VLAN های 2 تا 1000 قابلیت Prune شدن دارند. VLAN هایی در قابلیت Prune شدن ندارند، توسط VTP Pruning نمی توانند Prune شوند. VLAN شماره ی 1 یکی از VLAN هایی می باشد که قابلیت Prune شدن ندارد. 
 
توجه – برای اینکه VTP Pruning بتواند در شبکه تاثیر بگذارد، نیاز است تمامی سوییچ هایی که در یک VTP management domain قرار دارند، VTP Pruning را پشتیبانی کنند. بر روی سوییچ هایی که VTP Pruning را پشتیبانی نمی کنند باید بصورت دستی با استفاده از دستور  switchport trunk allowed vlan ویلن های مورد نظر را Prune کنید.
 

برای فعال سازی VTP Pruning می توانید از دستور زیر استفاده کنید : 

VTP Pruning Configuration

SW(config)# vtp pruning 

 

 مشاهده ی پیکربندی های VTP

 

تنظیمات کامل مربوط به VTP را با استفاده از دستور زیر میتوانید مشاهده کنید.

VTP Verification

SW# show vtp status 

 

مثالی از VTP

 

در این مثال درک مباحثی که در رابطه با آنها صحبت کردیم خیلی آسانتر می شود، به دقت به شکل زیر نگاه کنید : 

در این سناریو برای ساخت VLAN ها از پروتکل VTP استفاده شده است. دقت داشته باشید که ایجاد، حذف و یا تغییر VLAN ها به هیچ عنوان به پروتکل VTP مربوط نمی شود تنها وظیفه ی VTP این می باشد که پیکربندی های مربوط به VLAN ها را در VTP Domain برای سوییچ های دیگر ارسال کند.
هنگام پیاده سازی پروتکل VTP در اولین قدم باید اینترفیس های بین تمامی سوییچ ها را Trunk کنیم. در قدم دوم می بایست یک Domain برای پروتکل VTP تعیین کنیم. دقت داشته باشید که تمامی سوییچ ها باید در یک Domain قرار داشته باشند وگرنه نمی توانند پیام های VTP را به یکدیگر ارسال کنند. Domain ای که در این سناریو در نظر گرفته شده است، Netcoexpert می باشد. در قدم بعد باید مود هر سوییچ را مشخص کرد که SW-1 به عنوان VTP Server فعالیت میکند سوییچ های SW-2 , SW-4, SW-5 به عنوان VTP Client و سوییچ SW-3 نیز در مود Transparent قرار دارد. 
 
• در حال حاضر اینترفیس بین سوییچ ها Trunk می باشند و ما قصد داریم تنها کانفیگ های مربوط به VTP را انجام دهیم. اولین قدم تنظیم کردن یک نام برای VTP Domain می باشد.
 
SW-1 Configuration 

SW-1(config)# vtp domain Netcoexpert 
 

نکته – به دلیل اینکه VTP Domain تمامی سوییچ ها بصورت Null می باشد نیازی نیست VTP Domain را بر روی تمامی سوییچ های پیکربندی کنیم و تنها با پیکربندی آن بر روی سوییچ Server سوییچ های دیگر نیز این نام را در VTP Domain خود قرار می دهند.


• پس از مشخص کردن VTP Domain باید VTP Mode هر یک از سوییچ ها را مشخص کنیم. تمامی سوییچ ها بصورت پیش فرض در مود Server قرار دارند، درنتیجه نیازی به تغییر Mode در سوییچ Server نیست.
 

SW-2 Configuration

SW-2(config)# vtp mode client

 

SW-3 Configuration 

SW-3(config)# vtp mode transparent 

 

SW-4 Configuration 

SW-4(config)# vtp mode client  

 

SW-5 Configuration 

SW-5(config)# vtp mode client 

 

 

• پس از تعیین Mode سوییچ ها ورژن VTP ای که قرار است استفاده کنیم را مشخص می کنیم.این دستور بر روی تمامی سوییچ ها باید زده شود.

SW-1,2,3,4,5 Configuration 

SW-1,2,3,4,5 (config)# vtp version 3 

 

• به دلیل مباحث امنیتی قصد داریم از VTP Authentication استفاده کنیم. به دلیل استفاده از VTP Version 3 میتوانیم Authentication را یا بصورت Plain-text و یا بصورت Hidden داشته باشیم. در سناریو ما هر دو روش را پیکربندی می کنیم. پسورد ها باید در تمامی سوییچ ها یکسان باشند. در این سناریو پسورد cisco123 به عنوان پسورد سوییچ ها در نظر گرفته شده است.

SW-1,2,3,4,5 Configuration 

SW-1,2,3,4,5 (config)# vtp password cisco123 

پیکربندی Authentication بصورت Plain-text
 

اگر Authentication را بصورت Plain-text داشته باشیم، پسوردی که تایپ میکنیم بصورت واضح نمایش داده می شود. اما اگر از Hidden استفاده کنیم، پسورد تایپ شده بصورت 32 بایت هزادسیمال نمایش داده می شود.

SW-1,2,3,4,5 Configuration 

SW-1,2,3,4,5 (config)# vtp password cisco123 hidden

 

• برای کاهش ترافیک ها و جلوگیری از Overload شدن پهنای باند قصد داریم از VTP Pruning استفاده کنیم، برای پیکربندی VTP Pruning کافیست آن را بر روی سوییچ Server فعال کنیم.

SW-1Configuration 
SW-1 (config)# vtp pruning

 

حال اگر بر روی سوییچ Server هر VLAN ای ایجاد کنیم، آن VLAN بر روی تمامی سوییچ های Client دیگر نیز بصورت اتومات ساخته می شود.

پس از کانفیگ های مربوط به VTP قصد داریم پیکربندی ها را با استفاده از دستور show vtp status مشاهده کنیم.

Switch#show vtp status
VTP Version capable             : 1 to 3
VTP version running             : 3
VTP Domain Name                 : Netcoexpert
VTP Pruning Mode                : Disabled
VTP Traps Generation            : Disabled
Device ID                       : aabb.cc00.1000

Feature VLAN:
--------------
VTP Operating Mode                : Server
Number of existing VLANs          : 6
Number of existing extended VLANs : 0
Maximum VLANs supported locally   : 4096
Configuration Revision            : 0
Primary ID                        : 0000.0000.0000
Primary Description               : 
MD5 digest                        : 0x5D 0xD3 0xC7 0x64 0x05 0x8A 0xDB 0x3F 
                                    0xA7 0x40 0x9C 0x2D 0x12 0x34 0x4B 0x77


Feature MST:
--------------
VTP Operating Mode                : Transparent

          
Feature UNKNOWN:
--------------
VTP Operating Mode                : Transparent