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 استفاده کنید که ان شاالله در آینده به آن خواهیم پرداخت .
وفقک الله
درود
با تشكر بابت مقاله بسيار قوي و مفيدتان
منتظر مقاله شما در رابطه با layer2 tunneling هستم .
با تشكر و توفيق روز افزون
سلام
با تشکر از مقاله بسیار عالی شما.
ما دو قسمت از یک شبکه را با استفاده از یک لینک vpls مخابرات متصل کرده ایم.
تازمانیکه دو قسمت شبکه vlan بندی نشده بودند این لینک vpls به خوبی کار می کرد.
وقتی با استفاده از qinq دو vlan را از یک قسمت به قسمت دیگر انتقال دادیم با مشکل سرعت در باز شدن برنامه ها در یکی از vlan ها مواجه شدیم.
حال آنکه :
روی یکی از vlan ها کاربران قسمت اول شبکه از طریق vpn به میکروتیک در قسمت دوم شبکه متصل می شوند که سرعت بسیار عالی است و مشکلی وجود ندارد!!
نکته :
mtu تجهیزات مخابرات 1500 می باشد و ان را تغییر نمی دهد.
با سلام و تشکر از حسن نظر شما
ابتدا با یکی از روش ها مثلا extended icmp ،، دو طول مسیر mtu را اندازه گیری و چک کنید ، که روشش در همین سایت موجوده .
احتمال دیگر اینکه نرم افزار های شما روی TCP کار میکنند ( مثلا وب بیس هستند ) و ملزم به تغییر مقدار MSS هستید ، به لحاظ اینکه میکروتیک اغلب توسط mangle اقدام به تغییر mss میکند و شما با یوزر های متصل به میکروتیک مشکلی ندارید .
خیلی توضیح خوب و کاملی بود
tmx a lot