Cisco CCNA · 200-301 v2.0

DTP و مذاکره Trunk

Dynamic Trunking Protocol یا DTP یک پروتکل اختصاصی Cisco برای مذاکره درباره Trunk شدن Link است. دانستن DTP به این معنا نیست که باید همه Uplinkها را Dynamic تنظیم کنی؛ باید بتوانی Modeهای مختلف را تشخیص بدهی، پیش‌بینی کنی دو Port با چه ترکیبی Trunk می‌شوند و در شبکه واقعی بفهمی چرا یک Link با وجود Link Up هنوز Trunk نیست. همچنین باید بدانی چرا روی بسیاری از اتصال‌های Switch به Router، Firewall یا Vendor دیگر نمی‌توان به DTP تکیه کرد.

در پایان این درس باید بتوانی
  • DTP را از 802.1Q تفکیک کنی
  • Modeهای access، trunk، dynamic desirable و dynamic auto را توضیح بدهی
  • نتیجه ترکیب Modeهای دو سمت را پیش‌بینی کنی
  • با switchport nonegotiate ارسال DTP را متوقف کنی
  • مشکل Negotiation را از روی Administrative/Operational Mode تشخیص بدهی

DTP چه کاری انجام می‌دهد و چه کاری نمی‌کند

802.1Q روش Tag کردن Frame است؛ DTP پروتکل مذاکره درباره این است که Port اصلاً Trunk بشود یا نه. این دو را یکی ندان. ممکن است دو Port با DTP به توافق برسند که Trunk باشند و بعد Traffic را با 802.1Q حمل کنند. همچنین ممکن است Port را استاتیک trunk کنی و به Negotiation پویا نیاز نداشته باشی.

دو مسئله متفاوت
DTP: Should this link operate as trunk?
802.1Q: How is VLAN identity carried on the trunk?

DTP اختصاصی Cisco است و همه تجهیزات آن را پشتیبانی نمی‌کنند. بسیاری از Routerها، Firewallها، Server NICها و Switchهای Vendor دیگر DTP ندارند. پس در اتصال به چنین تجهیزاتی باید نقش Port را صریح و بر اساس Design تنظیم کنی.

DTP را بیشتر به‌عنوان دانشی برای فهم رفتار Legacy و Troubleshooting ببین تا توصیه‌ای برای Dynamic کردن همه Portها. در شبکه‌های مدرن بسیاری از تیم‌ها Mode را استاتیک تعیین می‌کنند تا Intent واضح باشد. با این حال ممکن است در Exam، Lab یا شبکه قدیمی Portهایی با dynamic desirable/auto ببینی. اگر مفهوم DTP را ندانی، Operational Mode غیرمنتظره به نظر می‌رسد. بنابراین باید هم Negotiation Table را بفهمی و هم بتوانی آن را با show interfaces switchport اثبات کنی.

Modeهای Switchport

switchport mode access Port را به حالت Access می‌برد. switchport mode trunk Port را Trunk می‌کند. dynamic desirable فعالانه تلاش می‌کند همسایه را برای Trunk شدن متقاعد کند. dynamic auto حالت منفعل‌تری دارد؛ خودش فعالانه Trunk درخواست نمی‌کند اما اگر همسایه مناسب درخواست Trunk بدهد می‌تواند Trunk شود.

Modeهای مهم
switchport mode access
switchport mode trunk
switchport mode dynamic desirable
switchport mode dynamic auto

نتیجه کلیدی: desirable با desirable معمولاً Trunk، desirable با auto معمولاً Trunk، اما auto با auto معمولاً Access باقی می‌ماند. اگر هر دو سمت را بدون Design در auto بگذاری، Link ممکن است Physical Up باشد ولی Trunk تشکیل نشود.

جدول مفهومی Negotiation
Side A              Side B              Typical result
trunk               trunk               Trunk
dynamic desirable   dynamic desirable   Trunk
dynamic desirable   dynamic auto        Trunk
dynamic auto        dynamic auto        Not trunk
access              access              Access

Mode access یا trunk یک Intent صریح است؛ dynamic Modeها Intent مشروط به Peer دارند. desirable پیام مذاکره می‌فرستد و auto بیشتر پاسخ می‌دهد. این رفتار را با LACP Active/Passive اشتباه نکن؛ هر دو الگوی active/passive-like دارند اما پروتکل و هدفشان متفاوت است. DTP درباره نوع Switchport و Trunk است، LACP درباره Link Aggregation و عضویت در Port-Channel. یک Uplink می‌تواند هم LACP EtherChannel باشد و هم Port-Channel حاصل به‌عنوان Trunk کار کند، اما این دو Function جدا هستند.

Administrative و Operational Mode

show interfaces switchport برای DTP بسیار مهم است چون Administrative Mode و Operational Mode را جدا نشان می‌دهد. Administrative Mode تنظیم موردنظر توست؛ Operational Mode نتیجه واقعی در حال اجرا است. مثلاً Administrative dynamic auto می‌تواند Operational static access یا trunk باشد، بسته به مذاکره با همسایه.

auto/auto که Trunk نشده
SW1# show interfaces Gi1/0/24 switchport
Name: Gi1/0/24
Switchport: Enabled
Administrative Mode: dynamic auto
Operational Mode: static access
Negotiation of Trunking: On

اگر Ticket می‌گوید «Uplink روشن است ولی VLANها رد نمی‌شوند»، Link Up فقط Layer 1 را تأیید می‌کند. Output بالا نشان می‌دهد Root Cause می‌تواند Trunk Negotiation باشد. تغییر DNS یا VLAN Client در این مرحله بی‌ربط است.

Administrative Mode به‌تنهایی برای Incident کافی نیست. ممکن است Config dynamic desirable باشد ولی به علت Peer، Operational trunk شود یا نشود. Negotiation of Trunking نیز نشان می‌دهد DTP فعال است یا با nonegotiate خاموش شده. هنگام Migration به Static Trunk، Before/After این سه Field را ثبت کن تا مطمئن شوی نتیجه موردنظر حاصل شده است. اگر Platform دستور یا Output متفاوت دارد، Documentation همان مدل را بررسی کن؛ مفاهیم Admin State، Operational State و Negotiation همچنان ثابت‌اند.

nonegotiate و Trunk استاتیک

وقتی Trunk را استاتیک پیکربندی کرده‌ای و نمی‌خواهی DTP Frame ارسال شود، روی Platformهایی که پشتیبانی می‌کنند می‌توانی switchport nonegotiate را استفاده کنی. معمولاً ابتدا Port را trunk یا access استاتیک می‌کنی و بعد Negotiation را خاموش می‌کنی.

Static trunk بدون DTP negotiation
interface GigabitEthernet1/0/24
 switchport mode trunk
 switchport nonegotiate

nonegotiate جای switchport mode trunk را نمی‌گیرد. اگر سمت مقابل Router یا تجهیز Non-Cisco است، آن سمت اصلاً DTP جواب نمی‌دهد؛ بنابراین نقش Trunk باید به‌صورت صریح Configuration شود. روی بعضی Platformها جزئیات Command متفاوت است، پس همیشه Documentation همان IOS/Platform را در Change واقعی بررسی کن.

nonegotiate به‌خصوص وقتی Peer DTP نمی‌فهمد یا سیاست سازمان Negotiation را نمی‌خواهد کاربرد دارد. اما اگر Port را dynamic نگه داری و فقط Negotiation را خاموش کنی، ممکن است نتیجه مورد انتظار به دست نیاید. اول نقش Port را صریح تعیین کن و سپس در صورت نیاز DTP را غیرفعال کن. همچنین nonegotiate هیچ ارتباطی با خاموش کردن 802.1Q Tag ندارد؛ Trunk استاتیک بدون DTP همچنان Frameهای VLAN را با 802.1Q حمل می‌کند.

Troubleshooting DTP

برای عیب‌یابی ابتدا هر دو سمت را بررسی کن. show interfaces trunk می‌گوید Trunk واقعاً وجود دارد یا نه. show interfaces switchport Administrative/Operational Mode و Negotiation را نشان می‌دهد. اگر هر دو سمت dynamic auto هستند و Operational access است، علت واضح است. اگر یک سمت access و سمت دیگر trunk باشد، ممکن است Link Up بماند اما Traffic رفتار ناسازگار داشته باشد و Log یا Errorهای دیگری دیده شود.

DTP failure example
SW1# show interfaces trunk
<no Gi1/0/24 output>

SW1# show interfaces Gi1/0/24 switchport
Administrative Mode: dynamic auto
Operational Mode: static access

SW2# show interfaces Gi1/0/24 switchport
Administrative Mode: dynamic auto
Operational Mode: static access

Root Cause را با یک تغییر حداقلی اصلاح کن؛ مثلاً بر اساس Design هر دو سمت را static trunk قرار بده. بعد Native VLAN، Allowed VLAN و Traffic را هم Verify کن. تبدیل شدن به Trunk تنها یکی از شروط سلامت Uplink است.

در Troubleshooting یک Matrix کوچک از دو سمت بساز: Admin Mode A، Operational A، Admin Mode B، Operational B، DTP Negotiation، Native VLAN و Allowed VLAN. این جدول اختلاف را بسیار سریع آشکار می‌کند. اگر دو سمت auto/auto هستند و Operational access، Root Cause Negotiation است. اگر یک سمت trunk و دیگری trunk ولی VLAN 30 قطع است، DTP دیگر اولویت ندارد و باید Allowed/Active VLAN را بررسی کنی. تشخیص خوب یعنی بدانیم چه زمانی یک موضوع را از Suspect List حذف کنیم.

سناریوی عملی

دو Catalyst با کابل سالم متصل‌اند اما VLAN 10 فقط در هر Switch محلی کار می‌کند. show interfaces trunk هیچ Uplinkی نشان نمی‌دهد. هر دو سمت Administrative Mode برابر dynamic auto و Operational Mode برابر static access دارند. پشتیبان با مشاهده Evidence متوجه می‌شود DTP در حالت auto/auto Trunk نساخته است. طبق Design هر دو سمت را static trunk می‌کند، سپس Allowed VLAN و Native VLAN را Verify و ارتباط VLAN 10 را تست می‌کند.

اشتباهات رایج

اشتباه‌های رایج و علت آن‌ها

  • یکی دانستن DTP و 802.1Q
  • فرض اینکه dynamic auto همیشه Trunk ایجاد می‌کند
  • استفاده از DTP روی تجهیزی که اصلاً آن را پشتیبانی نمی‌کند
  • خاموش کردن Negotiation بدون مشخص کردن Mode صریح Port
تمرین عملی

تمرین عملی

  1. دو Switch را dynamic auto/auto قرار بده و Operational Mode را ثبت کن
  2. یک سمت را desirable کن و تغییر وضعیت Trunk را مشاهده کن
  3. Trunk استاتیک بساز و در صورت پشتیبانی nonegotiate را اعمال کن
  4. سناریوی Link Up ولی No Trunk را با show interfaces switchport عیب‌یابی کن

نکته‌هایی که باید با خودت ببری

  • DTP درباره Trunk Negotiation است و 802.1Q درباره VLAN Tagging
  • desirable فعالانه Trunk را مذاکره می‌کند و auto منفعل‌تر است
  • auto/auto معمولاً Trunk نمی‌شود
  • Administrative Mode با Operational Mode یکی نیست
  • برای Non-DTP peers باید Configuration صریح داشته باشی
خودسنجی

خودسنجی

اگر هر دو سمت dynamic auto باشند چه Operational State محتمل است؟

احتمال زیاد Trunk شکل نمی‌گیرد و لینک در حالت Access باقی می‌ماند، چون هیچ سمت نقش Initiator مذاکره DTP را بر عهده نگرفته است.

چرا Router معمولاً نباید منتظر DTP از Switch باشد؟

چون Router معمولاً DTP را برای مذاکره Trunk استفاده نمی‌کند. در سناریوی Router-on-a-Stick باید Trunk سمت Switch را صریح و قابل پیش‌بینی پیکربندی کرد.

nonegotiate چه چیزی را خاموش می‌کند؟

ارسال و دریافت پیام‌های مذاکره DTP را غیرفعال می‌کند؛ بنابراین نوع لینک باید به‌صورت Static و صریح تعیین شده باشد.

کدام Output برای مقایسه Administrative و Operational Mode مناسب است؟

show interfaces switchport؛ چون Administrative Mode و Operational Mode را کنار هم نشان می‌دهد و برای تشخیص تفاوت تنظیم موردنظر با وضعیت واقعی بسیار مفید است.

منابع رسمی

منابع مرجع این درس

مطالعه همیشه آزاد است

برای ذخیره پیشرفت وارد حساب شو

حساب کاربری برای آزمون و ثبت مرحله‌ها استفاده می‌شود

ورود یا ثبت‌نام