مفاهیم و پیکربندی VLAN و Trunking – روز 26
VLAN and Trunking Concepts and Configurations
قبل از این مقاله بهتره “آدرسدهی IPv6 (IPv6 Addressing)” رو مطالعه کنید، امروزه، اکثر شبکههای بزرگ از شبکههای محلی مجازی (VLAN) استفاده میکنند. بدون VLAN، یک سوئیچ تمامی پورتهای خود را در یک دامنه انتشار (Broadcast Domain) واحد در نظر میگیرد. با استفاده از VLAN، پورتهای سوئیچ به گروههای مختلفی تقسیم شده و دامنه انتشار به بخشهای کوچکتری شکسته میشود.
در این مقاله، مفاهیم VLAN، انواع ترافیک، انواع VLAN و مفهوم Trunking از جمله پروتکل Dynamic Trunking (DTP) را بررسی میکنیم. همچنین، دستورات لازم برای پیکربندی و تأیید VLAN، Trunking و مسیریابی بین VLANها (Inter-VLAN Routing) را مرور خواهیم کرد.
مفاهیم VLAN
به طور پیشفرض، زمانی که یک سوئیچ از کارخانه بیرون میآید، معمولاً تنها یک VLAN دارد. اما در شرایط واقعی، یک سوئیچ معمولاً به گونهای پیکربندی میشود که شامل دو یا چند VLAN باشد. این پیکربندی به شما اجازه میدهد چندین دامنه انتشار مستقل ایجاد کنید.
دلایل استفاده از VLANها
- گروهبندی کاربران بر اساس دپارتمان به جای موقعیت فیزیکی
- تقسیم دستگاهها به شبکههای کوچکتر برای کاهش بار پردازشی روی کل شبکه
- کاهش بار پروتکل Spanning Tree (STP) با محدود کردن آن به یک VLAN خاص
- افزایش امنیت از طریق جداسازی دادههای حساس بین VLANهای مختلف
- تفکیک ترافیک صوتی (IP Voice) از ترافیک داده
- سهولت در عیبیابی با کاهش میزان خرابیهای احتمالی در شبکه
مزایای VLAN
- امنیت: امکان ایزوله کردن دادههای حساس در یک VLAN مجزا
- کاهش هزینهها: کاهش نیاز به ارتقای سختافزاری و استفاده بهینه از پهنای باند
- بهبود عملکرد شبکه: کاهش ترافیک غیرضروری در شبکه و افزایش بهرهوری
- کاهش Broadcast Storms: جلوگیری از انتشار بیرویه بستههای Broadcast در کل شبکه
- سهولت مدیریت و عیبیابی: تسهیل در مدیریت آدرسهای IP و افزایش کارایی در عیبیابی
انواع ترافیک در شبکه VLAN
یکی از نکات کلیدی برای پیادهسازی VLAN، شناخت انواع ترافیک در شبکه است. جدول زیر رایجترین انواع ترافیک در VLAN را نشان میدهد:
نوع ترافیک | توضیحات |
---|---|
مدیریت شبکه (Network Management) | برخی از طراحیهای شبکه VLAN خاصی را برای ترافیک مدیریت شبکه در نظر میگیرند تا عیبیابی راحتتر شود. |
تلفن IP (IP Telephony) | شامل دو نوع ترافیک: سیگنالینگ بین دستگاهها و بستههای داده مکالمه صوتی. برای بهینهسازی عملکرد، این ترافیک معمولاً در VLAN جداگانهای قرار داده میشود. |
چندپخشی IP (IP Multicast) | این ترافیک مربوط به پخش داده به چندین مقصد در شبکه است و نیاز به کنترل سیلابی (Flood Control) دارد تا ترافیک ناخواسته محدود شود. |
داده عادی (Normal Data) | ترافیک رایج شبکه مانند دسترسی به فایل سرورها، مرور اینترنت و ایمیل. |
Scavenger Class | شامل ترافیک کماهمیت مثل سرگرمیهای چندرسانهای که تأثیر کمی بر شبکه دارد. |
انواع VLAN
VLANها بر اساس نوع ترافیک پشتیبانیشده یا وظایف خاص طبقهبندی میشوند. در ادامه، انواع اصلی VLAN را بررسی میکنیم:
- Data VLAN: برای انتقال ترافیک تولیدشده توسط کاربران طراحی شده و ترافیک صوتی و مدیریت شبکه را جدا نگه میدارد.
- Default VLAN: به طور پیشفرض، تمامی پورتهای سوئیچ عضو VLAN پیشفرض (VLAN 1 در سوئیچهای Cisco) هستند.
- Black Hole VLAN: به عنوان VLAN ایزوله تعریف میشود تا پورتهای بدون استفاده را در شبکه محدود کند.
- Native VLAN: این VLAN برای شناسهگذاری بستههای غیر Tagged در یک لینک Trunk استفاده میشود.
- Management VLAN: برای مدیریت سوئیچ مورد استفاده قرار میگیرد و معمولاً VLAN 1 به عنوان Management VLAN تنظیم میشود.
- Voice VLAN: به سوئیچ اجازه میدهد ترافیک صوتی (IP Voice) را روی VLAN جداگانهای حمل کند.
مثالی از Voice VLAN
شکل زیر یک سناریوی ساده برای استفاده از VLAN در یک تلفن IP را نشان میدهد:
- یک سوئیچ دارای یک پورت است که هم به یک تلفن IP Cisco و هم به یک کامپیوتر شخصی (PC) متصل شده است.
- پورت سوئیچ برای ارسال ترافیک داده در VLAN 20 و ترافیک صوتی در VLAN 150 پیکربندی شده است.
- Cisco IP Phone دارای یک سوئیچ داخلی سهپورتی است که نقش کلیدی در تفکیک ترافیک داده و صوت دارد:
- پورت 1 به سوئیچ یا یک دستگاه VoIP متصل است.
- پورت 2 یک اینترفیس داخلی است که ترافیک Voice VLAN را حمل میکند.
- پورت 3 به یک کامپیوتر یا دستگاه دیگر متصل میشود.
این طراحی باعث میشود ترافیک صوتی و داده از هم جدا شوند و عملکرد شبکه بهینهتر شود.
Trunking VLANs – ارتباط VLANها در شبکه
یک VLAN Trunk یک لینک نقطه به نقطه اترنتی بین دو دستگاه شبکه (مانند سوئیچ یا روتر) است که به جای حمل دادههای یک VLAN خاص، ترافیک چندین VLAN را روی یک لینک واحد منتقل میکند.
VLAN Trunk چیست؟
یک Trunk برخلاف VLAN معمولی که فقط به یک شناسه VLAN اختصاص دارد، به عنوان یک کانال ارتباطی برای انتقال ترافیک چندین VLAN بین دو سوئیچ عمل میکند.
مثال کاربردی:
شکل زیر نشان میدهد که یک لینک Trunk بین دو سوئیچ S1 و S2 برای حمل 5 VLAN مختلف ایجاد شده است:
VLAN ID | توضیحات |
---|---|
VLAN 1 | کنترل ترافیک |
VLAN 10 | دانشکده / کارکنان |
VLAN 20 | دانشجویان |
VLAN 30 | مهمان (پیشفرض) |
VLAN 99 | مدیریت و Native VLAN |
در این ساختار، یک پورت سوئیچ به عنوان Trunk تعریف شده و ارتباط بین VLANهای مختلف از طریق این لینک برقرار میشود.
802.1Q – برچسبگذاری (Tagging) فریمهای VLAN
هنگامی که یک فریم (Frame) در یک لینک Trunk ارسال میشود، باید شامل اطلاعاتی درباره VLAN مقصد باشد. این فرایند از طریق برچسبگذاری فریمها با استاندارد IEEE 802.1Q انجام میشود.
ساختار فریم اترنت دارای برچسب 802.1Q: یک برچسب VLAN در فریم اترنت شامل موارد زیر است:
- 16 بیت Type Field: مقدار 0x8100 که نشاندهنده 802.1Q است.
- 3 بیت User Priority: برای تعیین اولویتبندی ترافیک لایه 2 (مثلاً برای تماسهای صوتی VoIP).
- 1 بیت Canonical Format Identifier (CFI): برای حمل فریمهای Token Ring روی لینکهای اترنت.
- 12 بیت VLAN ID (VID): مشخصکننده شماره VLAN.
استاندارد 802.1Q روش اصلی برای برچسبگذاری VLAN است، اما پروتکل اختصاصی Cisco به نام ISL نیز برای این کار استفاده میشود.
پروتکل Dynamic Trunking Protocol (DTP)
پروتکل DTP یک پروتکل اختصاصی شرکت Cisco است که به طور خودکار مذاکره (Negotiation) بین پورتهای Trunk را انجام میدهد. این پروتکل تعیین میکند که دو پورت چگونه برای ایجاد یک لینک Trunk مذاکره کنند.
در سوئیچهای سیسکو، 4 حالت DTP وجود دارد:
1️⃣ switchport mode trunk
✅ پورت بهطور پیشفرض Trunk است و بستههای DTP را به دستگاه مقابل ارسال میکند.
2️⃣ switchport mode dynamic auto
🟡 پورت فقط در صورتی Trunk میشود که طرف مقابل در حالت Dynamic Desirable یا Trunk باشد. اگر دستگاه مقابل در حالت Access باشد، این پورت نیز Access باقی میماند.
3️⃣ switchport mode dynamic desirable
🟢 پورت فعالانه سعی در ایجاد Trunk دارد و با طرف مقابل مذاکره میکند.
4️⃣ switchport mode nonegotiate
🚫 پورت در حالت Trunk ثابت باقی میماند، اما بستههای DTP را ارسال نمیکند. این گزینه در زمانی استفاده میشود که سوئیچهای غیر Cisco متصل باشند.
نتایج مذاکره DTP بین دو پورت
جدول زیر نشان میدهد که چه ترکیبهایی باعث ایجاد یک Trunk میشوند:
حالت پورت محلی | حالت پورت راه دور | نتیجه |
---|---|---|
Dynamic Auto | Dynamic Auto | Access |
Dynamic Auto | Dynamic Desirable | Trunk |
Dynamic Desirable | Dynamic Desirable | Trunk |
Trunk | Trunk | Trunk |
Access | Dynamic Auto / Desirable | Access (توصیه نمیشود) |
- اگر هر دو پورت در حالت Dynamic Auto باشند، Trunk تشکیل نمیشود.
- اگر یکی از پورتها Dynamic Desirable باشد، Trunk ایجاد خواهد شد.
- اگر هر دو پورت در حالت Trunk باشد، لینک Trunk برقرار خواهد شد.
پیکربندی و تأیید VLAN در شبکههای سیسکو
در ادامه نحوه پیکربندی، تأیید و بررسی VLAN و Trunking در سوئیچهای سیسکو را بررسی میکنیم.
توپولوژی نمونه VLAN
در این سناریو، پنج VLAN به شرح زیر تعریف شده است:
- VLAN 1: ترافیک کنترلی (Control Traffic) – 172.17.1.0/24
- VLAN 10: کارکنان و هیئت علمی (Faculty/Staff) – 172.17.10.0/24
- VLAN 20: دانشجویان (Students) – 172.17.20.0/24
- VLAN 30: مهمان (Guest – پیشفرض) – 172.17.30.0/24
- VLAN 99: مدیریت و Native VLAN – 172.17.99.0/24
پورتهای سوئیچ تنظیم شدهاند:
- پورتهای G0/1 و G0/2 بهعنوان Trunk و با Native VLAN 99 پیکربندی شدهاند.
- پورتهای F0/1 تا F0/17 به VLANهای 10، 15، 25 و 35 اختصاص یافتهاند.
بررسی VLAN پیشفرض در سوئیچ
پس از راهاندازی اولیه، تمامی اینترفیسها در VLAN 1 قرار دارند. میتوان این تنظیمات پیشفرض را با استفاده از دستور زیر بررسی کرد:
S2# show vlan brief
خروجی این دستور لیست VLANهای پیشفرض و اینترفیسهای اختصاص دادهشده به هر VLAN را نشان میدهد. VLAN 1 بهعنوان VLAN پیشفرض فعال است و همه اینترفیسها در آن قرار دارند.
ایجاد VLANها در سوئیچ
برای ایجاد VLANهای جدید، میتوان از دو روش استفاده کرد:
- پیکربندی در حالت global configuration که به شما امکان میدهد نامی برای VLAN مشخص کنید.
- پیکربندی از طریق اینترفیس که VLAN را مستقیماً روی اینترفیس اعمال میکند.
مثال زیر نحوه ایجاد VLAN 10 و VLAN 20 را نشان میدهد:
در این مثال:
- VLAN 10 و 20 ایجاد شدهاند.
- اینترفیس Fa0/18 به VLAN 20 اختصاص داده شده است.
- VLAN 30 و VLAN 99 بدون اینترفیس خاصی ایجاد شدهاند.
بررسی ایجاد VLAN
برای مشاهده لیست VLANهای ایجادشده، از دستور زیر استفاده میشود:
S2# show vlan brief
خروجی این دستور نشان میدهد که تمامی VLANها ایجاد شدهاند، اما تنها VLAN 20 به یک اینترفیس اختصاص داده شده است.
اختصاص VLANها به اینترفیسهای مختلف
برای اختصاص اینترفیسهای دیگر به VLANهای مشخصشده در توپولوژی، میتوان از دستورات زیر استفاده کرد:
این تنظیمات باعث میشود:
- پورتهای Fa0/11 تا Fa0/17 به VLAN 10 اختصاص داده شوند.
- پورتهای Fa0/18 تا Fa0/24 در VLAN 20 قرار بگیرند.
- پورتهای Fa0/6 تا Fa0/10 به VLAN 30 متصل شوند.
بررسی اختصاص VLAN به اینترفیسها
پس از تنظیم VLANها روی اینترفیسها، میتوان با اجرای دستور زیر آنها را بررسی کرد:
S2# show vlan brief
این خروجی نشان میدهد که تمامی اینترفیسهای مشخصشده به VLANهای موردنظر متصل شدهاند.
بررسی VLAN اختصاصیافته به یک اینترفیس خاص
برای بررسی VLAN اختصاصیافته به یک اینترفیس خاص، از دستور زیر استفاده میشود:
S2# show interfaces fastethernet 0/11 switchport
این دستور وضعیت اینترفیس Fa0/11 را نمایش میدهد و نشان میدهد که به VLAN 10 اختصاص یافته است.
تنظیمات نهایی در توپولوژی نمونه
برای توپولوژی ارائهشده، VLANها روی سوئیچهای S1 و S3 نیز پیکربندی میشوند، اما تنها S3 نیاز به اختصاص VLANها به اینترفیسهایش دارد.
پیکربندی و تأیید Trunking در شبکههای سیسکو
پیکربندی VLAN مدیریت
برای رعایت اصول امنیتی، یک VLAN جداگانه برای مدیریت سوئیچ پیکربندی میشود. در محیطهای واقعی، بهتر است یک VLAN برای مدیریت و یک VLAN دیگر برای Native VLAN اختصاص داده شود. در این مثال، VLAN 99 برای هر دو مورد استفاده شده است.
این پیکربندی روی سوئیچهای S2 و S3 نیز تکرار میشود. آدرس IP تنظیمشده برای VLAN 99 بهمنظور مدیریت از راه دور سوئیچ (Telnet، SSH، SDM، HTTP) مورد استفاده قرار میگیرد.
پیکربندی Trunk و تنظیم Native VLAN
در این بخش، اینترفیسهای متصل به لینک Trunk در سوئیچ S1 پیکربندی میشوند. همچنین، VLAN 99 به عنوان Native VLAN تنظیم میشود.
درصورتیکه Native VLAN بین دو سوئیچ همخوانی نداشته باشد، پیغام خطای زیر نمایش داده میشود:
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/1 (99), with S2 FastEthernet0/1 (1).
برای رفع این مشکل، پیکربندی مشابه باید روی S2 و S3 اعمال شود.
بررسی تنظیمات Trunk
برای اطمینان از عملکرد Trunk، میتوان از دستور زیر استفاده کرد:
خروجی این دستور نشان میدهد که پورتهای G0/1 و G0/2 در حالت Trunk قرار دارند و VLAN 99 به عنوان Native VLAN تعریف شده است.
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 99
Gig0/2 on 802.1q trunking 99
Port Vlans allowed on trunk
Gig0/1 1,10,20,30,99
Gig0/2 1,10,20,30,99
بررسی تنظیمات اینترفیس Trunk
برای مشاهده تنظیمات یک اینترفیس خاص که در حالت Trunk قرار دارد، میتوان از دستور زیر استفاده کرد:
S1# show interface g0/1 switchport
خروجی این دستور شامل اطلاعات کلیدی زیر است:
Name: Gig0/1
Switchport: Enabled
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Trunking Native VLAN: 99 (Management&Native)
Access Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
- تمامی دستگاههای متصل به یک VLAN باید آدرس IP و Subnet Mask یکسان داشته باشند.
- برای تأیید نهایی تنظیمات، میتوان ارتباط بین دستگاههای هم VLAN را با استفاده از دستور ping بررسی کرد.
- اگر ارتباط برقرار نشد، میتوان با استفاده از دستورات بررسی، مشکل را شناسایی و برطرف کرد.
عیبیابی VLAN در شبکههای سیسکو
عیبیابی اتصال در VLANها
درصورتیکه بین VLANها مشکلات ارتباطی وجود داشته باشد و مشکلات مربوط به آدرسدهی IP برطرف شده باشد، میتوان از روشهای زیر برای بررسی و رفع خطاهای مربوط به تنظیمات VLAN استفاده کرد.
نمودار جریان عیبیابی VLAN
برای بررسی مشکلات VLAN، میتوان از نمودار زیر پیروی کرد:
- بررسی VLAN و جدول MAC آدرسها
- از دستور show vlan برای بررسی تعلق پورت به VLAN استفاده کنید.
- از دستور show mac address-table برای مشاهده آدرسهای اختصاص دادهشده به پورتها استفاده کنید.
- بررسی وضعیت پورت در VLAN صحیح
- اگر پورت در VLAN صحیح قرار ندارد، با استفاده از دستور switchport access vlan [VLAN_ID] آن را به VLAN مناسب اختصاص دهید.
- بررسی وجود VLAN در پایگاه داده VLAN
- اگر VLAN در پایگاه داده VLAN موجود نباشد، باید آن را ایجاد کنید.
- بررسی اتصال بین دستگاههای یک VLAN
- با استفاده از ping یا دستورات show interfaces میتوان ارتباط بین دستگاهها را بررسی کرد.
دستورات مفید برای عیبیابی VLAN
جدول زیر دستورات کاربردی برای بررسی و عیبیابی VLAN را نشان میدهد:
دستور | توضیح |
---|---|
show vlan | نمایش تمام VLANها و اینترفیسهای اختصاص دادهشده |
show vlan brief | نمایش خلاصهای از VLANها بدون پورتهای Trunk |
show vlan id [VLAN_ID] | نمایش پورتهای اختصاص دادهشده به یک VLAN خاص |
show interfaces switchport | نمایش VLAN اختصاصیافته به یک اینترفیس |
show interfaces [type number] switchport | نمایش تنظیمات VLAN برای اینترفیس مشخصشده |
show mac address-table | نمایش آدرسهای MAC مرتبط با VLANها |
show interface status | نمایش وضعیت تمامی اینترفیسها و VLANهای آنها |
VLANهای غیرفعال (Disabled VLANs)
VLANها میتوانند بهصورت دستی غیرفعال شوند. برای بررسی وضعیت VLANها، از دستور show vlan استفاده کنید. VLANها در یکی از دو حالت زیر خواهند بود:
- active (فعال)
- act/lshut (غیرفعال)
فعال یا غیرفعال کردن VLAN در سوئیچ
مثال زیر نشان میدهد که VLAN 10 و VLAN 30 بهصورت غیرفعال هستند و باید فعال شوند:
برای فعال کردن VLANهای غیرفعال، از دستورات زیر استفاده میشود:
S1# configure terminal
S1(config)# no shutdown vlan 10
S1(config)# vlan 30
S1(config-vlan)# no shutdown
S1(config-vlan)# end
با اجرای این دستورات، VLANهای غیرفعال مجدداً فعال خواهند شد.
عیبیابی Trunking در شبکههای سیسکو
بررسی مشکلات احتمالی در VLAN و Trunking
برای رفع مشکلات ارتباطی مرتبط با VLAN و Trunking، چهار مرحله کلیدی باید بررسی شوند:
مرحله ۱: بررسی و اصلاح VLANهای اختصاصیافته به اینترفیسها
- تمام پورتهای Access و VLANهای اختصاص دادهشده به آنها را شناسایی کنید.
- در صورت نیاز، اینترفیسهای مربوطه را به VLAN صحیح منتقل کنید.
مرحله ۲: بررسی فعال بودن VLANها در سوئیچ
- اطمینان حاصل کنید که VLANهای موردنظر ایجاد و فعال هستند.
- در صورت غیرفعال بودن VLAN، آن را با استفاده از دستور no shutdown vlan [VLAN_ID] فعال کنید.
مرحله ۳: بررسی تطابق لیست VLANهای مجاز در لینک Trunk
- لیست VLANهای مجاز در هر دو انتهای لینک Trunk را مقایسه کنید.
- در صورتی که تفاوتی در لیست وجود دارد، VLANهای موردنیاز را به لینک اضافه کنید.
مرحله ۴: بررسی وضعیت عملیاتی Trunking
- اطمینان حاصل کنید که هر دو سوئیچ، اینترفیسهای Trunk را بهدرستی تشخیص میدهند.
- اگر یکی از سوئیچها لینک را Trunk شناسایی کند اما دیگری آن را Access بداند، باید پیکربندی بررسی شود.
بررسی لیست VLANهای مجاز در لینک Trunk
در برخی موارد، ممکن است VLANهای مجاز در دو طرف لینک Trunk یکسان نباشند. این موضوع باعث میشود که ترافیک VLAN مشخصی از لینک عبور نکند.
مثال:
- سوئیچ S1 اجازه عبور VLANهای 1 تا 10 را داده است.
- سوئیچ S2 فقط اجازه عبور VLANهای 1 تا 9 را دارد، که منجر به قطع ارتباط VLAN 10 در Trunk میشود.
بررسی VLANهای مجاز در لینک Trunk
برای مشاهده VLANهای مجاز در Trunk، از دستور زیر استفاده میشود:
افزودن VLAN 10 به لینک Trunk در S2
برای اضافه کردن VLAN 10 به لینک Trunk در S2، از دستور زیر استفاده کنید:
S2# config t
S2(config-if)# interface g0/2
S2(config-if)# switchport trunk allowed vlan add 10
بررسی وضعیت عملیاتی Trunking
گاهی ممکن است دو سوئیچ در ارتباط با حالت Trunking دچار سوءتفاهم شوند:
- یکی از سوئیچها لینک را Trunk در نظر بگیرد، اما دیگری آن را Access بداند.
- هر دو سوئیچ منتظر آغاز مذاکره باشند و در نتیجه Trunking ایجاد نشود.
پیکربندی نادرست: switchport mode dynamic auto در هر دو سوئیچ
- اگر در هر دو سوئیچ پورت در حالت dynamic auto قرار گیرد، هیچکدام مذاکره را آغاز نمیکند و لینک در حالت Access باقی میماند.
بررسی وضعیت Trunk در اینترفیس خاص
برای مشاهده وضعیت اینترفیس G0/2 در S2، از دستور زیر استفاده میشود:
در این خروجی:
- Administrative Mode: dynamic auto نشان میدهد که سوئیچ در حالت انتظار برای مذاکره Trunking است.
- Operational Mode: static access نشان میدهد که لینک در حالت Access قرار گرفته و Trunking ایجاد نشده است.
اصلاح تنظیمات Trunk
برای رفع مشکل Trunking، پیکربندی یکی از سوئیچها باید تغییر کند. بهترین روش این است که یکی از سوئیچها در حالت switchport mode trunk یا switchport mode dynamic desirable تنظیم شود:
S2# config t
S2(config-if)# interface g0/2
S2(config-if)# switchport mode trunk
S2(config-if)# end
با اجرای این دستور، اینترفیس G0/2 در S2 مستقیماً به حالت Trunk تغییر پیدا میکند.