Q-in-Q Tunnel چیست ؟
شناخت و کانفیگ و پیاده سازی Q-in-Q VLAN Tunnels توسط سوئیچ سیسکو
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 سوئیچ سیسکو مربوطه به سرویس پروایدر
Shabake(config)# interface gigabitethernet0/1
Shabake(config-if)# switchport access vlan 10
% Access VLAN does not exist. Creating vlan 10
Shabake(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 استفاده کنید که ان شاالله در آینده به آن خواهیم پرداخت .
وفقک الله