فناوری رایانه ای - شبکه و امنیت

عمل NAT یا ترجمه آدرس شبکه چگونه است؟

ترجمه آدرس شبکه (NAT) به چندین دستگاه اجازه می‌دهد تا از یک آدرس IP عمومی یکسان استفاده کرده و به اینترنت دسترسی پیدا کند. در مجموع 2 به توان 32 (حدود ۴.۳ میلیارد) آدرس IPv4 مختلف وجود دارد که با توجه به تعداد دستگاه‌های IPv4 متصل به اینترنت، بسیار کمتر است.

ترجمه آدرس شبکه (NAT) به چندین دستگاه اجازه می‌دهد تا از یک آدرس IP عمومی یکسان استفاده کرده و به اینترنت دسترسی پیدا کند. در مجموع 2 به توان 32 (حدود ۴.۳ میلیارد) آدرس IPv4 مختلف وجود دارد که با توجه به تعداد دستگاه‌های IPv4 متصل به اینترنت، بسیار کمتر است.
ایده NAT از فرسودگی آدرس IP جلوگیری می‌کند. برای دسترسی به اینترنت به یک آدرس IP عمومی نیاز است، اما می‌توانیم از چندین آدرس IP در شبکه خصوصی خود استفاده کنیم و از دستگاه‌های مختلف و یک آدرس IP یکسان به اینترنت دسترسی پیدا کنیم. برای دستیابی به این هدف، یک آدرس IP خصوصی باید به یک آدرس IP  عمومی ترجمه شود.

ترجمه آدرس شبکه (NAT)

ترجمه آدرس شبکه (NAT) فرآیندی است که در آن یک یا چند آدرس IP محلی به یک یا چند آدرس IP جهانی و برعکس ترجمه می‌شوند تا دسترسی به اینترنت را برای میزبان‌های محلی فراهم کنند. همچنین ترجمه شماره پورت‌ها را انجام می‌دهد، یعنی شماره پورت میزبان را با شماره پورت دیگری در بسته‌ای که به مقصد هدایت می‌شود، ترجمه می کند. سپس ورودی‌های مربوط به آدرس IP و شماره پورت را در جدول NAT ایجاد می‌کند. NAT معمولاً روی یک روتر یا فایروال عمل می‌کند.



کارکرد ترجمه آدرس شبکه (NAT)

به طور کلی، روتر مرزی برای NAT پیکربندی شده است، یعنی روتر دارای یک رابط با شبکه محلی (داخلی) و یک رابط با شبکه جهانی (خارجی) دارد. هنگامی که یک بسته از شبکه محلی (داخلی) عبور می‌کند،NAT  آن آدرس IP محلی (خصوصی) را به یک آدرس IP جهانی (عمومی) تبدیل می‌کند. هنگامی که یک بسته وارد شبکه محلی می‌شود، آدرس IP جهانی (عمومی) به یک آدرس IP محلی (خصوصی) تبدیل می‌شود.
اگر NAT آدرس‌هایش تمام شود، یعنی هیچ آدرسی در مجموعه پیکربندی شده باقی نمانده باشد، بسته‌ها حذف می‌شوند و یک بسته غیرقابل دسترس میزبان پروتکل پیام کنترل اینترنت (ICMP) به مقصد ارسال می‌شود.

چرا شماره پورت‌ها را ماسک کنیم؟

فرض کنید در یک شبکه، دو میزبان A و B به هم متصل هستند. حال، هر دوی آنها همزمان برای یک مقصد، روی یک شماره پورت، مثلاً 1000، در سمت میزبان درخواست می‌دهند. اگر NAT فقط ترجمه آدرس‌های IP را انجام دهد، وقتی بسته‌های آنها به NAT می‌رسند، هر دو آدرس IP آنها توسط آدرس IP عمومی شبکه ترجمه شده و به مقصد ارسال می‌شوند. مقصد پاسخ‌ها را به آدرس IP عمومی روتر ارسال می‌کند. بنابراین، هنگام دریافت پاسخ، برای NAT مشخص نخواهد بود که کدام پاسخ متعلق به کدام میزبان است (زیرا شماره پورت مبدا برای هر دو میزبان A و B یکسان است. از این رو، برای جلوگیری از چنین مشکلی، NAT  شماره پورت مبدا را نیز ترجمه نموده و در جدول NAT وارد می‌کند.


آدرس‌های داخلی و خارجی NAT

داخلی به آدرس‌هایی اشاره دارد که باید ترجمه شوند. خارجی به آدرس‌هایی اشاره دارد که تحت کنترل سازمان نیستند. 

ترجمه آدرس شبکه (NAT)

  • آدرس محلی داخلی - یک آدرس IP که به یک میزبان در شبکه داخلی (محلی) اختصاص داده شده است. این آدرس احتمالاً یک آدرس IP اختصاص داده شده توسط ارائه دهنده خدمات نیست، یعنی اینها آدرس‌های IP خصوصی هستند. این میزبان داخلی است که از شبکه داخلی دیده می‌شود.
  • آدرس سراسری داخلی - آدرس IP که یک یا چند آدرس IP محلی داخلی را به دنیای خارج نشان می‌دهد. این میزبان داخلی است که از شبکه خارجی دیده می‌شود.
  • آدرس محلی خارجی - این آدرس IP واقعی میزبان مقصد در شبکه محلی پس از ترجمه است.
  • آدرس سراسری خارجی - این میزبان خارجی است که از شبکه خارجی دیده می‌شود. این آدرس IP میزبان مقصد خارجی قبل از ترجمه است.

انواع ترجمه آدرس شبکه (NAT)

سه راه برای پیکربندی NAT وجود دارد:

NAT  استاتیک

در این روش، یک آدرس IP ثبت نشده (خصوصی) با یک آدرس IP ثبت شده قانونی (عمومی) نگاشت می‌شود، یعنی نگاشت یک به یک بین آدرس‌های محلی و جهانی. این روش معمولاً برای میزبانی وب استفاده می‌شود. این روش‌ها در سازمان‌ها استفاده نمی‌شوند زیرا دستگاه‌های زیادی وجود دارند که به دسترسی به اینترنت نیاز دارند و برای ارائه دسترسی به اینترنت، به یک آدرس IP عمومی نیاز است.
فرض کنید، اگر 3000 دستگاه وجود داشته باشد که به دسترسی به اینترنت نیاز دارند، سازمان باید 3000 آدرس عمومی خریداری کند که بسیار پرهزینه خواهد بود.

NAT  پویا

در این نوع NAT، یک آدرس IP ثبت نشده از طریق مجموعه‌ یا استخری از آدرس‌های IP عمومی به یک آدرس IP  ثبت شده (عمومی) ترجمه می‌شود. اگر آدرس IP مجموعه آزاد نباشد، بسته حذف می‌شود زیرا فقط تعداد ثابتی از آدرس‌های IP خصوصی می‌توانند به آدرس‌های عمومی ترجمه شوند.
فرض کنید اگر مجموعه‌ای از ۲ آدرس IP عمومی وجود داشته باشد، فقط ۲ آدرس IP خصوصی می‌توانند در یک زمان معین ترجمه شوند. اگر آدرس IP خصوصی سوم بخواهد به اینترنت دسترسی پیدا کند، بسته حذف می‌شود، بنابراین بسیاری از آدرس‌های IP خصوصی به مجموعه‌ای از آدرس‌های IP عمومی نگاشت می‌شوند. NAT زمانی استفاده می‌شود که تعداد کاربرانی که می‌خواهند به اینترنت دسترسی داشته باشند ثابت باشد. این نیز بسیار پرهزینه است زیرا سازمان باید آدرس‌های IP جهانی زیادی را برای ایجاد یک مجموعه خریداری کند.

ترجمه آدرس پورت (PAT)

این همچنین به عنوان اضافه بار NAT شناخته می‌شود. در این حالت، بسیاری از آدرس‌های IP محلی (خصوصی) می‌توانند به یک آدرس IP ثبت شده واحد ترجمه شوند. از شماره پورت‌ها برای تشخیص ترافیک استفاده می‌شود، یعنی اینکه کدام ترافیک متعلق به کدام آدرس IP است. این روش بیشتر به دلیل مقرون به صرفه بودن استفاده می‌شود زیرا هزاران کاربر می‌توانند با استفاده از تنها یک آدرس IP جهانی (عمومی) واقعی به اینترنت متصل شوند.

مزایای NAT

NAT  آدرس‌های IP ثبت شده قانونی را حفظ می‌کند.
این روش حریم خصوصی را فراهم می‌کند زیرا آدرس IP دستگاه، که ترافیک را ارسال و دریافت می‌کند، پنهان خواهد ماند.
شماره‌گذاری مجدد آدرس را هنگام تکامل شبکه حذف می‌کند.

معایب NAT

ترجمه منجر به تأخیر در تعویض مسیر می‌شود.
برخی از برنامه‌ها در هنگام فعال بودن NAT کار نمی‌کنند.
پروتکل‌های تونلینگ مانند IPsec را پیچیده می‌کند.
همچنین، روتر به عنوان یک دستگاه لایه شبکه، نباید شماره پورت‌ها (لایه انتقال) را دستکاری کند، اما به دلیل NAT مجبور به انجام این کار است.
 

0 دیدگاه

دیدگاه خود را بیان کنید