وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

آشنایی با IPv6 و عملکرد آن در شبکه

IP نسخه 6 چیست و چطور کار میکند ؟

3 ۲,۶۷۴
زمان لازم برای مطالعه: 9 دقیقه

IPv6 چیست؟

آدرس IP   بصورت کلی شناسه ای یکتا برای مشخص شدن یک device در یک شبکه می­ باشد. یکتا بودن آدرس IP بدین معنی است که آدرس IP یک دستگاه در هر شبکه­ ای که در آن قرار دارد فقط به آن سیستم اختصاص دارد . تا زمانی که یک دستگاه  آدرس IP نداشته باشد نمی ­تواند با device های دیگر از طریق پروتکل TCP/UDP و دیگر موارد مشابه ارتباط برقرار کند .

نوع آدرس­ های IP به دو دسته تقسیم می­ شوند .

دسته­ ی اول IPv4 می­ باشد که اکثر ما با آن برخورد داشته ایم و تا حدودی با آن آشنا هستیم. آدرس­ IP نسخه 4 یک آدرس 32 بیتی است که به صورت 4 عدد در مبنای ده که با نقطه از هم جدا شده اند، نمایش داده می­ شود (مانند : 192.168.1.1 ). این ورژن از IP به تعداد 2 به توان 32 آدرس را ارائه می­ کند. در حال حاضر بیش از 90 درصد آدرس­ ها در جهان ، IPv4 می­ باشد.

IPv6 نسخه جدیدتر IPv4 می باشد، اما باید بدانیم که چه علتی داشت که به سراغ نسخه جدیدتری از آدرس دهی IP رفته ایم.

2 مشکل اصلی وجود داشت که در زیر بیان شده اند.

فضای کم مربوط به آدرس های Public که در خوش بینانه ترین حالت 2 به توان 32 بیت آدرس IP می توان داشت که این رقم رو به اتمام می باشد و اندازه جدول های روتینگ رو به رشد می باشد. روترهای موجود در اینترنت چیزی در حدود 500.000 خط مسیردهی را مدیریت می کنند.

راهکارهای حل این مشکلات:

  • در کوتاه مدت راهکارهای Subnetting و Summarization ارائه گردید که در این راهکارها به جای استفاده از آدرس دهی Classful و به هدر رفتن آدرس های IP از آدرس دهی های Classless استفاده کردند و در بحث Routing Tableها نیز از ویژگی خلاصه نویسی استفاده کردند. اما برای بلندمدت راهکار IPv6 مطرح شد.

بعضی از مزیت­ هایی که IPv6 دارد :

  • هزینه­ ی کمتر پردازشی : packet های IPv6 باز طراحی شده­ اند تا header های ساده ­تری را تولید و استفاده کنند که این موضوع فرایند پردازش packet ها توسط سیستم­ های فرستنده و گیرنده را بهبود می­ دهد.
  • آدرس­ های IP بیشتر : IPv6 از ساختار آدرس دهی 128 بیتی استفاده می ­کند در حالی که IPv4 از ساختار آدرس دهی 32 بیتی استفاده می کند . این تعداد آدرس IP این اطمینان را می­ دهد که حتی بیشتر از آدرس­ های مورد نیاز در سال های آینده ، آدرس موجود است.
  • Multicasting : در IPv6 از Multicasting به عنوان روش اصلی برقرار کردن ارتباط استفاده می شود. IPv6 بر خلاف IPv4 روش broadcast را ارائه نمی­ دهد. روش broadcast از پهنای باند شبکه به صورت غیر بهینه و نامناسب استفاده می­ کند.
  • IPSec: پروتکل Internet Protocol Security)IPSec) در درون IPv4 وجود نداشت اما IPv4 از آن پشتیبانی می­ کرد در حالی که IPv6 این پروتکل را به صورت built in در درون خود دارد و می ­تواند تمامی ارتباطات را رمز گذاری (encrypt) کند.

مفاهیم پایه ای در IP نسخه ۶ :‌

  • همانطور که بالا تر اشاره شد آدرس دهی های IPv6 به صورت 128 بیتی می باشند که بر خلاف آدرس دهی های IPv4 که 32 بیتی می باشند تعداد زیادی آدرس IP را در اختیار قرار می دهند. که به این معنی است است که تعداد آدرس IP در IPv6 چیزی در حدود 340.282.366.920.938.463.463.374.607.431.768.211.456  😎 😯 می باشد.
  • ویژگی های متعددی به این نسخه از آدرس دهی اضافه گردید که شامل موارد زیر می باشند:
    • ویژگی های خاص آدرس دهی بدون نیاز به DHCP یا Static Addressing
    • پشتیبانی از Renumbering
    • پشتیبانی از Mobility در تغییرات شبکه به صورت سیار و مباحث Routing
    • استفاده از آدرس های Public مستقل از ISP ها (عدم تغییر آدرس Public شما با تغییر سرویس دهنده اینترنت شما)
    • عدم نیاز به NAT و PAT
    • استفاده از ویژگی IPSec در هدر این آدرس دهی ها و امن شدن آینده اینترنت
    • بهینه سازی در ساختار Header این نوع IP
    • عدم حضور Broadcast در این ساختار آدرس دهی
    • وجود ابزارهای متعدد برای مهاجرت از IPv4 به IPv6 و یا استفاده از هر دو در یک شبکه

آدرس دهی در IPv6

در IPv6 تغییرات عمده ­ای نسبت به IPv4 وجود دارد. IPv4 از ساختار آدرس دهی 32 بیتی استفاده می­ کند در حالی که IPv6 از ساختار آدرس دهی 128 بیتی استفاده می کند. این تغییر می تواند 2 به توان 128 آدرس یکتا را ارائه دهد . این میزان آدرس IP، پیشرفت بسیار زیادی را نسبت به تعداد آدرس IP که IPv4 ارائه می کند(2 به توان 32) دارد.

در مبحث IPv6 دیگر صحبت از باینری و دسیمال وجود ندارد و علت آن هم بزرگ بودن این اعداد می باشد، به همین دلیل IPv6 را برحسب هگزادسیمال مطرح می کنند. این آدرس یک آدرس 32 hexadecimal numbers می باشدکه از 8 بخش 4 هگزی که با یک : مجزا می شوند تشکیل شده است.

مثلا

2340:1111: AAAA:0001:1234:5678:9ABC

یا

65b3:b834:45a3:0000:0000:762e:0270:5224

برای آشنایی بیشتر با اعداد هگزی جدول زیر را مشاهده نمایید:

جدول مقادیر مبنای ۱۶ و معادل ده دهی

در مورد آدرس ­های IPv6 نکته­ هایی وجود دارد که باید آنها را بدانید:

  • IPv6 نسبت به بزرگی حروف حساس نیستند
  • صفر های سمت چپ هر بخش را میتوان حذف کرد
  • بخش هایی که پشت سر هم صفر هستند را میتوان به صورت (::) خلاصه نویسی کرد (روی هر آدرس فقط یک بار می‎توان این کار را کرد)

مثال: آدرس loopback در IPv6 به صورت زیر است :

0000:0000:0000:0000:0000:0000:0000:0001

از آنجایی که می توان صفرهای سمت چپ هر بخش را حذف کرد آدرس را بازنویسی می کنیم :

0:0:0:0:0:0:0:1

بعد از حذف کردن صفرهای سمت چپ ، می توانیم صفرهای پشت سر هم را نیز خلاصه نویسی کنیم :

1::

یا یک آدرس کامل :

FE00:0000:0000:0001:0000:0000:0000:0056
New Structure #1: FE00::1:0:0:0:56
New Structure #2: FE00:0:0:1::56

همانطور که اشاره کردیم ، فقط یک بار می توانیم صفرهای پشت سر هم را خلاصه نویسی کنیم ، علت این موضوع این است که اگر چند بار این خلاصه نویسی را روی بخش های مختلف آدرس انجام دهیم ، آدرس اصلی بعد از خلاصه نویسی مشخص نخواهد بود . به مثال زیر توجه کنید:

0000:0000:45a3:0000:0000:0000:0270:5224

یا

در این مثال دو سری صفر های پشت سر هم وجود دارد . اگر هر دو را خلاصه نویسی کنیم به صورت زیر می شود :

45a3::270:5224::

در این حالت مشخص نیست که هر سری چه تعداد صفر پشت سر هم داشته ایم ، پس بهتر است که آن سری که تعداد صفر های بیشتری پشت سر هم دارد را خلاصه نویسی کنید.

0:0:45a3::270:5224

نکته: در ساختار آدرس دهی IPv6 دیگر چیزی به نام Classful مفهوم ندارد و ساختار آن به صورت زیر است:

IPv6Instru

به مثال زیر توجه کنید:

2000:1234:5678:9ABC:1234:5678:9ABC:1111 / 64

یعنی تا 64 بیت از این آدرس Prefix می باشد و مابقی Interface ID می باشد، بنابراین خواهیم داشت:

2000:1234:5678:9ABC:0000:0000:0000:0000 / 64
New Structure: 2000:1234:5678:9ABC:: / 64

اصطلاحات موجود در Prefix آدرس دهی IPv6 به صورت جدول زیر می باشد:

IPv6Terms

تخصیص آدرس IPv6 به یک Host

روشهای تخصیص IP برای سیستم ها به دو صورت زیر است:

  • داینامیک
  • استاتیک

که در هر روش 2 شیوه وجود دارد که در جدول زیر مشخص شده است:

IPv6Methods

نکته: Stateful به مفهوم بخاطر سپردن یک چیزی می باشد که در اینجا به معنای این است که DHCP می داند که چه آدرسی را به چه سیستمی داده است.

نکته: در IPv6 در تمام روش ها Default Gateway توسط خود روتر و با استفاده از پروتکل NDP یا Network Discovery Protocol به سیستم ها داده می شود.

نکته: در روش دوم کافیست یک روتر در شبکه موجود باشد و روی یک اینترفیس آن IPv6 تنظیم شده باشد. سیستم ها با استفاده از ویژگی Auto Configuration می توانند آدرس IP خود را از آن آدرس بسازند.

نکته: آدرس های Multicast در IPv6 تماما با FF شروع می شوند.

روش دریافت IP توسط سیستم از روتر:

  • یادگیری Prefix و Length توسط سیستم از روتر از طریق NDP
  • یادگیری آدرس Gateway خود که همان آدرس روتر می باشد

زمانی که یک سیستم روی Auto Configuration قرار دارد پیغام های RS یا Router Solicitation به آدرس FF02::2 ارسال می نماید که این آدرس مربوط به تمام روترهای موجود در آن لینک می باشد و خواهان معرفی روتر می شود. روتر پیام RA یا Router Advertisement را به آدرس FF02::1 ارسال می کند که این آدرس مربوط به تمام نودهای IPv6 در آن لینک می باشد.

در RA موارد زیر موجود است:

  • آدرس IP خود روتر به عنوان Gateway
  • اعلام Prefix و Length
  • اعلام آدرس DNS به صورت Stateless توسط خود روتر

حال براساس این اطلاعات سیستم اقدام به ایجاد آدرس IP خود می کند. برای این کار از مکانیزم EUI-64 استفاده می شود و دلیل استفاده از این مکانیزم اطمینان پیدا کردن از Unique بودن آدرس IP می باشد. فرض بر این است که MAC Address یک مقدار Unique می باشد و از این مقدار استفاده می کند، اما طول آدرس MAC تنها 48 بیت می باشد و مقدار مورد نیاز برای ایجاد IP در سیستم 64 بیت می باشد، بنابراین مکانیزم به این صورت عمل می کند:

  • نصف کردن آدرس MAC از وسط آن
  • قرار دادن مقدار FFFE در بین این دو نیمه که معادل 16 بیت می باشد
  • تغییر مقدار بیت 7 از آدرس MAC از 0 به 1 و یا بلعکس

نحوه پیکربندی IPv6 در روتر:

Config-if# ipv6 address ‘IP Address/Prefix Length’
Config# ipv6 unicast-routing
Router# show ipv6 interfaces

دستور اول به منظور الصاق آدرس IP به یک اینترفیس در روتر می باشد و دستور دوم به منظور فعالسازی روتینگ IPv6 و ارسال بسته های RA توسط اینترفیس های روتر می باشد.

انواع آدرس دهی در IPv6

  • Unicast
  • Multicast
  • Anycast

آدرس دهی Anycast

مفهوم Anycast در IPv6 برای تنظیم یک آدرس IP بر روری چندین روتر به منظور برقراری سیستم Load Balancing می باشد.

آدرس دهی Unicast

IPv6Unicast

آدرس دهی Link Local

Link Local آدرسی است که به صورت اتوماتیک بعد از فعالسازی IPv6 بر روی روتر Generate می شود و موارد مصرف آن برای:

  • به عنوان آدرس ارسال کننده RS و RA برای شناسایی روتر استفاده می شود
  • مورد استفاده برای پروتکل NDP
  • به عنوان آدرس های Next-Hop در پروتکل های روتینگ

نکته: محدوده آدرس دهی برای Link Local به صورت FE80::/10 می باشد که شامل آدرس هایی می شود که با FE8, FE9, FEA, FEB شروع می شوند.

آدرس  دهی Multicast

IPv6Multicast

آشنایی با مفهوم Mapping Layer2 به Layer3 در IPv6

در IPv4 با استفاده از ARP که مبتنی بر Broadcast بود می توانستیم از لایه 2 به لایه 3 برویم، اما این مفهوم در IPv6 دیگر وجود ندارد.
جایگزین این مفهوم چیزی به نام NDP می باشد که با ارسال Neighbor Solicitation که شامل Source IPv6 Address و یک آدرس Multicast می باشد سوال خود را مبنی بر اینکه اطلاعات Datalink Address خود را اعلام کن ارسال می کند و در پاسخ Neighbor Advertisement دریافت می کند که شامل Source IPv6 Address جدید و آدرس مقصد که همان آدرس مبدا ابتدایی به همراه معرفی MAC Address می باشد.

آشنایی با Duplicate Address Detection یا DAD :

به منظور جلوگیری از ایجاد آدرس های تکراری مکانیزمی به نام DAD وجود دارد که قبل از اعمال یک آدرس IP به یک هاست ابتدا اقدام به چک کردن آن کرده و در صورتیکه در شبکه موجود نباشد اجازه اعمال آن را صادر می کند.

نکته: بر روی یک اینترفیس روتر می توان بیش از 1 آدرس IPv6 تنظیم کرد.

نکته: دستور ipv6 enable باعث ایجاد آدرس Link Local روی روتر می شود.

 

ساختار آدرس دهی در IPv6

در IP نسخه 6 روش آدرس دهی کلا تغییر کرده است، به طوری که 3 نوع آدرس وجود دارد :
  • Unicast: آدرس Unicast برای ارتباطات یک به یک استفاده می شود.
  • Multicast: آدرس Multicast برای ارسال data به سیستم های مختلف در یک لحظه استفاده می شود. آدرس های Multicast با پیشوند FF01 شروع می شوند. برای مثال FF01::1 برای ارسال اطلاعات به تمام node ها در شبکه استفاده می شود ، در حالی که FF01::2 برای ارسال اطلاعات به تمام روترهای داخل شبکه استفاده می شود.
  • Anycast: آدرس Anycast برای گروهی از سیستم ها که سرویسی را ارائه می کنند استفاده می شود.

توجه کنید که آدرس broadcast در IPv6 وجود ندارد.

آدرس های Unicast خود به سه دسته تقسیم می شود :

  • Global unicast: آدرس های Global unicast ، آدرس های public در IPv6 می­باشد و قابلیت مسیریابی در اینترنت دارد. این آدرس ها معادل آدرس های public در IPv4 می باشد.
  • Site-local unicas: آدرس های Site-local unicast ، آدرس های private هستند و مشابه آدرس های private در IPv4 می باشند و فقط برای ارتباطات داخل شبکه ای استفاده می شوند. این آدرس ها همیشه با پیشوند FEC0 شروع می شوند.
  • Link-local unicast: آدرس های Link-local unicast مشابه APIPA در IPv4 هستند و فقط می توانند برای ارتباط با سیستمی که به آن متصل هستند ، استفاده شوند. این آدرس ها با پیشوند FE80 شروع می شود.
    • نکته دیگری که باید به آن اشاره کنیم ، IPv6 ازClassless Inter-Domain Routing (CIDR) که در سال های اخیر متداول شده اند( برای تغییر بخش net ID روی IPv4 )،استفاده می کند.برای مثال آدرس 2001:0db8:a385::1/48 بدین معناست که 48 بیت اول آدرس تشکیل دهنده ی net ID است.

بخشهای تشکیل دهنده IPv6

Network ID: معمولا 48 بیت اول آدرس تشکیل دهنده ی net ID آن می باشد. در آدرس های global address ، net ID توسط ISP به سازمان شما اختصاص داده می شود.
Subnet ID: این بخش از 16 بیت تشکیل شده و با استفاده از آنها می توانید شبکه ی IPv6 خود را به subnet های مختلف تقسیم کنید. برای مثال شبکه ای با net ID 2001:ab34:cd56 /48 می تواند به دو زیرشبکه 2001:ab34:cd56:0001/64 و 2001:ab34:cd56:0002/64 تقسیم شود.
(Unique Identifier(EUI-64: نیمه ی دوم آدرس (64 بیت آخر) را unique identifier می نامند، این بخش مشابه host ID در IPv4 است (یک سیستم را در شبکه مشخص می کند). این بخش تشکیل می شود از مک آدرس آن سیستم (48 بیت)که به دو قسمت تقسیم شده و عبارت FFFE که میان آن دو قسمت قرار می گیرد.

Auto configuration

یکی از مزیت های IPv6 قابلیت auto configuration است ، که در آن سیستم یک آدرس IPv6 برای خود انتخاب می کند ، سپس با ارسال پیام neighbor solicitation به آن آدرس بررسی میکند که این آدرس در شبکه برای سیستم دیگری استفاده نشده باشد. اگر این آدرس توسط سیستم دیگری استفاده شده باشد ، به پیام جواب می دهد و سیستمی که قصد انتخاب آدرس را داشت متوجه می شود که از آن آدرس نمی تواند استفاده کند. قابل ذکر است احتمال اینکه یک آدرس به دو سیستم اختصاص داده شود خیلی کم است چون مک آدرس سیستم ها در آدرس دهی auto configuration استفاده می شود (مک آدرس یک آدرس یکتا است).

با توجه به تکنولوژی های پیش روی دنیای اطلاعات به ویژه IOT یا اینترنت اشیاء که به واسطه آن میتوان تعداد زیادی از اشیاء که در طول روز با آن ها سر و کار داریم (مانند سیستم های گرمایشی و سرمایشی، لوازم خانگی، ملزومات اداری و …)، که به صورت هوشمند کنترل می شوند را با یکدیگر در بستر اینترنت ارتباط خواهند داشت. این امر بدین معناست که به میلیاردها آدرس IP نیاز خواهیم داشت و ملزم به استفاده از IPv6 می باشیم .

4.6/5 - (31 امتیاز)
۳ دیدگاه‎‎ها
  1. علی نژاد می‎گوید

    سلام.
    عالی بود.. ممنون

  2. مش غلام می‎گوید

    سلام مطلب خوبی گذاشتید ولی عکس هایی که گذاشتید و روش توضیح دادید باز نمیشند.

  3. حسین می‎گوید

    سلام. بسیار عالی ساده و قابل فهم توضیح دادید.

دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید