یکی دیگر از پروتکل های اختصاصی سیسکو،VTP یا VLAN Trunking Protocol(پروتکل تبادل اطلاعات VLANدر خطوط Trunk ) است.این پروتکل برای تعیین نحوه تبادل اطلاعاتی است که مربوط به تنظیمات VLAN می باشند.VTP تبلیغ یا advertise میکند خصوصیات VLAN های موجود برروی سوییچ را همراه با VLAN ID (شماره VLAN) و نامVLAN،اما VTP نمی تواند اینترفیس های اختصاص داده شده VLANها را تبلیغ کند. آموزش vtp یکی از آموزش های پرکاربرد در شبکه است و در ایجاد vlan ها کاربرد دارد.


آموزش vtp

با توجه به اینکه تا اینجا با نحویه تنظیمVLAN آشنایی ندارید ممکناست درک خوبی ازاهمیت کارVTPرا نداشته باشید.برا ی همین با ذکر یک مثال آموزش VTP را آغاز می کنیم.

قبل از شروع آموزش vtp بهتر است مقاله آموزش trunking را مطالعه کنید.

شبکه ای را تصور کنید که دارای ۱۰ سوییچ است.این سوییچ ها بوسیله خطوط Trunk با هم در ارتباطهستند.هریک از سوییچ ها دارای یک پورت اختصاص داده شده به VLAN با شماره VLAN3 و با نام Accounting می باشند.بدون VTP کارشناس شبکه مجبور است با استفاده از یکسری دستورات مشابه ، این VLAN را برروی تمام سوییچ ها تنظیم کند. اما با وجود VTP کارشناس شبکه VLAN را برروی یک سوییچ ایجاد می کندو۹ تا سوییچ دیگر این VLAN را learn  یا یادمیگیرند.(برروی خود VLAN را ایجاد می کنند)به این عمل VTP گویند.

پیغام های VTP سوییچ ها را قادر می سازد که اطلاعات و تنظیمات VLAN ها در لایه ۲ بین سوییچ ها انجام بگیرد.زمانی که روی یک سوییچ نام یک VLAN را عوض ، یا یک VLAN جدیدی را اضافه یا حذف کنیم یا اطلاعات VLAN های موجود را تغییر بدیم ،این تغییرات با استفاده از پروتکل VTPبرروی تمام سوییچ ها به روز میشود.(با همان VLAN ID و نام VLAN)این فرایند مانند پروتکل های مسیریابی می باشد.هریک ازسوییچ ها پیغام VTP خود را دریک دوره زمانی برروی پورت Trunk خود ارسال می کند.برای مثال ما یک VLAN جدید با شماره VLAN3 و با نام Accountingبرروی یک سوییچ تنظیم کردیم در این هنگام سوییچ بلافاصله پیغام VTP Update را برروی پورت های Trunk خود اطلاعات VLAN جدید را به بقیه سوییچ ها پخش می کند.

VTP Domain: محدوده ای که همه ی سوئیچ ها در آن دارای Domain Name مشترک هستند.

 VTP Updates:آخرین اطلاعات مربوط به Vlan ها (Vlan های جدید و یا حذف شده) تحت عنوان VTP Updates در محدوده ی سوئیچ های یک VTP Domain مبادله می شود.

 VTP Mode: در یک VTP Domain یک سوئیچ می تواند سه حالت(Mode) متفاوت داشته باشد:

Server – Client – Transparent

 

Server:

  1. قابلیت ایجاد و حذف Vlan در آن وجود دارد.
  2. Updates خودش را به سایر سوئیچ ها ارسال می کند.

 

‍Client:

  1.  قابلیت ایجاد و حذف Vlan در آن وجود ندارد.
  2.  Updates دریافتی از Server را پذیرفته و روی خود اعمال می کند.
  3.  Updates دریافتی از Server را به سایر سوئیچ ها ارسال می کند.

 

Transparent:

  1. قابلیت ایجاد و حذف Vlan در آن وجود دارد.
  2.  Updates خودش را به سایر سوئیچ ها ارسال نمی کند.
  3.  Updates دریافتی از Server را نپذیرفته و روی خود اعمال نمی کند.
  4.  Updates دریافتی از Server را به سایر سوئیچ ها ارسال می کند.

 

به بیان دیگر:‌ Server آپدیت خودش را به Client ها ارسال می کند و Client ها خودشان را با Server تطبیق می دهند،‌ اما در اجتماع Server و Client، سوئیچ های Transparent‌ اجتماعی نبوده و سرشان در لاک خودشان است، نه به دیگران آپدیت ارسال می کنند و نه آپدیت دیگران را روی خودشان اعمال می کنند، تنها کاری که میکنند این است که آپدیت ها را از یک گوش شنیده و از گوش دیگر خارج می کنند،‌ یعنی در توزیع آپدیت بین سایر سوئیچ ها همکاری می کنند.

فرایند هماهنگ شدن کلاینت ها با سرور:در هر ارسال سرور عددی بنام Revision Number  به سمت کلاینت ها می فرستد مثلا با ایجادشماره VLAN عدد مربوط به 0+1 و با ایجاد نام برای VLAN به 0+1+1 تغییر می کند که پس از ارسال عدد از سوی سوئیچ مد سرور به سوئیچ های مد کلاینت (یعنی ارسال Summery Advertisment) که معمولا هر 5 دقیقه اتوماتیک انجام می شود، سوئیچ های مد کلاینت تقاضای دریافت نوع تغییرات(Request Advertisment)می دهد و سرور نوع تغییرات را ارسال می کند(Subset Advertisement) و کلاینت تاییدیه دریافت ارسال می کند (VtTP Join Message)

 

حالت وجود چند سوئیچ در مد Server : اگر دو سوئیچ که در حالت Server قرار دارند را در یک VTP Domain قرار دهیم،‌ کدام یک از آنها خود را با دیگری تطبیق داده و Updates دیگری را در خود اعمال می نماید؟

در این مبارزه سوئیچی بر دیگری غالب می شود که Revision Number بالاتری داشته باشد،‌ سوئیچی که Revision Number کمتری دارد، تصور خواهد کرد که سوئیچ مقابل تعداد دفعات بیشتری آپدیت شده و اطلاعات به روزتری دارد، بنابراین تسلیم او شده و اطلاعات خودش را با او تطبیق می دهد!

 


DTP – Dynamic Trunking Protocol چیست ؟

زمانی که بین دو سوییچ پورتی را به حالت ترانک تعریف میکنید ، ترانک میتواند از پروتکل استاندارد ۸۰۲٫۱Q ویا پروتکل اختصاصی سیسکو و یا همان ISL جهت کپسوله سازی داده های VLAN ها استفاده نمایید.

در صورتی که DTP فعال باشد پورت های ترانک به صورت خودکار پروتکل فعال و وضعیت پورت  سمت مقابل را به صورت پویا تشخیص داده و در صورن لزوم ترانک را فعال و سپس طبق آن پروتکل شروع به نقل و انتقال اطلاعات VLAN ها می نماید.

حالت های مختلف Switchport

  • Auto در این حالت پورت در حالت غیر فعال قرار می گیرد و آماده تبدیل به ترانک شدن می باشد اما به شرطی که پورت مقابل در حالت On و یا Desirable تعریف شده باشد. به اصطلاح منتظر شورع مذاکره از طرف دیگر است
  • On پورت را در حالت ترانک قرار میدهد حتی اگر سوییچ مقابل آن را نپذیرد.
  • Off پورت در حالت ترانک قرار نمیگیرد حتی اگر سوییچ مقابل آن را نپذیرد.
  • Desirable در صورت پذیرش سوییچ مقابل پورت آماده تبدیل به ترانک شدن می باشد و شروع کننده مذاکره است، در این حال سوییچ مقابل باستی در یکی از حالت های Auto ، On و یا Desirable  تعریف شده باشد.
  • Nonegotiate در این حالت ارسال هرگونه فریم DTP  متوقف می شود.

در حالت پیش فرض پورت های در مد Auto هستند لذا ارتباط برقرار نمی شود چون هر دو سر منتظر شروع طرف دیگر هستند لذا باید حداقل یک سرف در حالت Desiriable قرار گیرد (دستورات 1و2و3و5)

نکته ۱ : در برخی از شرایط که بین دو سوییچ که یکی سیسکو و دیگری به غیر از سیسکو می باشد استفاده از حالت های پویا باعث بروز اختلال می شود لذا پورت را در حالت Nonegotiate  قرار دهید تا فریم های DTP  ارسال نشود و از بروز اینگونه اختلالات جلوگیری شود.مخصوصا وقتی یک طرف به PC وصل شده باشد.

نکته ۲ : زمانی که از هر یک از حالت های پویا استفاده میکنید در صورت فعال سازی Nonegotiate  با خطا مواجه خواهید شد.

دستورات لازم  :

1->en
2-#Conf t
3-(config)#Int Fa 0/1
4-(config-if)#switchport Mode Dynamic Auto
5-(config-if)#switchport Mode Dynamic Desirable :
6-(config-if)# swichport mode access :قرار پرفتن پورت در حالت اکسس
7-(config-if)# swichport access vlan ... (vlan number) :اتصال پورت به ولن خاص
8-(config-if)#switchport nonegotiate :قطع ارسال دیتا ها از سوئیچ به دیوایس مرتبط در پورت موبوطه بعد از دستورشماره 2و5 قرار گیرد : DTP disable for port
9-(config)#VTP Domain .....   :  نامی دلخواه برای دومین ایجاد شده
10(config)#VTP Mode <server | Client |Trasparent>
11-(config)#Vtp Password ..... :پسوردی دلخواه برای دومین

با دستور 8 از تبدیل به ترانک شدن جلوگیری می شود

یک مشکل
VTP Hacking: فرض کنید مدیر شبکه یک کارخانه هستید و یکی از همکارانتان که میخواهد شما را پیش رئیس کارخانه خراب کند،‌ یک سوئیچ با Revision Number بالاتر را به کارخانه آورده و درست در زمان اوج استفاده از شبکه آن را به یکی از سوئیچ های کارخانه متصل می کند،‌ در اینصورت Dynamic Trunking Protocol یا DTP کار او را ساده کرده و سوئیچ بیگانه را عضوی از VTP Domain میکند، کلیه سوئیچ هایی که در حالت Server و Client قرار دارند، Updates های سوئیچ بیگانه را دریافت کرده و شبکه به سادگی از کار میافتد…

همچنین یک PC که به پورتی وصل است با قرار دادن یک سوئیچ خارجی و trunk کردن پورت اتصال خود براحتی میتواند در هر Vlan با دستکاری تگ ها وارد شده و مشکل بسازد.

 روش های پیشگیری:

1-پس از ساخت Vlan ها بر روی Server، سوئیچ ها را در حالت Transparent قرار دهید تا از Update های مخرب در امان بمانند.

2-پورت های بلااستفاده ی سوئیچ را Shutdown نمایید.


Switch#conf t

Switch(config)#int fa 0/24

Switch(config-if)#shutdown

3-. Dynamic Trunking Protocol یا DTP را با فرمان switchport nonegotiate غیر فعال کنید.

4- برای هرpc متصل یه پورت خاص ، بصورت دستی vlan ارتباطی را مشخص نماییم:

>en
#Conf t
(config)#Int Fa 0/1
(config-if)#switchport access vlan 12
(config-if)#switchport Mode access
(config-if)#switchport nonegotiate

پیش فرض پورت ها در سیسکو DTP هستند لذا با خط 6 از dynamic خازج و با خط 6 بطور کل حالت dynamic غیرفعال می شود


فیلم آموزشی:


مثال Cisco Packet Tracer:

  مثال1: دانلود فایل  ایجاد  VTP همراه با توضیحات

  مثال2: دانلود فایل ایجاد VTP و غیر فعال کردن DTP و اتصال کلابنت ها به VLAN همراه با توضیحات

 مثال 3: از http://computernetworkingnotes.com    دانلود Configured VLAN VTP STP topology

Configure VTP server

Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname S1
S1(config)#vtp mode server
Device mode already VTP SERVER.
S1(config)#vtp domain example
Changing VTP domain name from NULL to example
S1(config)#vtp password vinita
Setting device VLAN database password to vinita

Configure VTP clients

Once you have created a VTP domain. Configure remaining Switch to Client mode.

Switch 2

Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname S2
S2(config)#vtp mode client
Setting device to VTP CLIENT mode.
S2(config)#vtp domain example
Changing VTP domain name from NULL to example
S2(config)#vtp password vinita
Setting device VLAN database password to vinita
S2(config)#

Switch 3

Switch>enable
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname S3
S3(config)#vtp mode client
Setting device to VTP CLIENT mode.
S3(config)#vtp domain example
Changing VTP domain name from NULL to example
S3(config)#vtp password vinita
Setting device VLAN database password to vinita
S3(config)#