پس از به وجود آمدن اینترنت، این نیاز هم به وجود آمد تا یکسری دیوایس (دستگاه) نیز از طریق این شبکه با یکدیگر در ارتباط باشند و از همین روی Internet Protocol یا به اختصار IP ابداع شد به طوری که این پروتکل اینترنتی موجب میگردد تا کلیهٔ دیوایسهایی که از طریق این شبکه به یکدیگر متصل هستند از یک آدرس منحصربهفرد برخوردار شوند (همچنین میتوان گفت که IP خلاصهای از پروتکلهای TCP/IP است که مخفف واژگان Transmission Control Protocol/Internet Protocol میباشد.)
به طور کلی، Internet Protocol شامل یکسری اصول و قوانینی میشود که هر نوع فعالیتی که بر بستر اینترنت همچون شبکهٔ جهانی وب (WWW) صورت میگیرد را امکانپذیر سازد (به خاطر داشته باشید که اینترنت با شبکهٔ جهانی وب دو مقولهٔ کاملاً مجزا از یکدیگر هستند که برای کسب اطلاعات بیشتر در این خصوص، میتوانید به مقالهٔ آیا میدانستید تفاوت میان Internet و WWW چیست؟ مراجعه نمایید.)
مثالهایی از دنیای واقعی برای فهم بهتر IP
پیش از پرداختن به دیگر مباحث مرتبط با IP، میتوان به منظور درک بهتر ساختار آدرسهای آیپی، به چند مثال از دنیای واقعی اشاره کرد. فرض کنیم از یک فروشگاه آنلاین خریدی انجام میدهیم و مرسوله قرار است تا ظرف یک الی دو روز به دست ما برسد. حال سؤال اینجا است که تیم لُجستیک فروشگاه آنلاینی که از آن خرید کردهایم به چه شکل متوجه میشود که کالا را به چه آدرسی باید بفرستد. در پاسخ به این سؤال باید گفت که در حین ایجاد حساب کاربری در اکثر فروشگاههای آنلاین، درج آدرس کامل منزل (شامل استان، شهر، خیابان، کوچه، پلاک و واحد) الزامی است. در واقع، گذاشتن آدرس منزلمان در اختیار فروشگاه مذکور امکان برقراری ارتباط مأمور پستی با ما را فراهم خواهد ساخت. به عنوان مثالی دیگر، فرض کنید یک مهمانی ترتیب دادهاید و برخی از مهمانان غریبه بوده فلذا اولین باری است که به منزل شما تشریف میآورند. با در اختیار گذاشتن آدرس منزل، خواه به صورت شفاهی و خواه از دیگر طُرُق همچون گوگلمپ و غیره، این امکان را در اختیار ایشان قرار میدهیم که بتوانند خانهٔ ما را یافته و به مهمانی تشریف بیاورند.
در مثالهای فوق میبینیم که برخورداری از یک آدرس منحصربهفرد چهقدر میتواند برایمان در زندگی روزمره مفید واقع گردد (در این جمله، به صفت منحصربهفرد باید خوب دقت شود.) در واقع، از یک دید کلی میتوان آدرس منزلمان را به دو بخش کلی تقسیم کرد:
- نام استان، شهر، خیابان و کوچه که فقط مختص به ما نبوده و آدرسی عمومی است.
- پلاک منزل + شمارهٔ واحد که اختصاصی ما است.
آی پی - IP چیست؟
در دنیای اینترنت هم داستان تا حد بسیار زیادی به همین صورت است به طوری که IP این امکان را در اختیار شبکه میگذارد تا متوجه شود آدرس منحصربهفرد هر دیوایسی که به اینترنت متصل است چیست و از طریق همین آدرس اختصاصی است که بسیاری از کارهای تحت وب همچون ارسال/دریافت ایمیل، باز کردن وبسایت مورد علاقه، اتصال به وبسرویس شرکتهای مختلف و ... امکانپذیر میگردد.
همچون آدرس منزلمان که از دو بخش عمومی و اختصاصی تشکیل شده بود، آدرس آیپی نیز از این دو بخش تشکیل شده است که یکی Network Address است که همچون نام یک خیابان یا کوچه فقط به ما اختصاص نداشته بلکه طیف زیادی از کاربران میتوانند از یک آدرس شبکهٔ یکسان برخوردار باشند (همچون افراد زیادی که میتوانند در یک خیابان یا کوچه سکونت داشته باشند.) و یک آدرس اختصاصی همچون پلاک خانه که مختص به ما است که چنین آدرس اختصاصیای اصطلاحاً Host ID نام دارد.
برای روشنتر شدن این موضوع، مثالی میزنیم. یک شمارهٔ موبایل را در نظر بگیرید مثل 101-862-0918 که نیاز به توضیح نیست که بخش 0918 نشاندهندهٔ منطقهای است که صاحب خط در آنجا سکونت دارد (مثلاً مرکز و غرب ایران)، بخش 862 کمی اختصاصیتر شده (مثلاً نشاندهندهٔ شهر اراک است) و بخش پایانی که 101 میباشد شمارهٔ اختصاصی و منحصربهفرد صاحب خط است.
حال با ذکر این مثال میتوانیم به تحلیل یک آدرس آیپی مثلاً 195.195.92.161 بپردازیم که از چهار بخش مختلف تشکیل شده و این در حالی است که سه بخش اول (195.195.92) تحت عنوان Network Address شناخته میشود که آدرس عمومی است و مطمئناً مابین چندین و چند دیوایس مختلف مشترک است و بخش چهارم (161) که تحت عنوان Host ID شناخته شده و یونیک (منحصربهفرد) میباشد.
روی هم رفته، اگر بخواهیم به زبان کامپیوترها صحبت کنیم، یک آدرس IPv4 از 32 عدد ۰ و ۱ تشکیل شده است که در چهار بخش مختلف تقسیمبندی شدهاند که با این تفاسیر میتوانیم 4/294/967/296 آدرس آیپی مختلف داشته باشیم.
همانطور که در تصویر فوق مشخص است، یک آدرس IP داریم تحت عنوان 192.168.100.1 که به چهار قسمت مجزا تقسیمبندی شده است و هر کدام از این بخشها هشت بیت است که هر بیت هم میتواند ۰ یا ۱ باشد و برای اینکه این بیتها قابلدرک باشند، آنها را به اعداد به اصطلاح دِسیمال تبدیل میکنیم به طوری که معادل دِسیمال 11000000 عدد 192 است (لازم به ذکر است که آدرس آیپی 127.0.0.1 یا معادلش localhost برای سیستمهای لوکالی است که به هیچ شبکهای متصل نیستند.)
NAT چیست؟
پیش از این گفتیم که چیزی در حدود چهار میلیارد آدرس IP میتوانیم داشته باشیم اما این در حالی است که بیش از هفت میلیارد نفر در سراسر جهان زندگی میکند که بیش از نیمی از آنها به اینترنت دسترسی دارند که همین مسئله منجر بدین خواهد شد که با کمبود آدرس آیپی مواجه شویم! اینجا است که مفهومی تحت عنوان Network Address Translation یا به اختصار NAT به میان میآید که در دههٔ 1990 مطرح شد که سرعت مواجهه با کمبود این تعداد آدرس آیپی را به طرز قابلتوجهی کاهش داد.
برای درک بهتر NAT، سناریویی فرضی را در نظر میگیریم. فرض کنیم سه شخصیت داریم به نامهای سهند، بهزاد و ایمان که سهند میخواهد ویدیویی در ارتباط با آموزش نُودجیاس در یوتیوب مشاهده کند، بهزاد میخواهد وارد سایت سکان آکادمی شده و ایمان هم میخواهد یک ایمیل ارسال نماید. حال یک مأمور پست فرضی (NAT) را در نظر بگیریم که میآید و درخواست سهند برای ورود به سایت یوتیوب، درخواست بهزاد برای مشاهدهٔ سایت مد نظرش و همچنین درخواست ایمان برای ارتباط با سرویس ایمیلش را گرفته و برای سرویسهای مذکور ارسال میکند اما در عین حال، از تمامی آن سرویسها میخواهد تا پاسخها را به جای اینکه به طور مستقیم برای این سه نفر بفرستند، به وی تحویل دهند سپس خود این مأمور که NAT نام دارد تکتک پاسخها را به ترتیب به سهند، بهزاد و ایمان تحویل خواهد داد. در حقیقت، NAT چندین و چند آدرس آیپی را گرفته و در قالب یک آدرس با الباقی شبکه کانکشن برقرار میسازد. به عنوان مثال:
- آدرس IP سهند برابر است با 192.168.1.1
- آدرس IP بهزاد برابر است با 192.168.1.2
- آدرس IP ایمان برابر است با 192.168.1.3
حال آدرسهای فوق توسط NAT به یک آدرس IP همچون 63.102.254.33 تبدیل شده و ریکوئستهای این کاربران از طریق این آدرس واحد با دیگر بخشهای شبکهٔ اینترنت عملی شده، سپس ریسپانس دریافتی به دست NAT رسیده و آن هم پاسخ مناسب هر کاربر را در اختیارش قرار میدهد (در حقیت وجود NAT است که گاهی اوقات میبینیم ما و دیگر کاربران یک ISP از آدرس IP یکسانی برخورداریم.)
نیاز به توضیح نیست که با رصد کردن آدرس IP میتوان به موقعیت جغرافیایی ISP و همچنین کاربرانی که اینترنت خود را از آن تأمین کردهاند دست یافت و اینجا است که باید به سازمانهای ذیربط این حوزه آشنایی پیدا کرد که برخی از مهمترین آنها عبارتند از:
- ICANN: سازمانی غیرانتفاعی واقع در کالیفرنیا است که مسئول مدیریت آدرسهای دامنه و همچنین آدرسهای آیپی است.
- IANA: سازمانی است که مسئولیت سرپرستی IP، DNS و MIME Type را دارا است.
درآمدی بر IPv4 و IPv6
وجهتسمیهٔ IPv4 این است که آدرسهای متعلق به این نسخه از چهار بخش تشکیل شدهاند که هر بخش از یک تا سه عدد را شامل میگردد که این چهار بخش با یک نقطه از یکدیگر جدا شدهاند و هر یک از آنها هم میتواند یکی از اعداد قرار گرفته در بازهٔ ۰ تا ۲۵۵ باشد. IPv6 از هشت گروه از اعداد چهارتایی تشکیل شده است. به طور کلی، میتوان به تعداد 3.4 × 38^10 آدرس منحصربهفرد از این نوع داشت که عدد خیلی بزرگی است. تفاوتهای این دو نسخهٔ از آیپی به مراتب بیش از این حرفها است و در همین راستا توصیه میکنیم به منظور درک بهتر تفاوتها، به مقالهٔ درآمدی بر تفاوتهای مابین IPv4 و IPv6 مراجعه نمایید.
درآمدی برای آدرسهای آیپی Static و Dynamic
در یک تقسیمبندی کلی، میتوان آدرسهای آیپی را به دو گروه استاتیک (ثابت) و دینامیک (پویا) تقسیم کرد بدین صورت که آدرسهای استاتیک هرگز تغییر پیدا نمیکنند و در عین حال تعدادشان محدود است و به هر کاربری نمیتوان یک آدرس استاتیک اختصاص داد. اما آیپیهای دینامیک متغیر و موقتی هستند به طوری که هر موقع دیوایسی به شبکهٔ اینترنت متصل میشود، از طریق DHCP یک آدرس دینامیک به آن اختصاص مییابد (DHCP مخفف واژگان Dynamic Host Configuration Protocol است.) و این در حالی است که با قطع دستگاه از اینترنت، آدرس اختصاصیافته آزاد شده و ممکن است به کاربر دیگری اختصاص یابد.
کاربرد آدرسهای آیپی استاتیک در وُیپ، گیم آنلاین و اساساً هر سرویسی است که نیاز داشته باشیم تا کاربران به سادگی لوکیشن کامپیوتر مقصد را یافته و به آن متصل شوند اما آیپی دینامیک اینگونه نیست و به خاطر داشته باشیم که به منظور سهولت یافتن دیوایسهایی که از یک آدرس آیپی دینامیک برخوردارند، شرکتهای ISP سازوکارهایی دارند که این امکان را فراهم میسازند تا دیوایسی که از طریق زیرساخت آنها به شبکهٔ اینترنت متصل شده است، به راحتی توسط دیگر دستگاههای تحت شبکه شناسایی شود هرچند که آدرسشان متغیر و موقتی است.