IP چیست؟
جواب کوتاه
IP نشانی عددی هر دستگاه در شبکه است؛ مثل پلاک خانه یا شمارهی تلفن، تا هر پیام بداند کجا برود و جوابش کجا برگردد. نشانیها دو نسل دارند (IPv4 مثل 192.168.1.10 و IPv6 که بسیار بلندتر است) و هر نشانی یا عمومی است یا خصوصی، و یا ثابت است یا داینامیک.
نشانی، مثل پلاک خانه
نامهای را تصور کنید که روی پاکتش نشانی ننوشتهاند. نامهرسان نمیداند آن را کجا ببرد. پس نامه هیچوقت نمیرسد.
پیامهایی که در اینترنت میروند هم همینطورند. هر عکسی که میفرستید، هر صفحهای که باز میکنید، باید بداند به کدام دستگاه برود. برای همین هر دستگاهی که به شبکه وصل است، یک نشانی دارد.
فقط یک فرق هست: نشانی دستگاهها اسم کوچه و خیابان ندارد. فقط عدد است. به این نشانی عددی میگویند «نشانی IP»، یا خیلی وقتها فقط «IP» (آیپی).
IP مخفف چیست و چه کار میکند
IP مخفف Internet Protocol است، یعنی «پروتکل اینترنت». پروتکل یعنی قاعدهای که همهی دستگاهها بلدند (در درس «شبکه چیست» دیدیم که پیام تکهتکه، به شکل بسته، میرود).
قاعدهی IP ساده است: روی هر بسته دو نشانی نوشته میشود. نشانی فرستنده، تا جواب بداند کجا برگردد؛ و نشانی گیرنده، تا بسته بداند کجا برود. هر دستگاهی که سر راه است، فقط نشانی گیرنده را میخواند و بسته را یک قدم نزدیکتر میفرستد. این قاعده را سال ۱۹۸۱ در سندی به نام RFC 791 نوشتهاند و اینترنت هنوز با آن کار میکند.
پس «IP» دو معنا دارد: خود قاعده، و عددی که نشانی هر دستگاه است. وقتی کسی میگوید «IP گوشیات چیست؟»، منظورش همان عدد است. «TCP/IP» هم که زیاد میشنوید، دو قاعده است که با هم کار میکنند: IP بسته را به مقصد میرساند و TCP مراقب است تکهها گم نشوند و به ترتیب کنار هم چیده شوند.
یک IP چطور نوشته میشود (چهار عدد از ۰ تا ۲۵۵)
رایجترین شکل نشانی IP این است: چهار عدد که با نقطه از هم جدا شدهاند، مثل 192.168.1.10. هر کدام از این چهار عدد، کمترین ۰ است و بیشترین ۲۵۵. نشانیای مثل 256.1.1.1 اصلا وجود ندارد.
چرا ۲۵۵؟ چون کامپیوتر با کلیدهای روشن و خاموش کار میکند، با صفر و یک. هر کدام از آن چهار عدد، در واقع هشت کلید است. هر کلید ارزشی دارد: ۱۲۸، ۶۴، ۳۲، ۱۶، ۸، ۴، ۲ و ۱. کلیدهای روشن را جمع میکنیم. اگر دو کلید اول روشن باشند، میشود ۱۹۲. اگر هر هشت کلید روشن باشند، میشود ۲۵۵؛ بیشتر از این نمیشود.
هشت کلید با هم ۲۵۶ حالت دارند، از صفر تا ۲۵۵. چهار عدد، یعنی ۳۲ کلید، و این همان چیزی است که در سند IP آمده: نشانی ۳۲ بیتی (هر کلید یک «بیت» است). با ۳۲ بیت، حدود ۴٫۳ میلیارد نشانی مختلف میشود ساخت (دقیقا ۴٬۲۹۴٬۹۶۷٬۲۹۶).
نشانی را باز کنید
یک نشانی بنویسید، یا یکی از نمونهها را بزنید. چهار بخشش را میبینید، کلیدهای هر بخش را، و اینکه چه نوع نشانیای است. همهچیز همینجا در مرورگر شما حساب میشود و چیزی به جایی نمیرود.
انواع IP در یک نگاه
وقتی میگویند «انواع IP»، منظور سه جفت است. هر نشانی از هر جفت، یکی را دارد:
- نسل: IPv4 یا IPv6. نسل اول چهار عدد با نقطه است؛ نسل دوم خیلی بلندتر، چون نشانیهای نسل اول کم آمد.
- جا: عمومی یا خصوصی. نشانی عمومی در کل اینترنت یکی است؛ نشانی خصوصی فقط در خانه یا اداره معنا دارد.
- ماندگاری: ثابت یا داینامیک. نشانی ثابت عوض نمیشود؛ نشانی داینامیک برای مدتی داده میشود و ممکن است فردا چیز دیگری باشد.
مثلا گوشی شما در خانه، معمولا نشانیای از نسل IPv4 دارد که خصوصی و داینامیک است. سرور یک سایت، معمولا نشانی عمومی و ثابت. سه بخش بعد، این سه جفت را یکییکی باز میکنند.
IPv4 و IPv6: چرا نشانیها کم آمد
حدود ۴٫۳ میلیارد نشانی در سال ۱۹۸۱ خیلی زیاد به نظر میرسید. ولی امروز هر آدم یک گوشی دارد، شاید یک لپتاپ، و خانهها پر از دستگاه است. نشانیها کم آمد. روز ۳ فوریهی ۲۰۱۱، سازمانی که نشانیها را در دنیا پخش میکند، آخرین بستههای IPv4 خودش را داد و انبارش خالی شد (NRO). ثبتکنندهای که به ایران و اروپا نشانی میدهد، ۲۵ نوامبر ۲۰۱۹ اعلام کرد نشانی آزاد IPv4 ندارد (RIPE NCC).
راهحل از سالها پیش آماده بود: IPv6. نشانی IPv6 بهجای ۳۲ بیت، ۱۲۸ بیت است (RFC 8200). یعنی حدود ۳۴۰ میلیارد میلیارد میلیارد میلیارد نشانی؛ آنقدر زیاد که کم آمدنش در کار نیست.
نشانی IPv6 شکل دیگری هم دارد: هشت گروه چهارحرفی که با دونقطه جدا شدهاند، با عددها و حرفهای a تا f. مثلا 2001:db8:85a3:0:0:8a2e:370:7334. صفرهای پشت سر هم را میشود با «::» کوتاه کرد، ولی فقط یک بار در هر نشانی: 2001:db8:85a3::8a2e:370:7334.
IPv6 جای IPv4 را نگرفته است؛ هر دو کنار هم کار میکنند و بیشتر گوشیها و سایتها هر دو را بلدند. اینکه چطور کنار هم کار میکنند و چه فرقهای دیگری دارند، درس بعد است: «IPv4 و IPv6».
IP عمومی و خصوصی (پابلیک و پرایوت)
یک اداره را تصور کنید. اداره یک شماره تلفن دارد که همهی شهر میتوانند بگیرند. ولی هر میز داخل اداره هم یک شمارهی داخلی دارد، مثلا ۱۰۱. شمارهی داخلی فقط داخل همان اداره کار میکند؛ از بیرون کسی نمیتواند «۱۰۱» را بگیرد. و ادارهی کناری هم میتواند یک داخلی ۱۰۱ داشته باشد، بی هیچ دردسری.
نشانی عمومی (Public) همان شمارهی اداره است: در کل اینترنت یکی است و از هر جای دنیا به همان دستگاه میرسد. شرکت اینترنت شما آن را به مودم خانهتان میدهد. در زبان شرکتهای اینترنت در ایران، به نشانی عمومی «IP valid» یا «IP معتبر» هم میگویند.
نشانی خصوصی (Private) همان شمارهی داخلی است. سه بازه برای همین کار کنار گذاشته شده است (RFC 1918) و هر خانه و ادارهای میتواند بی اجازه از آنها استفاده کند:
- 10.0.0.0 تا 10.255.255.255
- 172.16.0.0 تا 172.31.255.255
- 192.168.0.0 تا 192.168.255.255
برای همین است که نشانی گوشی شما در خانه، احتمالا با 192.168 شروع میشود؛ مثل میلیونها گوشی دیگر در میلیونها خانهی دیگر. مشکلی هم پیش نمیآید، چون این نشانیها هیچوقت در اینترنت دیده نمیشوند.
NAT: یک نشانی بیرونی برای همهی خانه
اگر نشانی خصوصی در اینترنت دیده نمیشود، پس گوشی شما چطور سایت باز میکند؟ کار مودم است. مودم دو نشانی دارد: یک نشانی خصوصی رو به خانه، معمولا 192.168.1.1، و یک نشانی عمومی رو به اینترنت.
وقتی گوشی چیزی به بیرون میفرستد، مودم نشانی خصوصی گوشی را از روی بسته برمیدارد و نشانی عمومی خودش را مینویسد. یک شماره هم کنارش میگذارد و در دفترچهاش یادداشت میکند که این شماره مال کدام دستگاه است. جواب که برگشت، از روی همان شماره میفهمد جواب مال کیست. به این کار NAT میگویند، مخفف Network Address Translation، یعنی «ترجمهی نشانی شبکه» (RFC 3022). امتحان کنید:
خانه، نشانیهای خصوصی
مودم
داخل: 192.168.1.1بیرون: 203.0.113.7
دفترچهی مودم
هنوز چیزی ننوشته است.
اینترنت
سرور سایت 198.51.100.20
NAT یکی از دلیلهایی است که IPv4 با همهی کمبودش هنوز کار میکند: یک نشانی عمومی برای همهی دستگاههای یک خانه. بعضی شرکتهای اینترنت هم همین کار را در مقیاس بزرگ میکنند و چند مشترک را پشت یک نشانی عمومی میبرند. آنوقت نشانی بیرونی مودم شما هم ممکن است عمومی نباشد؛ مثلا با 100.64 شروع شود (RFC 6598).
IP ثابت و داینامیک (استاتیک و پویا)، و DHCP
وقتی گوشیتان به وایفای خانه وصل میشود، خودتان نشانیای برایش ننوشتهاید. پس از کجا آمد؟ مودم داد.
مثل پارکینگی که نگهبانش به هر ماشینی که میرسد، شمارهی یک جای خالی را میدهد، آن هم برای مدتی. ماشین که رفت، آن جا به ماشین بعدی میرسد. مودم هم همین کار را میکند. گوشی میگوید «نشانی میخواهم»، مودم یک نشانی آزاد پیشنهاد میدهد، گوشی همان را برمیدارد و مودم تأیید میکند: «مال شما، تا مدتی». به این قاعده DHCP میگویند (RFC 2131). اگر مدت تمام شود و دستگاه هنوز وصل باشد، آن را تمدید میکند.
نشانی داینامیک همین نشانیای است که برای مدتی داده میشود. برای همین است که IP شما گاهی عوض میشود: گوشی را خاموش و روشن کردهاید، مودم را دوباره راه انداختهاید، یا شرکت اینترنت نشانی تازهای به مودم داده است. بیشتر دستگاهها و بیشتر خانهها نشانی داینامیک دارند و لازم هم نیست چیز دیگری داشته باشند.
نشانی ثابت (استاتیک) عوض نمیشود. برای چیزی لازم است که دیگران باید همیشه پیدایش کنند: سرور یک سایت، دوربینی که از بیرون خانه دیده میشود، یا اتصال یک اداره. شرکتهای اینترنت IP ثابت را جدا ارائه میدهند. داخل خانه هم میشود به یک دستگاه، مثلا چاپگر، در تنظیمات مودم نشانی ثابت داد تا همیشه همانجا پیدا شود.
نشانیهای خاص: 127.0.0.1، 192.168.1.1 و کلاسهای قدیم
چند نشانی هستند که معنای خاص دارند و زیاد میبینیدشان (فهرست کامل: IANA):
- 127.0.0.1
- خود همین دستگاه. پیامی که به این نشانی فرستاده شود، از دستگاه بیرون نمیرود و به خودش برمیگردد. اسم دیگرش localhost است و برنامهنویسها برای آزمایش سایت روی کامپیوتر خودشان از آن استفاده میکنند.
- 192.168.1.1 یا 192.168.0.1
- معمولا نشانی مودم در شبکهی خانه. این یک قرارداد میان سازندههاست، نه قانون؛ نشانی دقیق مودم شما معمولا زیر خود دستگاه نوشته شده است. اگر آن را در مرورگر بزنید، صفحهی تنظیمات مودم باز میشود.
- 169.254.x.x
- دستگاه از مودم نشانی نگرفته و خودش برای خودش نشانی گذاشته است (RFC 3927). اگر این را دیدید، دستگاه به مودم درست وصل نیست.
- 192.0.2.x، 198.51.100.x، 203.0.113.x
- برای مثال زدن در کتابها و آموزشها کنار گذاشته شدهاند و مال هیچ دستگاهی نیستند (RFC 5737). نشانیهای عمومی همین درس هم از همینهاست.
شاید در کتاب درسی «کلاسهای IP» را هم دیده باشید: کلاس A، B و C. در سند اول IP، نشانیها از روی چند بیت اولشان سه کلاس بودند؛ کلاس A برای شبکههای خیلی بزرگ، C برای کوچک. این روش نشانیهای زیادی را هدر میداد و از سپتامبر ۱۹۹۳ کنار گذاشته شد (RFC 1519). امروز اندازهی هر شبکه آزاد است و با عددی مثل /24 کنار نشانی گفته میشود؛ درس «IPv4 و IPv6» آن را باز میکند.
چه کسی IP میدهد
نشانی عمومی باید در کل دنیا یکی باشد؛ پس نمیشود هر کس برای خودش یکی بردارد. نشانیها پلهپله پخش میشوند. بالای همه IANA است که بستههای بزرگ نشانی را به پنج ثبتکنندهی منطقهای میدهد (IANA). برای ایران، اروپا و خاورمیانه، این ثبتکننده RIPE NCC است؛ نشانیهای ایران در فهرست رسمی همین ثبتکننده آمده است (فهرست تخصیص RIPE NCC).
ثبتکنندهی منطقهای نشانیها را به شرکتهای اینترنت و سازمانها میدهد. شرکت اینترنت یک نشانی عمومی به مودم شما میدهد، و مودم به هر دستگاه خانه یک نشانی خصوصی. چهار ثبتکنندهی دیگر هم هستند: ARIN برای آمریکای شمالی، APNIC برای آسیا و اقیانوسیه، LACNIC برای آمریکای لاتین و AFRINIC برای آفریقا.
IP من چیست: دیدن IP گوشی و کامپیوتر
شما دو IP دارید و هر دو را میشود دید. اول، نشانی خصوصی دستگاه، که مودم داده است:
- گوشی (اندروید یا آیفون): در تنظیمات، بخش وایفای، روی نام شبکهای که به آن وصلاید بزنید. نشانی IP و نشانی روتر (همان مودم) آنجا نوشته شده است. نام دقیق منوها در هر گوشی کمی فرق میکند.
- ویندوز: برنامهی Command Prompt را باز کنید و ipconfig را بنویسید. جلوی IPv4 Address نشانی دستگاه است.
- مک: در تنظیمات سیستم، بخش شبکه، روی وایفای و بعد جزئیات بزنید.
دوم، نشانی عمومی، که سایتها شما را با آن میبینند. این نشانی مال مودم است، نه گوشی؛ برای همین در تنظیمات گوشی پیدایش نمیکنید. آن را در صفحهی تنظیمات مودم (معمولا با عنوان WAN) یا در سایتهایی میبینید که IP بازدیدکننده را نشانش میدهند. اگر گوشی را از وایفای جدا کنید و با اینترنت همراه وصل شوید، نشانی عمومی هم عوض میشود، چون حالا از راه شرکت دیگری بیرون میروید.
IP و پورت، IP و DNS، IP و MAC
IP و پورت. IP دستگاه را پیدا میکند؛ ولی روی یک دستگاه چند برنامه همزمان کار میکنند. پورت شمارهی هر برنامه است. اگر IP نشانی ساختمان باشد، پورت شمارهی اتاق است. شمارهای هم که در «مودم خانه» دیدید، همین پورت بود. درس «پورت چیست» آن را کامل میگوید.
IP و DNS. آدمها نام را به خاطر میسپارند، مثل یک نام سایت؛ دستگاهها عدد را. DNS مثل دفترچهتلفن است: نام سایت را میگیرد و IP سرورش را برمیگرداند. این هم درس خودش را دارد: «DNS چیست».
IP و MAC. هر کارت شبکه، از کارخانه یک شناسه دارد به نام نشانی MAC، مثل شمارهی شناسنامه. MAC فقط در همان شبکهی محلی به کار میآید و از مودم بیرون نمیرود. IP نشانیای است که با آن از شبکهای به شبکهی دیگر میرسیم، و ممکن است عوض شود.
اشتباههای رایج
- «با IP میشود نشانی خانهی من را پیدا کرد.»
- IP عمومی مال شرکت اینترنت شماست که به مودمتان داده است. از روی آن، حداکثر میشود حدس زد کدام شرکت و شاید کدام شهر؛ نه کوچه و پلاک.
- «IP هر دستگاه برای همیشه ثابت است.»
- بیشتر نشانیها داینامیکاند و برای مدتی داده میشوند. اینکه IP شما امروز با دیروز فرق دارد، کاملا عادی است.
- «192.168.1.10 روی گوشی من، IP اینترنت من است.»
- آن نشانی خصوصی است و فقط در خانه معنا دارد. سایتها نشانی عمومی مودم را میبینند.
- «IPv6 جای IPv4 را گرفته است.»
- هر دو کنار هم کار میکنند. IPv4 هنوز همهجا هست؛ فقط نشانی تازهاش دیگر بهآسانی پیدا نمیشود.
- «نشانی IP میتواند عددی مثل ۳۰۰ داشته باشد.»
- هر بخش نشانی IPv4 هشت کلید است و بیشتر از ۲۵۵ نمیشود.
جمعبندی. آنچه از این درس با خودتان میبرید.
- IP نشانی عددی هر دستگاه در شبکه است و روی هر بسته، نشانی فرستنده و گیرنده نوشته میشود.
- نشانی IPv4 چهار عدد با نقطه است و هر عدد از ۰ تا ۲۵۵، چون هر کدام هشت کلید روشن و خاموش است.
- نشانیهای IPv4 حدود ۴٫۳ میلیارد است و تمام شده؛ IPv6 با ۱۲۸ بیت جای تقریبا بیپایانی دارد و دو نسل کنار هم کار میکنند.
- نشانی خصوصی فقط در خانه یا اداره معنا دارد؛ مودم با NAT همه را پشت یک نشانی عمومی به اینترنت میبرد.
- بیشتر نشانیها داینامیکاند و DHCP آنها را برای مدتی میدهد؛ نشانی ثابت برای سرور و چیزهایی است که باید همیشه پیدا شوند.
- نشانیها از IANA به ثبتکنندههای منطقهای (برای ایران RIPE NCC)، بعد به شرکت اینترنت و بعد به مودم شما میرسند.
خودتان را بسنجید ۸ پرسش، اختیاری؛ نتیجه فقط برای خود شماست.