پروتکل VTP

مفهوم پروتکل VTP در سوئیچ های سیسکو

پروتکل VTP :

VLAN Trunking Protocol

همان طور که از نام آن مشخص است، پروتکل VLAN Trunking VTP است. یعنی مخصوص VLAN ها و فقط برای حالت Trunking میباشد. و تنها از ترانک برای انتشار میتواند استفاده کند. یعنی تنها مخصوص انتقال فریم ها بین “سوئیچ ها” می باشد.

با استفاده از پروتکل VTP می توانیم اطلاعات VLAN را روی یک سوئیچ Set کنیم بعد با استفاده از پروتکل VTP سایر سوئیچ ها را از وجود این VLAN  و پیکربندی آن آگاه سازیم. نتیجه به این شکل خواهد بود که بقیه سوئیچ ها نیز این VLAN را خواهند شناخت.

آیا پیکربندی اولیه را می توانیم روی هر سوئیچی که خواستیم اعمال کنیم و بعد از پروتکل VTP استفاده کنیم؟

خیر! به طور کلی پروتکل VTP سوئیچ ها را در سه حالت دسته بندی میکند و هر سوئیچ تنها در یکی از این سه حالت قرار می-گیره که باز تنظیم این حالت به عهده مدیر شبکه است. حالت های Server ، Client و Transparent

هر مدیر یک یا چند عدد از سوئیچ ها را در حالت VTP Server و بقیه را در حالت VTP Client تنظیم میکند. به این ترتیب تنـها روی سوئیچ های VTP Server می توانیم پیکربندی¬های دلخواه را تنظیم یا تغییردهیم و سپس از طریق پروتکل VTP  این تنظیمات را به دیگر سوئیچ های VTP Server و VTP Client مخابره کنیم. هر کدام از سوئیچ های VTP Server و Client که این پیام را دریافت کردند آن ها نیز متقابلاً آن پیام را برای ترانک های خارجی خود می فرستند. پس با ایجاد تغییر در پیکربندی سوئیچ های VTP Server است که منجر به مخابره شدن پیام های VTP به کل شبکه می گردد.

به عبارت دیگر تنها روی یک سوئیچ VTP Server می¬توانیم یک VLAN جدید اضافه کنیم و یا حذف کنیم و یا تنظیمات مربوط به آن را تغییر دهیم و این کار از طریق سوئیچ های VTP Client امکان پذیر نیست.

بعبارتی هنگامی که تنظیمات پیکربندی یک سوئیچ سرور تغییر کند، پیام های VTP Server فرستاده میشوند. به علاوه این پیام ها هر ۵ دقیقه یکبار نیز توسط VTP سرور ها در کل شبکه مخابره می شوند و به غیر از این موارد هنگامی که یک سوئیچ جدید ایجاد شود که شامل VLAN هایی است، سوئیچ ها می توانند با یک پیام VTP از سوئیچ تازه تاسیس بخواهند که اطلاعات VLAN های خود را برای آن ها ارسال کند.

پس سه نوع پیام مختلف برای VTP داریم!

۱-     پیام هایی که به هنگام تغییر تنظیمات پیکربندی یک سوئیچ VTP Server ارسال می¬شوند.

۲-     پیام هایی که به طور اتوماتیک هر ۵ دقیقه یکبار مخابره می شوند.

۳-     پیام هایی که به هنگام ایجاد سوئیچ جدیدی به جهت آشنایی ارسال می¬شوند.

پروتکل VTP به چه شکل کار می کند؟

شکل زیر را در نظر بگیرید.

VLAN Trunking Protocol

VLAN Trunking Protocol

در این شکل یک سوئیچ از نوع VTP Server و دو سوئیچ از نوع VTP Client انتخاب شده اند.
داستان از اینجا شروع میشود که تصمیم می گیریم که یک VLAN جدید را روی سوئیچ VTP Server ایجاد کنیم. در هر VTP شماره ای وجود دارد که Revision Number نام دارد و مقدار این شماره برابر آخرین باری است که VTP حاوی اطلاعات جدیدی بوده مثل تغییر در پیکربندی یک VTP Server  و البته این شماره برای کل سوئیچ های شبکه مقدار یکسانی دارد چرا که این پیام ها به صورت سراسری برای تمام سوئیچ ها ارسال می گردد، هنگامی که VTP مجدداً حاوی پیام جدیدی گردد به این شماره یک واحد اضافه می شود و پیام VTP جدید به همراه این شماره جدید به کل شبکه ارسال می شود.

دوباره به شکل بالا نگاه کنید. در این شکل Revision Number فعلی ۲ است. تصمیم می گیریم که VLAN جدیدی را به سوئیچ VTP Server اضافه کنیم، این کار باعث می شود که که پیکربندی سوئیچ تغییر کند که در نتیجه ی این تغییرات، شماره پیام VTP ، یک واحد اضافه می شود و از دو به سه تغییر میکند و سپس اطلاعات این پیکربندی به همراه این شماره جدید برای سایر سوئیچ ها ارسال میشود. سایر سوئیچ ها این شماره را با شماره VTP خود چک می کنند اگر از Revision Number فعلی خود بیشتر بود این پیام را دریافت می کنند، به شماره VTP خود یک واحد اضافه میکنند و این پیام را برای پورت های ترانک خود ارسال می کنند و در غیر این صورت پیام VTP رسیده را رد میکنند.

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

همان طور که گفته شد پیام های VTP برای کل سوئیچ های شبکه ارسال می¬شود. حالا شرکتی را فرض کنید که بخش امور مالی در یکVLAN و بخش حسابداری در VLAN دیگری و بر روی سوئیچ های مختلفی قرار دارند و تنها هم نیاز است که اطلاعات تغییر در پیکربندی این سوئیچ ها برای هم ارسال شود و به طور مثال بخش انبار نیازی به دریافت این پیام هایVTP ندارد !!

چطور می توان از سرازیر شدن پیام های VTP به کل شبکه جلوگیری کرد؟

VTP Domain

VTP Domain این امکان را به مدیر می دهد که برای مجـموعه ای از سوئیچ ها نام دامنه یکسان انتخاب کند که باعث می شود سوئیچ ها در دامنه های مختلف پیام های VTP یکدیگر را نادیده بگیرند.

مثلا در مورد مثال بالا می توانیم برای سوئیچ های مربوط به VLAN های بخش مالی و حسابداری ، VTP Domain یکسانی انتخاب کنیم و در نتیجه پیام های VTP در این سوئیچ ها تا جایی پیش می رود که دامنه اجازه میدهد!

برای اینکه یک سوئیچ نم دامنه ای نگیرد بایستی که پروتکل VTP را غیرفعال کنیم. اما دو تا مشکل وجود دارد، یکی اینکه بعضی از سوئیچ های سیسکو نمی توانند پروتکل VTP را غیر فعال کنند و مشکل دوم اینکه حتی اگر بتوانیم VTP را برای سوئیچی غیر فعال کنیم، این راه حل مناسبی نخواهد بود. چرا که ممکن است این سوئیچ واسطه ای برای سایر سوئیچ ها باشد که نیاز به دریافت این پیام های VTP دارند. با غیر فعال کردن این سوئیچ ، عملاً سایر سوئیچ های وابسته نیز این پیام را دریافت نخواهند کرد، راه حل بهتر استفاده از VTP Transparent است.

VTP Transparent

بهترین تشبیهی که از Transparent VTP می توانیم دادشته باشیم خاصیت شیشه گونه آن است. شیشه می تواند نور را از خود عبور دهد و نیز آن را منعکس کند بدون اینکه خود تغییری کند، Transparent VTP نیز همین کار را با سوئیچ میکند، یعنی باعث می شود که سوئیـــچ پیام های VTP را دریافت کند آن را از خود عبور داده و برای سایر سوئیچ های هـــــمسایه دوباره ارسال (Forward) کند اما با دریافت این پیام هایVTP خودش تغییری نمی¬کند.

Transparent در واقع حالت سوم پروتکل VTP است. قبلا گفتیم که VTP برای سوئیچ ها سه حالت دارد که دو مورد آن ها VTP Server و VTP Client بود و VTP Transparent همان حالت سوم است.

سوئیچ های که روی حالت VTP Transparent تنظیم میشوند نیز به مانند VTP Server ها میتوانند VLAN ها را پیکربندی کنند و صاحب VLAN های جدید شوند اما بر خلاف VTP Server ها هرگز این اطلاعات پیکربندی را برای دیگران ارسال نمی کنند. در حقیقت سوئیچ های VTP Transparent به نوعی نسبت به سایر سوئیچ ها ایزوله هستند.
در سری جدید سوئیچ های سیسکو حالت چهارمی به نام noon وجود دارد که باعث غیر فعال کردن VTP روی یک سوئیچ می شود که بهتر است از آن برای سوئیچ های ترمینال شبکه استفاده کنیم.

VTP Pruning

قبلاً گفتیم که اگر پیام Broadcast ای از یکی از VLANهای سویچ ارسال شود سوئیچ باید این پیام را بر روی پورت های ترانک خود (به جز حالتی خاص) نیز ارسال کند؟ حالا می خواهیم آن را توضیح دهیم: غیر از پیام های VTP که که بهتر است کنترل شود تا بی هدف در کل شبکه پخش نشود، پیام های Broadcast که از ترانک های سوئیچ ها خارج می شوند نیز باید کنترل شوند. چرا؟ شکل زیر را در نظر بگیرید.

Control Traffic Of VTP

Control Traffic Of VTP

در این شکل هر کدام از کامپیوتر ها نماد یک VLAN هستند.  PC 1  قصد دارد که پیامی را به صورتBroadcast ارسال کند. سوئیچ۱ این پیام را برای سایر کامپیوتر های VLAN23 بر روی خود می فرستد، همچنین باید این پیام را بر روی تمام پورت های ترانک خود نیز ارسال کند تا این پیام به سایر اعضای VLAN23 در سوئیچ های دیگر نیز برسد. پیام به سوئیچ های دو و سه می رسد.

سوئیچ دو : VLAN ID بسته را کنترل می کند و متوجه می شود که این پیام به VLAN ای از مجموعه VLAN های خودش مربوط نیست بنابراین تنها آن را بر روی ترانک های خود (به غیر از آن که پیام از آن رسیده است) Forward می کند، پیام Forward شده از سوئیچ دو به دست سوئیچ چهار می رسد، سوئیچ چهار Header بسته را کنترل می کند و متوجه می شود که این بسته به VLAN23 او مربوط است، بنابراین Header بسته را حذف می کند و پیام اصلی را برای VLAN23 خود Forward می کند.

سوئیچ سه: Header پیام رسیده را چک می کند و متوجه می شود که VLAN ID این پیام ربطی به VLAN ID های خودش ندارد، بنابراین پیام را برای بر روی ترانک های خود (به غیر از آن که پیام از آن رسیده است) ارسال می کند که در این شکل سوئیچ سه دیگر ترانکی ندارد تا پیام را برای آن Forward کند!

سوال اینجاست که آیا واقعاً لازم است که این پیام ها برای همه سوئیچ ها و بر روی همه ترانک های خارجی ارسال شود؟ مثلا در شکل بالا چه نیازی وجود دارد که این پیام به سوئیچ سه برسد؟!

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

برای اجتناب از این عمل سوئیچ ها از دو روش پشتیبانی می کنند که به وسیله آن مدیر می تواند جریان ترافیک روی هر TRUNK را کنترل و محدود کند. یکی پیکربندی دستی است که به موجب آن مدیر باید روی هر ترانک لیست VLAN های مجاز را تعریف کند و روش دیگر VTP Pruning یا هرس کردن VTP نام دارد.

VTP می تواند به صورت پویا تشخیص دهد که کدام سوئیچ ها به فریم هایی از VLAN مشخصی نیاز ندارد و سپس پروتکل VTP آن فریم-های ارسالی از آن VLAN ها را از طریق ترانک های مناسبی هرس می کند.

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

VTP Pruning

VTP Pruning

پروتکل VTP مسئول پیام رسانی بین سوئیچ ها است و نیز اطلاعاتی از VLAN ها شامل نام و ID آنها و اینکه چه VLAN هایی به چه سوئیچی وصل است را همراه خود دارد که این اطلاعات دائماً به صورت Dynamic در فایلی به نام VLAN.dat که dat مخفف database است در حافظه ذخیره و نگهداری می شود. به این ترتیب هرس کردن VLAN ها برای پروتکل VTP کار سختی نخواهد بود!

DTP
در حالت کلی یک پورت سوئیچ یا به VLAN خاصی نسبت داده شده یا یک پورت ترانک است. (البته اگر کلاً بلااستفاده نباشد!!) اگر این پورت ترانک باشد به راحتی می تواند اطلاعات سایر سوئیچ ها و VLAN ها را از خود عبور بدهد.

پروتکل DTP (که فقط مخصوص سوئیچ¬های سیسکو است) کمک می کند که در موارد لزوم یک پورت به صورت Dynamic به پورت ترانک تبدیل شود و بتواند با سوئیچ همسایه خود ارتباط برقرار کند و نتیجتاً اطلاعات ترانک را از خود عبور دهد. اکثر سوئیچ ها به صورت پیش فرض در حالت DTP قرار دارند، به این عمل ترانکینگ پویا گفته می شود.
Static VLAN و Dynamic VLAN

این کار به دو صورت Static (دستی) و Dynamic (غیر دستی!) پیاده سازی میشود. در روش دستی ، مدیر شبکه خودش مشخص می¬کند که کدام پورت از کدام سوئیچ به کدام VLAN متعلق است که البته این برای شبکه های بزرگ کار بسیار مشکل و تقریبا ناممکنی است! و البته یک ایراد اساسی نیز دارد!

و آن این است که در این روش مثلاً مدیر مشخص می¬کند که شماره پورت¬های ۱۳ ، ۱۴ و ۱۸ از سوئیچ ۳ متعلق بهVLAN بخش مالی یک شرکت است، حالا اگر شخصی لپ تاپ خود را بیاورد و به یکی از این پورت ها وصل شود عضو VLAN مالی محسوب می شود و این یعنی بد!!

در روش پویا تمام سوئیچ ها را به یک سرور وصل می کنیم، مدیر یک فایل متنی که لیست دسترسی (Access List) نام دارد را تعریف می کند به طور کلی مشخص می کند که مجموعه از پورت های سوئیچ به چه “نوع” کاربری یا “گروه کاربری” ای متعلق است، مثلا می تواند این سیاست را باMac Address اعمال کند یا به روش های مختلف دیگر؛

در این صورت تکلیف هر سوئیچ روشن می شود. در این صورت اگر کاربر نامربوطی بخواهد از پورتی که به او مربوط نیست استفاده کند، سوئیچ به طور خود به خود او را از دسترسی به VLAN ای که به او مربوط است منـــع می کند!

VLAN ها و Sub netting

در حالت عادی، تمام کامپیوترهایی که در یک LAN عضو هستند،Subnet مشترکی دارند، درست است؟ VLAN ها هم درست عین LAN هستند، به این معنی که اینجا نیز کامپیوترهایی که عضور یک VLAN هستند بایدSubnet های یکسانی داشته باشند.

پیشتر گفتیم که مقصد پیام ها در بین سوئیچ های مختلف از طریق VLAN ID ای که به هنگام خروج از پورت ترانک به فریم اضافه میشود به راحتی قابل تشخیص اند، اما در مورد پیام¬هایی که از یک VLAN در یک سوئیچ به یک VLAN دیگر در همان سوئیچ فرستاده می شود چطور می توان مقصد پیام را تشخیص داد که مربوط به کدام VLAN است؟
شکل زیر را در نظر بگیرید.

Vlan-and-Subnetting

Vlan-and-Subnetting

در این شکل یک سوئیچ لایه دو را می­بینیم که شامل سه VLAN است. در مورد این سوئیچ بعد از تشریح شکل، توضیحاتی نوشته شده است.

قدم۱: کامپیوتر موجود در VLAN2 با Subnet ۱۰٫۱٫۱٫۰ و آدرس ۱۰٫۱٫۱٫۲ تصمیم دارد که پیامی را به کامپیوتر ۱۰٫۲٫۲٫۳ با Subnet ۱۰٫۲٫۲٫۰ بفرستد. پیام صادر شده از کامپیوتر ۱۰٫۱٫۱٫۲ به سوئیچ می رسد، سوئیچ پیام را گرفته، subnet  پیام را چک می­کند و چون subnet  مقصد پیام با subnet مبدا فرق می­کند متوجه می­شود که پیام برای VLAN دیگری ارسال شده است اما نمی­داند که آدرس Subnet  مقصد به کدام یکی از VLAN هایش متعلق است (در حقیقت چیزی از مسیریابی نمی­داند).

قدم ۲: سوئیچ بسته را برای مسیریابی به روتر می­فرستد.

قدم۳: روتر عملیات مسیریابی را انجام داده و با توجه به subnet متوجه می­شود که بسته به VLAN3 متعلق است، سپس VLAN ID مقصد را به همراه فریم برای سوئیچ ارسال می­کند.

قدم۴: سوئیچ بسته را دریافت کرده و آن به سوی کامپیوتر ۱۰٫۲٫۲٫۳ روانه می­کند.

این مثال غیر از بیان مفهوم subnetting در سوئیچ­ها به ما این مطلب را نشان داد که می­توانیم از سوئیچ­های معمولی لایه دو (که البته قابلیت VLANing داشته باشند) به همراه روتر برای VLANing استفاده کنیم.

سوئیچ­های معمولی که قابلیت VLAN داشته باشند، سوئیچ­های لایه دو هستند، سوئیچ­هایی­­اند که با پورت­ها سر و کار دارند. ولی سوئیچ­های لایه سه که جدیدتر هستند سوئیچ­هایی هستند که هم می­توانند کار سوئیچ­های لایه دو را انجام بدهند و هم مسیریابی که کار روتر­هاست! به عبارتی هم زبان پورت­ها را می­فهمند و هم زبان IP ها را.

و البته مسلم است که استفاده از این سوئیچ­ها اگرچه گرانتر از سوئیچ های لایه دو و روتر­ها می باشد ولی در کل باعث ساده شدن شبکه و بالاتربردن قابلیت آن می­شوند.

منبع : مهندس اکرمی