یک لینک یا پورت Trunk توانایی حمل ترافیک چندین VLAN را دارد و به طور معمول جهت ارتباط سوئیچ ها مورد استفاده قرار می گیرد.

Trunk می تواند از دو پروتکل جهت حمل ترافیک VLAN استفاده کند.

  • Inter-Switch Link-ISL : پروتکل اختصاصی سیسکو که سایز Header که جهت انتقال VLANها اضافه می کند ۲۶ بایت می باشد و البته در حال حاضر زیاد مورد استفاده قرار نمی گیرد.
  • ۸۰۲.۱Q : پروتکل استاندارد و عمومی می باشد سایز Header که اضافه می شود ۴ بایت می باشد و دارای قابلیت Native VLAN می باشد.

عملکرد Trunk

سوئیچ زمانی که یک Frame را روی پورت Access دریافت می کند شماره VLAN ان پورت را در Header مربوط به Frame قرار می دهد و به اصلاح Tag می شود و سپس مسیر را طی می کند تا به پورت که قرار است از ان خارج شود می رسد این Tag حذف شده و روی پورت ارسال می شود.

نکته : پروتکل DTP (Dynamic Trunking Protocol) جهت انجام مذاکره در حالت Dynamic برای انتخاب نوع پورت مورد استفاده قرار می گیرد.

جدول زیر نشان دهنده وضعیت دو پورت در حالت های مختلف می باشد:

نکته: اگر پورت را در حالت Dynamic قرار دهیم می توانیم دو حالت Auto یا Desirable را برای ان انتخاب کنیم.

حالت Auto به صورت Listening عمل می کند و اگر طرف مقابل پیشنهاد Trunk شدن را به دهد پورت در حالت Trunk قرار می گیرد در غیر این صورت در حالت Access خواهد بود.

اما Desirable به صورت فعال شروع به ارسال فریم های DTP می کند و به طرف مقابل پیشنهاد Trunk شدن می دهد.

نتیجه حاصل از دستورات جهت تعیین حالت پورت:

Switch(config-if)#Switchport mode access

 

این دستور پورت را به صورت دائم در حالت Access قرار می دهد. و شروع به ارسال فریم های DTP می کند تا با طرف مقابل برای تبدیل لینک به حالت Access مذاکره کند. این پورت به حالت Access تغییر می کند حتی اگر پورت مقابل این شرایط را قبول نکند.

Switch(config-if)#Switchport mode dynamic desirable

 

با زدن این دستور پورت با ارسال فریم های DTP تلاش می کند که پورت را به حالت Trunk تغییر دهد.

پورت به حالت Trunk تغییر پیدا می کند در صورتی که طرف مقابل در حالت Auto ، Desirable و یا Trunk باشد به Trunk تبدیل می شود.

این حالت پیش فرض برای همه پورت ها می باشد.

Switch(config-if)#Switchport mode dynamic auto

در این حالت پورت در حالت Listening قرار می گیرد و اگر طرف مقابل در حالت Trunk یا Desirable باشد لینک تبدیل به Trunk می شود در غیر اینصورت در حالت Access خواهد بود.

Switch(config-if)#Switchport mode trunk

این دستور پورت را به صورت دائم در حالت Trunk قرار می دهد. و شروع به ارسال فریم های DTP می کند تا با طرف مقابل برای تبدیل لینک به حالت Trunk مذاکره کند.

این پورت به حالت Trunk تغییر می کند حتی اگر پورت مقابل این شرایط را قبول نکند.

Switch(config-if)#Switchport nonegotiate

در این حالت پورت DTP ارسال نمی کند.این دستور را زمانی می توانید استفاده کنید که پورت را در حالت Access یا Trunk قرار گرفته باشد. برای استفاده از این حالت باید طرف مقابل را به صورت دستی تنظیم کنیم.جهت مشخص کردن نوع یک پورت از دستور زیر استفاده می کنیم:

Switch(config-if)#Switchport mode {dynamic {auto|desirable} | trunk | Access}
Switch(config-if)#Switchport nonegotiate

در صورتی که از ۸۰۲.۱Q استفاده کنیم با استفاده از دستور زیر یک VLAN را به عنوان Native تعیین کنیم:

Switch(config-if)#Switchport trunk native vlan 15

 

نکته : VLAN که به عنوان Native انتخاب شود ترافیک ان VLAN بدون tag ارسال می شود.
نکته: بهتر است که VLAN که از ان استفاده نمی شود به عنوان Native انتخاب شود چون Native یک ضعف بزرگ به نام VLAN Hopping دارد.

VLANs Allowed on the Trunk

به طور پیش فرض تمامی VLAN ها اجازه عبور از پورت Trunk را دارند.

جهت تعیین پورت های که فقط اجازه عبور دارند از دستور زیر استفاده می کنیم:

Switch(config-if)#Switchport trunk allowed vlan 12,15
Switch(config-if)#Switchport trunk allowed vlan all
Switch(config-if)#Switchport trunk allowed vlan add 20
Switch(config-if)#Switchport trunk allowed vlan remove 15

جهت نمایش وضعیت یک پورت از دستور زیر استفاده می کنیم:

Switch#show interfaces fastEthernet 0/1 switchport

مواردی که در مورد Trunk باید رعایت شود

  1. یک VLAN که استفاده نمی شود به عنوان Native انتخاب شود.
  2. روی پورتی که باید Trunk شود مذاکره جهت Trunk شدن را غیر فعال کنیم.
  3. پورتی که هیچ وقت به عنوان Trunk استفاده نمی شود را در حالت Access قرار دهیم.
  4. تنها به VLANهای که مورد استفاده هستند اجازه عبور روی Trunk را بدهید.