اخبار و مقالات

تازه‌ترین اخبار و مقالات مبین‌نت را مشاهده کنید.

۱۷:۵۹:۰۰ ۱۳۹۹-۰۸-۲۰

ساختار آدرس‌دهی در اینترنت پروتکل نسخه 6 (IPv6)

  1. مقدمه

امروزه منابع مورد استفاده در شبکه­های ارتباطی از نوع منابع سخت­افزاری و چه منابع نرم­افزاری، پهنای‌باند و غیره، از اهمیت بالایی برخوردار هستند و این مهم همواره طراحان این حوزه را با چالش‌هایی جدی مواجه ساخته است. برخی از این منابع را می‌توان با طراحی­های اصولی، منطقی و مبتنی بر استانداردهای مطرح شده بهینه ساخت و از انجام هزینه­های چندباره و گزاف در این خصوص، خودداری کرد.

اما در این میان منابعی نظیر IP وجود دارند که محدودیت‌هایی از نظر تعداد دارند؛ این مساله سبب شده طراحان در ادامه راه با محدودیت‌هایی روبرو شوند. در اواخر دهه 70 میلادی هنگامی که آدرس­های IPv4 طراحی شد، هرگز به ذهن طراحان آن زمان نیز خطور نمی­کرد که روزی این آدرس­ها به پایان برسند، اما رشد روز افزون میزان استفاده از اینترنت و انفجار یکباره مشترکین آن، اتمام این منابع را رقم می‌زد. پس از این، در سال 1992 ایجاد یک پروتکل جدید آدرس­دهی با نام IPv6 امری ممکن شد.

در این بین پروتکل اینترنت نسخه 4 با نسخه 5 تفاوت‌هایی دارند. در حقیقت مهم­ترین تفاوت بین پروتکل اینترنت نسخه 4 یا IPv4 و پروتکل اینترنت نسخه 6 یا IPv6 را می­توان در پیکربندی و نحوه آدرس­دهی آن­ها دانست. درIPv6  با بسط فضای آدرس­دهی مهم­ترین مشکل IPv4 که همان پایان یافتن آدرس­های معتبر آن بود، حل شده است. در حالی که IPv4 با تخصیص 32 بیت برای آدرس­دهی به تعداد 2 به توان 32 برابر با  4.294.967.296 آدرس را پشتیبانی می‌کند (معادل به نیمی از جمعیت کنونی کره زمین) و مقدار زیادی از آن نیز به دلایل گوناگون به هدر می­رود، IPv6 با اختصاص فضای چهار برابر یعنی 128 بیت برای آدرس­دهی به تعداد 2 به توان 128 برابر 340,282,366,920,938,463,463,374,607,431,768,211,456 تعداد آدرس را پشتیبانی می‌کند، با طراحی آدرس‌دهی IPv6 به هیچ وجه نمی‌توان متصور شد که این میزان آدرس روزی به پایان برسد!

در واقع تعداد بیت­های زیاد آدرس­دهی در IPv6 نیاز این پروتکل به تقسیم بندی سلسله مراتبی و اختصاص آن به نواحی جغرافیایی مختلف بوده است که در قسمت­های آینده در مورد آن بیشتر خواهیم گفت. تعداد 128 بیت آدرس موجب راحتی در تخصیص سلسله مراتبی آدرس­ها و مدیریت آسان­تر آن می‌شود. RFC3513

1-1 نحوه نمایش آدرس­های IPv6

همان­طور که می­دانیم IPv4 به‌صورت اعداد دهدهی که با استفاده از نقطه از هم جدا می‌شوند، نمایش داده می‌شوند. به طور مثال 192.168.1.1 یک نمونه از آدرس­های IPv4 است. در این نمایش تعداد 32 بیت آدرس به چهار قسمت هشت بیتی که توسط نقطه از هم جدا می‌شوند، تقسیم شده و هر بخش به‌صورت اعداد دهدهی که بین صفر و 255 قرار دارند، نمایش داده می‌شود.

در IPv6 برای نمایش آدرس­ها کل بیت­ها را به هشت بخش 16 بیتی تقسیم­بندی می­کنیم و هر بخش را با استفاده از دو نقطه (:) از بخش دیگر جدا می­کنیم. بخش­های 16 بیتی را نیز به‌صورت اعداد مبنای 16 که بین 0000 و FFFF واقع می‌شوند، نشان می‌دهیم. عدد دودویی 128 بیتی را در نظر بگیرید:

0010000111011010000000001101001100000000000000000010111100111011

0000001010101010000000001111111111111110001010001001110001011010

این اعداد نمایانگر یک آدرس IPv6 هستند. برای نمایش آدرس معادل ابتدا آن را به 8 بخش 16 بیتی تقسیم­بندی می­کنیم:

0010000111011010: 0000000011010011: 0000000000000000: 0010111100111011

0000001010101010: 0000000011111111: 1111111000101000: 1001110001011010

حال با نمایش این بخش­ها در مبنای 16 و جداسازی آن­ها به کمک دو نقطه به آدرس IPv6 زیر می­رسیم:

21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A

همان­طور که در آدرس­دهی IPv4 می­توان به جای آدرس 080.123.001.025 از آدرس 80.123.1.25 استفاده کرد و از صفرهای بی ارزش صرف نظر کرد؛ در آدرس­دهی IPv6 نیز می­توان این صفرها را در نظر نگرفت. بنابراین آدرس مثال بالا را می‌توان به‌صورت زیر نمایش داد:

21DA:D3:0:2F3B:2AA:FF:FE28:9C5A

نکته : فشرده­سازی صفرها در IPv6 دارای تابع وقوانینی است که در بخش­های بعدی به آن می­پردازیم.

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

آدرس­های IPv6 را به‌صورت کلی می‌توان به سه دسته مختلف تقسیم­بندی کرد. به عبارت دیگر IPv6 از سه نوع آدرس­دهی پشتیبانی می­کند:

  • آدرس‌های unicast :

آدرس­های unicast تنها به یک واسط شبکه‌ای اختصاص داده می‌شوند و به عبارت دیگر آدرس­های unicast در یک محدوده تنها نمایانگر یک واسط شبکه‌ای هستند. درخواست­هایی که به آدرس­های unicast ارسال می‌شوند، بعد از مسیریابی موفق، تنها به وسیله یک آدرس مشخص دریافت می‌شوند. در این میان آدرس­های unicast خود به چهار دسته کلی به شرح ذیل تقسیم بندی می‌شوند:

آدرس­های global unicast یا آدرس­های unicast عمومی

– آدرس­های Link-local یا آدرس­های اتصال محلی

– آدرس­های site-local یا آدرس­های سایت محلی

– آدرس مخصوص

2-1-1 آدرس‌های unicast  عمومی:

آدرس­های unicast عمومی که به آدرس­های unicast عمومی aggregateable نیز مرسوم هستند، در حقیقت همان معادل‌های آدرس معتبر در IPv4 محسوب می‌شوند. این آدرس­ها در شبکه‌ اینترنت مسیریابی می‌شوند و معادل یک واسط شبکه معتبر و یکتا در جهان هستند. همانطور که می­دانیم هر چند آدرس­های IPv4  از یک ساختار سلسله مراتبی پیروی می­کنند اما تخصص این آدرس­ها به نقاط جغرافیایی دارای نظم مشخصی نیست. از این رو ممکن است مثلاً بخشی از آدرس 80.0.0.0/8 که به زیر شبکه­های مختلف تقسیم شده است، به یک قاره جهان و بخش دیگر به قاره­ای دیگر اختصاص یابد. این امر موجب به وجود آمدن جدول­های مسیریابی بسیار بزرگی در مسیریاب­های هسته اصلی اینترنت می‌شود که به یکی از معضلات پیچیده و بسیار بزرگ IPv4 در دنیای امروز تبدیل شده است. از این رو کارشناسان تقسیم آدرس در اینترنت تصمیم گرفتند که در مورد IPv6 اختصاص آدرس­ها به مناطق جغرافیایی نیز از یک ساختار سلسله مراتبی پیروی کنند. لذا بخشی از پیشوندهای مربوط به آدرس IPv6 به مناطق جغرافیایی برای تعیین درست مسیر اختصاص یافته است. شکل ذیل نمایی از ساختاربندی این­گونه آدرس­ها را نشان می­دهد.

2-1-2 آدرس­های link local:

این آدرس­ها برای برقراری ارتباط بین نقاطی که در یک اتصال موجودند استفاده می‌شوند. این آدرس­ها عموما برای تعیین وضعیت شبکه توسط پروتکل Neighbor Discovery مورد استفاده قرار می­گیرند. همچنین می­توان از این آدرس­ها برای ارتباطات محلی در یک شبکه هنگامی که هیچ مسیریابی در شبکه موجود نیست، استفاده کرد. معادل این آدرس­ها در IPv4 همان آدرس­های APIPA (Automatic private IP address) یا آدرس­های خودکار خصوصی محسوب می‌شوند که از نوع آدرس­­های کلاس B بوده، معادل آدرس 169.254.0.0/16 در IPv4  هستند. این آدرس­ها هنگامی که هیچ آدرسی برای پروتکل  IPv4 قابل دستیابی نباشد، به‌صورت خودکار تنظیم می‌شوند. در IPv6 نیز چنین آدرس­هایی موجودند که به آن­ها آدرس­های Link-Local گفته می‌شود.

همانطور که مشاهده می‌شود آدرس­های Link-Local دارای 10 بیت ثابت و 54 بیت صفر هستند بنابراین می­توان آن­­ها را به‌صورت FE80::/ 64 نشان داد. تنها 64 بیت آخر این آدرس­ها به Interface ID اختصاص دارد که نحوه به دست آمدن ID Interface را در بخش­های بعدی توضیح خواهیم داد.

2-1-3 آدرسهای Site-Local:

آدرس­های Site-Local در IPv6 معادل آدرس­های خصوصی در IPv4 هستند. همان­طور که می­دانیم آدرس­های 192.168.0.0/16 و  172.16.0.0/12و 10.0.0.0/8 به عنوان آدرس­های خصوصی برای استفاده محلی در IPv4 پیش­بینی شده­اند. معادل این آدرس­ها درIPv6 آدرس­های Site-Local نامیده می‌شوند. این آدرس­ها برای استفاده­های درون ناحیه­ای و داخل شرکت­ها و سازمان­ها در نظر گرفته شده­اند و تنها مسیریاب­های داخلی امکان مسیریابی آن­ها را خواهند داشت. این آدرس­ها در مسیریاب­های اینترنت به هیچ وجه مسیریابی نخواهند شد. برعکس آدرس‌های Link-Local این آدرس­ها به‌صورت خودکار تخصیص داده نمی‌شوند و باید به‌صورت دستی آن­ها را تنظیم کرد.

همان­طور که در شکل دیده می‌شود این آدرس­ها نیز از 10 بیت ثابت به همراه 54 بیت که مربوط به شناسه زیرشبکه هستند، تشکیل شده است. بنابراین آدرس­های Site-Local را می­توان به­صورت FEC0::/10 نشان داد. از 54 بیت مربوط به شناسه زیر شبکه می‌توان جهت ایجاد یک ساختار سلسله مراتبی در سازمان­ها بهره برد. 64 بیت انتهایی نیز همانند قبل به آدرس واسط شبکه تعلق دارد.

2-1-4 آدرس مخصوص:

بعضی از آدرس­های IPv6 برای استفاده خاص استفاده می‌شوند و نباید جهت تنظیم آدرس­های مد نظر مورد استفاده قرار گیرد. این آدرس­ها عبارتند از:

  • آدرس نامعین: آدرس IPv6 معادل 0:0:0:0:0:0:0:0  یا به عبارت ساده­تر: نمایانگر عدم وجود آدرس برای یک واسط شبکه بوده و به­هیچ عنوان استفاده خارجی ندارد. معادل این آدرس در IPv4 آدرس 0.0.0.0 است که برای شروع کار TCP/IP و تعیین آدرس مورد استفاده قرار می‌گیرد.
  • آدرس loopback: این آدرس برای مشخص نمودن آدرس شبکه­ای Loopback مورد استفاده قرار می گیرد. معادل این آدرس در IPv4 همان آدرس 127.0.0.1 است که برای آزمایش کارکرد داخلی TCP/IP استفاده می‌شود. در IPv6 این آدرس را به‌صورت 0:0:0:0:0:0:0:1 یا به‌صورت خلاصه شده ::1 نشان می‌دهند. این آدرس نباید برای هیچ واسط شبکه­های تنظیم شود یا برای ارتباط بین چند واسط مورد استفاده قرار گیرد.
  • آدرس­های multicast :

آدرس­های multicast در آن واحد، نمایانگر چند واسط شبکه­ای هستند. بسته­هایی که به آدرس multicast ارسال می‌شوند بعد از طی مسیریابی شده توسط تمامی واسطه­های شبکه­ای که آدرس multicast مورد نظر به آن­ها اختصاص یافته است، دریافت می‌شوند. از آدرس‌های multicast برای ارتباطات یک به چند استفاده می‌شود.

  • آدرس­های anycast  :

آدرس­های anycast همانند آدرس­های multicast به چند واسط شبکه به­صورت همزمان اختصاص داده می­شوند: اما بسته­هایی که به این­گونه آدرس­ها ارسال می­شوند، تنها توسط یک واسط شبکه دریافت می­شوند که این واسط نزدیک­ترین واسط شبکه نسبت به فرستنده است. نزدیک­ترین واسط نیز با توجه به الگوریتم­های مسیریابی تعیین می‌شود. در حقیقت آدرس­های anycast جهت دسترسی یک به یکی از چند واسط استفاده می‌شود.

  • آدرس­های معادل در دو نسخه IPv6 و IPv4
IPv4 AddressIPv6 Address
Multicast addresses (224.0.0.0/4)IPv6 multicast addresses (FF00::/8)
Broadcast addressesNot applicable in IPv6
Unspecified address is 0.0.0.0Unspecified address is ::
Loopback address is 127.0.0.1Loopback address is ::1
Public IP addressesGlobal unicast addresses
Private IP addresses (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16)Site-local addresses (FEC0::/10)
Autoconfigured addresses (169.254.0.0/16)Link-local addresses (FE80::/64)