Q-in-Q Tunneling
تصور کنین که یک ISP قصد داره تا ارتباط دو شعبه از دو تا از مشتری هایش رو که دارای ساختار Vlan هستند را در لایه 2 به هم ارتباط بده .
فرض کنید این دو شعبه ساختار Vlan بندی کاملا مشابه و یکسان داشته باشند .
همانطور که در شکل میبینید Customer 1 , Customer 2 هر دو دارای دو شعبه هستند که شامل VLan های مشابه نیز می باشند .
حال Service Provider ( سرویس دهنده اینترنتی ) قصد داره که شعبات Customer1 و Customer 2 را با یکدیگر ارتباط دهد ، بصورتیکه Vlan های هم نام با یکدیگر Overlapping نداشته باشند .
اگر قرارمون بر این باشه که به هر مشتری رنج یکتایی از Vlan ID ها رو بدهیم ، با توجه به محدودیت تعداد VLan ها که در 802.1q برابر با 4096 تا هستند ، ممکن است با کمبود Vlan ها مواجه شویم ; که برای حل این شکل و جلوگیری از بوجود آمدن Overlapping بین رنج Vlan ها بایستی از دو بار عمل تگ زدن در 802.1Q استفاده کنیم که به این روش Q-In-Q Tunnelling گفته می شود .
Q-in-Q Tunnel در واقع نوعی Double Tagging است ، بدین مفهوم که Vlan , ISP های مشترک را در یک Vlan دیگر (که با آن اختصاص میدهد ) ، Encapsulate میکند ، یا تگ میزند ، در واقع یک بار Tag برای Vlan که Service Provider به مشترک اختصاص میدهد و Tag دیگر مربوط به VLAN های خود مشتری است ، Tag داخلی مشخص کننده Vlan های مشتری و Tag بیرونی مربوط به Vlan هایی است که Service Provider به آن مشتری اختصاص میدهد ، به این روش double Tagging و یا Tag Stacking نیز میگویند .
در واقع بسته هایی که توسط سوییچ مشتری Tag میخورند وقتی به شبکه Service Provider میرسند ( اولین سوییچ که اصطلاحا Ingress Switch نامیده می شود ) دوباره Tag میخورند و اصطلاحا Double Tag می شوند سپس بسته های Double Tag شده در شبکه Service Provider توسط سوییچ دیگری ( سوییچ انتهایی Service Provider که اصطلاحا Egress Switch نامیده می شود) قبل از خارج شدن از شبکه ، ابتدا Tag آن برداشته می شود ( Untagged میشود ) و سپس Egress Switch ، Tag بسته رو بررسی میکنه و از پورت مربوطه خارج می کند و به سوییچ دیگر مشتری در شعبه دیگر ارسال می شود .
در این روش سوییچ های مشتریان و همچنین سوییچ های میانی در شبکه Service Provider ها به هیچ وجه متوجه double Tagging صورت گرفته توسط سوییچ های Service Provider نخواهند شد .
در واقع تکنیک Q-in-Q Tunneling اجازه میدهد تا شبکه لایه 2 مشتریان توسط شبکه Service Provider توسعه داده شده و زیر ساخت Vlan آن ها روی چنیدن سایت گسترش پیدا کند .
نکته : Hierarchical tagging یا Multi-level dot1q tagging در Q-in-Q پشتیبانی نمی شود .
هماهنطور که در شکل بالا مشاهده می کنید در متد Double Tagged فضای VlanIDمربوط به Tag بیرونی از فضای مربوط به VlanID مربوط به Tag درونی کاملا مستقل می باشد .
در واقع Trunk Port از مشتری به Trunk Port در Service provider متصل شده و علاوه بر 4 بایت افزوده شده در ترانک مشتری برای 802.1q یک Tag دیگر در Provider به میزان 4 بایت روی آن اضافه می شود و VlanID درونی در دل یک VlanID دیگر که به سمت مشتری اشاره میکند قرار دارد . به این Double Tagging یا Nested 802.1q Trunk یا Q-in-Q tunneling گفته می شود .
در این حالت که 2 بار Tagging روی بسته صورت میگیرد ، اطلاعات لایه 3 ای در Q-in-Q مخفی می شودو این نکته زمان بررسی پارامتر های لایه 3 در بین راه مانند ACL و QOS و ... باید حتما مد نظر قرار بگیرد .
نکته : MTU نیز باید حتما مد نظر قرار بگیرد .
Default Ethernet MTU = 1500 Bytes Fast-Ethernet Max MTU = 1546 Bytes Gigabytes-Ethernet Max MTU = 2000 Bytes
یکی از مشکلات Q-in-Q ، Untagged فرستادن فریم هاو بسته های Native Vlan از سمت مشتری می باشد .
PDU ها ، STP ، CDP ، VTP روی Vlan1 یا بهتر بگم Native Vlan به صورت Untagged روی ترانک رد و بدل می شوند که در صورت استفاده از این سرویس ، از سوی Provider ها قابل قبول نیست و Drop خواهد شد .
هرگاه بخواهیم PDU ها رو توسط Service Provider برای مشتری عبور بدهیم باید از Layer 2 Protocol Tunnel استفاده کنیم که کار GBPT1( Generic Bridge Tunneling BPDU ) را انجام دهد ، که این کار روی پورت متصل به مشتری در Service Provider صورت میگیرد تا اطلاعات Native Vlan مشتری به درستی Encapsulate ششده و ارسال شود .
جهت کانفیگ و پیکر بندی Q-in-Q Tunneling تنها کافی است بر روی سوییچ های Ingress و Egress در Service Privider دستورات زیر را وارد کنیم :
Moein_vafaei_ISP(config)#interface gigabitEthernet 0/0 Moein_vafaei_ISP(config-if)#switchport mode dot1q-tunnel Moein_vafaei_ISP(config-if)#switchport access vlan 10
همچنین بر روی هر یک از پورت های سوییچ های مشترکین که به سوییچ های Ingress و Egress متصل هستند نیز دستور زیر را وارد نماییم :
Moein_vafaei_custome(config-if)#switchport mode trunk
همچنین دستورات زیر روی Edge Interface در Service Provider ، 8021.q را برای مشترک برقرار میکند .
Moein_vafaei_ISP(config)#vlan dot1q tag native Moein_vafaei_ISP(config)#interface gigabitEthernet 0/3 Moein_vafaei_ISP(config-if)#switchport access vlan 10 Moein_vafaei_ISP(config-if)#switchport mode dot1q-tunnel Moein_vafaei_ISP(config-if)#l2protocol-tunnel cdp Moein_vafaei_ISP(config-if)#l2protocol-tunnel stp Moein_vafaei_ISP(config-if)#l2protocol-tunnel vtp Moein_vafaei_ISP(config-if)#l2protocol-tunnel drop-threshold pps cdp Moein_vafaei_ISP(config-if)#l2protocol-tunnel drop-threshold pps stp Moein_vafaei_ISP(config-if)#l2protocol-tunnel drop-threshold pps vtp Moein_vafaei_ISP(config-if)#l2protocol-tunnel shutdown-threshold pps cdp Moein_vafaei_ISP(config-if)#l2protocol-tunnel shutdown-threshold pps stp Moein_vafaei_ISP(config-if)#l2protocol-tunnel shutdown-threshold pps vtp
دستورات مانیتورینگ و Vertificationدر Tunneling
از دستور زیر به منظور پاک کردن تمام Counter های روی پورت های Tunneling پورتکل لایه 2 استفاده می شود .
Switch#clear l2protocol-tunnel counters
از دستور زیر به منظور نمایش پورت های تانل 802.1q روی سوییچ استفاده می شود .
Switch#show dot1q-tunnel
از دستور زیر به منظور نمایش اینترقیس ئر یک Tunnel Port استفاده می شود .
Switch#show dot1q-tunnel interface interface-id
از دستور زیر به منظور نمایش اطلاعات مربوطه به پورت های Tunnel پروتکل لایه2 استفاده می شود .
Switch#show l2protocol-tunnel
از دستور زیر به منظور
Verify if the recovery timer from a layer 2 protocol-tunnel error disable state is enable
Switch#show errdisable recovery
از دستور زیر به منظور نمایش اطلاعات یک مشخصه از پورت Tunnleing پروتکل لایه 2 استفاده می شود .
Switch#show l2protocol-tunnel interface interface-id
از دستور زیر تنها به منظور نمایش اطلاعات خلاصه شده ای از پروتکل لایه 2 استفاده می شود .
Switch#show l2protocol-tunnel summary
از دستور زیر به منظور نمایش وضعیت Native Vlan Tagging روی سوییچ استفاده می شود .
Switch#show vlan dot1q native
نویسنده : معین وفایی
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.