معرفی IPv6 به صورت کامل همراه با کتاب و ویدیو

3 2,574
Telegram_GEEKBOY

چرا به پروتکل IPV6 نیازمندیم؟ جواب بسیار ساده است. زیرا ما نیاز به برقراری ارتباط داریم و سیستم فعلی جوابگوی رشد فزاینده تکنولوژی نیست. تنها کافی است که نگاهی به انواع روشهای برطرف ساختن مشکل مربوط به کمبود آدرسهای IP نسخه 4 بیاندازید که زمان ارزشمند مدیران و متخصصان را در هر پروژه به خود اختصاص می دهند. برای نمونه، هم اکنون نیز از آدرسهای خصوصی یا private به همراه ویژگی VLSM و نیز NAT به این منظور استفاده می شود. هرروز به تعداد افراد و دستگاههایی که نیاز به برقراری ارتباط با یکدیگر دارند افزوده می شود که این رشد زیاد را می توان به عنوان یک پدیده خوب یاد نمود. زیرا در این بین، همه افراد با استفاده از انواع راه های ارتباطی قادر به برقراری ارتباط با یکدیگر خواهند بود. اما تنها راه موجود برای متصل نمودن افراد و دستگاهها در سالهای پیش وحتی حال یعنی IPV4، به مرز تکمیل ظرفیت خود نزدیک شده و در سالهای آتی، با در نظر گرفتن شدت همین رشد، از حدود ظرفیت خود خارج خواهد شد.

v4_v6_table

IPV4، حداقل در تئوری تعداد 4 میلیارد آدرس در اختیار ما قرار داده است که می دانید نمی توان از همه آنها برای آدرس دهی دستگاه ها بهره گرفت. بدین معنی که در عمل فقط قادر به استفاده از 250 میلیون آدرس می باشیم. با اینکه ویژگی های CIDR و NAT تاثیر این کمبود شدید آدرسهای IPV4 را کاهش داده اند، اما در سالهای آتی شاهد کم اثر شدن آنها نیز خواهیم بود.

تنها کشور چین با داشتن یک و نیم میلیارد نفر جمعیت و سازمان ها و شرکت های متعدد نیاز مبرمی به در اختیار داشتن آدرسهای IP دارد. با یک دید کلی تر، تعداد جمعیت فعلی دنیا حدودا برابر با 7 میلیارد بوده که با یک دید خوشبینانه می توان حدس زد که حداقل 10 درصد از این افراد نیاز به برقراری ارتباط داشته و یا در آینده ای نزدیک خواهند داشت! این گفته ها حقیقتی تلخ را در مورد نسخه فعلی پروتکل IP بازگو می نمایند و آن اینکه بسیاری از افراد علاوه بر داشتن یک کامپیوتر برای خود، از دستگاههای دیگر مانند تلفن های همراه، پرینترها، سوئیچ ها، روترها، دستگاههای AP و … نیز در داخل شبکه استفاده می نمایند. دیگر بسیار روشن است که نیاز به ابداء روشی داریم تا بتوان حجم عظیم دستگاههای مربوط به افراد و شرکتهای مختلف را بدون بروز هیچ گونه خللی به همدیگر متصل نمود. جواب ما نسخه جدید IP یعنی IPV6 می باشد.

مزایای استفاده از IPV6

760px-Ipv6_address_leading_zeros.svg

آیا استفاده از IPV6 جوابگوی نیاز ماست؟ آیا IPV6 ارزش ارتقاء از نسخه فعلی آن را دارا می باشد؟ سوالاتی اینچنین را می توان مطرح نمود. در جواب این پرسشها می توان گفت: بله!! نه تنها نسخه جدید پروتکل IP مشکل مربوط به کمبود آدرسهای IP را برطرف می کند، بلکه امکاناتی را در اختیار ما قرار می دهد که باعث کاهش بار مدیریتی و صرفه جویی در هزینه ها و زمان نیز می گردد. شبکه های امروزی دارای انواع نیازهای مختلف هستند که بالطبع در هنگام طراحی IPV4 هیچ توجهی به آنها نشده بود. برای تحت پوشش دادن رنج وسیع این نیازها با استفاده از IPV4 روشها و تکنولوژیهای متعددی معرفی گشته اند که نتیجه ای جز مشکلتر شدن مراحل طراحی، پیاده سازی و عیب یابی شبکه ها و سرویس ها در بر ندارند.

اما متخصصین در طراحی IPV6 به همه این نیازها توجه داشته و امکانات مربوطه را در داخل خود ساختار IPV6 گنجانده اند. برای نمونه می توان از ویژگی های جدید IPSec و Mobility نام برد. همانگونه که از نام “Mobility” نیز بر می آید، افراد مختلف می توانند بدون بروز هرگونه خللی در برقراری ارتباط، از یک شبکه به شبکه ای دیگر جابجا گردند. ویژگی های بسیار مهم دیگری نیز به همراه IPV6 معرفی گشته اند که تاثیر بسزایی در بهبود عملکرد شبکه بر جای خواهند گذاشت. برای نمونه، تعداد فیلدهای موجود در IPV6 header به نصف کاهش یافته که سایز هرکدام از آنها نیز 64 بیت می باشد که در نتیجه آن، سرعت عملکرد شبکه افزایش محسوسی می یابد.

technologies_white_paper0900aecd8054d37d-03

اکثر قسمتهای موجود در داخل IPV4 Header در پروتکل IPV6 حذف شده اند اما می توان موارد مورد نیاز را دوباره در قسمت Optional Extension header که بعد از header استاندارد قرار می گیرد، جای داد. یکی از ایده های اولیه و مهم طراحی IPV6 در اختیار داشتن فضای آدرس دهی بسیار بزرگ بود به گونه ای که برای تخصیص آدرس به انواع دستگاهها دچار مشکل نگردیم. همچنین به دلیل ساختار IPV6، انجام Aggregation در مورد آدرسها و در نتیجه عملیات routing بهبود چشمگیری خواهند یافت.

یکی دیگر از ویژگی های IPV6 آن است که می توان چندین آدرس مختلف را به شبکه ها و یا دستگاهها تخصیص داد. در ضمن، IPV6 کاربرد ارتباطات Multicast را نیز گسترش داده است. IPV4 از پیامهای Broadcast استفاده زیادی کرده و بدین ترتیب باعث بروز مشکلات مربوط به اینگونه پیامها نیز می شود. پدیده broadcast storm را می توان یکی از این مشکلات مربوط به پیامهای broadcast نام برد که در آن، قسمت اعظم پهنای باند شبکه بی مورد مصرف شده و عملکرد شبکه مختل خواهد شد. یکی دیگر از مشکلات مربوط به پیامهای broadcast آن است که همه دستگاهها بعد از اینکه پیام مزبور برای آنها ارسال شده و یا نه مطمئن گردند.

خبر خوش در آنجاست که IPV6 به جای Broadcast از پیامهای multicast بهره می گیرد. علاوه بر آن، دو نوع دیگر از پیامها نیز در IPV6 مورد استفاده قرار می گیرند:

1- آدرس های Unicast: که شبیه به IPV4 بوده و مقصد تنها یک اینترفیس با آدرس مشخص شده است. البته تکنیکی وجود دارد که براساس آن می توان یک IPV6 از نوع unicast را به چندین اینترفیس یا کلاینت و یا سرور اختصاص داد. معمولا از این تکنیک به منظور موازنه کاری یا همان Load Balancing در سرورهای پرکاربرد مثل mail server استفاده می شود. آدرسهای unicast در IPV6 خود به آدرسهای زیر تقسیم می شود:

  • آدرسهای Global Unicast
  • آدرسهای Link-Local Unicast
  • آدرسهای Site-Local Unicast
  • آدرسهای Special Unicast
  • آدرسهای IPX & NSAP

(شرح این آدرسها در ادامه همین مقاله)

2- آدرس های Anycast: در حال حاضر آدرسهای Anycast به عنوان آدرس مقصد بر روی routerها تعیین می شوند. آدرسهای Anycast از روی آدرسهای Unicast بدست می آیند و محدوده کاری آنها بستگی به محدوده کاری Address Unicast های مرجع دارند.

آدسهای IPV6 Anycast را با نام one to one of many address هم می شناسند. تمامی routerهای داخل یک شبکه دارای آدرسهای Anycast یکسانی هستند.

حال اگر بسته ای به آدرس Anycast ارسال شود، به دست نزدیکترین آدرس Anycastای که روی روتر تنظیم شده است می رسد. این عمل با استفاده از ساختارهای مسیریابی آدرسهای Anycast و Routing Metricهای مسیریابی اتفاق می افتد. زمانی که یک packet با آدرس Anycast ارسال شود بعد از اینکه به دست اولین و نزدیکترین دستگاه برسد، دیگر به دنبال دستگاههای دیگر نمی گردد و مسیریابی به اتمام می رسد.

به آدرس IP نسخه 6 آدرس IP نسل آینده یا Next Generation IP Address نیز گفته می شود. اگرچه تاکنون تقریبا ده سال است که بر روی ویژگی ها و استانداردهای پروتکل IPv6 کار شده، اما اخیرا نهایی شده است. علاوه بر این برخی از جنبه های آن هنوز توسط گروه های کاری سازمان IETF در حال کار و بررسی است. همانطور که در مقاله اشاره شد آدرس های صادر شده توسط IPv4 برای راهکارهای جامع ناکافی بود. این مسئله طراحان را مجبور کرد تا بر روی نسخه جدید این پروتکل کار کنند و این موضوع را به گونه ای انجام دهند که دوباره با مسائل مشابه روبرو نشوند. اعضای انجمن اینترنت که مسئولیت توسعه پروتکل را بر عهده دارند، هر پروتکل جدیدی را که تحت RFC توسعه یافته به دقت موشکافی و بررسی می کنند.

RFCها پرونده هایی هستند که جزئیات و ویژگی های پروتکل ها را ارائه می دهند. بنابراین سازندگان نرم افزار و سخت افزار از این طریق نحوه اعمال پروتکل در استانداردها را خواهند دانست. این استاندارد سازی باعث می شود که ارائه دهندگان نرم افزار و سخت افزار جدا از توسعه تخصص یک پروتکل از یک طرح و برنامه یکسان تبعیت کنند. همانگونه که درک ساختار و نحوه عملکرد IPV4 بسیار حیاتی است برای آدرس دهی IPV6 و بهره گرفتن از آن به نحو مطلوب باید مفهوم و مکانیزم عمل آن را به طور دقیق درک نمود. آدرسهای IPV6 به طول 128 بیت بوده که فضای بسیار زیادی را در اختیار ما قرار داده اند. طول آدرسهای IPV6 بسیار بزرگتر از IPV4 می باشد. اما چه ویژگی دیگری نسبت به نسخه قبلی پروتکل IP متفاوت است؟

در ابتدا باید گفت که به جای 4 گروه، 8 گروه از اعداد و برای جداسازی آنها، به جای علامت های نقطه، از “:” استفاده شده است. اما به وضوح می توان حروفی را نیز در بین اعداد مشاهده نمود. افزایش اندازه آدرس IP، در IP نسخه 6، 128 بیت برای آدرس دهی در دسترس قرار دارد. 128 بیت فضای آدرس به معنی این است که شما بتوانید 2 به توان 128 عدد آدرس متفاوت در اختیار داشته باشید. این یعنی

340,282,366,920,938,000,000,000,000,000,000,000,000

آدرس توسط IPv6 ارائه میشود. با این حساب اگر هر IPv6 یک گرم وزن داشته باشد مجموع کل IPv6 مساوی با 56 برابر وزن کره زمین میشود.

ICMPv6 یا پروتکل پیغام کنترل اینترنت نسخه 6

(Internet Control Message Protocol ,version 6): یک بخش کلیدی از معماری IPv6 است. ICMPv6، وظایف اجرایی و کنترل پیغامهای برگشتی(پیغامهای اطلاعاتی و خطا (شامل PingV6) لازم را برای تضمین درست و هموار عمل کردن فرایند IPv6 را برعهده دارد.

این وظایف شامل :

  1. گزارش خطای پردازش پکت
  2. تشخیص و عیب یابی
  3. کشف همسایه
  4. گزارش عضویت multicast (کشف multicast Listener همانند IGMP برای IPv4)
  5. DHCPv6 نسخه جدید DHCP برای IPv6 می باشد. کاملا از نو طراحی شده است فقط از لحاظ مفهومی شبیه به DHCP است. DHCPv6 شامل عملکرد جدید مثل Authentication است.
  6. پروتکلهای مسیریابی برای IPv6 شامل RIPng  OSPFv3

251404

پروتکل IPv4 برای اهداف امنیتی طراحی نشد. بدلیل اینکه بحث امنیت جزء وظایف لایه های بالایی در مدل OSI محسوب می شود، IPv6 امنیت را با هدف رمزنگاری و تصدیق هویت، پشتیبانی می کند. Routerهایی که با IPv6 کار می کنند، قادر به تکه تکه کردن پکت ها نمی باشند. اگرچه در IPv4 روترها قادر به تکه تکه کردن پکتها بوده اند اما در IPv6 تنها زمانی این اجازه را به شما می دهد که تکه تکه شدن پکت ها در مبدا صورت گیرد. آدرسهای IPV6 مانند آدرسهای MAC در مبنای 16 بیان می شوند. در هنگام برقراری ارتباط HTTP با یک دستگاه IPV6، آدرس آن را در مرورگر وب خود باید با علامتهای “[ ]” محصور نمایید. دلیل این کار نیز بسیار ساده است. زیرا مرورگرها برای شناسایی شماره پورتها از علامتهای “:” بهره گرفته و در صورت محصور نکردن آدرس IPV6 با “[ ]“، هیچ راهی برای مشخص نمودن شماره پورت برای مرورگر وجود نخواهد داشت.

128 بیت IPv6 از دو 64 بیت تشکیل شده است، مثالی از ساختار یک آدرس IPV6:

ipv6-02

64 بیت مربوط به Interface ID و کارت شبکه دستگاه است. از این شناسه برای مشخص کردن آدرس منحصربفرد هر اینترفیس شبکه استفاده می شود.64 بیت بعدی به صورت زیر است:

(FP (Former Perfix: به 3 بیت اول آدرس FP می گویند. نوع آدرس را مشخص می کند. آدرس global است یا private، به عنوان مثال FP در آدرسهای Global Unicast معادل 001 است.

(TLA_ID (Top Level Aggregator Identifier: به 13 بیت بعدی TLA می گویند. محل جغرافیایی یک IP Address را مشخص می کند. برای تشخیص اینکه مبدا یک مسیر چه بوده و از کجا می آید. اگر بلوک های بزرگتر به ISPها و ارائه گردند و پس از آن به نوبت به مشتریها، تشخیص اینکه مسیرهای طی شده مربوط به کدام شبکه بوده است، بسیار راحت تر خواهد بود. با IPv4 بسیاری از آدرسها قابل انتقال هستند. همچنین تعداد سازمانهایی که بلوک های آدرس را به سازمانهای تجاری و دیگر مشتریان پایین دست ارائه می کنند بسیار زیاد است بنابراین دانستن اینکه یک مسیر از کجا ناشی شده و شروع می شود، بدون پیگیری رو به عقب مبدا یک پکت (Trace)، غیر ممکن است. اکنون به وسیله IPv6، تعیین مبدا یک مسیر، بسیار عملی تر و امکانپذیرتر شده است.

فرض کنید که اینترنت شامل 500 تامین کننده ردیف اول باشد، در این صورت توسط جستجو در یک مدت بسیار کم، بر مبنای شناسه TLA مربوط به طولانی ترین مسیر، می توان فهمید که مسیر از کجا آغاز شده است. حتی می توان نرم افزاری را تولید کرد که این وظیفه را در داخل خود جای داده و انجام دهد. (البته اگر آن نرم افزار قابلیت به روز رسانی لیست آدرسهای اختصاص داده شده را داشته باشد). TLAها در اصل به NAP اشاره می کند.

(NAP (Network Access Point: در سطح دنیای اینترنت 12 تا NAP وجود دارد. توجه کنید که این Access Point به معنی AP شبکه های وایرلس نیست. Back-Bone های اینترنت NAP هستند. شاهراه های اینترنتی به NAP ختم می شوند. 12 تا Backbone اصلی در دنیای اینترنت وجود دارد که اکثرا هم در آمریکا هستند. مثل AT&T یک NAP است. در ساختار اینترنتی بایستی مشخص شود که به کدام یک از NAPها متصل می شویم. این قسمت (TLA) توسط سازمان بین المللی تخصیص آدرسهای اینترنتی IANA اختصاص داده می شود.

پس اول بایستی معلوم شود که آدرس ما چیست؟ Global است یا Private ، بعد با فرض اینکه Global باشد حالا باید مشخص شود که این آدرس Global به کدام NAP اینترنتی ختم می شود. تا اینجا از 64 بیت، 3 بیت FP و 13 بیت TLA مشخص شد. همانند پروتکل IPv4، در پروتکل IPv6 نیز گروهی از آدرسها برای مقاصد خاص رزرو شده اند. پروتکل IP نسخه 6، 8 بیت رزرو شده دارد که اگر به این NAPها در آینده اضافه شود و آدرس های NAP کم بیاد می تواند از این رزروها استفاده کند. مثل 0::0::0::0::0::0::0::0 که معادل “::” بوده و شبیه به آدرس 0.0.0.0 در IPv4 عمل می کند. این آدرس به مفهوم آدرس فرستنده یک پیام در برخی از پیکربندی ها می باشد.

(NLA_ ID (Next Level Aggregator Identifier: به 24 بیت بعدی NLA می گویند. شناسه 24 بیتی برای حوزه های کوچکتر از TLA است. شامل مجموعه ای از آدرس هاست که به واسطه بلوک TLA و پس از آن به سیستمهای زیر مجموعه اختصاص داده می شود. به AS مربوطه اشاره می کند. مثلا شماره AS مخابرات ایران. NLA ما می شود یعنی NLA مخابرات ایران.

(SLA_ ID (Site Level Aggregator Identifier: به 16 بیت بعدی SLA می گویند. مشخص کردن حوزه های کوچکتر از NLA. به عنوان مثال مشخص کردن شرکت ها و سازمانهای دولتی در داخل یک کشور. شماره AS ISP ما را مشخص می کند. برای نمایش ساده تر IPv6 می توان قسمتهایی از آن را که تماما صفر است، فقط با یک صفر نمایش داد و یا تمام صفرها را به همراه کولن بعد از آن حذف کرد.

فشرده سازی IPv6:

image80

چند نکته :

  1. IPv6 نمی تواند با “::” شروع شود.
  2. در هر قسمت 16 بیتی می توان حداکثر از عدد DDDD و حداقل از 0000 استفاده کرد.
  3. در IPv6 چیزی به نام Subnet Mask وجود ندارد اما به جای آن Perfix (پیشوند) وجود دارد.

به طور مثال IP آدرس 2001::3 با پیشوند 64 بیت به صورت

2001::3/64

نوشته می شود، مفهوم این است که 64 بیت از سمت چپ ثابت و نشان دهنده آدرس شبکه (subnet ID) است و مابقی می تواند برای کامپیوترهای داخل شبکه تغییر کند. می توان برای هر کامپیوتر چندین Subnet ID تعریف کرد که به این تکنیک Multinetting می گویند. اگر پیشوند IP آدرسی مشخص نشود، به طور پیش فرض، 64 بیت در نظر گرفته می شود.

11

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

  • Unicast
  • Multicast
  • Anycast

چند نوع مختلف آدرس دهی Unicast

  • Global Unicast
  • Link-Local Unicast
  • Unique-Local Unicast

251399

Global Unicast: به مفهوم آدرسهای unicast قابل انتقال در اینترنت بوده (قابلیت آدرس دهی در اینترنت را بر عهده دارند) و شبیه به نوع متناظر آن در IPv4 می باشند، به این نوع آدرسها Aggregatable Address نیز می گویند. این ساختار از قسمتهای زیر تشکیل شده است:

251400

Link-Local Unicast: شبیه به آدرسهای Private یا خصوصی در IPv4 بوده و قابل انتقال در اینترنت نیستند. این آدرسها را می توان به اعضای یک شبکه LAN و یا چند LAN مختلف که قصد برقراری ارتباط با یکدیگر دارند را تخصیص داد. این آدرسها که در غیاب DHCP Server ایجاد می شوند، در IPv6 معادل Fe80::/64 هستند. به بیانی دیگر اگر در هنگام تنظیم IP آدرس، در کادر محاوره ای Properties کارت شبکه گزینه obtain IPv6 address automatically را انتخاب کنیم. سیستم عامل به طور خودکار براساس تلفیقی از MAC Address مربوط به کارت شبکه با آدرس Link-Local یک آدرس IPv6 به کارت شبکه اختصاص می دهد.

251402

Unique-Local Unicast: این آدرسها را با نام Site-Local unicast هم می شناسند. این نیز قابلیت انتقال در اینترنت را نداشته اما در هر جا که مورد استفاده قرار گیرند، در بین تمامی دیگر آدرسهای اینترنت منحصر به فرد می باشند. عملکرد این نوع آدرسها دقیقا شبیه به آدرسهای private در IPv4 بوده و امکان برقراری ارتباط بین دستگاههای یک سازمان محلی را با واسطه روترها ممکن می سازند. این آدرسها با 16 بیت ثابت (feco) شروع می شوند و به دنبال آن 32 بیت صفر و سپس 16 بیت مربوط به Subnet ID است که معمولا آن را هم صفر در نظر می گیرند. 64 بیت پایانی هم که Interface ID است که برای هر کامپیوتر منحصر به فرد است.

251401

آدرسهای Multicast: شبیه به IPv4، پیامهای ارسال شده به مقصد این آدرسها، توسط گروهی از دستگاههای دارای آدرس مزبور دریافت می شود. این آدرسها در برخی از مواقع با نام One-to-Many نیز نامیده می شوند. در IPv6 آدرسهایی که با FF شروع می شوند، در گروه آدرسهای multicast قرار خواهند گرفت.

251403

آدرس های Anycast: در ارتباط با آدرسهای Anycast در بالای مقاله توضیح دادم اما برای تکمیل توضیحات عرض میکنم که، برای ساختن یک آدرس Anycast و اختصاص دادن آن به یک router باید ابتدا بخش NET ID مربوط به IPv6 Address شبکه را ثابت و قسمت Subnet ID را صفر قرار دهیم. در واقع می توان گفت که برای ساخت چنین آدرسی نیاز به داشتن IP Perfix شبکه داریم. به طور مثال برای شبکه 64/::2001:4188:1:1 آدرس Anycast برابر با 2001:1:1:0:0:0:0 یا در حالت فشرده ::2001:4188:1:1 خواهد بود. حال اگر بسته ای به آدرس Anycast ارسال شود، به دست نزدیکترین آدرس Anycastی که روی روتر تنظیم شده است می رسد. این عمل با استفاده از ساختارهای مسیریابی آدرسهای Anycast و Routing Metricهای مسیریابی اتفاق می افتد و زمانیکه یک packet با آدرس Anycast ارسال شود بعد از اینکه به دست اولین و نزدیکترین دستگاه برسد، دیگر به دنبال دستگاههای دیگر نمی گردد و مسیریابی به اتمام می رسد.

071121054000KjAfUn

در صورت نیاز به تبدیل IPv4 به IPv6 می توان به راحتی این کار را از این سایت انجام دهید.

به منظور پیدا کردن IPv4 یک سیستم در شبکه خود می توانید با دستور زیر سیستم مورد نظر را Ping کرده و آدرس IPv6 آن را پیدا نمایید:

ping PCname -6

پارامتر 6- برای IPv6 و پارامتر 4- برای Ipv4 هستش و به جای PCname هم نام سیستم مقابل را وارد نمایید.

ping ipv6

 معرفی تصویری IPv6:

 

[aparat id=”9l18m”]

 

3 نظرات
  1. حسن می گوید

    سلام
    مقاله خیلی خوبی بود.فقط اگر ممکنه در مقالات بعدی دوتا مثال کاربردی کوچیک بزنید تا مطلب جا بیوفته مثلا به شبکه کوچک محلی و ادرسهاش در ورژن۴ رو معادلش در ورژن۶ چطور باشه.
    موفق باشی

    1. حسین می گوید

      برای تبدیل آدرس های IPv4 به IPv6 یکی از ساده ترین راه ها استفاده از سایت هایی مثل سایت زیر می باشد.

      http://goo.gl/fPz20u

  2. حسن می گوید

    ممنون.کانال هم راهاندازی کردید خیلی خوبه.

ارسال یک نظر

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.