وبلاگ
NAT چیست؟
NAT چیست؟
برای دسترسی به اینترنت به یک آدرس IP عمومی (public IP) نیاز است، اما می توانیم از یک آدرس IP خصوصی (private IP) در شبکه داخلی خود استفاده کنیم. ایده NAT این است که به چندین دستگاه اجازه دهد از طریق یک آدرس عمومی واحد به اینترنت دسترسی پیدا کنند. برای دستیابی به این هدف ، ترجمه آدرس IP خصوصی به یک آدرس IP عمومی لازم است. ترجمه آدرس شبکه (NAT) فرایندی است که در آن یک یا چند آدرس IP محلی به یک یا چند آدرس IP جهانی و بالعکس جهت دسترسی به اینترنت به میزبان های محلی ترجمه می شود. همچنین NAT، ترجمه شماره درگاه را انجام می دهد، یعنی شماره پورت میزبان را با شماره پورت دیگری، در بسته ای که به مقصد منتقل می شود، ماسک می زند. سپس ورودی های مربوط به آدرس IP و شماره پورت را در جدول NAT قرار می دهد. به طور کلی NAT روی روتر یا فایروال انجام می شود.
NAT (Network address translation)چگونه کار می کند؟
به طور کلی ، روتر مرزی border router ویا فایروال لبه شبکه برای ترجمه آدرس NAT پیکربندی شده است که دارای یک رابط در شبکه محلی (داخل) و یک رابط در شبکه جهانی (خارج) است. هنگامی که یک بسته می خواهد از شبکه داخلی خارج شود ، آنگاه NAT آن آدرس IP محلی (خصوصی) را به یک آدرس IP جهانی (عمومی) تبدیل می کند. هنگامی که یک بسته وارد شبکه محلی می شود ، آدرس IP جهانی (عمومی) به یک آدرس IP محلی (خصوصی) تبدیل می شود.
چرا شماره پورت را در ترجمه آدرس NAT تغییر می دهیم ؟
فرض کنید در یک شبکه دو میزبان A و B وجود دارند. حال ، هر دو درخواست می کنند برای یک مقصد، با شماره پورت های یکسان، به عنوان مثال ۱۰۰۰ ، در سمت میزبان ، در همان زمان. اگر NAT تنها ترجمه ای از آدرس های IP را انجام دهد ، پس از ورود بسته های آنها به NAT ، هر دو آدرس IP آنها توسط آدرس IP عمومی شبکه پوشانده شده و به مقصد ارسال می شوند. مقصد پاسخ هایی را در آدرس IP عمومی روتر ارسال می کند. بنابراین ، با دریافت پاسخ ، برای NAT مشخص نخواهد بود که پاسخ به کدام میزبان تعلق دارد (زیرا شماره درگاه منبع برای A و B یکسان است). از این رو ، برای جلوگیری از بروز چنین مشکلی ، NAT از شماره پورت های متفاوت استفاده می کند.
ترجمه آدرسهای داخلی و خارجی
آدرسهای داخلی به آدرسهایی اشاره دارد که باید ترجمه شوند. آدرسهای خارجی به آدرسهایی اطلاق می شود که در کنترل یک سازمان نیست.
انواع آدرسها
Inside local address: یک آدرس IP که به یک میزبان در شبکه داخلی اختصاص داده می شود. این آدرس توسط ارائه دهنده خدمات ISP شناخته شده و معتبر نیست، اینها آدرس IP های خصوصی هستند. این آدرس داخلی است و از شبکه داخلی دیده می شود.
Inside global address: آدرس IP ای که نمایانگر یک یا چند آدرس IP محلی در جهان خارج است. این آدرس میزبان داخلی است که از شبکه خارجی مشاهده می شود.
Outside local address: این آدرس IP واقعی میزبان مقصد در شبکه محلی پس از ترجمه است.
Outside global address: آدرس جهانی خارج – این میزبان بیرونی است که از شبکه خارج دیده می شود. این آدرس IP میزبان مقصد خارجی قبل از ترجمه است.
انواع NAT:
Static NAT:
در این نوع NAT، یک آدرس IP داخلی با آدرس IP خارجی به صورت یک به یک بین آدرس محلی و جهانی ترجمه می شود. این به طور کلی برای میزبانی سرورها استفاده می شود. این موارد در سازمان ها مورد استفاده قرار نمی گیرد زیرا دستگاه های زیادی وجود دارند که به دسترسی به اینترنت نیاز دارند و برای دسترسی به اینترنت ، به آدرس IP عمومی نیاز دارند.
در این نوع ترجمه آدرس اگر ۳۰۰۰ دستگاه نیاز به دسترسی به اینترنت داشته باشد، این سازمان مجبور است ۳۰۰۰ آدرس عمومی خریداری کند که بسیار هزینه بر است.
Dynamic NAT:
در این نوع NAT ، یک آدرس IP داخلی نشده از یک مجموعه آدرس IP عمومی به یک آدرس IP ثبت شده (Public) ترجمه می شود. اگر آدرس IP استخر آزاد نباشد ، بسته حذف می شود زیرا فقط یک شماره مشخص از آدرس IP خصوصی به آدرس های عمومی قابل ترجمه است.
فرض کنید اگر ۲ استخر pool آدرس IP عمومی وجود داشته باشد ، فقط ۲ آدرس IP خصوصی در یک زمان معین قابل ترجمه هستند. اگر ۳ آدرس IP خصوصی می خواهد به اینترنت دسترسی پیدا کند، بسته سوم از بین می رود، بنابراین بسیاری از آدرس های IP خصوصی به مجموعه ای از آدرس های IP عمومی ترجمه می شوند. هنگام استفاده از تعداد کاربرانی که مایل به دسترسی به اینترنت هستند، از NAT استفاده می شود. این همچنین بسیار پرهزینه است زیرا سازمان مجبور است بسیاری از آدرس های جهانی IP را برای ایجاد استخر IP خریداری کند.
Port Address Translation (PAT):
این همچنین به عنوان NAT overload نیز شناخته می شود. در این نوع NAT ، بسیاری از آدرسهای IP داخلی را می توان به یک آدرس IP خارجی ترجمه کرد. از شماره های پورت برای تشخیص ترافیک استفاده می شود ، یعنی اینکه ترافیک به کدام آدرس IP تعلق دارد. این نوع NAT بیشتر استفاده می شود زیرا مقرون به صرفه است زیرا هزاران کاربر می توانند با استفاده از تنها یک آدرس IP خارجی به اینترنت متصل شوند.
مزایای NAT:
- NAT در استفاده از IP های خارجی صرفه جویی می کند چون آدرس های IPv4 به پایان رسیده است.
- امنیت بیشتر را جهت شبکه داخلی شما فراهم می کند زیرا آدرس IP دستگاه ها جهت ارسال و دریافت ترافیک، پنهان خواهد شد.
معایب NAT:
- ترجمه باعث تاخیر می شود.
- در هنگام فعال شدن NAT ، برخی از برنامه ها عملکرد درست را ندارند.
- پروتکل های تونل زنی مانند IPsec را پیچیده می کند.
امیدوارم که از خواندن این مقاله لذت برده باشید. سوالات و نظراتتون رو در پایین همین پست با ما به اشتراک بزارید.