
ساختار آدرسدهی در اینترنت پروتکل نسخه 6 (IPv6)
- مقدمه
امروزه منابع مورد استفاده در شبکههای ارتباطی از نوع منابع سختافزاری و چه منابع نرمافزاری، پهنایباند و غیره، از اهمیت بالایی برخوردار هستند و این مهم همواره طراحان این حوزه را با چالشهایی جدی مواجه ساخته است. برخی از این منابع را میتوان با طراحیهای اصولی، منطقی و مبتنی بر استانداردهای مطرح شده بهینه ساخت و از انجام هزینههای چندباره و گزاف در این خصوص، خودداری کرد.
اما در این میان منابعی نظیر 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 Address | IPv6 Address |
Multicast addresses (224.0.0.0/4) | IPv6 multicast addresses (FF00::/8) |
Broadcast addresses | Not applicable in IPv6 |
Unspecified address is 0.0.0.0 | Unspecified address is :: |
Loopback address is 127.0.0.1 | Loopback address is ::1 |
Public IP addresses | Global 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) |