VTP چیست؟
تیر 6, 1403 1403-04-06 11:10VTP چیست؟
VTP چیست؟
در مقاله «VLAN چیست؟» با VLAN کاربرد آن آشنا شدیم. اگر شما با VLAN آَشنایی ندارید توصیه میکنم ابتدا مقاله قبلی را مطالعه فرمایید سپس به این مقاله برگردید، چرا که پیشنیاز این موضوع آشنایی با VLAN است.
در این مقاله قصد دارم که در مورد VTP یا VLAN Trunking Protocol کمی بنویسم و اطلاعات خودم را با شما به اشتراک بگذارم. مثل همیشه ابتدا از چالشی شروع میکنم که سبب شده این راهحل (Solution) ایجاد شود. فرض کنید در مجموعه خود 3 سوییچ دارید و باید بر روی آنها VLANها را ایجاد کنید. کاری که میکنید این است که به سوییچها وصل خواهید شد و VLANها را در سوییچها تعریف خواهید کرد. اگر تعداد VLANها را 10 تا در نظر بگیریم شما 30 بار باید مراحل تعریف VLAN را انجام دهید! به نظر خسته کننده میرسد نه؟! حالا اگر 30 سوییچ و 50 تا VLAN داشتید چه؟ اینجاست که سیسکو استفاده پروتکل VTP را به ما پیشنهاد میکند. پروتکل VTP وظیفه تبادل اطلاعات VLANها بین سوییچها را بر عهده دارد. یعنی اگر شما بر روی یک سوییچ یک VLAN به VLAN ID 10 و نام IT ایجاد کردید، VTP آن VLAN را بر روی بقیه سوییچهایی که در آن VTP Domain قرار دارند ایجاد میکند. در ادامه نحوه کار و اجزا مختلف VTP را بررسی میکنیم.
VTP چطور کار میکند؟
برای اینکه با نحوه کار VTP آشنا شویم ابتدا باید چند اصطلاح VTP را بشناسیم.
- VTP Domain: به مجموعهای از سوییچها گفته میشود که از طریق اینترفیس Trunk با هم ارتباط دارند و تنظیمات VTP یکسانی دارند مانند: VTP Domain Name, VTP Password, VTP Version.
- Advertisement: به بستههای VTP که اطلاعات VTP و تغییرات VLANها را شامل میشود Advertisement گفته میشود. همچنین به ارسال بسته VTP توسط سوییچها Advertise گفته میشود اما ممکن است در مقالات مختلف افعال Propagate و Distribute هم بجای Advertise استفاده شود.
- VTP Mode: هر سوییچ که عضو یک VTP Domain است میتواند در یکی از سه حالت زیر قرار بگیرد:
- Server: در این حالت که حالت پیشفرض نیز میباشد سوییچ میتواند VLANها را تغییر دهد، VLAN جدید اضافه کند یا یک VLAN موجود را حذف کند و تغییرات را Advertise کند. در یک VTP Domain حداقل یک VTP Server وجود دارد.
- Client: در این حالت سوییچ نمیتواند هیچ تغییری در VLANها ایجاد کند و فقط تغییرات ایجاد شده توسط VTP Server را بر روی خود اعمال میکند.
- Transparent: در این حالت، مانند حالت Server سوییچ میتواند بر روی VLANها مدیریت داشته باشد با این تفاوت که تغییرات ایجاد شده را Advertise نمیکند و تغییرات Advertise شده توسط سوییچهای دیگر را بر روی خود اعمال نمیکند. اگر یک سوییچ که در حالت Transparent قرار دارد پل ارتباطی بین دو سوییچ غیر Transparent باشد بستههای Advertise شده از هر سمت را به سمت مقابل انتقال میدهد و دیگر سوییچها به روز میمانند.
حالا که با اجزا و اصطلاحات VTP آشنا شدیم به بررسی نحوه کار آن میپردازم. زمانی ما یک VTP Domain ایجاد میکنیم سوییچی که نقش VTP Server را بر عهده دارد هر 5 دقیقه یکبار اطلاعات یا به محض ایجاد تغییر در VLANها، تغییرات را به بقیه اعضای VTP Domain اعلام میکند. اعضای VTP Domain عدد Configuration Revision خودشان را با Configuration Revision بسته رسیده مقایسه میکنند؛ اگر عدد خودشان بزرگتر یا مساوی بود آن بسته را نادیده میگیرند و اگر عدد موجود در بسته بزرگتر بود تغییرات را درخواست میکنند.
توجه!!!
قبل از اینکه یک سوییچ قدیمی را به VTP Domain خود اضافه کنید ابتدا آن را در حالت Transparent قرار داده یا VTP Domain Name آن را تغییر داده و دوباره به همان نام قبلی باز گردانید تا Configuration Revision آن صفر شود و پس از آن سوییچ را به شبکه خود وارد کنید. زیرا اگر اطلاعات VTP Domain یکسانی با سوییچهای شما داشته باشد و Configuration Revision بالاتری داشته باشد فارغ از اینکه در حالت Server باشد یا Client تغییرات را Advertise میکند و همه سوییچها تغییرات را میپذیرند. باعث دردسر شما خواهد شد.
انواع بستههای VTP
بستههای VTP در 4 نوع مختلف تولید و ارسال میشوند که عبارتند از:
- Summary Advertisements: این پیام هر 5 دقیقه یکبار به سوییچهای مجاور ارسال میشود و آنها را از VTP Domain Name و Configuration Revision Number مطلع میکند. همچنین به محض ایجاد تغییر توسط VTP Server نیز این پیام تولید میشود و ارسال میشود.
هنگامی که یک سوییچ این بسته را دریافت میکند VTP Domain Name خودش را آنچه که در بسته وجود دارد مقایسه میکند، اگر یکسان بود سپس Configuration Revision Number را مقایسه میکند و در صورتی که عددی که در بسته وجود دارد کوچکتر یا مساوی باشد بسته را نادیده میگیرد و در صورت بزرگتر بودن عدد یک Advertisement Request ارسال میکند. ساختار این بسته را در تصویر زیر مشاهده میکنید.
تعدادی از فیلدهایی که در بسته فوق مشاهده میکنید نیاز به توضیح بیشتر جهت مشخص شدن کاربردشان هست:
- Followers: این فیلد مشخص میکند که به دنبال این بسته، یک بسته Subset Advertisement وجود دارد.
- Updater: آدرس IP آخرین سوییچی است که Configuration Revision Number را افزایش داده است.
- Update Timestamp: تاریخ و زمان آخرین بروزرسانی Configuration Revision Number میباشد
- MD5 Digest: در صورتی که VTP Password جهت اعتبار سنجی VTP Update تنظیم شده باشد مقدار درهم شده (Hash) گذرواژه (Password) در این فیلد قرار میگیرد.
- Subset Advertisements: همانطور که گفته شد به محض اینکه یک VLAN اضافه، حذف، یا تغییر کند یک Summary Advertisements تولید میشود و پیرو آن یک یا چند Subset Advertisements که شامل اطلاعات VLAN میباشد تولید و ارسال میشود. اگر چند VLAN تغییر کرده باشد بیش از یک Subset Advertisements برای Advertise کردن VLANها نیاز است. ساختار این بسته را در تصویر پایین مشاهده میکنید.
هر فیلد VLAN-info شامل اطلاعات یک VLAN متفاوت است. ساختار این فیلد را در تصویر زیر مشاهده میکنید.
تعدادی از فیلدهایی که در بسته Subset Advertisements مشاهده میکنید نیاز به توضیح بیشتر جهت مشخص شدن کاربردشان هست:
- Code: مقدار این فیلد برای بستههای Subset Advertisements همیشه 0x02 است.
- Sequence number: ترتیب بستههای Subset Advertisement را مشخص میکند که از 1 شروع میشود.
- Advertisement Requests: هنگامی یک سوییچ این بسته را تولید و ارسال میکند که در یکی وضعیتهای زیر باشد:
- سوییچ Reset شده باشد.
- VTP Domain Name تغییر کرده باشد.
- سوییچ یک VTP summary advertisement شامل یک Configuration Revision Number بالاتر دریافت کرده باشد.
هنگامی که یک این بسته توسط یک سوییچ دریافت میشود، آن سوییچ یک Summary Advertisements ارسال میکند، و به همراه آن یک یا چند Subset Advertisement نیز ارسال میشود.
ساختار این بسته را در تصویر زیر میتوانید مشاهده کنید.
تعدادی از فیلدهایی که در بسته فوق مشاهده میکنید نیاز به توضیح بیشتر جهت مشخص شدن کاربردشان هست:
- Code: مقدار این فیلد برای بستههای Advertisement Request همیشه 0x03 است.
- Start-Value: هنگامی که چندین بسته Subset Advertisement وجود داشته باشد از این فیلد استفاده میشود. اگر n بسته Subset Advertisement دریافت شده باشد و n+1 دریافت نشده باشد، سوییچ بسته n+1 را درخواست میکند.
- VTP Join Message: این بسته همانند Advertisement Request میباشد. همانطور که از نام این بسته پیداست، توسط یک VTP Client هنگامی که برای اولین بار به VTP Domain ملحق میشود ارسال میگردد و به دست VTP Server میرسد.
همه مطالب بالا را در سناریوی که در ادامه آمده مرور میکنیم. در این سناریو یک VTP Domain بنام CafeAmouzeh داریم که سوییچهایی که در محدوده مشخص شده هستند عضو این VTP Domain میباشند. از آنجا که فقط یک VTP Server وجود دارد تنها همان سوییچ میتواند تغییراتی در VLANها ایجاد کند که Advertise هم بشود. سوییچ بعدی چون Transparent است هیچ تغییری از نمیپذیر اما بستههای VTP را عبور میدهد. در سمت دیگر VTP Client 2 بستههای VTP را که سوییچ Transparent به سمتش میفرستد بررسی و در صورتی که Configuration Revision Number آن بیشتر باشد تغییرات را بر روی خود اعمال میکند. اما VTP Client 1 بدلیل اینکه به سوییچی متصل شده که در VTP Domain یکسان نیستند بستههای VTP به دستش نمیرسد چون سوییچی که در مسیر قرار دارد بسته VTP را بررسی میکند و چون در VTP Domain یکسان نیستند بسته را نادیده میگیرد و آن را عبور نمیدهد.
نسخههای VTP
VTP در نسخههای 1، 2 و 3 وجود دارد. در نسخه 1 و 2 تفاوتی چندانی وجود ندارد. بزرگترین تفاوت این دو نسخه در پشتیبانی از VLANهای Token Ring میباشد که نسخه 2 از قابلیت پشتیبانی میکند اگر شما نیازمند چنین VLANهایی هستید باید از VTP را از نسخه 1 به نسخه 2 تغییر دهید بدون نیاز به راهاندازی مجدد سوییچ.
نسخه 3 اما تفاوتهای زیادی دارد؛ قابلیتهای قدیمی بهبود یافته و قابلیتهای جدیدی ارائه میکند:
- بهبود اعتبارسنجی
- پشتیبانی از Extended VLAN (VLANهای 1006 تا 4094 در حالی که نسخه 1 و 2 از VLANهای 1 تا 1005 را پشتیبانی میکنند).
- پشتیبانی از Private-VLAN
- پشتیبانی از Remote Switch Port Analyzer VLAN یا RSPAN VLAN
- حالت Off برای غیرفعال کردن VTP
- پشتیبانی از Multiple Spanning Tree یا MST
- سازگاری با نسخه 1 و 2
- قابلیت پیکربندی براساس هر اینترفیس
- اضافه شدن دو حالت VTP Primary Server و VTP Secondary Server در حالت VTP Server. VTP Primary Server دستگاهی است که میتواند تغییرات ایجاد کند اما دیگری فقط یک کپی از دیتابیس VLANها را دارد و توانایی تغییر ندارد.
توجه!!!
- در صورتی که از VLANهای Token Ring استفاده میکنید فقط باید از نسخه 2 استفاده کنید چون در نسخه 1 و 3 پشتیبانی نمیشوند.
- بصورت پیشفرض همه دستگاههایی که با نسخه 3 کار میکنند و در حالت VTP Server تنظیم میشوند بعنوان VTP Server Secondary شناخته میشوند.
VTP Pruning چیست؟
با افزایش تعداد VLANها و سوییچها رفته رفته ترافیک VTP زیاد خواهد شد و خود باعث بالا رفتن ترافیک شبکه میشود. به همین منظور سیسکو ویژگی را تدارک دیده که باعث می شود پهنای باند کمتری اشغال شود و جلوی ترافیکهای غیر ضروری مانند Broadcast، Multicast، ترافیکهای ناشناخته گرفته شود.
هنگامی که یک سوییچ از طریق اینترفیس Trunk خود بستهای بصورت Broadcast دریافت میکند آن را در همه اینترفیسها ارسال میکند و همه سوییچهای موجود آن بستهها را دریافت میکنند حتی اگر اینترفیسی از آن سوییچ عضو VLAN مربوطه نباشد. به تصویر زیر دقت کنید. کامپیوتر متصل به سوییچ A و D در یک VLAN بنام Red قرار دارند و باقی سوییچها هیچ اینترفیسی عضو VLAN نام برده ندارند. هنگامی که کامپیوتر متصل به سوییچ A بستهای را بصورت Broadcast ارسال میکند همه سوییچها حتی آنهایی که اینترفیسی عضو این VLAN ندارند مانند C هم بسته را دریافت میکنند.
اما حالا به تصویر زیر نگاه کنید؛ هنگامی که VTP Pruning فعال باشد بسته به آن سوییچهای خواهد رسید که اینترفیسی از آنها در VLAN مربوطه عضو میباشد.
توجه!!!
هنگامی که از نسخه 1 یا 2 VTP استفاده میکنید با فعال کردن VTP Pruning در یک سوییچ در بقیه سوییچها نیز این قابلیت فعال میگردد اما هنگام استفاده از نسخه 3 باید بر روی همه دستگاهها این قابلیت را فعال کنید.
در مقاله بعدی نحوه پیکربندی VTP را مورد بررسی قرار میدهیم.
امیدوارم این مقاله برای شما مفید واقع شده باشد. منتظر نظرات شما هستیم.




