یک IPv6 دارای 128 بیت است که مشخص کننده آدرس نهایی دستگاه در شبکه خواهد بود. به دلیل محدودیت تعداد IP های قابل ارائه در نسخه IPv4 ، نسخه IPv6 توسعه داده شد. باید اشاره کرد که فضای آدرس دهی در IPv6 چندین برابر IPv4 است.
پروتکل IP در واقع روشی است که بر مبنای آن داده ها به سیستم های مختلف موجود در شبکه ارسال می گردند. هر دستگاه موجود در شبکه، حداقل یک آدرس IP خواهد داشت که منحصر به فرد بوده و صرفا در اختیار همان دستگاه قرار دارد. هر دستگاهی که به اینترنت متصل می شود دارای یک IP است. به همین دلیل تعداد IP های قابل تعریف در IPv4 کافی نبودند و سازمان Internet Engineering Task Force به اختصار (IETF) استاندارد IPv6 را معرفی نمود. در ادامه ویژگی های IPv6 و مزایای آن به تفصیل بیان خواهد شد.
تصویر(1)
سیستم عامل های بسیاری چون Windows 10، macOS و Ubuntu از IPv6 پشتیبانی می کنند. امروزه IPv4 و IPv6 به صورت ترکیبی در حال استفاده هستند. در سال 2008 پشتیبانی از IPv6 به Domain name systems یا به اختصار DNS ها اضافه گردید.
قبل از معرفی IPv6، موضوع تعداد آدرس های قابل پشتیبانی در IPv4، تبدیل به یک نگرانی شده بود. با ظهور تکنولوژی هایی مانند IoT (اینترنت اشیا) که تعداد بسیار زیادی از دستگاه ها را به صورت آنلاین به یکدیگر مرتبط می نمود، این کمبود تعداد IP، بیش از پیش احساس می شد. از این رو IPv6 ایجاد شد. تعداد IP های قابل ایجاد در IPv6 معادل 340 undecillion (معادل 340 ضرب در 10 به توان 36) تخمین زده شده است. محققان بیان می دارند این تعداد به IPv6 اجازه خواهند داد که به هر اتم موجود در سیاره زمین، یک IP اختصاص دهد.
فرمت یک IPv6
تصویر(2)
یک IPv6 دارای 128 بیت است که به صورت 8 گروه 16 بیتی دسته بندی می شوند. هر گروه به چهار رقم هگزادسیمال تقسیم شده و با علامت کلون (:) از یکدیگر جدا می شوند. به عنوان مثال:
2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A
هر IPv6 به دو بخش تبدیل می شود. بخش اول شبکه و بخش دوم مولفه گره (node component)است. در IPv6 به این صورت عمل می شود که 64 بیت اول مشخص کننده اجزای شبکه بوده و در مبحث مسیردهی (routing) مورد استفاده قرار می گیرند و 64 بیت دوم به node component اختصاص داده می شوند که برای مشخص کردن آدرس رابط (interface) استفاده می گردند. این بخش بر اساس سخت افزار یا آدرس MAC و با استفاده از یک شناسه منحصر به فرد 64 بیتی EUI-64، که از سوی سازمان Institute of Electrical and Electronics Engineers به اختصار IEEE تعریف شده، محاسبه می گردد.
البته 64 بیت مربوط به بخش شبکه، می تواند به دو ناحیه 48 و 16 بیتی تقسیم گردد. 48 بیت اول برای آدرس های شبکه جهانی اینترنت خواهد بود. 16 بیت دوم نیز توسط مدیران شبکه کنترل می شود و برای ایجاد زیر شبکه ها (subnets) مورد استفاده قرار می گیرد.
علاوه بر این، یکی از ویژگی های IPv6 این است که آدرس های IPv6 امکان خلاصه سازی نیز دارند. مکانیزم آدرس دهی IPv6 اجازه می دهد که صفر موجود در اول هر بخش و 4 صفر پشت سر هم را حذف نمایید. به عنوان مثال، نمونه آدرسی که بالاتر ذکر شد، می تواند به شکل زیر نمایش داده شود:
2001:DB8::2F3B:2AA:FF:FE28:9C5A
با توجه به فرمت IPv6، ترتیب یک آدرس می تواند تا حدودی متفاوت باشد. سه بخش پایه که یک آدرس را می سازند عبارت اند از routing prefix ،subnet ID و interface ID.
تصویر(3)
دو بخش routing prefix و subnet ID بیان می کنند که آدرس فعلی جهانی یا خصوصی است. تعداد بیت های routing prefix قابل تقسیم می باشد که معمولا از سوی سرویس دهندگان اینترنت تعیین می شود. در IPv6 به 48 بیت اول از سمت چپ، routing prefix یا site prefix گفته می شود. 16 بیت بعد از 48 بیت اول نیز معادل subnet ID است. در واقع subnet ID می تواند توپولوژی یک شبکه را نشان دهد. به 64 بیت انتهایی یک IPv6 نیز interface ID گفته می شود که می تواند به صورت خودکار یا دستی تنظیم گردد.
انواع آدرس IPv6
IPv6 دارای فرمت ها و انواع مختلفی می باشد. همچنین لازم به ذکر است که بر خلاف IPv4 در IPv6 خبری از آدرس های برودکست (broadcast addresses) نیست. انواع IPv6 عبارتند از:
- Global unicast: این نوع از IPv6 ها معادل آدرس IP عمومی در IPv4 بوده و قابل مسیردهی در اینترنت هستند. این نوع IPv6 نقش بسیار مهمی در معماری آدرس دهی IPv6 دارد. Global unicast با 2001 شروع می شود، به عنوان مثال:
2001:db8:cafe:1:d0f8:9ff6:4201:7086
- Unicast address: این آدرس ها برای شناسایی رابط یک نود در شبکه استفاده می شوند. در واقع Unicast address به صورت انحصاری در اختیار یک رابط موجود در دستگاه دارای IPv6، قرار می گیرد. هر بسته داده که به آدرس Unicast address ارسال می شود، توسط رابطی که به آن آدرس اختصاص داده شده است، دریافت می گردد.
تصویر(4)
- Anycast address: برای مشخص کردن گروهی از رابط ها در نودهای مختلف استفاده می شود. می توان این نوع IP را به بیش از یک رابط اختصاص داد. به عبارت دیگر، دستگاه های مختلف می توانند Anycast address یکسان داشته باشند. داده ای که به یک آدرس Anycast address ارسال می گردد، بر اساس جدول routing به نزدیکترین رابطی که دارای آن آدرس است، ارائه می شود.
تصویر(5)
- Multicast address : مالتی کست، تکنیکی است که در آن هر دستگاه یک بسته واحد را به چندین مقصد به طور همزمان (یک به چند) ارسال می کند. یک IPv6 از نوع Multicast Address، گروهی از دستگاه ها را به عنوان multicast group تعریف می کند. Multicast Address از پیشوند ff00::/8 استفاده می نماید که این بخش معادل Multicast Address در IPv4 است که به صورت 224.0.0.0/4 تعریف می شود. بسته داده ای که به یک multicast group ارسال می گردد، همواره دارای آدرس منبع unicast است. یک آدرس Multicast Address هرگز نمی تواند منبع بسته های داده باشد.
تصویر(6)
- Link-local addresses: یکی از دو نوع آدرس داخلی است که در اینترنت مسیریابی نمی شوند. آدرسهای Link-local در یک شبکه داخلی مورد استفاده قرار می گیرند و با "fe80:" به عنوان پیشوند شروع میشوند.
- Unique local addresses : آدرس های محلی منحصر به فرد یا Unique local address، معادل IP های خصوصی در IPv4 هستند (آدرس های 10.0.0.0/8، 172.16.0.0/12 یا 192.168.0.0/16). از این رو به آن ها private IPv6 address نیز گفته می شود. این نوع آدرس ها باید در محدوده های مشخصی استفاده گردند. به عنوان مثال برای تعداد محدودی از دامنه های یک سازمان، قابل مسیردهی و استفاده هستند. آدرس های ULA به دستگاه هایی اختصاص داده می شوند که هرگز به اینترنت نیاز ندارند و نباید از طریق اینترنت نیز در دسترس قرار گیرند. آدرس ULA دارای پیشوند FC00 است.
مزایای IPv6
از مزایا و ویژگی های IPv6 می توان به موارد زیر اشاره نمود:
- مسیردهی بهینه تر با استفاده از جداول routing به همراه متراکم کردن پیشوند ها.
- ساده سازی مراحل پردازش داده به دلیل header بهینه تر در مقایسه با IPv4.
تصویر(7)
- پشتیبانی از بسته های چند بخشی (multicast packet flows). در این حالت یک داده واحد برای چند دستگاه ارسال شده و نیاز به ایجاد چند کپی از داده برای ارسال به دستگاه های مختلف، مشابه آنچه در unicast packet رخ می دهد، نیست.
تصویر(8)
- سرورهای میزبانی می توانند با استفاده از متد StateLess Address AutoConfiguration یا به اختصار SLAAC که مخصوص IPV6 است، بدون وجود Dynamic Host Configuration Protocol به اختصار DHCP، اقدام به ایجاد آدرس IP نمایند.
- دیگر نیازی به پیاده سازی شبکه NAT نخواهد بود. این شبکه در IPv4 برای پوشش محدودیت تعداد IP موجود در IPv4، نقش تبدیل IP های محلی به IP عمومی را دارد. به عنوان مثال اگر از یک خط اینترنت برای سازمانی استفاده شود، وظیفه تبدیل آدرس سیستم های محلی موجود در سازمان به آدرس عمومی موجود در اینترنت، بر عهده NAT است.
- پیاده سازی آسانتر خدماتی مانند ارتباط نظیر به نظیر (P2P)، تماس صوتی در بستر IP یا VoIP و خدمات امنیتی نیز از مزیت های IPv6 می باشند.
لازم به ذکر است که IPv6 از دو پروتکل مسیر دهی Interior Gateway Protocol به اختصار IGP و Exterior Gateway Protocol به اختصار EGP نیز پشتیبانی می کند.
جمع بندی
بزرگترین تفاوت بین ویژگی های IPv6 و IPv4 بدون شک تعداد بسیار بیشتر IP قابل ایجاد در IPv6 است. در حالی که IPv4 دارای آدرس 32 بیتی است، IPv6 دارای آدرس دهی 128 بیتی می باشد و به همین دلیل تعداد IP ها قابل ارائه در IPv6 بسیار بیشتر خواهد بود.
با این حال، بزرگترین مشکل موجود برای استفاده عمومی از IPv6 این است که هنوز از IPv4 به صورت گسترده استفاده می شود. متاسفانه امکان برقراری ارتباط مستقیم بین IPv4 و IPv6 وجود ندارد و به همین دلیل از طریق IPv4 امکان مشاهده یک صفحه وب تحت IPv6، مقدور نمی باشد و عکس این موضوع نیز صادق است. برای دستیابی به این هدف (ارتباط بین IPv4 و IPv6) به تجهیزات Gateway نیاز خواهد بود. سایر تفاوت های IPv6 با IPv4 عبارتند از:
- آدرسی دهی در IPv6 ترکیب عدد و حرف است در حالی که IPv4 فقط با عدد آدرس دهی می کند.
- بخش های یک IPv6 به وسیله کلون (:) از یکدیگر جدا می شوند در حال که این جداسازی در IPv4 به وسیله نقطه انجام می گردد.
- در IPv6 استفاده از IPsec لازم می باشد اما در IPv4 چنین اجباری وجود ندارد.
- شبکه ها در IPv6 می توانند به صورت خودکار کانفیگ شوند اما در IPv4 برای کانفیگ شبکه نیاز به DHCP خواهد بود.
- IPv6 دارای هشت هدر با طول 40 کاراکتر است در حالی که IPv4 بیست هدر به طول 8 کاراکتر دارد.
اما در نهایت باید اشاره کرد که تغییر بسترهای IPv4 موجود، به IPv6، نیازمند تخصص فنی بالا، کوشش بسیار زیاد و زمان است.