NAT مخفف Network Address Translation (ترجمه آدرس شبکه یا برگردان نشانی شبکه) می باشد. همانطور که از نامش مشخص است، مجموعهای از آدرسهای آیپی private (خصوصی) را به یک آدرس آیپی public (عمومی) که به دستگاه gateway اختصاص یافته، ترجمه میکند. مودم خانگی یا دستگاه فایروال در سازمان، نمونه هایی از آن محسوب می شوند.
برای حل مشکل کمبود آدرس IPV4، رنج آدرس های آیپی private معرفی شد و سازمانها میتوانستند از این رنج ها برای دهها هزار کامپیوتر و سرور خود استفاده نمایند اما مشکل این است که چنانچه یک شبکه خصوصی با دستگاههای دارای آدرس آیپی private داشته باشید نمیتوانید ترافیک را به اینترنت عمومی هدایت کنید زیرا سرور مقصد قادر به هدایت پاسخ به رنج آدرسهای آیپی private نمی باشد.
در اینجا Network Address Translation وارد عمل میشود. دستگاه gateway در خانه یا سازمان شما که به ISP متصل است، ترجمه آدرس شبکه (عملیات Natting) را انجام میدهد. در پلتفرمهای ابری مانند AWS، Azure یا Google Cloud، یک گیت وی NAT در subnet (زیرشبکه) عمومی راه اندازی شده که به سرورهای واقع در subnet خصوصی امکان می دهد تا با شبکه خارج ارتباط برقرار کنند. برای مواردی که بخواهید از شبکه خصوصی در برابر حملات شبکه خارجی محافظت کنید نیز می تواند مفید باشد.
نحوه عملکرد NAT چگونه است؟
در ادامه، یک معماری سطح بالا برای عبور درخواست از طریق دستگاه NAT (روتر) آورده شده است.
معماری NAT
تصویر(1)
در این بخش به چگونگی عملکرد آن پرداخته می شود.
مرحله ۱: یک کامپیوتر در شبکهٔ خصوصی سعی میکند به یک وبسایت عمومی به عنوان مثال google.com دسترسی پیدا نماید.
مرحله ۲: پکت درخواست ابتدا به روتر که یک آدرس IP عمومی دارد می رسد. همانطور که در تصویر زیر نشان داده شده است، روتر آدرس عمومی خود را به عنوان آدرس IP مبدا در header پکت مذکور اضافه کرده و درخواست را ارسال میکند. به این فرایند “masquerading” نیز گفته می شود.
فرایند NAT
تصویر(2)
مرحله ۳: درخواست به سرور (google.com) میرسد و سرور مذکور صفحه وب را به عنوان پاسخ ارسال می کند. همانطور که در تصویر فوق مشخص است، در پکت ارسالی آدرس IP سرور گوگل به عنوان مبدا و آدرس IP عمومی روتر به عنوان مقصد تنظیم می شود.
مرحله ۴: وقتی پاسخ به روتر میرسد، همانند تصویر فوق روتر آدرس مقصد را به آدرس IP خصوصی مربوط به کامپیوتر درخواست کننده تغییر میدهد.
روتر از طریق جدول Network Address Translation پیگیری درخواستها را انجام میدهد. این جدول منحصر به فرد توسط دستگاهی با قابلیت NAT مدیریت میشود که در این مثال، روتر است. با اطلاعات جدول NAT، روتر متوجه می شود که درخواست از کدام دستگاه شروع شده بود و باید پاسخ را به کدام دستگاه ارسال کند.
NAT چه مسئلهای را حل میکند؟
NAT کمک می کند تا مشکل اساسی مرتبط با کمبود آدرسهای IPv4 حل شود. رنج آدرس IP خصوصی (RFC1918) به واسطه Network Address Translation امکان پذیر شده است. زیرشبکههای RFC1918 دارای رنج های زیر هستند:
10.0.0.0/8
172.16.0.0/16 (172.16/12 prefix)
192.168.0.0/16
آیا NAT با آدرس MAC کار میکند؟
خیر. NAT در لایه شبکه (لایه ۳) کار میکند و با پکت ها سر و کار دارد. در حالی که آدرس MAC متعلق به لایه دوم (data link) است.
آیا برای سرورهایی با آدرس IP عمومی و متصل به اینترنت نیاز به Network Address Translation می باشد؟
خیر. Network Address Translation برای دستگاههایی با رنج آدرس IP خصوصی طراحی شده است تا به اینترنت متصل شوند.
نتیجه گیری
با استفاده از NAT، امکان مدیریت آدرسهای IP و برقراری ارتباط بین شبکههای خصوصی و عمومی فراهم میشود. این فناوری جهت تقسیم و تخصیص منابع شبکه، افزایش امنیت و کنترل دسترسی به شبکه بسیار مفید می باشد. همچنین در زمینه شبکه ابری نیز NAT از اهمیت ویژه ای برخوردار است.