Q-in-Q Tunnel یکی از راه حل های سیسکو جهت انتقال VLAN های مشتریان توسط سرویس پرواید ها است. شما تصور کنید که یک مشتری با چند دفتر و شعبه در مکان های مختلف جغرافیای نیازمند ارتباط بین دفاتر خود و انتقال VLAN های مجموعه بین تمامی شعبات خود است. این سازمان به یک سرویس پروایدر مراجعه و دفاتر و مراکز مختلف خود را با گسترش و پراکندگی جغرافیای اعلام کرده و نیازمند ارتباط بین دفاتر و همچنین انتقال VLAN های داخلی خود بین دفاتر است چنانچه سرویس پروایدر بخواهد VLAN های داخلی مشترک را روی شبکه خود تعریف و انتقال دهد به مشکلات و گرفتاری های فراوانی برخورد کرده و همچنین توان مدیریت VLAN ها از مشتری صلب میشود و عملا این کار امکان پذیر نخواهد بود.
برای مثال تصور کنید این مشتری بر روی شبکه داخلی خود 100 عدد VLAN داشته باشد و خواهان انتقال این VLAN ها نیز باشد راه اول این است که پروایدر یک ارتباط ترانک در تمامی شعبات و مراکز اتصال به شبکه در اختیار متقاضی قرار دهد که با توجه با مغایرت ها و تداخل ها مشکلات امنیتی و بار اضافی مدیریتی عملا این روش امکان پذیرنخواهد بود لذا سیسکو برای چنین شرایطی Q-in-Q Tunnel را پیشنهاد میدهد.
Q-in-Q Tunnel در واقع نوعی تانلینگ یا به بیان صحیح تر Double Tagging است بدین مفهوم که پروایدر vlan های مشترک را در یک VLAN که با آن اختصاص میدهد Encapsulate میکند یا تگ میزند در واقع یک بار tag برای VLAN که پروایدر به مشترک اختصاص میدهد و tag دیگر مربوط به VLAN های خود مشترک است tag داخلی بیانگر VLAN های مشترک و tag بیرونی مربوط به VLAN ایست که سرویس پروایدر به آن مشتری اختصاص میدهد به این روش double Tagging و یا tag Stacking اتلاق میگردد.
خب تا اینجا پیش رفتیم که پروایدر در هر branch به مشترک یک پورت با یک vlan مثلا 10 اختصاص میدهد و خود مشترک vlan های 1 تا 100 را در مجموعه خود دارد. داستان بدین منوال پیش میرود که وقتی یک پکت از سمت مشتری به پورت سرویس پروایدر میرسد که در ایتجا مثلا vlan 10 به مشترک اختصاص داده شده است در هنگام عبور از شبکه سرویس پروایدر مادامی که از trunk port ها عبور میکند tag خارجی که همان tag مربوط به 10 vlan سرویس پروایدر است برداشته و براساس آن ترافیک سوئیچ سیسکو و پراسس های مربوطه انجام و دوباره آن tag به آن پکت چسبانده شده تا به پورت خروجی برسد. در پورت خروجی که همان تانل پورت نیز گفته میشود دوباره metro tag یا همان tag مربوطه به 10 vlan سرویس پروایدر برداشته و پکت ها با tag مربوط به vlan های سمت مشترک ارسال میشود.
در Q-in-Q Tunnel سوئیچ سیسکو فارغ از تگ داخلی عمل میکند یعنی با پکت مثل یک پکت معمولی چه یک پکت dot 1Q که tag داشته و چه یک پکت بدون tag و این در مورد ترافیک های non tagged مثل Native VLAN Frame مشکلات اجرایی را در بر خواهد داشت و سوئیچ سیسکو فقط اقدام به forward پکت مربوطه خواهد کرد.
اگر بخواهیم یکبار دیگر به شکل خلاصه سناریو را مرور کنیم: یک پورت معمولی (access) با یک VLAN اختصاصی از سمت پروایدر به مشترک اختصاص داده میشود، مشترک ترافیک dot1Q و تگ شده خود را با VLAN های خود به سمت سوئیچ سیسکو Edge پروایدر ارسال میکند سپس این ترافیک در مرز شبکه که همان پورت ورودی سمت پروایدر یا tunnel port دوباره یک metro tag جدید میخورد در واقع پکت ها در دل آن Encapsulate و double tagging میشوند سپس ترافیک پس از عبور از شبکه پروایدر که مشتمل از trunk هاست بر اساس شماره VLAN که پروایدر به مشترک اختصاص داده به سمت پورت خروجی و در واقع edge سمت دیگر هدایت و tag مربوط به vlan پروایدر از آن جدا و ترافیک dot1Q به سمت مشترک سرازیر میشود که شامل VLAN های خود مشترک است و سپس در سوئیچ سیسکو مشترک VLAN ها بر اساس تگ dot1Q تفکیک میشود.
بدین منوال ترافیک VLAN های یک مشترک بین سایت و شعبات مختلف آن توسط شبکه سوئیچینگ سرویس پروایدر به کمک QnQ تانلینگ انتقال پیدا خواهد کرد. این تکنیک کمک شایانی به سرویس پروایدر ها به منظور ترانزیت و سرویس های VLAN و ارتباطات interanet و انتقال پهنای باند جهت ارائه به سازمانها و شرکت ها و مراکز آموزشی که قصد برقراری ارتباط بین مراکز خود را داشته (بدون هزینه اضافی برای برقراری ارتباطات نقطه به نقطه) و یا نیاز به برقراری یک ارتباط پشتیبان دارند می نماید. برای مثال یک مرکز آموزشی مثل دانشگاه با وجود تعداد زیاد ساختمان ها (دانشکده ها و مراکز اداری) برای ارتباط بین آنها حتی در یک شهر مثل تهران نیازمند نصب دکل های وایرلس و خرید تجهیزات وایرلس و مشکلات مربوط به آن و یا استفاده از سرویس های مخابراتی نظیر MPLS و … است لیکن میتواند با استفاده از بستر یک سرویس پروایدر و شبکه آن تمامی مراکز و ساختمان های خود را با کمترین هزینه به نزدیک ترین پاپ سایت سرویس پروایدر مورد نظر متصل و ترافیک شبکه و VLAN های خود را از طریق آن انتقال دهد. همچنین حتی در صورت وجود ارتباطات نقطه به نقطه جهت افزایش UP Time و جلوگیری از قطعی مقطعی میتوان از این روش به عنوان یک مسیر جایگزین Backup Route استفاده نمود.
نکته: با توجه به افزایش 4 بایتی بابت اضافه شدن metro tag به پکت ها و سایز 1500 بایتی default میزان mtu سوئیچ سیسکو میبایست اقدام به افزایش MTU به 1504 نمائید.
کانفیگ مربوط به پورت های Edge سوئیچ سیسکو مربوطه به سرویس پروایدر:
R1(config)# interface gigabitethernet0/1
R1(config-if)# switchport access vlan 10
% Access VLAN does not exist. Creating vlan 10
R1(config-if)# switchport mode dot1q-tunnel
از این کامند: no vlan dot1q tag native میتوانید برای جلوگیری از tag زدن به Native Vlan استفاده کنید.
در صورتی که نیازمند به انتقال پروتکل های لایه دویی مثل STP – CDP و امثالهم هستید این روش کارایی نخواهد داشت در این روش فقط و فقط VLAN ها با dot1Q tag زده شده و در دل یک VLAN دیگر Encapsulate میشوند ولی برای انتقال لایه 2 ای میبایست از Layer 2 Tunneling استفاده کنید.
منبع: shabake