احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

تفاوت آیپی عمومی (Public IP) و آیپی خصوصی (Private IP) در چیست؟

تفاوت آیپی پابلیک (IP Public) و آیپی پرایویت (IP Private) یا آدرس آیپی عمومی و آیپی خصوصی در چیست؟ تفاوت IP Valid و IP Invalid در چیست؟ همانطور که از تیتر نکته پیداست، میخواهیم درباره دسته بندی دیگری از آدرس های IP صحبت کنیم. دسته بندی ای که آدرس های IP را از حیث نوع ارتباط با شبکه اینترنت با یکدیگر متمایز میکند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

در ابتدا خلاصه ای از آن چیزی که قرار است در این نکته گفته شود را در چند سطر خدمت شما توضیح میدهیم و در ادامه در دو قسمت به توضیح مفصل هریک از موارد خواهیم پرداخت. در قسمت ششم از دوره آموزش نتورک پلاس مهندس نصیری به خوبی تفاوت بین انواع آدرسهای آیپی و تفاوت بین IP Public و IP Private و ... توضیح داده شده است.

خیلی خلاصه اگر بخواهیم لپ مطلب را بشما بگوییم باید عرض کرد که اگر میخواهید ترافیک شبکه شما مستقیما به اینترنت هدایت شوند، باید از آدرس های عمومی (public) استفاده کنید در غیر اینصورت یعنی زمانی که بخواهید برای اتصال به اینترنت بطور غیرمستقیم ( استفاده از پروکسی یا NAT) عمل کنید، میتوانید از آدرس های IP عمومی (public) و یا خصوصی (Private) استفاده نمایید. اگر اینترانت شما به هر طریقی به اینترنت متصل نیست، میتوانید برای آدرس دهی به دیوایس های خود از آدرس های IPv4 Unicast دلخواهی که میخواهید استفاده کنید. و در نهایت اگر شبکه اینترانت شما در آینده قرار است به اینترنت وصل شود باید از آدرس های خصوصی (Private) استفاده کرد.

آدرس های عمومی (public)

آدرس های عمومی توسط سازمان ICANN صادر میشود و شامل شناسه های شبکه (Network IDs) کلاس بندی شده (دسته بندی قدیمی) و پیشوندهای آدرسی بر پایه روش CIDR ( روش مدرن) می باشد. در مورد پیشوندهای آدرسی بر اساس روش مدرن CIDR، مقدار w (اکتت اول) در بازه های 1 تا 126 و 128 تا 223 میباشند. البته در این بین پیشوندهای آدرسی از جنس آدرس خصوصی (private) بصورت استثنا وجود دارند که در بخش آدرس های خصوصی به بیان آن ها می پردازیم.هنگامی که آدرس های عمومی تخصیص داده شد، مسیرها به روترها (مسیریاب ها) ی اینترنتی اضافه میشوند؛ بنابراین ترافیک به آدرسی که با معادل آدرس عمومی آن تطبیق دارد ارسال میشود.

آدرس های خصوصی (Private)

هر اینترفیسی به آدرسی احتیاج دارد تا در کل شبکه خاص و منحصربفرد باشد. اگر این شبکه اینترنت باشد، هر اینترفیس در یک زیر شبکه متصل به اینترنت به ادرسی احتیاج دارد که در کل اینترنت خاص و منحصربفرد باشد. همگام با رشد اینترنت، نیاز شرکت های متصل به اینترنت برای تخصیص آدرس IP به اینترفیس های موجود در اینترانت خود نیز بیشتر میشود. این موج از نیاز به اینترنت با رشد روز افزون خود ظرفیت تخصیص آدرس های عمومی را بخطر انداخته است.

با تحلیل آدرس های مورد نیاز شرکت ها، طراحان اینترنت به این نتیجه رسیده اند که در بسیاری از شرکت ها، بسیاری از هاست ها نیازی به ارتباط مستقیم به اینترنت ندارند. این دسته از سیستم ها که به مجموعه خاصی از سرویس های اینترنتی مثل دسترسی وب و ایمیل غالبا نیاز دارند، نوعا از طریق Gateway های موجود در لایه Application مثل سرورهای پروکسی و سرورهای ایمیل، سرویس های اینترنت خود را دریافت میکنند. پس به این نتیجه میرسیم که بسیاری از شرکت ها به بازه محدودی از آدرس های اینترنتی برای سرورهای پروکسی، سرورهای ایمیل، روترها، فایروال ها و سیستم های Nat کننده ارتباطات که مستقیما به اینترنت متصل هستند، نیاز دارند.

اما برای آدرس دهی هاست های موجود در شرکت که به دسترسی مستقیم به اینترنت نیازی ندارند، آدرس هایی نیاز هست که با آدرس های عمومی تخصیص یافته در اینترنت یکسان نباشند. برای حل مشکل آدرس دهی، طراحان اینترنتی بخشی از فضای آدرس دهی IPv4 را رزرو کرده اند و نام این محدوده از آدرس ها را فضای آدرس های خصوصی نامگذاری کرده اند. یک آدرس IPv4 در فضای آدرس خصوصی به هیچ عنوان تحت نام یک آدرس عمومی به دیوایسی در اینترنت اختصاص داده نمیشود. ادرس های IPv4 ای که در محدوده آدرس خصوصی قرار دارند به آدرس های خصوصی معروف هستند. به علت ان که آدرس های عمومی و خصوصی با یکدیگر همپوشانی ندارند، آدرس های خصوصی هر با آدرس های عمومی یکی نخواهند شد.فضای آدرس خصوصی در RFC 1918 با پیشوندهای آدرسی زیر تعریف شده است:

10.0.0.0//8 (10.0.0.1 تا 10.255.255.254)
172.16.0.0//12 (172.16.0.1 تا 172.31.255.254)
192.168.0.0//16 (192.168.0.1 تا 192.168.255.254)

همانطور که گفتیم، به علت آنکه آدرس های موجود در محدوده خصوصی هرگز از سوی ICANN به شرکت های متصل به اینترنت داده نمیشود، مسیرهای مرتبط با پیشوندهای آدرس خصوصی هرگز در روترهای اینترنتی مسیریابی نمیشوند. بنابراین شما نمیتوانید با آدرس خصوصی به اینترنت متصل شوید. در نتیجه هاست هایی که آدرس خصوصی بر روی آن ها تنظیم شده است، درخواست ترافیک اینترنت خود را باید به یک Gateway لایه هفتی (Application) مانند سرور پروکسی که دارای آدرس عمومی است ارسال کند یا از طریق مکانیزم NAT آدرس خصوصی خود را به آدرس معتبرعمومی تغییر دهد.

وب سایت توسینسو

خوب دوستان تا اینجا توانستیم بصورت خیلی شیک و مجلسی تعریفی از آدرس های IP عمومی و خصوصی ارائه دهیم، اما همانطور که میدانید همه چیز در این قیافه شیک و رسمی جای نمیگیرد و نکات ریز بسیاری در این باره وجود دارد که گفتن آن ها برای پیشبرد کار الزامی میباشد.

در قسمت پیش طبق آن چیزی که از تیتر نکته بر می آمد، به توضیح رسمی درباره آدرس های عمومی و خصوصی پرداختیم اما موضوع به این تعاریف ختم نمیشود و برای اجرایی کردن این مطالب نکات ریز بسیاری وجود دارند که دانستن آن ها الزامی میباشد. در این قسمت به بررسی این نکات میپردازیم. پیشنهاد میشود قبل از مطالعه این بخش، قسمت اول را مطالعه بفرمائید:

آدرس های غیرمجاز

شبکه های اینترانت خصوصی شرکت و سازمان هایی که به ارتباط اینترنت احتیاجی ندارند، برای آدرس دهی شبکه خود میتوانند از هر فرمت آدرس دهی مورد مورد علاقه خود بدون هیچ محدودیتی استفاده کنند. حتی میتوانند از بازه آدرس های عمومی که توسط ICANN تخصیص داده میشود هم برای شبکه خصوصی خود استفاده کنند. اما اگر شبکه مورد نظر بخواهد بعدا با اینترنت ارتباط برقرار کند، ممکن است آدرس های تخصیص داده شده در شبکه با آدرس های عمومی ای که ICANN در سطح اینترنت تخصیص داده است.

همپوشانی و تداخل داشته باشد. در این صورت این آدرس ها به عنوان آدرس های غیر مجاز تلقی میشوند. ارتباط با اینترنت بوسیله آدرس های غیرمجاز امکان پذیر نیست، به علت آنکه روترهای اینترنتی ترافیک را به دیوایسی که ICANN به آن آدرس عمومی تخصیص داده است هدایت میکنند نه به سازمان شما که از آدرس غیر مجاز استفاده میکند. دیوایس مورد نظر ممکن است در هر نقطه از جهان باشد.

برای مثال یک شرکت خصوصی از پیشوند آدرسی 24//207.73.118.0 برای شبکه اینترانت خود استفاده میکند. از طرفی سازمان ICANN این پیشوند آدرسی عمومی را به شرکت مایکروسافت تخصیص داده است؛ بنابراین مسیرهایی که در روترهای اینترنتی وجود دارند، طوری است که تمام ترافیک آدرس دهی شده به این پیشوند آدرسی را به روترهای شرکت مایکروسافت ارسال میکنند. تا زمانی که شرکت مذکور شبکه خود را به اینترنت ارتباط نداده است، هیچ مشکلی وجود ندارد؛

بخاطر آن که این دو پیشوند آدرسی یکسان در دو شبکه مختلف قرار دارند؛ در نتیجه با وجود یکسان بودن، در شبکه های خود منحصربفرد هستند. اما اگر این شرکت خصوصی بخواهد در آینده شبکه خود را مستقیما به اینترنت ارتباط دهد و همچنان از این پیشوند آدرسی استفاده نماید، پاسخ هر درخواست اینترنتی از این شرکت مستقیما به روترهای شرکت مایکروسافت و شبکه مایکروسافت تحویل خواهد شد و عملا هیچ جوابی از اینترنت هرگز به شبکه شرکت نخواهد رسید.

آدرس دهی خصوصی خودکار (APIPA)

اینترفیس های موجود بر روی سیستم عامل های مایکروسافت (XP به بعد ویندوز سرور 2003 به بعد) طوری پیکربندی شده اند که بتواند بصورت خودکار یک ساختار آدرس IPv4 را که نیازی به ارتباط با سرور DHCP ندارد را تخصیص دهد. این کار توسط پیکربندی ثانویه (Alternate Configuration) که با همین نام در تب اختصاصی خود قرار دارد، انجام میشود. اگر در تب Alternate Configuration گزینه (Automatic Private IP Address (APIPA انتخاب شود و سرور DHCP قابل شناسایی نباشد.

TCPIP از گزینه APIPA استفاده میکند. TCPIP بصورت رندوم یک آدرس را از پیشوند آدرسی 16 169.254.0.0و با Subnet mask ای معادل 255.255.0.0 انتخاب میکند. این پیشوند آدرسی توسط ICANN رزرو شده است و در اینترنت قابل استفاده نیست. APIPA به شبکه های کوچک خانگیاداری (SOHO) این اجازه را میدهد تا بدون نیاز به پیکربندی دستی و یا مدیریت یک سرور DHCP، از خدمات و سرویس های TCP/IP استفاده کنند. APIPA در پیکربندی خود از Default Gateway استفاده نمیکند؛ بنابراین فقط انتقال ترافیک های محلی شبکه امکان پذیر خواهد بود.

آدرس های IP خاص

در زیر آدرس های IP خاص آورده شده اند:

0.0.0.0

به نام "آدرس نامشخص" شناخته میشود و برای نشان دادن عدم وجود یک آدرس استفاده میشود. آدرس نامشخص به عنوان آدرس مبدا فقط زمانی استفاده میشود که نود مورد نظر با یک آدرس IPv4 پیکربندی نشده باشد و یا در حال تلاش برای بدست آوردن آدرس از طریق DHCP باشد.

127.0.0.1 چیست؟

به آدرس لوپ بک (loopback) معروف است و به یک اینترفیس داخلی Loopback تخصیص داده میشود؛ این آدرس نود را آماده میکند که ترافیک را از خودش به خودش ارسال کند.

راهنمای استفاده از آدرس دهی IPv4 Unicast

در موقع تخصیص شناسه شبکه (Network ID) به subnet های شبکه یک شرکت از راهنمای زیر استفاده کنید:

  • شناسه شبکه باید در بین تمام subnet های شبکه، منحصربفرد باشد. اگر شناسه شبکه برای Subnet ای باشد که هاست های آن بطور مستقیم به اینترنت دسترسی دارند، باید از یک پیشوند آدرس عمومی که توسط ICANN و یا ISP تخصیص داده شده است، استفاده کرد. اگر شناسه شبکه مربوط به Subnet ای باشد که هاست های آن بطور مستقیم به اینترنت دسترسی ندارند، میتوان از پیشوند آدرسی عمومی معتبر و یا خصوصی برای آدرس دهی استفاده کرد که در اینترانت اختصاصی شما منحصربفرد باشد.
  • شناسه شبکه نباید با اعداد 0 و یا 127 شروع شود.هردوی این مقادیر برای آکتت اول رزرو شده اند و نمیتوانند در آدرس IPv4 Unicast استفاده شوند.هنگام تخصیص شناسه هاست به نود های موجود در Subnet موارد زیر را بخاطر داشته باشید:
  • شناسه هاست باید در سطح Subnet منحصربفرد باشد.
  • شما نمی توانید برای تمام بیت های شناسه هاست از صفر و یا یک استفاده کنید.

وقتی که بازه ای از آدرس های Unicast را برای پیشوند آدرسی گرفته شده تعریف میکنید، از استاندارد زیر استفاده کنید:

  • برای اولین آدرس IPv4 در بازه، تمام بیت های هاست را بجز آخرین بیت برابر صفر و بیت آخر را برابر یک قرار دهید.
  • برای آخرین آدرس IPv4 در بازه، تمام بیت های هاست را بجز بیت آخر برابر یک و بیت آخر را برابر صفر قرار دهید.

به عنوان مثال برای بیان بازه آدرسی برای پیشوند آدرسی 192.168.16.0//20 داریم:

  • اولین آدرس در بازه برابر 0001000000000001 10101000 11000000 یا 192.168.16.1است.
  • آخرین آدرس در بازه برابر 0001111111111110 10101000 11000000 یا 192.168.31.254است.

مانا و ITPro باشید.


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

نظرات