آدرس IP چیست؟
آدرس IP عددی است که یک دستگاه را در شبکه مشخص میکند تا دستگاههای دیگر بتوانند برای آن داده بفرستند. این آدرس مانند نشانی پستی عمل میکند: مسیریابها آدرس مقصد هر بسته را میخوانند و آن را مرحله به مرحله جلو میبرند تا به مقصد برسد. امروزه دو نسخه در استفاده است: IPv4 (مثلاً 192.0.2.10) و IPv6 (مثلاً 2001:db8::10).
قالب آدرسهای IPv4 و IPv6
آدرس IPv4 32 بیت دارد و بهصورت چهار عدد دهدهی از 0 تا 255 نوشته میشود که با نقطه از هم جدا شدهاند، مانند 203.0.113.25. هر عدد یک بایت است که به آن اکتت (octet) میگویند. تعداد کل آدرسهای ممکن IPv4 برابر 232، یعنی حدود 4.3 میلیارد است. این عدد از تعداد دستگاههای جهان کمتر است و به همین دلیل اشتراکگذاری آدرس ضروری شد.
آدرس IPv6 128 بیت دارد و بهصورت هشت گروه چهاررقمی از ارقام هگزادسیمال نوشته میشود که با دونقطه جدا شدهاند: 2001:0db8:0000:0000:0000:0000:0000:0010. دو قاعده آن را کوتاهتر میکند:
- صفرهای ابتدای هر گروه را میتوان حذف کرد:
0db8بهdb8تبدیل میشود. - یک دنباله از گروههای کاملاً صفر را میتوان با
::جایگزین کرد، اما فقط یک بار در هر آدرس.
بنابراین آدرس بالا معمولاً بهصورت 2001:db8::10 نوشته میشود. IPv6 دارای 2128 آدرس است، به اندازهای که هر شبکه میتواند یک بلوک بسیار بزرگ دریافت کند.
آدرس عمومی و خصوصی
آدرس عمومی در اینترنت یکتاست و از هر جا میتوان به آن دسترسی داشت (به شرط آنکه فایروالی مانع نشود). آدرس خصوصی فقط داخل یک شبکه محلی معتبر است. بسیاری از شبکههای خانگی و اداری همزمان از همین بازههای خصوصی یکسان استفاده میکنند، چون این آدرسها هرگز در اینترنت عمومی مسیریابی نمیشوند.
RFC 1918 سه بازه خصوصی IPv4 را تعریف میکند:
| بازه | CIDR | تعداد آدرس |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,536 |
بازههای ویژه دیگر IPv4 که با آنها روبهرو میشوید:
- Loopback، 127.0.0.0/8: دستگاه با خودش صحبت میکند.
127.0.0.1همان localhost است. در IPv6 آدرس loopback برابر::1است. - Link-local، 169.254.0.0/16: وقتی دستگاه از طریق DHCP درخواست آدرس میدهد و پاسخی نمیگیرد، این آدرس را برای خودش برمیدارد. اگر
169.254.x.xرا میبینید، احتمالاً DHCP کار نمیکند. IPv6 برای آدرسهای link-local ازfe80::/10استفاده میکند و هر رابط IPv6 یکی از آنها را دارد. - Carrier-grade NAT (CGNAT)، 100.64.0.0/10: بازهای مشترک (RFC 6598) که ارائهدهندگان اینترنت بین مشترکان و دستگاههای NAT خود به کار میبرند. اگر آدرس WAN مسیریاب شما در این بازه باشد، آدرس IPv4 عمومی واقعی ندارید.
- بازههای مستندات:
192.0.2.0/24،198.51.100.0/24و203.0.113.0/24(و2001:db8::/32برای IPv6) برای مثالها، مانند مثالهای همین مقاله، رزرو شدهاند.
در IPv6، آدرسهای unique local در fc00::/7 (در عمل fd00::/8) معادل بازههای خصوصی IPv4 هستند. آدرسهای global unicast در حال حاضر با 2000::/3 شروع میشوند.
NAT چگونه یک آدرس عمومی را به اشتراک میگذارد
ترجمه آدرس شبکه (NAT) اجازه میدهد دستگاههای خصوصی زیادی از یک آدرس عمومی IPv4 استفاده کنند. وقتی لپتاپ شما با آدرس 192.168.1.20 یک وبسایت را باز میکند، مسیریاب آدرس مبدأ را با آدرس عمومی خودش جایگزین میکند و اتصال را در جدولی ثبت میکند و برای تشخیص اتصالها از شماره پورتها کمک میگیرد. وقتی پاسخ برمیگردد، مسیریاب آن را دوباره ترجمه میکند و به لپتاپ میدهد.
NAT یک اثر جانبی دارد: میزبانهای بیرونی نمیتوانند به دستگاهی پشت آن اتصال برقرار کنند، مگر اینکه port forwarding تنظیم کنید. این یک ویژگی امنیتی واقعی نیست، اما باعث میشود سرویسی که در خانه اجرا میشود بهطور پیشفرض از بیرون در دسترس نباشد. در CGNAT ارائهدهنده اینترنت NAT دومی انجام میدهد، بنابراین port forwarding روی مسیریاب خودتان کمکی نمیکند.
آدرس ثابت و پویا
آدرس پویا بهطور خودکار و معمولاً توسط DHCP اختصاص مییابد و ممکن است در طول زمان تغییر کند. بیشتر اتصالهای اینترنت خانگی و بیشتر دستگاههای شبکه محلی از آدرس پویا استفاده میکنند. آدرس ثابت را دستی تنظیم میکنند یا برای یک دستگاه رزرو میکنند و هرگز تغییر نمیکند. سرورها، چاپگرها و تجهیزات شبکه معمولاً به آدرس ثابت نیاز دارند، چون سیستمهای دیگر به یافتن آنها در همان محل وابستهاند.
چگونه آدرس IP خود را پیدا کنیم
دو آدرس را باید بشناسید: آدرس خصوصی دستگاه شما و آدرس عمومی که وبسایتها میبینند. آدرس عمومی را ابزار آی پی من چیست نشان میدهد. این ابزار همچنین مشخص میکند که با IPv4 متصل هستید یا IPv6.
برای دیدن آدرس خصوصی دستگاه خود:
- Windows: در Command Prompt دستور
ipconfigرا اجرا کنید. - macOS: در Terminal دستور
ipconfig getifaddr en0را اجرا کنید (Wi-Fi معمولاًen0است). - Linux: دستور
ip addrرا اجرا کنید.
اگر آدرس نمایشدادهشده در صفحه وضعیت مسیریاب با آدرسی که ابزار آنلاین نشان میدهد متفاوت باشد، مسیریاب شما پشت NAT یا CGNAT قرار دارد یا از VPN یا پراکسی استفاده میکنید.
مبانی پذیرش IPv6
IPv6 برای جایگزینی IPv4 طراحی شد، چون فضای آدرس قدیمی تمام شده است. در عمل هر دو در کنار هم کار میکنند که به آن dual stack میگویند. بسیاری از شبکههای بزرگ، اپراتورهای موبایل و ارائهدهندگان محتوا از IPv6 پشتیبانی میکنند، اما سایتهای کوچکتر و شبکههای سازمانی زیادی هنوز فقط از IPv4 استفاده میکنند، بنابراین نمیتوان فرض کرد IPv6 همهجا کار میکند.
چند نکته عملی:
- IPv6 معمولاً به NAT نیاز ندارد، چون هر دستگاه میتواند آدرس سراسری داشته باشد. به همین دلیل فایروال اهمیت دارد.
- یک شبکه خانگی معمولی یک بلوک
/56یا/64دریافت میکند و هر شبکه محلی از یک/64استفاده میکند. جزئیات را در راهنمای زیرشبکهبندی ببینید. - یک دامنه آدرس IPv6 خود را در رکورد AAAA منتشر میکند، همانطور که در DNS چگونه کار میکند توضیح داده شده است.
گامهای بعدی
اگر میخواهید شبکهای را به بخشهای کوچکتر تقسیم کنید یا بدانید یک بازه چند میزبان دارد، از محاسبهگر سابنت استفاده کنید. برای فهمیدن معنی عددهای بعد از اسلش، مقاله سابنت ماسک و CIDR را بخوانید.