تونل زنی (tunneling) چیست؟
در دنیای فیزیکی، تونل زدن راهی برای عبور از زمین یا مرزهایی است که به طور معمول نمیتوان از آنها عبور کرد. به همین ترتیب، اگر بخواهیم در مورد اینکه در شبکه تونل زنی (tunneling) چیست صحبت کنیم، باید گفت: تونلها روشی برای انتقال داده از طریق شبکه با استفاده از پروتکلهایی هستند که توسط آن شبکه پشتیبانی نمیشوند. تونل سازی با کپسوله سازی بستهها (دادههای کوچکی هستند که میتوانند در مقصد خود دوباره در یک فایل بزرگتر سرهم بندی شوند) کار میکند: کپسوله سازی یعنی بسته بندی بستهها در داخل بستههای دیگر. از تونل سازی اغلب در شبکههای خصوصی مجازی (VPN) استفاده میشود. همچنین میتواند ارتباطات کارآمد و ایمنی را بین شبکهها برقرار کند، استفاده از پروتکلهای شبکه پشتیبانی نشده را امکان پذیر کند و در برخی موارد به کاربران اجازه میدهد فایروالها را دور بزنند.
کپسوله سازی بسته چگونه کار می کند؟
دادههایی که از طریق شبکه منتقل میشوند به بستهها تقسیم میگردند. یک بسته معمولی دارای دو قسمت است: هدر، که مقصد بسته و پروتکل مورد استفاده را نشان میدهد، و payload که محتوای واقعی بسته است. یک بسته کپسوله شده در اصل یک بسته در داخل یک بسته دیگر است. در یک بسته کپسوله شده، هدر و payload بسته اول وارد قسمت payload بسته کناری میشود و بسته اصلی خود به payload تبدیل میشود.
چرا کپسوله سازی مفید است؟
همه بستهها از پروتکلهای شبکه – روشهای استاندارد قالب بندی دادهها – برای رسیدن به مقصد استفاده میکنند. با این حال، همه شبکهها از همه پروتکلها پشتیبانی نمیکنند. تصور کنید شرکتی میخواهد یک شبکه گسترده (WAN) که Office A و Office B را به هم متصل میکند ایجاد کند. این شرکت از پروتکل IPv6 استفاده میکند، که آخرین نسخه پروتکل اینترنت (IP) است، اما شبکهای بین Office A و Office B است که فقط از IPv4 پشتیبانی میکند. این شرکت میتواند با قرار دادن بستههای IPv6 خود در داخل بستههای IPv4، به استفاده از IPv6 ادامه دهد در حالی که هنوز دادهها را مستقیماً بین دفاتر میفرستد. کپسوله سازی برای اتصالات شبکه رمزگذاری شده نیز مفید است. رمزگذاری فرآیند در هم کردن دادهها به گونهای است که فقط با استفاده از یک کلید رمزگذاری مخفی قابل رمزگشایی است. فرآیند لغو رمزگذاری، رمزگشایی نامیده میشود. اگر یک بسته کاملاً رمزگذاری شده باشد (مخصوصاً هدر) در این صورت روترهای شبکه نمیتوانند بسته را به مقصد هدایت کنند زیرا کلیدی ندارند و نمیتوانند هدر آن را ببینند. با قرار دادن بسته رمزگذاری شده در داخل بسته غیر رمزگذاری شده دیگر، بسته میتواند مانند حالت عادی از طریق شبکهها عبور کند.
بیشتر بخوانید: تفاوت MSS و MTU چیست؟
تونل VPN چیست؟
VPN یک اتصال رمزگذاری شده و امن از طریق یک شبکه مشترک به اشتراک گذاشته شده است. تونل زنی (tunneling) فرایندی است که طی آن بستههای VPN به مقصد مورد نظر خود میرسند که معمولاً یک شبکه خصوصی است. بسیاری از VPN ها از مجموعه پروتکل IPsec استفاده میکنند. IPsec گروهی از پروتکلها است که در لایه شبکه مستقیماً بالای لایه IP اجرا میشوند. ترافیک شبکه در یک تونل IPsec کاملاً رمزگذاری شده است، اما پس از رسیدن به شبکه یا دستگاه کاربر رمزگشایی میشود. (IPsec همچنین یک حالت به نام “transport mode” دارد که تونل ایجاد نمیکند.) پروتکل دیگری که به صورت رایج در VPN استفاده میشود. Transport Layer Security (TLS) است. این پروتکل به نحوه تفسیر مدل بسته در لایه ۶ یا لایه ۷ مدل OSI کار میکند. TLS را گاهی SSL (Secure Sockets Layer) نیز مینامند، اگرچه SSL به پروتکل قدیمیتری اشاره دارد که دیگر از آن استفاده نمیشود.
تقسیم تونل چیست؟
معمولاً وقتی کاربر دستگاه خود را به VPN متصل می کند، تمام ترافیک شبکه وی از طریق تونل VPN انجام می شود. تقسیم تونل به برخی از ترافیک ها اجازه می دهد تا خارج از تونل VPN حرکت کنند. در حقیقت، تونل زنی (tunneling) تقسیم شده به دستگاه های کاربر امکان می دهد به طور همزمان به دو شبکه متصل شوند: یکی عمومی و دیگری خصوصی.
GRE tunneling چیست؟
کپسوله سازی مسیریابی عمومی (GRE) یکی از چندین پروتکل تونل زنی (tunneling) است. GRE بستههای دادهای را که از یک پروتکل مسیریابی در داخل بستههای پروتکل دیگری استفاده میکنند، کپسوله میکند. GRE یکی از راههای برقراری ارتباط مستقیم از یک نقطه در یک شبکه است، به منظور ساده سازی اتصالات بین شبکههای جداگانه.
GRE به هر بسته دو عنوان اضافه میکند: یک هدر GRE و یک هدر IP. هدر GRE نوع پروتکل مورد استفاده توسط بسته کپسوله شده را نشان میدهد. هدر IP، هدر و payloadIP بسته اصلی را کپسوله سازی میکند. فقط روترهای موجود در انتهای هر تونل GRE به هدر IP اصلی و غیر GRE ارجاع میدهند.
IP-in-IP چیست؟
IP-in-IP یک پروتکل تونل زنی (tunneling) برای کپسوله سازی بستههای IP در داخل بستههای IP دیگر است. IP-in-IP بستهها را رمزگذاری نمیکند و برای VPN ها استفاده نمیشود. کاربرد اصلی آن تنظیم مسیرهای شبکه است که معمولاً در دسترس نیستند.
SSH tunneling چیست؟
پروتکل Secure Shell (SSH) اتصالات رمزگذاری شده بین کلاینت و سرور را تنظیم میکند و همچنین میتواند برای راه اندازی یک تونل امن مورد استفاده قرار گیرد. SSH در لایه ۷ مدل OSI، لایه اپلیکیشن عمل میکند. در مقابل، IPsec، IP-in-IP و GRE در لایه شبکه کار میکنند.
پروتکل های تونل زنی
علاوه بر GRE،IPsec،IP-in-IP و SSH، سایر پروتکلهای تونل زنی عبارتاند از:
- پروتکل تونل زنی نقطه به نقطه (PPTP)
- پروتکل تونل سازی سوکت امن (SSTP)
- پروتکل تونل گذاری لایه ۲ (L2TP)
- شبکه محلی مجازی قابل توسعه (VXLAN)