مفهوم NAT و انواع آن
هنگام استفاده از آدرس های IPv4 یکی از موارد مهم و حساس در استفاده از آنها، فضای آدرس دهی کم و محدود می باشد. با توجه به اینکه دستگاه هایی که به اینترنت متصل می شوند و نیاز به آدرس آی پی دارند و روز به روز درحال افزایش هستند، باید در روند استفاده از آنها محتاط تر عمل کرد. با توجه به این مسئله از روشی به نام NAT استفاده شد که بتوان با استفاده از آن سازمان شبکه های داخلی خودشان را با آدرس های خصوصی، آدرس دهی کنند و در صورت نیاز به دسترسی به اینترنت، از یک آدرس عمومی استفاده نمایند.
برای مثال در شکل بالا، شبکه داخلی از محدوده آدرس های خصوصی برای شبکه داخلی استفاده کرده است، اما روتری که شبکه سازمان را به اینترنت متصل می کند دارای یک آدرس عمومی میباشد که اگر کلاینت ها درخواستی به سمت اینترنت ارسال کنند، روتر آدرس آنها را به آدرس عمومی خودش ترجمه کرده و سپس به سمت اینترنت ارسال می کند. به عبارت دیگر در اینجا با استفاده از یک آدرس عمومی می توان تعداد بسیار زیادی آدرس خصوصی را به اینترنت متصل کرد. این کار باعث صرفه جویی در مصرف آدرس های IP خواهد شد.
موارد استفاده از NAT :
زمانی که کلاینت های سازمانی برای برقراری ارتباط با اینترنت نیاز به آدرس عمومی نداشته باشند.
زمانی که قصد داشته باشید تا بدون ایجاد تغییر در ساختار آدرس دهی داخلی، ISP خود را تغییر دهید.
زمانی که نیاز به برقراری ارتباط بین دو شبکه اینترانت که دارای آدرس های یکسان هستند دارید.
NAT همانند هر تکنولوژی دیگر که دارای مزایا می باشد، یکسری معایب نیز دارد که در ادامه به بررسی این دو جنبه میپردازیم.
مزایای NAT:
- استفاده از آدرس های عمومی را کم می کند.
- راه حلی برای برقراری ارتباط بین محدوده آدرس های یکسان است.
- ارائه راه حلی آسان جهت برقراری با اینترنت.
- عدم نیاز به تغییر آدرس های درونی، در هنگام تغییر ISP.
معایب NAT:
- عملیات ترجمه آدرس باعث افزایش تاخیر در روند سوئیچینگ می شود.
- باعث می شود تا نودهای شبکه ارتباط مستقیم با یکدیگر نداشته باشند.
- بعضی از برنامه ها از NAT پشتیبانی نمیکنند.
انواع NAT
به صورت کلی NAT به سه شکل قابل پیاده سازی می باشد که شامل:
NAT از نوع ایستا:
در این حالت عملیات تبدیل آدرس عمومی به خصوصی یک به یک است، به این معنی که شما باید به ازای هر آدرس خصوصی یک آدرس عمومی را در دسترس داشته باشید.
NAT از نوع پویا:
در این حالت یک استخر از آدرس های عمومی وجود دارد که اگر یکی از کلاینت ها قصد ارسال داده به سمت اینترنت داشته باشد، روتر یک آدرس را به صورت پویا به کلاینت اختصاص خواهد داد. به بیان دیگر شیوه عملکرد این نوع از NAT همانند ایستا بوده با این تفاوت که دیگر مدیر شبکه نیازی به تخصیص آدرس عمومی به خصوصی ندارد. توجه داشته باشید که همانند حالت قبل باید به ازای تمامی آدرس های خصوصی، آدرس عمومی وجود داشته باشد.
NAT از نوع Overloading:
به بیان ساده، این نوع از NAT همانند پویا بوده با این تفاوت که میتوان چندین آدرس خصوصی را با استفاده از یک آدرس عمومی به اینترنت متصل نمود. این شیوه از NAT بسیار محبوب و پر استفاده می باشد. با استفاده از این نمونه NAT می توان تا هزاران کامپیوتر را به اینترنت متصل نمود و همین مسئله باعث شده است تا استفاده از آدرس های عمومی تا حد زیادی مدیرت شده و بهینه باشد.
حال که با انواع NAT آشنا شدید بهتر است تا با چند واژه مهم در NAT آشنا شوید که آشنایی با آنها کمک شایانی به درک این مسئله به شما خواهد کرد.
نام های مورد استفاده در NAT
در هنگام استفاده از NAT چهار واژه اصلی مورد استفاده قرار میگیرد که آنها را در قالب چند شکل مورد بررسی قرار خواهیم داد.
Inside Local:
این دسته از آدرس ها، همان آدرس های محلی بوده که در شبکه خصوصی مورد استفاده قرار می گیرد و در هدر بسته ثبت شده است.
Outside Local:
این آدرس نشان دهنده مقصد بسته می باشد که در هدر بسته ثبت شده است.
Inside Global:
آدرسی است که بعد از انجام عملیات ترجمه در قسمت مبدا بسته قرار داده می شود.
توجه داشته باشید که تمام درخواست های ارسال شده توسط کلاینت دارای پورت هایی منحصر به فرد می باشد. از این رو روتر با استفاده از آدرس IP خودش و پورتی منحصر به فرد که برای کلاینت درنظر می گیرد خواهد توانست عملیات ترجمه را انجام دهد.
Outside Global:
این همان آدرس مقصد است که کلاینت درخواست های خود را برای آنها ارسال می کند.
NAT از نوع ایستا
همان گونه که در قسمت قبل اشاره کردیم، این نوع از NAT توسط مدیر شبکه انجام می شود و باید به ازای تک تک آدرس های خصوصی که قصد برقراری ارتباط با اینترنت را دارند، یک آدرس عمومی در اختیار داشته باشید. شیوه کار کرد این NAT در مراحل زیر توضیح داده شده است.
۱- ابتدا مدیر شبکه باید آدرس های IP عمومی در دسترس را به آدرس های خصوصی اختصاص دهد.
۲- یک رنج ۱۶تایی از آدرس IP در دسترس میباشد. مدیر
باتوجه به نیازهای خودش این آدرس ها را به کلاینت ها اختصاص میدهد.
برای مثال فرض کنید که مدیر آدرس ها را به صورت زیر تعریف کرده است.
آدرس عمومی | آدرس خصوصی |
۷۸.۴۷.۵۰.۴۹ | ۱۹۲.۱۶۸.۱.۱۱ |
۷۸.۴۷.۵۰.۵۰ | ۱۹۲.۱۶۸.۱.۱۰ |
۳- حال در صورتی که آدرس ۱۹۲.۱۶۸.۱.۱۱ قصد برقراری ارتباط با اینترنت را داشته باشد، ابتدا آدرس مبدا آن توسط روتر به ۷۸.۴۷.۵۰.۴۹ تغییر کرده و سپس پکت ها به سمت اینترنت روانه میشوند.
NAT از نوع پویا
در این نوع از NAT تنها کاری که مدیر شبکه باید انجام دهد، این است که لیستی از آدرس های عمومی را برای روتر مشخص کنند تا این آدرسها به صورت خودکار به کلاینت هایی که قصد برقراری ارتباط با اینترنت را دارند اختصاص داده شود.
هر درخواستی که برای روتر ارسال شود اولین آدرس عمومی که آزاد میباشد و توسط کامپیوتر دیگری اشغال نشده است، انتخاب شده و به کلاینت اختصاص داده می شود.
مراحل این نوع از NAT به صورت زیر است:
۱- در ابتدای کار مدیر باید لیستی از آدرس های عمومی را در روتر تعریف کند.
۲- درهنگامی که یک کلاینت به منظور برقراری ارتباط با اینترنت، درخواست خود را به سمت روتر ارسال می کند، اولین آدرس آزاد به کلاینت اختصاص داده خواهد شد و تا زمانی که کلاینت ارتباط خودش را قطع نکند، IP برای آن رزرو خواهد ماند.
NAT از نوع Overload
این نوع NAT متفاوتتر از سایر روشها عمل میکند، در ادامه این روش را با جزئیات مورد بررسی قرار میدهیم.
۱- فرض کنید که روترتان دارای آدرس عمومی ۷۸.۴۷.۵۰.۴۹ است.
۲-در ادامه یک جدول تشکیل خواهد شد که در آن آدرس های Inside Local و Inside Global قرار دارد.
آدرس های Inside Global | آدرس های Inside Local |
۷۸.۴۷.۵۰.۴۹:۱۰۲۴ | ۱۹۲.۱۶۸.۱.۱۱:۱۰۲۴ |
۷۸.۴۷.۵۰.۴۹:۱۰۲۵ | ۱۹۲.۱۶۸.۱.۱۰:۱۰۲۵ |
نکته ای که در این جدول قابل مشاهده است، آدرس های پورت می باشد که با کمک آنها می توان جریان های داده چندین کلاینت را تنها با یک آدرس عمومی تبادل کرد.
در سطح تئوریک می توان تا ۶۵.۰۰۰ کلاینت را تنها با یک آدرس عمومی به اینترنت متصل نمود.