NAT در شبکه چیست؟
احتمالاً میدانید که در شبکههای بزرگ از IP Address نامعتبر (Invalid) در اینترنت بهره گرفته میشود تا بتوانند طیف وسیعی از کامپیوترها و یا دیگر نودهای (Node) شبکه را با کمترین هزینه به هم متصل کنند. ولی این مسئله در جای دیگر مشکلآفرین شده بود و این نودها نمی توانستند در اینترنت حضور خود را اثبات کنند. چرا که IP آنها در شبکه جهانی اعتباری نداشت و اگر مدیران شبکه میخواستند 10 کامپیوتر را به شبکه جهانی متصل کنند، باید 10 آدرس معتبر را خریداری میکردند و به این 10 نود اختصاص میدادند.
حالا تصور کنید کل سازمانهای جهان قصد داشته باشند برای کاربران خود IP معتبر خریداری کنند. آیا چنین چیزی با در نظر گرفتن محدود بودن تعداد IP Addressها، هزینههای بالای خریداری و یا حتی اجاره یک آدرس و حجم زیاد کاربران امکانپذیر میباشد؟
همینجا بود که معجزه NAT (مخفف Network Address Translation) ظهور کرد و این مشکل را تا حدودی بهبود داد. NAT سرویسی است که روی یکی از مسیریابهای مرزی شبکه (Area Border Router) فعال میشود و IP نامعتبر کاربران داخلی شبکه را که قصد استفاده از شبکه جهانی را دارند به آدرس معتبر در شبکه اینترنت تبدیل میکند و بستههایی که از طرف شبکه اینترنت به سمت شبکه داخلی حرکت میکنند را به صورت IP نامعتبر در شبکه اینترنت و معتبر در شبکه داخلی تبدیل میکند.
کاربرد NAT
برای مثال وقتی یک کامپیوتر با آدرس 10.192.10.111 قصد اتصال به وب سایت Yahoo را دارد، اطلاعات درخواست این کامپیوتر به مسیریاب مرزی منتقل میشود تا در اختیار وب سرور Yahoo قرار گیرد. ولی از آنجا که این آدرس فقط تا همین Router قابلیت پیشروی دارد در همین Router توسط سرویس و یا تابع NAT به یک آدرس معتبر که قبلاً توسط شرکت خریداری شده تبدیل میشود. از اینجا تا سرور Yahoo را با این آدرس جدید طی میکند و طبق معمول سرور Yahoo هم جواب این Packet اطلاعات را به همین آدرس برگشت میدهد تا به Router مرزی شبکه ما برسد.
مسیریاب مرزی پس از دریافت متوجه میشود که این آدرسی که Packet اطلاعات برای آن ارسال شده در شبکه محلی آن وجود ندارد، پس نگاهی به جدول ترجمه IP میاندازد و متوجه میشود که این آدرس را خودش به کامپیوتر 10.192.10.111 اختصاص داده و در نتیجه Packet اطلاعات دریافتی را به آدرس 10.192.10.111 ارسال میکند.
بطورکلی سرویس NAT روی Router مرزی که Packetهای اطلاعاتی که قصد ورود و خروج به شبکه محلی را دارند اجرا میشود و این ترجمه را دائماً انجام میدهد. البته باید توجه داشت که این سرویس به هر یک از کامپیوترهای شبکه که قصد رد شدن از این مرز را داشته باشند یک آدرس معتبر اختصاص میدهد. به عبارتی دیگر شبکهای که روی آن سرویس NAT اجرا شده تنها به تعداد IP معتبر خریداری شده کاربران میتوانند به صورت همزمان از شبکه اینترنت استفاده کنند. به این صورت که به محض اتمام کار یک کاربر در خارج از مرز شبکه داخلی، همان IP به اولین کاربر درخواست کننده بعدی اختصاص داده میشود.
معایب
سرویس NAT جدولی با دو ستون و به تعداد ردیف معادل IPهای معتبر خریداری شده را در خود دارد که به محض درخواست کاربران شبکه برای خروج، IP نامعتبر داخلی را در مقابل IP معتبر ثبت میکند و در هنگامی که جواب این Packet از مقصد بر میگردد با نگاهی به این جدول میفهمد که اطلاعات برای کدام کامپیوتر در شبکه خودش ارسال شده است و هنگامی که Packet وارد شبکه داخلی شد این IP نامعتبر از جدول پاک میشود و NAT آماده ارائه سرویس به درخواست کننده بعدی میشود. همانطور که مشخص است NAT تنها به تعداد ردیف جدول خود میتواند به صورت همزمان ارائه سرویس کند. این بزرگترین ضعف NAT به شمار میرفت.
در ضمن قابل ذکر است که تعریف این جداول در Router به دو صورت استاتیک و داینامیک صورت میگیرد. نحوه تنظیم آن بر عهده مدیر شبکه میباشد و با Config کردن روتر آن را مشخص میکند. در روش استاتیک بطور مشخص تعیین میشود که بر فرض برای همیشه آدرس نامعتبر (Invalid) 10.192.10.111 برای خروج از مرز شبکه داخلی باید به 100.100.100.101 تبدیل شود. ولی در روش داینامیک این انتخاب بر عهده خود NAT گذاشته میشود، اولین IP معتبر ممکن را به کامپیوتر درخواست کننده اختصاص میدهد.
یکی از معایب که گاهی متخصصان شبکه آن را بر NAT وارد میکنند مخفی نگه داشتن IP داخلی یک سازمان در ارتباط با شبکه اینترنت میباشد. شما تصور کنید که اگر بتوانید با یک IP نامعتبر داخلی به یک سرویس دهنده در شبکه اینترنت اتصالی غیر مجاز برقرار کنید. آیا شناسایی میشوید؟ شاید به جرات بتوان گفت که اگر NAT به صورت داینامیک تنظیم شده باشد و از نقل و انتقال شبکه Log گرفته نشود شما هرگز شناسایی نخواهید شد. مسئولیت این حرکت غیر قانونی به دوش مدیران و مسئولان شبکه مزبور خواهد بود. همین مسئله باعث شده که گاهی شبکههای داخلی شرکتها و سازمانها به عنوان پایگاه هکرها مورد استفاده قرار گیرند.
از دیگر قابلیتهای NAT اتصال دو شبکه محلی (LAN) با IP Addressهای مشابه میباشد که NAT با ترجمه این آدرسهای مشابه از بروز خطا جلوگیری مینماید.
توسعه NAT به PAT
از آنجا که بدون شک NAT در اتصال شبکههای بزرگ به اینترنت با مشکل ترافیک برخورد میکرد تصمیم گرفتند ستونی جدید به جدول ترجمه در روتر اضافه کنند تا نام درگاه (Port) مورد استفاده را در آن ثبت نمایند. به این طریق میتوانستند با ترجمه همزمان IP و Port تعداد بیشتری کامپیوتر را برای اتصال به شبکه اینترنت پشتیبانی نمایند.
برای مثال 4 کامپیوتر با 4 درگاه متفاوت میتوانند فقط با اشغال یک IP معتبر بطور همزمان سرویس بگیرند. به این تکنولوژی PAT (مخفف Port Address Translation) و یا سربارگذاری NAT گفته میشود.
یکیدیگر از مزایای NAT و یا PAT، امنیتی است که این سرویس برای کامپیوترهای داخل شبکه فراهم میآورد، قطعاً شما از خارج شبکه نمیتوانید بدون صدور مجوز از کامپیوتر داخلی به آن دسترسی داشته باشید. چرا که IP آن در اینترنت غیرمعتبر است. آیا شما میتوانید از منزل با اتصال به اینترنت، کامپیوتر محل کار خود را با آدرس 10.111.10.92، Ping کنید؟ مسلماً نه.
منابع
- کتاب مدیریت سرور. نوشته وحید گودرزی اصفهانی. انتشارات ناقوس. سال 1395.
عالی بود
مرسی ازتون
خیلی کامل ممنون
سلام خسته نباشید من این مقاله را کاملا مطالعه کردم و حتی یک خط را هم دریغ نکردم. فقط یک سوالی برای من پیش امد که چگونه میشود از NAT استفاده کرد؟
ایا از NAT میتوان در clinet ها هم استفاده کرد
ممنون میشم راهمنایی کنید
خیر. ینی بنظرم با توجه به این مطالب. چون این کلاینت ها اگر در شبکه باشند روتر و سرور اینکارو انجام میده. مثلا کامپیوتر خونگی هم به طور اتوماتیک اینکارو انجام میده چون آی پی خودکار از dhcp دریافت میکنه. این کارها فقط پشت پرده کارهای دینامیکی هست که سیستم ها و سرورها به طور اتوماتیک انجام میدن. نه اینکه دستی!
آیا بر روی nat قابلیت استفاده از voip میباشد
توضیح NAT و PAT عالی بود