تفاوت بین IPv4 و IPv6 چیست؟
اگر از اینترنت یا تقریبا هر شبکه کامپیوتری استفاده می کنید احتمالا از بسته های IPv4 استفاده می کنید. IPv4 از فیلدهای آدرس 32 بیتی مبدا و مقصد استفاده می کند. ما در واقع از محدوده آدرس ها خارج می شویم، اما نگرانی نداریم چون IETF در اینجا با IPv6 آن را حل می کند. بسته IPv6 خیلی شبیه IPv4 نیست، فیلدهای آدرس ای پی وی 6، 128 بیت هستند. فضای آدرس بزرگتر یکی از دلایل مهاجرت به IPv6 است، اما تفاوت های زیادی وجود دارد که مزیت هایی IPv6 را تعریف می کند. به عنوان مثال، فیلد چک سام هدر حذف شده است زیرا قابلیت اطمینان انتقال افزایش یافته است و سربارهای آن غیر ضروری است. حرکت به سمت IPv6 در مقیاس بزرگتر اجتناب ناپذیر است. IPv6 بیشتر برای به دست آوردن زیرساخت ها و ایجاد تغییرات به منظور به حداقل رساندن تعداد مشکلات می باشد. برای ساب نت های IPv4 و IPv6 امکان تبادل ترافیک وجود دارد اما مسائلی وجود دارد که به تنظیمات شبکه و نوع ترافیک شبکه بستگی دارد. در اینجا برخی از تفاوت های عمده بین IPv4 و IPv6 وجود دارد هر دو استاندارد گسترده هستند و بسیاری از ویژگی ها ، برای بعضی از محیط ها مهم هستند.
تفاوت بین IPv4 و IPv6 چیست؟
IPv6 |
IPv4 |
|
128 بیت (16 بایت) 1234:5678:9abc:def0 |
32 بیت (4 بایت) 12:34:56:78 |
آدرس |
1280 بایت مورد نیاز است به تقسیم بندی نیاز ندارد. |
576 بایت مورد نیاز است تقسیم بندی اختیاری است |
اندازه بسته |
فقط ارسال به هاست |
روترها و هاست های فرستنده |
تقسیم بندی بسته |
شامل فیلدFlow Label است که جریان بسته را برای بررسی QoS مشخص می کند |
هیچ جریان بسته ای برای بررسی QoS وجود ندارد. |
هدر بسته |
بدون چک سام |
دارای چک سام |
|
هدرهای اکستنشن برای داده های اختیاری استفاده می شود |
شامل گزینه های حداکثر 40 بایتی است |
|
رکوردهای (AAAA) آدرس، نگاشت نام هاست |
رکوردهای (A) آدرس ، نگاشت نام هاست |
رکوردهای DNS |
رکوردهای (PTR) اشاره گر، دامنه IP6.ARPA DNS |
رکوردهای (PTR) اشاره گر، دامنه IN-ADDR.ARPA DNS |
|
تنظیم خودکار آدرس ماهواره ای (SLAAC) بدون استفاده از نسخه 6 پروتکل کنترل پیام اینترنت (ICMPv6) یا DHCPv6 |
به طور دستی یا از طریق DHCP |
پیکربندی آدرس |
درخواست چندپخشی همسایه |
برودکست ARP |
رزولوشن IP به MAC |
پروتکل Multicast Listener Discovery (MLD) |
پروتکل Internet Group Management (IGMP) |
مدیریت گروه ساب نت محلی |
خیر |
بله |
برودکست |
بله |
بله |
مالتی کست |
مورد نیاز است |
اختیاری، اکسترنال |
IPSec |
مفاهیم پایه IPv4/IPv6
فضای آدرس تفاوت اصلی بین IPv4 (32 بیتی) و IPv6 (64 بیتی) است. نمایش متن نیز از پاریشن بندی 2 رقمی IPv4 به پارتیشن بندی 4 رقمی IPv6 تغییر کرده است. یک نمونه آدرس IPv4 ، 12:34:56:78 است و یک نمونه آدرس IPv6 به صورت 1234:5678:9abc:def0 ، 1234:5678:9abc:def0 می باشد. IPv6 با استفاده از :: رشته های مدخل صفر را نشان می دهد، بنابراین آدرس 1234: 0: 9abc: 0: 0: 0: 0: def0 می تواند به صورت 1234: 0: 9abc :: def0. نمایش داده شود.
بسته های IPv4 و IPv6 متغیر هستند و می توانند تا 64 کیلوبایت باشند. مشکل این است که این پروتکل ها را می توان بر اساس تعداد انتقال استفاده کرد که ممکن است محدودیت های دیگری داشته باشد. این موضوع به طور معمول توسط حداکثر واحد انتقال (MTU) مشخص می شود. هر دو پروتکل دارای حداقل الزامات MTU هستند که برای IPv4 ، 578 بایت و برای IPv6 1280 بایت می باشد.
داده های بزرگ را می توان با شکستن داده به بسته های چندگانه در شبکه ارسال کرد. معمولا این کار توسط هاست انجام می شود اما در IPv4 این کار می تواند توسط روتر انجام شود. هاست های IPv6 نیاز به تعریف MTU برای مسیریابی به یک مقصد دارند. این روش برای روترها ساده است اما به هاست پیچیدگی اضافه می کند. این مسئله به طور عادی مشکلی ایجاد نمی کند و IPv6 با حداقل MTU می تواند همیشه از هر مسیری استفاده کند.
تفاوت بین IPv4 و IPv6 هدر است. تغییرات در تعداد و نوع فیلدها و افرونه ها به وجود آمده است و به شیوه ای دیگر مورد استفاده قرار می گیرند. هدر IPv6 همیشه 40 بایت است و بعد تعدادی هدر اکستنشنی و بعد دیتاها می آیند.این رویکرد انعطاف پذیرتر است، اما پردازش آن سخت تر است ، چون تعداد و اندازه هدر های اکستنشن متغیر است.
اولین فیلد برای هر هدر اکستنشن ، کد هدر بعدی است که نوع آن را مشخص می کند. هدر باید فقط از طریق هدرهای مورد نیاز در بسته سازماندهی شوند. اگر هدر Hop-by-Hop وجود دارد پس باید بلافاصله پس از هدر اصلی بیاید. توجه داشته باشید که آخرین کد هدر بعدی، نوع بارگذاری مفید داده روی لایه بالایی یا فقدان هدر بعدی را مشخص می کند.
کد هدر بعدی | انواع هدر | دستور |
Basic IPv6 Header | 1 | |
Hop-by-Hop Options | 2 | |
60 | Destination Options | 3 |
43 | Routing Header | 4 |
44 |
Fragment Header | 5 |
51 | Authentication Header | 6 |
50 |
Encapsulation Security Payload Header | 7 |
60 | Destination Options | 8 |
135 | Mobility Header | 9 |
59 | فقدان هدر | 10 |
6 | TCP | لایه بالایی |
17 | UDP | لایه بالایی |
58 | ICMPv6 | لایه بالایی |
امروزه سخت افزار و نرم افزار شبکه اغلب اسکن عمیق بسته ها را انجام می دهد، چون بسیاری از پروتکل های IPv4 نیاز به پیاده سازی این نوع روش ها در این اطلاعات دارند. پروتکل IPv4 محدودتر بوده و دارای فیلدهای بسیاری در آفست های ثابت هستند که باعث می شود پردازش ساده تر شود اما اکستنشن های زیادی در هدر ایجاد می کند که کار را سخت تر می کند. IPv4 دارای یک چک سام است که هر هاپ (پرش) را مجددا محاسبه می کند چونکه فیلد TTL تغییر می کند. از نظر تئوری، این موضوع قابلیت اطمینان بیشتری ارائه می دهد. IPv6 فیلد چک سام ندارد و بنابراین این فیلد را حذف می کند زیرا انتقال قابل اعتماد تر است و از مکانیسم های دیگر برای ایجاد این قابلیت اطمینان استفاده می شود.
IPv4 / IPv6 پیشرفته
سرورهای Domain Name System (DNS) یک مکانیزم توزیع شده را برای حل نامگذاری دامنه (برای آدرس های IPv4 یا IPv6) ارائه می دهند. یک سرور DNS می تواند هر دو نوع آدرس را با استفاده از رکوردهای مختلف پایگاه داده DNS بررسی کند. رکورد A نام دامنه را برای اطلاعات رزولوشن IPv4 فراهم می آورد. رکورد AAAA (به جز آدرس IPv6) همین کار را انجام می دهد . DNS آدرس IP را برای ترجمه نام دامنه به کار می برد. برای این کار از رکورد PTR برای هر دو نوع آدرس IP استفاده می شود. برای نام دامنه آدرس IPv4 از پیشوند in-addr.arpa و برای آدرس IPv6 از پیشوند ip6.arpa استفاده می شود. به غیر از تغییر آدرس، تغییرات DNS برای مدیریت IPv6 نسبتا کم است. اکثر مردم فکر میکنند آدرس IPv4 و IPv6 ، آدرس یونیکست هستند که یک گره خاص را مشخص می کند. IPv4 همچنین دارای یک آدرس برودکست برای یک ساب نت است در حالی که IPv6 دارای آدرس های مالتی کست است که گروهی از گره ها را مشخص می کند. IPv6 همچنین دارای یک آدرس Anycast است. یک آدرس Anycast شبیه آدرس های مالتی تکست هستند که میتواند گروهی از گره ها را مشخص کند، اما از لحاظ اکتشافی، یک بسته فقط باید به یک گره که در داخل گروه است نیاز دارد. دستگاه های IPv4 دارای یک آدرس IP ثابت هستند و یا با استفاده از یک سرور پروتکل DHCP یک آدرس بدست می آورند. 127.0.0.1 آدرس لوپ بک IPv4 است.
دستگاه های IPv6 دارای یک آدرس IP ثابت هستند و یا با استفاده از سرور DHCPv6 یک آدرس آی پی به دست می آورند. گره ها همچنین می توانند با استفاده از پروتکل ICMPv6، از پیکربندی خودکار آدرس دهی ماهواره ای (SLAAC) استفاده کنند. SLAAC در شبکه هایی استفاده می شود که سرور DHCPv6 ندارند. این پروتکل از Router Advertisements روترهای متصل شده به شبکه محلی استفاده می کند.
نمی خواهیم در مورد نحوه تولید آدرس ها برای IPv6 وارد جزئیات شوم اما می خواهم آدرس های رمزگشایی شده را (CGA) ذکر کنم. CGA از یک مکانیزم کلیدی پاپلیک استفاده می کند که به گره اجازه می دهد تا یک آدرس و شناسه منحصر به فرد تولید کند بدون اینکه نیازی به یک سیستم تایید اکسترنال داشته باشد.
مانند بسیاری از ویژگی های IPv6، این مسئله اختیاری است اما مکانیسم استاندارد وجود دارد و این بدان معناست که می توان آن را در حالت واکنشگرا استفاده کرد. آدرس IPv4 نیز در بلوک های تخصیص یافته به سادگی مشخصات ساب نت را ممکن می سازد. غالبا یک ماسک شبکه برای تعیین تعداد بیت های استفاده شده در ساب نت استفاده می شود. آدرس 192.168.1.0/24 (ماسک شبکه 255.255.255.0 ) یک ساب نت خانگی است که با دروازه ها ی زیادی استفاده می کند. این ساب نت دارای آدرس 256 است و متناظر با ساب نتی است که ادرس را برودکست می کند که در اینجا 192.168.1.255 است. IPv4 دارای سه بلوک فضای آدرس خصوصی است. این سه بلوک شامل آدرس های 10.0.0.0/24، 172.16.0.0/20 و 192.168.0.0/16 است که آدرس 192.168.1.0/24 یک ساب نت است. بلوک آدرس های خصوصی هرگز برای آدرس های IP عمومی استفاده نمی شوند.
فقط یک بلوک آدرس خصوصی IPv6 وجود دارد. این آدرس fc00 :: / 7 است، که Unique Local Address نامیده می شود. این مشخصات دقیقا مانند موردی که برای پروتکل IPv4 به کار رفت کار می کند. این بدان معنا است که بلوک برای دستگاه های محلی از 121 بیت استفاده می کند. سایر آدرس های ویژه عبارتند از: آدرس لوپ بک 1/128 (127.0.0.1/32 برای IPv4)، آدرس مالتی کست ff00::/8 ، fec0 :: / 10 پیشوند سایت-محلی، و fe80 :: / 10 پیشوند لینک-محلی .
آدرس های IPv4 در واقع به فیلدهای پایین تر از :: / 96 نگاشت می شود. این آدرس ها گاهی اوقات به صورت 0000: 0000: 0000: 0000: 0000: 0000: 192.168.1.2 نوشته می شوند. برخی از تفاوت های عمده بین IPv4 و IPv6 در چگونگی پیاده سازی اکستنشن هایی مانند امنیت است. IPsec در حال حاضر یک گزینه استاندارد (نسبت به پروتکل اختصاصی داده شده با IPv4) است. کیفیت سرویس (QoS) نسبت به اکستنشن ها کمی متفاوت هستند. فیلدهای اولویت و برچسب جگذاری جریان برای پشتیبانی از QoS استفاده می شود. اینها در همه هدرهای بسته IPv6 یافت می شوند، اگر در صورتی که ساب نت های موجود در مسیر از آنها پشتیبانی نکنند مورد استفاده قرار نمی گیرند.
همزیستی IPv4 / IPv6
ساب نت های IPv4 و IPv6 حتی با وجود انتقال از IPv4 به IPv6 باز هم در شبکه سراسری همزیستی دارند و با هم کار می کنند. مکانیسم هایی وجود دارد که این موضوع را تسهیل می کنند. این مکانیسم ها عبارتند از: SIIT، 6rd, NAT، سرور پروکسی و غیره. بسیاری از تکنیک ها را می توان در فایروال ها و روتر ها بین زیر ساب نت های IPv4 و IPv6 توسعه داد. SIIT از آدرس :: / 96 استفاده می کند و IPv4 سی و دو بیتی را به صورت آدرس IPv6 با بایت کمتر ترسیم می کند که دسترسی مستقیم به هاست های IPv4 را با استفاده از گره های IPv6 ممکن می سازد.
6rd ( توسعه سریع IPv6) از ساب نت های IPv6 تا بریج های IPv4 را استفاده می کند که بسته IPv4 را از طریق IPv6 منتقل می کند و گاهی اوقات سرویسی است که ISP ارائه می دهد. سرورهای پروکسی با پشته های دوگانه می توانند در هر دو جهت (به شرط دسترسی IPv4 به سرور IPv6 و بالعکس) کار کنند. سرورهای پروکسی می خواهند جانشین موقت باشند زیرا هر پروکسی باید صریحا پیکربندی شود دروازه های NAT IPv4 یک مکانیسم برای اتصال دستگاه های IPv4 به اینترنت IPv6 را فراهم می کند البته فرض بر این است که دروازه می تواند به یک شبکه IPv6 متصل شود. اکثر دستگاه های تجاری و مصرف کننده می توانند این کار را انجام دهند، اما دستگاه های قدیمی تر فقط IPv4 هستند. در این مورد، یک دروازه اضافی لازم است . میزبان دو پشته نیز احتمالا رایج است یک شبکه می تواند همزمان یک ترافیک IPv4 و IPv6 را انتقال دهد. هاست دو پشته میتواند با هر دو نوع دستگاه ارتباط برقرار کند و همچنین در صورت لزوم، ترافیک را به سمت خارج هدایت کند .. روترهای دو پشته نیز می توانند دروازه باشند.
متأسفانه، محیط های دارای هر دو پروتکل IPv4 / IPv6 شکننده هستند و بسیاری از تکنیک ها با یکدیگر کار نخواهند کرد. این پروتکل با اکستنشن IPv4 مانند IPsec و پروتکل های دیگر ترکیب می شود و احتمال ایجاد اتصال وجود دارد. اما برنامه ها کار نخواهند کرد. تنها ترکیب احتمالی که به خوبی کار خواهد کرد، IPv4- با -IPv4 و IPv6 با – IPv6 خواهد بود. یک مسئله که باید در مقاله دیگری مطرح شود، امنیت IPv6 است. به دلیل تفاوت ها و ویژگی های IPv6، فایروال ها و نرم افزار های امنیتی نیاز به مسائل امنیتی بیشتر آدرس ها دارند که IPv4 آن را انجام نداده است به عنوان مثال، راه حل های تونل زنی که قبلا ذکر شد می توانند IPv6 را به یک شبکه IPv4 گسترش دهند. ممکن است حملات در این خطوط جلوگیری یا کاهش یابد، اگر از تنظیمات امنیتی مناسب استفاده شود و این در صورتی است که سخت افزار از این موضوع پشتیبانی کند. پس چه اتفاقی برای IPv5 افتاد؟ IPv5 برای Internet Stream Protocol (ST) متنوع طراحی شد و در سال 1979 شروع شد اما متوقف شد. بسیاری از ویژگی های ST در استاندارد Multiprotocol Label Switching (MPLS) یافت می شوند IPv6 بر مبنای IPng (نسل بعدی IP ) بود و IPv6 در ابتدا IPng نسخه 7 نامیده شد.