با خواندن این مقاله دیگر می توانید متوجه این شوید که NAT چیست و استفاده آن برای کاربران چگونه است . و همچنین از مزایای آن باخبر می شوید و استفاده از (Network Address Translation (NAT را برای شبکه تان الزامی میدانید. در دوره آموزش نتورک پلاس شما به خوبی با مفاهیم NAT و PAT و Reverse NAT یا همان Port Forwarding آشنا خواهید شد.
دوستان عزیز ، اینترنت بزرگتر از چیزی است که هر کسی تصور آن را می کند. هر چند که نمی توان آمار دقیقی از اینترنت بدست آورد ، اما هم اکنون حدود 100میلیون HOST و همچنین 350 میلیون کاربر اکتیو در آن وجود دارد که این تعداد عملا بیشتر از تعداد مردم ایالت متحده می باشد. در حقیقت نرخ رشد اینترنت با کاربرانش در هر سال ، دو برابر سال قبلی اش می باشد.
حالا سوالی که اینجا در ذهن همه ایجاد می شود این است که چه مقدار از NAT ، برای اینترنت استفاده می کنند و پاسخی هم که به این سوال باید داد این است که تقریبا همه چیز یا همه شبکه ها و همچنین همه سرورها و ... باید از NAT استفاده کنند . برای ارتباط یک کامپیوتر با هر کامپیوتر دیگر یا ارتباط با وب سرور درون اینترنت ، باید هر کدام از آنها یک آدرس IP نیز داشته باشند. آدرس IP یک شماره بی همتا 32 بیتی است که برای شناسایی محل کامپیوتر دورن شبکه استفاده می شود تا اطلاعات به درستی ، بعد از شناسایی محل کامپیوتر به دست آن برسد.
زمانی که آدرس دهی IP در همان اوایل بیرون آمد، همه فکر می کردند که تمام نیازهای کاربران به IP نیز با این شیوه حل می شود ولی اگر به محاسبه بپردازید ، متوجه می شوید که از این طریق فقط می توان به 4,294,967,296 یا 2 به توان 32 آدرس بی همتا دست یافت . در واقع این تعداد آدرس برای این همه جمعیت که روز به روز در حال افزایش هستند نیز بسیار کم است.
به همراه انفجار جمعیت اینترنت و افزایش شبکه های خانگی و تجاری ، تعداد IP های قابل دسترس ، به طور واقع بینانه اصلا کافی نیست. که راه حل آشکار برای حل این مشکل ، دوباره طراحی کردن یک سیستم IP دهی است که این سیستم جدید را IP v6 می گویند.اما این سیستم تا چند سال اخیر امکان دارد استفاده نشود زیرا هنوز نیاز به تغییراتی درون زیرساخت های اینترنت می باشد.
NAT نیز به عنوان راهی دیگر برای نجات معضل بحران کمبود IP به کار می رود. به عبارتی این موضوع بیانگر این است که یک دستگاه مانند Router به عنوان نماینده بین یک شبکه عمومی مانند اینترنت که IP Public دارد و یک شبکه خصوصی یا همان شبکه محلی است و نیاز به IP Private دارد ، قرار می گیرد. این توضیحی که الان خدمتتان گفتیم
در کل به این معنی است که فقط نیاز به یک IP داریم تا آن را با استفاده از NAT بین گروهی از کامپیوترهایمان که در شبکه محلی مان قرار دارند بدهیم.به عبارتی با این کار یک IP Public را به IP های Private تبدیل می کنیم.پس کمبود IP ، تنها دلیل استفاده از NAT است. و همچنین در این مقاله شما می توانید متوجه شوید که چگونه NAT می تواند برایتان مفید واقع شود. اما در ابتدا اجازه بدهید که نگاهی نزدیکتر و دقیقتر به نحوه عملکرد آن بکنیم . . .
NAT مانند یک منشی است که درون یک شرکت بزرگ مشغول کار است. این بدان معنی است که منشی شما تمام تماس ها را به شما وصل نمی کند ، مگر اینکه خودتان به آن جواب دهید و از برقراری ارتباط راضی باشید. و کسانی که برای تماس با شما درخواستی را به منشی فرستاده اند نیز ، درخواستشان تا بیکار نشدن شما تعلیق می شود و به محض اینکه توانایی پاسخگویی به ارباب رجوع را پیدا کردید ، می توانید به منشی بگویید که ارباب رجوعی را که تعلیق کرده بودی را آزاد کن و بگذار با من تماس داشته باشد.
کاربران همیشه برای ارتباط با شرکت ، شماره های اصلی را می گیرند که به غیر از انجام این کار هم کار دیگری نمی توانند انجام دهند. یعنی زمانی که با یک شرکتی تماس می گیرید ، در واقع با منشی آن شرکت تماس گرفته اید . و منشی آنجا متناظر با تقاضای شما و انتظار برقراری تماستان با شخص مورد نظرتان ، تماس شما را به شخص مورد نظرتان هدایت می کند که البته همچنان که قبلا گفتیم ، شخص مورد نظر باید توانایی مکالمه به تماس گیرنده را داشته باشد.
این امر نیز برای شبکه های کامپیوتری نیز توسط Cisco گسترش یافت . به این گونه که Network Address Translation یا همان NAT توسط دستگاه هایی مانند Router ، Firewall یا کامپیوتر هایی که بین شبکه داخلی و شبکه جهانی قرار می گیرند نیز استفاده می شد . NAT حالت های مختلفی دارد و همچنین می تواند به روشهای مختلفی نیز کار کند که عبارتند از :
شیوه کاری آن به این گونه است که آدرس های IP ثبت نشده را به صورت یک به یک به آدرس های IP ثبت شده تبدیل می کند. یعنی به ازای هر آدرس می تواند یک آدرس مبدل تولید کند . و این حالت زمانی سودمند است که ما بخواهیم یک دستگاه را طوری تنظیم کنیم که از بیرون از شبکه قابل دسترس باشد. درون static NAT نیز ، آدرس 192.168.32.10 به آدرس 213.18.123.110 تبدیل خواهد شد .
در این حالت نیز می تواند آدرس IP ثبت نشده را به آدرس ثبت شده تبدیل کند ، منتها در اینجا لیستی از IP های ثبت شده وجود دارد و هر کدام را که خواست می تواند انتخاب کند . یعنی همانگونه که در شکل آمده است ، درون dynamic NAT نیز آدرس 192.168.32.10 می تواند به اولین آدرس قابل دسترس در رنج 213.18.123.100 تا 213.18.123.150 تبدیل شود.
یک نمونه از dynamic NAT است که در آن چندین آدرس IP ثبت نشده به یک IP ثبت شده تبدیل می شود که هر کدام از آدرس ها تفاوتشان فقط در پورت هایشان است. که این روش نیز با نام PAT که مخفف Port Address Translation است هم شناخته می شود.
پس نکته ای را هم که مطابق شکل دوباره برایتان بازگو میکنیم این است که آدرس هر کامپیوتر درون یک شبکه خصوصی به آدرس مشابه 213.18.123.100 تبدیل می شود و نقطه تمایز آنها نیز شماره پورتی است که به آنها اختصاص داده می شود.
زمانی که شما در حال استفاده از آدرس های IP درون شبکه تان هستید ، آنگاه باید از آدرس های IP ثبت شده یا همان IPهای Register شده نیز برای ارتباط با شبکه های دیگر استفاده کنید. و وظیفه ای که Router در اینجا ایفا می کند این است که جدولی از این IP ها نیز در خودش نگه می دارد که در موقع نیاز ، هر کدام از IPهای داخل شبکه نیز از IPهای ثبت شده استفاده کند تا بتواند با بیرون از شبکه نیز ارتباط برقرار کند.
در ضمن این نکته هم باید بدانید که NAT است که دارد این کار را انجام می دهد و به این Router نیز NAT Router می گویند که وظیفه اصلی که ایفا می کند این است که IP های داخلی شبکه را به IP های واحد یا Unique بیرون از شبکه تبدیل می کند و همچنین IPهای ثبت شده بیرون از شبکه را هم به IPهای درون شبکه یا همان IPهای Private تبدیل می کند. یعنی اگر شبکه داخلی را یک شبکه خصوصی یا Private در نظر بگیریم و شبکه خارجی را یک شبکه عمومی یا Public در نظر بگیریم ، آنگاه NAT نیز IPهای Public را به Private و همچنین باالعکس IPهای Private را به Public تبدیل می کنند.برای این کار می توان یا از Static NAT و یا از تلفیق DNS با Dynamic NAT نیز استفاده کرد.
همانگونه که در شکل می بنید رنج IP 237.16.32.xx نیز برای ارتباط با بیرون از شبکه باید به IP ثبت شده تبدیل شود بنابراین این کار توسط Router و فرایند NAT انجام می شود . و همچنین زمانی که یک کامپیوتر در بیرون از شبکه قرار دارد و قصد ارسال اطلاعات به یکی از کامپیوتر های داخل شبکه را دارد نیز باید IP ثبت شده آن به یک IP که مخصوص داخل شبکه مان است و رنج آن 237.16.32.xx است تبدیل بشود.
دوستان عزیز NAT را می توان به شیوه های متفاوتی Config کرد. و همانگونه که در مثال زیر برایتان ذکر خواهیم کرد ، NAT router ما به گونه ای پیکربندی یا تنظیم شده است که آدرس های IP داخلی ثبت نشده را به آدرس های ثبت شده و معتبر جهانی تبدیل می کند. البته شاید این سوال برای کسانی که به تازگی با NAT آشنا شده اند پیش بیاید ، که آیا همیشه آدرس های ثبت نشده تمایل دارند به آدرس های ثبت شده تبدیل بشوند و این یک امر اجباری است ؟
که در جواب باید گفت که این تبدیل IP ها فقط زمانی رخ می دهد که دو کامپیوتر که در شبکه هم نیستند بخواهند با هم ارتباط برقرار کنند.یعنی زمانی که یک کامپیوتر از شبکه داخلی ما بخواهد به یک کامپیوتر که در شبکه عمومی است ارتباط برقرار کند از این تبدیل IP توسط NAT استفاده می کند.
دوستان عزیز در اینجا می خواهیم نکته زیبایی را هم به شما به گوییم ، که اگر ما NAT Overloading را با پروتکل TCP/IP با هم و همزمان استفاده کنیم یا به عبارتی تلفیقشان کنیم ، می توانیم به مفهوم Multiplexing دست بیابیم ، که کار را برای ما آسان می کند.یعنی اجاز می دهد که هر کامپیوتر چندین کانکشن همزمان را در خودش نگه داری کند و همچنین اجاز Remote زدن به کامپیوتر یا کامپیوتر ها را با استفاده از پورت های TCP یا UDP می دهد. و اگر بیشتر بخواهیم به این مساله موشکافانه تر نگاه کنیم ، باید بگوییم که هر IP Packet که ارسال می شود یک Header به آن اضافه می شود که اطلاعات آن را در زیر شرح می دهیم :
بعد از اینکه با مفاهیم کلی و پایه ای NAT آشنا شدید وقت آن است که مواردی را که بیشتر با آنها سرو کار دارید را بیشتر توضیح بدهیم و همچنین چند نکته امنیتی را در انتهای مقاله تقدیمتان کنیم.
در اینجا نشان می دهیم که Dynamic NAT چگونه کار می کند :
حال که متوجه شدید که Dynamic NAT چگونه کار می کند ، زمان آن می رسد تا با نحوه کار overloading نیز آشنا شوید :
در ابتدا نگاه هی به پایین بیاندازید تا متوجه شوید که کامپیوتر های درون یک Stub Domain ممکن است چگونه برای کامپیوتر های درون یک شبکه خارجی یا به عبارتی برای روتر NAT به نظر برسند.
کامپیوتر مبدا A :
کامپیوتر مبدا B :
کامپیوتر مبدا C :
کامپیوتر مبدا D :
همانطور که می بینید ، روتر NAT ، آدرس IP و شماره پورت تمامی کامپیوتر ها را در خودش ذخیره می کند. و برای ارسال Packetهای درخواست نیز همان فرایند overloading که قبلا به طور کامل توضیح دادیم را انجام می دهد.اما این امکان نیز وجود دارد که هنوز درون شبکه Stub Domain نیز کامپیوتر هایی وجود داشته باشند که از آدرس های IP اختصاصی(Private) استفاده کنند.
و همچنین شما می توانید یک لیست دسترسی برای آدرسهای IP ایجاد کنید که برای روتر بیانگر این موضوع باشند که کدام کامپیوترها درون شبکه به NAT احتیاج دارند. که با این کار ، تمامی آدرس های IP ترجمه نشده را نیز اصطلاحا Translate می کند و آنها را درون جدول Address Translation قرار می دهد.
نکته ای هم که باید بدانید این است ، که هر وقت چندین Translate به طور همزمان بخواهند انجام شوند ، روتر ترتیب اصلی ترین Translate برای سرویس دهی به آن را از روی مقدار ( DRAM (Dynamic Random Access Memory تشخیص می دهد. به عنوان مثال اگر مقدار DRAM روتر 4MB باشد ، آنگاه به صورت تئوری می تواند 26,214 آدرس را به طور همزمان Translate کند .
نکته دیگری هم که دریاره رنج ها و آدرس های IP باید بدانید این است که IANA یک رنج آدرس معین را برای کارهای خاصی کنار گذاشته که کسی نمی تواند از آنها برای آدرس دهی درون شبکه داخلی خودش استفاده کند که به آنها آدرس های ثبت نشده نیز می گویند.
و همچنین هیچ شرکت و اداره ای نمیتواند ادعای مالکیت این آدرس ها را برای کامپیوتر های Public و Private خود بکند. و همچنین روترها هم طوری طراحی شده اند که به محض دریافت آدرس های ثبت نشده ، آنها را دور بیاندازند.پس برای راحتی کار و سهولت آدرس دهی برای شبکه ، 3 کلاس آدرسهای IP را نوشته ایم که عبارتند از :
زمانی که شما یک Dynamic Nat یا NAT پویا را راه اندازی میکنید ، آنگاه به طور اتوماتیک یک FireWall بین شبکه داخلی و شبکه خارجی یا بین شبکه داخلی و اینترنت ایجاد می کند. و همچنینNAT فقط اجازه اتصالاتی را می دهد که از درون Stub Domain سرچشمه گرفته باشند. در واقع این حرفمان به این معنی است که ، یک کامپیوتر که درون یک شبکه خارجی قرار دارد نمی تواند به کامپیوتر های ما که درون Stub Domain است متصل شود.
مگر اینکه کامپیوترهای درون Stub Domain ، خودشان آغاز کننده اتصال و ارتباط باشند. و همچنین یک کامپیوتر درون Stub Domain می تواند به اینترنت متصل شود و صفحه مورد نظر خود را جستجو کند و حتی می تواند فایل دلخواهش را هم دانلود کند اما کسی نمی تواند خودش را به آدرس IP کامپیوتر شما چفت کند و از آن برای اتصال به پورت های کامپیوترتان استفاده کند.
ولی در حالاتی خاص که از NAT استاتیک استفاده میشد که به آن inbound mapping هم می گویند ، اجازه می دهند که دستگاه هایی که در شبکه خارجی قرار دارند ، خودشان آغاز کننده اتصال باشند ، یعنی خودشان اتصال را با کامپیوتر های ما که درون Stub Domain قرار دارند شروع کنند. مانند اینکه شما اگر بخواهید از یک inside global address به یک inside local address خاص که مثلا روی آن وب سرور قرار گرفته است ، آنگاه باید NAT استاتیک را برای این کار فعال کنید.
در یک دیدگاه امنیتی به روترهای NAT می توان فهمید که ، بسیاری از روترهای NAT قابلیت فیلترینگ گسترده و همچنین قابلیت Log برداری از ترافیک ها را دارند. با توجه به دو مورد گفته شده نیز ، مبحث فیلترینگ اجازه می دهد که کنترلی به سایت هایی که کارکنان در یک شرکت می خواهند آنها را مشاهده کنند ، داشته باشیم و از مشاهده سایت های مشکوک جلوگیری کنیم. و همچنین شما با استفاده از Log برداری از ترافیک می توانید متوجه شوید که مثلا کدام سایت ها بیشتر مورد استفاده و مشاهده قرار می گیرند که می توانید یک گزارش کلی و بزرگ از این بازدید ها تولید نمایید.
دوستان عزیز ما در این قسمت از مقاله قصد داریم توضیحاتی را بدهیم تا مفاهیم کامل NAT را متوجه شوید.چرا که خیلی از دوستان به دلیل کمبود اطلاعاتشان نسبت به NAT ، آن را با Proxy سرور اشتباه می گیرند ، که در اینجا به روشنی تفاوت میان آنها را بیان می کنیم.NAT یک دستگاه است که به طور واضح و شفاف بین سیستم های مبدا و مقصد قرار نمی گیرد و هیچ کدام از آنها برای ارتباطشان با هم متوجه این دستگاه سوم (NAT) نیستند و به خیالشان برای ارتباط با هم نیاز به هیچ رابطی ندارند و متوجه این نیستند که این کار NAT است که ارتباط آنها را نیسر ساخته است.
اما در Proxy سرور نیز یک دستگاه در بین مبدا و مقصد به شفافیت وجود دارد. یعنی کامپیوتر مبدا برای ارتباط نیز ، درخواستش را به Proxy سرور ارسال می کند و سپس Proxy سرور درخواست را برای مقصد می فرستد.که در این حالت سیستم مقصد فکر می کند که Proxy سرور نیز همان مبدا است و پاسخ را برای آن ارسال می کند و همچنین Proxyسرور نیز پاسخ را برای مبدا می فرستد.
در ضمن نکته دیگری هم که باید بدانیم این است که Proxy سرور در لایه چهارم مدل مرجع OSI یا همان لایه Transport یا لایه های بالاتر فعالیت می کند.در صورتیکه NAT در لایه سوم یا همان لایه Network فعالیت می کند.که این موضوع یا قرار داشتن Proxy در لایه بالاتر موجب کندتر کار کردن آن نسبت به NAT در بسیاری از موارد می باشد.
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود