ARP را فراموش کنيد!
در آدرس آيپي نسخه ۴ پروتکلی به نام ARP (Address Resolution Protocol) وجود داشت و کارش تبدیل IP Address به MAC Address بود. این پروتکل برای به دست آوردن آدرس آيپي مورد نظر، بستههای Broadcast را تولید و در شبکه پخش میکرد. این امر موجب افت کار شبکه میشد، زیرا تمامي کامپيوترها ملزم به دریافت و پردازش بستههای Broadcast بودند.
اما در IPv6 به جای استفاده از ARP از آدرسهای Solicited Node و پیغامهای تقاضای اطلاعات همسایه (Neighbors Solicitation Message) استفاده میشود. این پیغامها به صورت Multicast ارسال میشوند و نسبت به Broadcast افت کمتري در شبکه ايجاد ميکنند.
این پیغامها براساس ICMPv6 ارسال و دریافت میشوند.
Solicited Node Address مکان دقیق کامپيوتر مورد نظر را با استفاده از ارتباطات بین اترنت و IPv6 InterfaceIDها به دست میآورد.
این آدرسها معمولاً به صورت FE02::l:FF00:0/104 هستند که ۲۴ بیت پايانی این آدرسها قابل تغییر بوده و به آدرس مقصد مربوط ميشود. در واقع این ۲۴ بیت باید دقیقاً مثل ۲۴ بیت پایانی آدرس مقصد باشد. در شکل ۱ نمایي از ساختار این گونه آدرسها نشان داده شده است.
در تصویر زیر ساختار کلی آدرس های Solicited Node Address
به طور مثال کامپيوتر A با آدرسFE80::2AA:FF:EF28:9C5A در شبکه وجود دارد. این کامپيوتر باید در عین حال به آدرسهای Multicast معادل ff02::1:ff28:9c5a گوش فرا دهد. حال اگر کامپيوتر B قصد برقراری ارتباط با A و یا Query گرفتن از آن را داشته باشد، آدرس Multicast ذکر شده را همراه با یک در خواست براي A میفرستد و کامپيوتر A هم تحت یک Advertisement Message به آن پاسخ میدهد. با اندکی تأمل مشاهده میشود که در این حالت کارآیی بیشتری نسبت به حالتهای قبل در شبکه به وجود میآید. تصویر زیر نمایي از این فرآیند را به طور خلاصه بیان میکند.
تجزیه و تحلیل پيکربندي خودکار در IPv6
پيکربندي خودکار يا Auto Configuration در آدرس آيپي نسخه ۶ یک راهکار مفید برای کلاينتهای شبکه است. زيرا کلاينتها میتوانند با استفاده از این ویژگی، یک آدرس از نوع link-Local Unicast به خودشان اختصاص دهند.
فرآیند پيکربندي خودکار در حالت کلی زمانی اتفاق میافتد که یک کامپيوتر برای اينترفيس مورد نظر خود آدرس IPv6 مشخص نکرده باشد و به علاوه DHCP v6 هم در شبکه وجود نداشته باشد. در این صورت سیستم از دامنه link-local و براساس فرآيند زیر آدرس آيپي دریافت میکند:
ابتدا prefix (که در این جا منظور ۶۴ بیت اولیه IPv6 است) را از روتر شبکه دریافت و سپس براساس Mac Address کارت شبکه سیستم خود و با استفاده از شناسه واسط EUI-64، قسمت ۶۴ بیتی ثانویه IPv6 را به صورت منحصر به فرد به قسمت prefix اضافه کرده و به خود اختصاص میدهد. بنابراین برای آنکه یک کامپيوتر بتواند پيکربندي خودکار مختص IPv6 را انجام دهد، طی دو مرحله زیر این فرآيند را طی میکند:
«» ابتدا کامپيوتر نیاز به اطلاع از Network Portion مربوط به IPv6 خودش را دارد (همانند NetID در IPV4). بنابراین درخواستي تحت عنوان RS (Router Solicitation) به روتر شبکه ارسال میکند. این اطلاعات نوعي ICMP message است که شماره منحصر به فرد و مشخص کننده خودش را دارد.
«» در مرحله دوم روتر پاسخ RS را براساس یک RA (Router Advertisement) بر میگرداند. این پاسخ یک ICMP است که در آن اطلاعات مربوط به prefix قرار دارد (در تصویر زیر).
پس از این دو مرحله، کامپيوتر برای مشخص کردن Node Portion يا همان InterfaceID خود براساس شناسه Eui-64 عمل میکند.
براساس Eui-64 یک کامپيوتر باید آدرس مک ۴۸ بيتي خودش را به Node Portion تبدیل کند. برای این منظور ابتدا آدرس مک را به دو قسمت ۲۴ بیتی تقسیم میکند. همانطور که میدانید ۲۴ بیت اول از سمت چپ مربوط به Extension-id یا Board-ID است که شماره محصول ساخته شده است.
به عبارت ديگر Board-id مربوط به قطعه تولید شده، توسط Company-ID اختصاص داده میشود.
سپس بین Company-ID و Board-ID شانزده بیت منحصر به صورت fffe قرار داده میشود. بنابراین ساختاري همانند شکل زیر خواهد داشت.
در اين فرآيند برای آنکه EUI-64 تعیین کند که آیا این آدرس به صورت محلي منحصر به فرد است و یا به صورت جهاني، تمام قسمت Node Portion را به باينري تبدیل و بیت هفتم را معکوس میکند. یعنی اگر صفر بود آن را یک، و اگر یک بود آن را صفر میکند. سپس دوباره آن را به حالت هگزادسيمال تبدیل میکند.
اگر این بیت یک باشد، به معنی آن است که این آدرس توسط IEEE و به صورت جهاني کنترل میشود و منحصر به فرد است، و اگر صفر باشد، یعنی این آدرس به صورت محلی کنترل میشود و Locally Unique است.
مثال: فرض کنیم دستگاهي با آدرس مک ۰۰-۵c-c0-56-4c-BF داریم.
براي انجام عملیات شناسه واسط EUI-64 برای Node Portion باید مراحل زیر را طی کنیم.
۱- ۰۰-۵C-C0-56-4C-BF
۲- ۰۰-۵C-C0-FFFE-56-4C-BF
۳- ۰۰-۵C-C0-FF-FE-56-4C-BF
۴- ۰۰۰۰۰۰۰۰-۰۱۰۱۱۱۰۰-۱۱۰۰۰۰۰۰-۱۱۱۱۱۱۱۱-۱۱۱۱۱۱۱۰-۰۱۰۱۰۱۱۰-۰۱۰۰۱۱۰۰-۱۰۱۱۱۱۱۱
۵-۰۰۰۰۰۰۱۰-۰۱۰۱۱۱۰۰-۱۱۰۰۰۰۰۰-۱۱۱۱۱۱۱۱-۱۱۱۱۱۱۱۰-۰۱۰۱۰۱۱۰-۰۱۰۰۱۱۰۰-۱۰۱۱۱۱۱۱
۶- ۰۲-۵C-C0-FF-FE-56-4C-BF
۷- ۰۲۵C:C0FF:FE56:4CBF
۸- ::۰۲۵C:C0FF:FE56:4CBF
مروری بر Mobility IPv6
همانطور که میدانید، در شبکههای بيسيم وقتي کلاينتي که از طریق اکسسپوينت به شبکه متصل شده، تغییر مکان دهد و از اکسسپوينت اولیه دور شود و سیگنالهای قویتری را از اکسسپوينت دیگري دریافت کند، به طور خودکار به اکسسپوينت جدید متصل میشود و ارتباط اولیه را با اکسسپوينت اول قطع میکند. این اتفاق آن قدر سریع رخ میدهد که کلاينت فقط متوجه تقویت سیگنالهای دریافتی میشود.
تنها مشکل این مکانیزم آن است که در هنگام تعويض اکسسپوينت، اگر در حال دريافت يا ارسال اطلاعات باشد، این اطلاعات از بین میرود و باید دوباره برای ارسال یا دریافت آن اقدام کرد.
در شبکه بيسيم، وقتي کامپيوتري مکانش را تغییر میدهد، در پی آن ارتباط و آدرس آن هم تغییر میکند.
ویژگی کلیدی Mobility يا همان تحرکپذيري IPv6 این است که اگر کامپيوتري در حین برقراری ارتباط با شبکه، یا هنگام دریافت و ارسال اطلاعات، مکانش را تغییر دهد، ارتباط آن از بین نمیرود. بر همين اساس در شبکه مبتنی بر IPv6 کامپيوتر آدرس اختصاصی و مخصوص به خود را دریافت میکند و همیشه ارتباطاتش براساس آن صورت میگیرد.
در شبکه بيسيم مبتنی بر IPv6، پروتکل Mobile Internet Protocol Version 6 اجازه حرکت آزادانه کلاينتها را میدهد. نکته حايز اهمیت این است که پایداري ارتباط کلاينت با تغییر در Transport Layer Protocol برقرار نمیشود، بلکه تغییرات آدرس با استفاده از Internet Layer جابجا میشوند.
دلایل پیدایش IPv6
IPv6 در اصل برای غلبه بر یک سری کمبودهای IPv4 طراحی و ساخته شده است. در ادامه تعدادی از مزیتهای IPv6 و موارد بهبود یافته آن را نسبت به IPv4 بررسی میکنیم.
افزایش فضای آدرسدهی (۱۲۸ بیت در مقابل ۳۲ بیت)
در گذشته IPv4 شامل ساختار ۳۲ بیتی بود که باعث بروز مشکل کمبود فضای آدرسدهی شد. اکنون این مشکل با پیدایش IPv6 و با اختصاص فضای آدرسدهی ۱۲۸ بیتي حل شده است، طوری که میتوان برای هر دستگاهي که قابلیت تخصيص آيپي دارد، یک IPv6 اختصاص داد. به همین دلیل است که ۶۴ بیت قسمت Node Portion میتواند به صورت خودکار از روی کارت شبکه هر سیستمی براساس آدرس مک آن ساخته شود.
پیکربندی خودکار
عموماً آدرسهای IPv4 یا به صورت دستی و یا با استفاده از DHCP Server تنظيم ميشدند. البته ویژگی Auto Configuration هم در آيپيهای سری APIPA برای IPv4 در دسترس بود. اما این ویژگی مخصوص شبکههایی بود که قصد گذر از روتر را نداشتند. زیرا آيپيهایی که با استفاده از این ویژگی تخصيص مييافتند، دارای Subnetهای ايزوله و محدود بودند.
اما در IPv6 همانند چنین آدرسهايی با نام link-local وجود دارد. بدين صورت که یک کامپيوتر ميتواند در غیاب DHCP Server آدرس آيپي گرفته و با آن آدرس خودش را به صورت اتوماتیک پیکربندی کند. البته میتواند از طریق DHCP نيز پيکربندي شود.
امنیت درسطح شبکه با IPSec
برای برقراری ارتباطی خصوصي در سطح شبکه، نیازمند به ارتباطي ايمن و رمزگذاری شده هستیم تا شخص ثالثي در بین مسير از این اطلاعات مطلع نشود. این ویژگی يعني رمزگذاری اطلاعات در IPv4 توسط پروتکل IPSec و به صورت اختیاری پیادهسازی ميشد، اما در IPv6 با استفاده از پروتکل IPsec و به صورت اجباری پیادهسازی شده است. این ویژگی که در هسته IPv6 طراحی شده است، به عنوان یکی از معیارهای افزایش امنیت از آن یاد میشود.
انتقال بلادرنگ اطلاعات (QoS)
QoS يا Quality of Service در IPv4 وجود دارد و کارش سهمیهبندی پهنای باند و تخصيص مناسب آن به ترافیکهای بلادرنگ مانند ویديو و صوت است.
در IPv4 عموماً برای این گونه ترافیکها از پروتکلهای UDP و TCP استفاده میشد. بنابراین زمانی که اطلاعات به صورت رمزنگاري شده رد و بدل میشد، TCP و UDP در جریانهای بلادرنگ بازده مفید خود را از دست میدادند. اما در IPv6 به دليل وجود فیلد Flow Label Field که در سرستون (Header) ثانویه IPv6 قرار دارد، بازده پهناي باند افزايش يافته و در نتيجه روي عملیات QoS تأثیر نمیگذارد.
کاهش اندازه جداول مسیریابی
آدرسهای جهاني (Global) که مخصوص استفاده در اینترنت هستند، طوري طراحی شدهاند تا یک ساختار سلسله مراتبی خلاصه و مؤثر را فراهم آورند. در نتیجه اندازه جداول مسيريابي (Routing Table) را که در روترهاي Backbone اینترنت هستند، تحت تأثیر خود قرار خواهند داد و موجب کاهش اندازه آنها میشوند.
کاهش اندازه سرستون اصلی و ایجاد سرستون ثانویه
سرستونهاي IPv4 و IPv6 با یکدیگر سازگار نیستند.
IPv6 با هدف کوچکتر کردن سرستون طراحی شده که اين کار با انتقال فیلدهای غیر ضروري و اختیاری به سرستون دیگري تحت عنوان Extention Header انجام گرفته است. در واقع سرستون اصلی IPv6 دارای طولی ثابت و کوچکتر از سرستون IPv4 شده است که این امر کارآیی را در IPv6 ارتقا داده است.
کاهش ترافیک Broadcast با استفاده از پروتکل ND
IPv4 با استفاده از پروتکل ARP و پخش Broadcast، آدرس مک کارت شبکه مورد نظر را به دست میآورد و انتشار Broadcast موجب افزایش کاذب ترافیک شبکه میشد، زیرا تمامي هاستها باید پيغامهاي Broadcast را دریافت و پردازش میکردند. اما IPv6 برای این کار از پروتکلي به نام ND استفاده میکند.
اساس کار این پروتکل برپایه ICMPv6 است تا ارتباط بین کامپيوترهاي مجاورش را بررسی کند. میتوان گفت پروتکل ND جایگزینی برای پروتکلهای ARP، ICMPv4 Redirect Message و ICMPv4 Routing Discovery است.
سخن پاياني
در مقاله سوم و پاياني اين سري مقالات، درباره نحوه پیادهسازی IPv6 در شبکههای مبتنی بر IPv4 توضيح خواهيم داد و همچنين انواع آدرسهایي را که با IPv4 سازگارند، ذکر خواهيم کرد و در پايان استراتژی انتقال از IPv4 به IPv6 را بيان خواهيم کرد.