تفاوت بین IPv4 و IPv6 چیست؟
تفاوت بین 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 Header1
Hop-by-Hop Options2
60Destination Options3
43Routing Header4

44

Fragment Header5
51Authentication Header6

50

Encapsulation Security Payload Header7
60Destination Options8
135Mobility Header9
59فقدان هدر10
          6TCPلایه بالایی
          17UDPلایه بالایی
          58ICMPv6لایه بالایی

 

امروزه سخت افزار و نرم افزار شبکه اغلب اسکن  عمیق بسته ها را انجام می دهد، چون  بسیاری از پروتکل های 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 نامیده شد.