به عنوان توسعه دهنده ی وب و یا مدیر یک مجموعه همیشه خوب است که حواسمان به تغییرات پروتکل ها (مانند IPv4 و IPv6 و HTTP/2) و نحوه ی اثرگذاری آن ها بر کارمان باشد. آدرس های IPv4 در حال انقراض هستند و دنیا در حال حرکت به سمت IPv6 است تا بتوانیم تمام دستگاه ها را به اینترنت متصل کنیم. در این مقاله می خواهیم در رابطه با تفاوت های بین IPv4 و IPv6 صحبت کرده و به سرگذشت IPv5 نگاهی بیندازیم.
IPv4 (مخفف Internet Protocol Version 4 - به معنی نسخه ی چهارم پروتکل اینترنت) یک عدد دودویی (باینری - binary) که برای شناسایی کامپیوترها و دستگاه های دیگر در شبکه ی TCP/IP مورد استفاده قرار می گیرد. اولین نسخه از آن در سال 1983 میلادی و توسط گروه (Internet Engineering Task Force (IETF و در RFC 791 (نسخه ی به روز رسانی شده ی RFC 760) تعریف شد. آدرس های IPv4 در واقع 32 بیتی هستند و 5 کلاس مختلف به نام های A و B و C و D و E دارند. از این میان کلاس های A و B و C برای مشخص کردن آدرس میزبانِ (host) شبکه طول بیت های مختلفی دارند. آدرس های کلاس D برای برای multicasting و آدرس های کلاس E برای استفاده های آینده رزرو شده اند. IPv4 از رکوردهای منابع کلاس A در DNS استفاده می کند تا نام هاست ها را به IP ها متصل کند.
مثال زیر را ببینید؛ این یک آدرس IPv4 برای www.google.com است (172.16.254.1
). اعداد بین هر علامت نقطه (علامت اعشار) بین 0 و 255 هستند و octet نام دارند؛ بنابراین در هر آدرس IP چهار octet وجود دارد:
از آنجا که در هر آدرس IP فقط 4 octet وجود دارد، تعداد IP های ممکن 4.2 میلیارد خواهد بود. شاید به نظرتان 4 میلیارد عدد بزرگی است اما از اوایل دهه ی 1980 میلادی و شایع شدن اینترنت این محدودیت باعث ایجاد مشکلات متعددی شده است، چرا که دیگر هیچ آدرسی باقی نمانده است (مگر در شرایط خاص و برای استفاده های خصوصی). برای روشن تر شدن موضوع باید بگویم که مجموعه ی آدرس های IPv4 رایگان ARIN در 24 سپتامبر سال 2015 خالی شد! همچنین با مراجعه به http://www.potaroo.net/tools/ipv4/ می توانید برخی دیگر از مجموعه IP های خالی شده را مشاهده کنید:
وضعیت چنان بحرانی شده است که برای دریافت IPv4 باید پروسه ای بسیار طولانی را طی کنید تا مشخص شود که آیا چنین IP به شما تعلق می گیرد یا خیر. به همین خاطر IPv6 ارائه شد.
برای مشخص کردن ping یک آدرس IPv4 می توانید command prompt ویندوز را باز کرده و داخل آن کلمه ی ping را به همراه آدرس سایت مورد نظرتان بنویسید. مثلا ping google.com
ping گرفتن یعنی ارسال بسته های ICMP به آدرسی خاص و اندازه گیری زمان سپری شده تا لحظه ی دریافت پاسخ. مفهوم ping به این دلیل اهمیت پیدا می کند که به latency وب سایت ها مربوط می شود و به طور مستقیم با تاخیر و کُندی وب سایت ها (در واحد میلی ثانیه) در ارتباط است؛ چقدر طول می کشد که داده ای در اینترنت جا به جا شود، به مقصدش برسد و به شما برگردد. بنابراین هر چه ping سریع تر باشد (مقدار ping کمتر باشد) یعنی اتصال ما زنده تر و سریع تر است.
IPv6 (مخفف Internet Protocol Version 6) به دلیل کمبود آدرس های IP برای جایگزینی IPv4 طراحی شد. این بار گروه IETF در سال 1996 و در RFC 1883 معرفی شد. آدرس های IPv6 دارای 128 بیت طول (16 بایت) هستند بنابراین با IPv6 می توانیم 2 به توان 128 آدرس IP مختلف داشته باشیم! اگر این عدد را محاسبه کنیم چیزی شبیه به 340,282,366,920,938,000,000,000,000,000,000,000,000 می شود! بنابراین دیگر جای نگرانی از بابت کمبود آدرس های IP موجود نداریم.
IPv6 (به جای A) از رکوردهای منابع AAAA در DNS برای میزبانی IP ها استفاده کرده و از IPSec پشتیبانی می کند. آدرس زیر یک نمونه آدرس IPv6 متعلق به گوگل است:
2607:f8b0:4005:804::200e
همچنین باید بدانید که صفرهای ابتدایی قابل حذف هستند چرا که آدرس های IPv6 می توانند به سه حالت فشرده شده، فشرده نشده و کاملا آزاد (بدون هیچ فشرده سازی) نوشته شوند.
همچنین اگر به آمار گزارش شده توسط گوگل از اتصال از طریق IPv6 توجه کنید متوجه می شوید که میزان اتصال با IPv6 سر به فلک گذاشته است و با سرعتی باورنکردنی در حال رشد می باشد. در صف اول این تکنولوژی بلژیک با 45 درصد و آمریکا با 29 درصد قرار دارند.
برای مشخص کردن ping یک آدرس IPv6 می توانید command prompt ویندوز را باز کرده و داخل آن کلمه ی ping را به همراه آدرس سایت مورد نظرتان بنویسید.
برای سیستم های UNIX:
ping6 google.com
برای سیستم های ویندوز:
ping google.com -6
اگر می خواهید بدانید که ISP شما (شرکت هایی مانند شاتل، صبانت، مخابرات و ... که خدمات اینترنت و پهنای باند ارائه می کنند) از IPv6 استفاده می کند یا خیر می توانید به سایت هایی مانند test-ipv6.com و ipv6test.google.com سر بزنید و اتصال خود را چک کنید. توجه داشته باشید که هنوز ISP های بسیار زیادی (حتی در خارج از ایران) از IPv6 استفاده نمی کنند چرا که این کار به تغییرات زیر بنایی مهمی نیاز دارد.
بیشتر بودن تعداد آدرس ها تنها مزیت IPv6 نیست. از مزایای دیگر آن می توان به موارد زیر اشاره کرد:
هیچ وقت حرفی از IPv5 به میان نیامد و دلیلش هم این بود که IPv5 برای دلایل دیگری استفاده می شد! آقای Raffi Krikorian مقاله ای کامل در این رابطه نوشته است که می توانید از آن استفاده کنید. به طور خلاصه می توان گفت پروتکلی به نام Internet Stream Protocol در دهه ی 1970 میلادی برای انتقال صوت و ویدیو ارائه شد. در سال 1990 بازبینی شده و به ST2 تغییر نام پیدا کرد. ST2 بسته (packet) های خود را با internet protocol version number 5 مشخص می کند اما هیچ گاه با نام IPv5 معروف نشد.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.