هنگامي كه مي خواهيد ترافيك VLAN را بين دو سوئيچ انتقال دهيد يك مشكل وجود دارد. ايا فيلدي وجود دارد كه مشخص كند فريم اترنت ما به كدام VLAN تعلق دارد؟ چگونه يك سوييچ شبكه هنگام دريافت فريم متوجه مي شود كه ان به كدام VLAN تعلق دارد؟ بنابراين به پروتكلي نياز داريم كه اين اطلاعات را به ما بدهد.
پروتكل 802.1Q چيست؟
پروتكل 802.1Q از quality of service (QoS) و Virtual LAN (VLAN) در هنگام حركت ترافيك در شبكه اترنت پشتيباني مي كند. پروتكل 802.1Q يكي از پروتكل هاي برچسب گذاري(تگ گذاري) VLAN است كه توسط سوئيچ هاي سيسكو پشتيباني مي شود. اين استاندارد توسط موسسه مهندسان برق و الكترونيك (IEEE) ايجاد شده است، بنابراين يك استاندارد عمومي است و مي تواند در سوئيچ هاي غير سيسكو نيز استفاده شود.
VLAN ها براي تقسيم broadcast domain در لايه 2(Data Link) استفاده مي شوند. يك شبكه محلي مجازي است كه براي انتقال داده ها به جاي شبكه فيزيكي خود از LAN ديگري استفاده مي كند. پروتكل 802.1Q به اندازه فريم اترنت اجازه مي دهد تا چهار بايت به محدوده 68 تا 1522 بايت اضافه كند. اين افزايش اندازه، به دليل درج يك برچسب VLAN چهار بايتي در فريم است. برچسب ها، كه شامل شناسه VLAN (VID) است، توسط آدرس MAC به هر فريم اترنت متصل مي شوند. اين VID 12 بيتي به هر VLAN اختصاص داده شده است و 4094 شناسه براي استفاده در دسترس است.
از trunk براي رد و بدل كردن ترافيك VLAN بين سوئيچ ها استفاده مي شود. سوئيچ ها را مي توان از طريق پورت trunk به يكديگر متصل كرد. هنگامي كه از ترانك استفاده مي شود، دستگاه متصل فريم هاي اترنت داراي برچسب را دريافت مي كند. استاندارد 802.1Q از پيكربندي منحصر به فرد VLAN هاي جداگانه پشتيباني مي كند.
فريم نرمال:
فريم 802.1:
از بين 4 بايت، يك VLAN، 12 بيتي وجود دارد كه بيشترين اهميت را دارد. اين فيلد در مورد شماره VLAN كه فريم به آن تعلق دارد مي گويد. VLAN، مي تواند از 1 تا 4094 متغير باشد، يعني براي 4094 VLAN پشتيباني مي شود. زيرا 0 و4095 VLAN هاي رزرو شده هستند. استاندارد 802.1Q از مفهوم Vlan Native پشتيباني مي كند(Vlan 1 كه به صورت پيش فرض تعريف شده است)، يعني ترافيك براي اين Vlan بدون تگ باقي مي ماند.
فريم tagging:
در بين دو سوئيچ، از فرايندي به نام VLAN trunking استفاده مي شود. فرض مي كنيم كه كامپيوتر A يك فريم برودكست ارسال مي كند. SW1 قبل از ارسال فريم به SW2، با قرار دادن ID VLAN در header، برچسب گذاري مي كند. SW2 فريم را دريافت مي كند و مي داند كه فريم متعلق به VLAN 3 است، بنابراين فريم را فقط براي كامپيوتر D ارسال مي كند، زيرا اين كامپيوتر در VLAN 3 است.
ISL چيست؟
ISL مخفف Inter-Switch Link است كه يكي از پروتكل هاي VLAN است. ISL اختصاصي Cisco است و فقط بين سوئيچ هاي Cisco استفاده مي شود. اين برنامه در يك محيط VLAN، point-to-point كار مي كند و تا 1000 VLAN را پشتيباني مي كند و فقط مي تواند از طريق لينك هاي Fast Ethernet و Gigabit Ethernet استفاده شود.
ISL در لايه Data-Link مدل OSI (لايه 2) عمل مي كند. اندازه فريم هاي ISL محصور شده از 94 بايت شروع مي شود و به دليل زمينه هاي اضافي كه پروتكل در حين كپسوله سازي ايجاد مي كند، مي تواند تا 1548 افزايش يابد. VLAN ID يك مقدار 15 بيتي است كه در يك سربرگ 26 بايتي از فريم يافت مي شود. ISL همچنين 4 بايت CRC را در چارچوب تصحيح و كنترل خطا اضافه مي كند.
ISL با قرار دادن يك هدر 26 بايت و 4 بايت CRC بين يك فريم اترنت كار مي كند. CRC يك Frame Check Sequence (FCS) روي بسته ISL است تا از خراب بودن آن اطمينان حاصل شود.اندازه فريم ISL از 94 بايت تا 1548 بايت متغير است. فريم محصور شده در سراسر بدون تغيير باقي مي ماند. آدرس مبدا و آدرس مقصد در سرصفحه ISL از فريم محصور شده به ارث نمي رسد. آدرس مبدا در هدر ISL، كليد ارسال بسته ISL است. آدرس مقصد يكي از دو آدرس MAC multicast مخصوص ISL است.
وقتي دو سوئيچ متصل سيسكو به طور خودكار با DTP يك ترانك را مورد مذاكره قرار مي دهند، ISL را بيشتر از 802.1Q انتخاب مي كنند مگر اينكه يك سوئيچ آن را پشتيباني نكند يا به طور خاص پيكربندي نشده باشد كه از ISL استفاده كند.
قالب فريم ISL به صورت زير است:
فيلد هاي ISL به شرح زير است:
- DA (آدرس مقصد يا Destination Address): آدرس مقصد از آدرس MAC چندپخشي 01-00-0C-00-00-00 استفاده مي كند. 40 بيت اول فيلد DA به گيرنده نشان مي دهد كه بسته در قالب Inter- Switch Link (ISL) ارسال شده است.
- Type: نوع فريم محصور شده: Ethernet (0000) ، Token Ring (0001) ، FDDI (0010) و ATM (0011).
- User: قسمت USER شامل يك كد 4 بيتي است. بيت هاي USER براي گسترش معناي ميدان TYPE استفاده مي شوند. مقدار فيلد USER پيش فرض “0000” است. براي فريم هاي اترنت، بيت هاي USER 0”” و “1” اولويت بسته را هنگام عبور از سوئيچ نشان مي دهد.
- SA (آدرس مبدا يا Source Address): آدرس مبدا سوئيچ كه فريم Inter-Switch Link (ISL) را منتقل مي كند.
- Len: طول بسته.
- SNAP: پروتكل دسترسي به Subnet(SNAP) و Logical Link Control(LLC). فيلدAAAA03 SNAP يك مقدار ثابت 24 بيتي “AAAA03” است.
- HSA (High Bits of Source Address): فيلد HSA يك مقدار 24 بيتي است كه 3 بايت بالايي (بخش شناسه سازنده) قسمت SA را نشان مي دهد.
- VLAN (مقصد VLAN ID): ID VLAN بسته را نشان مي دهد. VLAN ID يك مقدار 15 بيتي است كه براي تشخيص فريم ها در VLAN هاي مختلف استفاده مي شود. VLAN ID همچنين به عنوان “رنگ” فريم شناخته مي شود.
- BPDU: نشان مي دهد كه يك فريم BPDU، يا CDP يا VTP است
- Index: فهرست پورت مبدا بسته.
- Res: فيلد رزرو شده براي اطلاعات بيشتر، به عنوان مثال Token Ring يا FDDI Frame Check Sequence. براي اترنت، اين فيلد بايد صفر باشد.
- Encapsulated Ethernet Frame: فريم اترنت واقعي.
- CRC: بررسي چهار بايتي بسته ISL براي اطمينان از خراب بودن آن.
مزاياي ISL:
- ISL براي برچسب گذاري اطلاعات استفاده مي شود. اين بدان معناست كه ما مي توانيم چندين VLAN را روي يك لينك trunk عبوردهيم و اين به نوبه خود به سوئيچ كمك مي كند تا به راحتي عضويت فريم VLAN را بر روي لينك ترانك شده تعيين كند.
- اين اتصال چند سوئيچ را همزمان با يكديگر تسهيل مي كند و در نتيجه اطلاعات مربوط به VLAN را حفظ مي كند.
- در مقايسه با اتصال سريع اترنت، عملكرد كامل سرعت سيم و تأخير كم را ارائه مي دهد.
- در ISL نيازي به روتر براي تعامل/ارتباط نيست و بنابراين كاربران مي توانند به طور موثر و سريع بدون هيچ تأخيري به سرورها دسترسي پيدا كنند.
معايب ISL:
- ISL فقط بين سوئيچ هاي Cisco سازگار است. اگر كاربر مي خواهد بين دو لينك ترانك متفاوت قرار بگيرد، ممكن است مجبور باشد از q1 استفاده كند.
- ISL سربار زيادي در مقايسه با استاندارد 802.1Q دارد.
- ISL فقط تا 1000 VLAN پشتيباني مي كند در حالي كه q1 تا 4096 VLAN پشتيباني مي كند.
- امروزه ISL به دلايل مختلف و مشكلات مرتبط با سوئيچينگ، به ويژه در VLAN Trunking، ديگر مورد استفاده قرار نمي گيرد. سيسكو ISL را منسوخ كرده است و برخي از سوئيچ هاي جديدتر توليد شده توسط سيسكو حتي از آنها پشتيباني نمي كنند. q1 معمولاً به جاي آن استفاده مي شود و حتي Cisco استفاده از آن را ترويج مي كند. اكثر سوئيچ هاي امروزي از اين پروتكل سوئيچينگ VLAN 802.1q استفاده مي كنند.
آموزش پيكربندي پروتكل 802.1Q و ISL:
ابتدا بايد طبق سناريوي مورد نظر خود Vlan بندي را انجام دهيد.
سپس با توجه به پروتكل مورد استفاده ي خود مي توانيد ISL يا 802.1q را پيكربندي كنيد.
نحوه ي كانفيگ ISL:
Switch(config)#interface Fa0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk encapsulation isl
نحوه ي كانفيگ استاندارد 802.1Q:
Switch(config)#interface Fa 0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk encapsulation 802.1q
از دستور زير مي توانيد براي بررسي وضعيت پورت، ترانك يا اكسس بودن پورت و نوع پروتكل به كار رفته شده استفاده كنيد.
show interfaces {fastethernet | gigabitethernet} module/port switchport
#show interfaces fastethernet 0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: isl
Operational Trunking Encapsulation: isl
Negotiation of Trunking: Disabled
Access Mode VLAN: 0 ((Inactive))
Trunking Native Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
Trunking VLANs Active: 1,2
Pruning VLANs Enabled: 2-1001
Priority for untagged frames: 0
Override vlan tag priority: FALSE
Voice VLAN: none
Appliance trust: none
Self Loopback: No
از دستور زير براي بررسي پورت ها استفاده مي شود. به عنوان مثال اينكه پورت موردنظر اجازه ي عبور ترافيك كدام vlan ها را دارد. در زير اينترفيس 1/0 ترافيك هاي vlan10و20 را دريافت مي كند.
#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/1 on 802.1q trunking 20
Port Vlans allowed on trunk
Fa0/1 10,20
منبع : https://mrshabake.com/802-1q-and-isl-protocol-differences/