در دنیای فیزیکی ، tunneling راهی برای عبور از زمین یا مرزهایی است که به طور معمول نمی توان از آنها عبور کرد. به همین ترتیب، در شبکه، تونل ها روشی برای انتقال داده ها از طریق شبکه با استفاده از پروتکل هایی هستند که توسط آن شبکه پشتیبانی نمی شوند. tunneling با کپسوله سازی بسته ها انجام میشود که به صورت بسته بندی بسته ها در داخل بسته های دیگر تعریف میشود.
از tunneling اغلب در شبکه های خصوصی مجازی یا همان VPN ها استفاده میشود. همچنین از دیگر ویژگی های آن میتوان به ایجاد ارتباط ایمن بین شبکه ها، امکان استفاده از پروتکل های پشتیبانی نشده، حفاظت از firewallها، اشاره کرد.
کپسوله سازی بسته ها چگونه انجام می شود؟
داده هایی که قصد ورود به شبکه را دارند به بسته هایی تقسیم می شوند. یک بسته معمولی دارای دو قسمت است: header، که شامل آدرس مبدا و مقصد و پروتکل مورد استفاده است، و payload که محتوای واقعی بسته را شامل می شود و حاوی دیتا است.
یک بسته کپسوله شده در اصل یک بسته در داخل یک بسته دیگر است. در یک بسته کپسوله شده ، header و payhoad بسته اول وارد قسمت payload بسته دوم می شود. در واقع بسته اصلی خود به payload تبدیل می شود.
پروتکل های Tunneling :
داده ها از طریق اینترنت توسط پروتکل ها بین هر دو دستگاه دیجیتالی جریان می یابند. به طور کلی، پروتکل های tunneling برای ارسال داده های شبکه خصوصی از طریق یک شبکه عمومی استفاده می شوند و همچنین می توانند برای افزایش امنیت داده های رمزگذاری نشده هنگام ارسال از طریق شبکه عمومی استفاده شوند. از جمله پروتکل های معروف می توان به Secure Shell (SSH)، Point-to-Point Tunneling (PPTP) و IPsec ،L2TP اشاره کرد که هر کدام برای یک هدف خاص و متفاوت طراحی شده اند.
از آنجا که در پروتکل های tunneling، یک بسته بطور کامل در payload قرار میگیرد، احتمال سوءاستفاده نیز به وجود می آید. از tunneling برای عبور از فایروال های پیچیده یا پیکربندی های نامناسب نیز استفاده می شود به این صورت که پروتکل هایی که اجازه عبور از فایروال را ندارند کپسوله سازی می شوند و از طریق پروتکل هایی دیگر از فایروال عبور میکنند. همچنین، استفاده از پروتکل های tunneling، اقداماتی مانند بازرسی بسته های اطلاعاتی در جایی که شبکه به دنبال بسته های مشکوک است را دشوار میکند.
در ادامه به تعریف و بررسی برخی از پروتکل های tunneling می پردازیم:
- PPTP : این پروتکل توسط شرکت ماکروسافت ساخته شده که مخفف Point to Point Tunneling Protocol است و جز اولین پروتکلهای استاندارد VPN به حساب میآید و همچنین اولین پروتکل VPN است که توسط ویندوز پشتیبانی شد و امنیت آن به واسط نحوه احراز هویت آن تامین میشود. تقریبا هر وسیلهای که قابلیت VPN را دارد، PPTP را نیز دارد. اما با توجه به این که رمزگذاری 128 بیتی دارد، مشکلات امنیتی متعددی نیز دارد که توسط سازمانهای مختلف امنیتی و سیاسی قابل بازگشایی هستند. اگر امنیت ارتباطتان اهمیت نداردPPTP میتواند بهترین گزینه برای شما باشد.
- L2PT/ IPsec : مخفف Layer 2 Tunneling Protocol میباشد و برخلاف بقیه پروتکلهای VPN از هیچ متد رمز گذاری استفاده نمیکند. با توجه به این موضوع عموما با پروتکل رمزگذاری دیگری پیادهسازی میشود که با IPsec شناخته میشود و امنیت و حریم خصوصی را برای کاربران تامین میکند. همه دستگاههای مدرن قابلیت استفاده از L2TP را دارد که نصب آن مانند PPTP آسان است. اما مشکل آن این است که از پورت 500 UDP استفاده میکند که به راحتی توسط فایروالها بسته میشود. در حال حاضر مشکل امنیتی مهمی در IPsec وجود ندارد و اگر به درستی استفاده شود همچنان میتواند امن باشد.
- SSTP: در زمان ویندوز ویستا توسط ماکروسافت معرفی شد که مخفف Secure Socket Tunneling Protocol است. در لینوکس و برخی از RouterOS ها نیز وجود دارد اما معمولا در دستگاههای ویندوزی استفاده میشود. از آنجایی که از SSL v3 استفاده میکند مزایای آن مشابه OpenVPN است، مثلا مشکل نت و فایروال را ندارد. این VPN با ثبات بود و به راحتی قابل استفاده است ولی چون معمولا در ویندوز استفاده میشود به عنوان استاندارد مانند بقیه پروتکلها شناخته نمیشود.
- IKEv2 : پروتکلی است بر پایه IPsec که مخفف Internet Key Exchange Version 2 میباشد. محصول مشترک Cisco و Microsoft است و با پلتفرمهای مختللف نیز سازگار است. زمانی که اتصال قطع شود به سرعت ارتباط را مجدد وصل میشود که این مزیت بسیار خوبی برای کابران موبایل است. IKEv2 جز معدود پروتکلهایی است که Blackberry را پشتیبانی میکند. IKEV2 نسبت به IPsec کمتر است ولی بسیار امن، پایدار، و کارآمد است.
VPN Tunneling چیست؟
VPN یک اتصال امن و رمزگذاری شده بر روی یک شبکه عمومی و مشترک ایجاد میکند. tunneling فرایندی است که طی آن بسته های VPN به مقصد مورد نظر خود می رسند که معمولاً یک شبکه خصوصی است. بسیاری از VPN ها از مجموعه پروتکل IPsec استفاده می کنند. بسیاری از VPN ها از مجموعه پروتکل IPsec استفاده می کنند. پروتکل دیگری که برای VPN استفاده می شود، Transport Layer Security (TLS) است. این پروتکل بسته به نحوه تفسیر مدل در لایه 6 یا لایه 7 مدل OSI کار می کند. TLS را گاهی SSL می نامند ، اگرچه SSL به پروتکل قدیمی تری اشاره دارد که دیگر از آن استفاده نمی شود.
Split tunneling چیست؟
معمولاً وقتی کاربر دستگاه خود را به VPN متصل می کند، تمام ترافیک شبکه وی از طریق تونل VPN عبور می کند. Split tunneling به برخی از ترافیک ها اجازه می دهد تا خارج از تونل VPN حرکت کنند. در حقیقت ، Split tunneling به شما امکان می دهد دستگاه های کاربر به طور همزمان به دو شبکه متصل شوند: یکی عمومی و دیگری خصوصی.
GRE tunneling چیست؟
تونلهای بنا شده بر پایه پروتکل GRE به طور معمول بین دو روتر مشخص برقرار میشوند به شکلی که هر روتر نقش یک سر تونل را ایفا میکند. تنظیمات روترها به شکلی ایجاد شده تا پکتهای GRE را مستقیما یه یکدیگر انتقال دهند. هر روتر دیگری بین این دو، پکتهای کپسولهسازی شده را باز نمیکند و تنها آنها را انتقال میدهد.
IP-in-IP tunneling چیست؟
IP-in-IP یک پروتکل تونل زنی برای کپسوله سازی بسته های IP در داخل بسته های IP دیگر است. IP-in-IP بسته ها را رمزگذاری نمی کند و برای VPN ها استفاده نمی شود. کاربرد اصلی آن تنظیم مسیرهای شبکه است که معمولاً در دسترس نیستند.