زیرساخت شبکه با اتصال کامپیوترهای سرویس دهنده و سرویس گیرنده به یکدیگر یک مجموعه یکپارچه پدید می آورد و از همین رو در سازمان ها به شاهراه حیاتی تبدیل شده است. در طراحی و پیاده سازی این زیر ساخت، سازگاری با استانداردهای آینده و بهره برداری طولانی مدت از آن از نکات بسیار مهم است که باید مورد توجه باشد. با این نگاه IPv6 برای آدرس دهی دستگاه های شبکه نقش بسیار مهمی دارد. در این مقاله می خواهیم درباره همین موضوع سخن بگوئیم.
وضعیت IPv6
سال هاست که از IPv6 در رسانه ها به عنوان جانشین IPv5 گفتگو می شود. اما بد نیست بدانیم وضعیت کنونی آن چگونه است؟ بخشی از این مقاله بر پایه اظهارات اصلی ترین شرکت های فراهم ساز خدمات اینترنتی آماده شده است.
در حال حاضر پرکاربردترین جنبه از IPv6 راه حل های Tunneling آن است. امروزه از این امکانات برای گذر دادن داده ها روی شبکه های IPv4 استفاده زیادی می شود. هر یک از سیستم ها برتری ها و کاستی های خود را دارد که البته باید ملاحظات امنیتی آن ها را نیز در نظر داشت. در این مقاله بیشتر به جزئیات فنی IPv6 می پردازیم و خواهیم دید که در این روش تازه چه چیزهایی تغییر کرده، ساختار Header و آدرس ها چگونه است و چند نوع آدرس وجود دارد.
Google در نشانی https://sites.google.com/site/ipv6implementors اطلاعات کاملی درباره IPv6 گردآوری کرده. این شرکت در فاصله های زمانی مشخص این اطلاعات را به هنگام می رساند. کسانی که اطلاعات این سایت را دنبال کرده اند می دانند که هنوز شمار کاربران IPv6 بسیار کم و البته در حال افزایش است. یکی از عوامل رشد شمار کاربران، Mac OS X است که کاربران آن، پروتکل 6to4 را برای تونل زدن به کار می برند.
وضعیت IPv6 در آغاز سال 2010
می دانید که چه مدتی است شرکت های فراهم ساز خدمات اینترنتی ایرانی و خارجی از IPv6 استفاده می کنند؟ در این بخش سعی شده تا جای ممکن آمارهای لازم گردآوری شود. بیشتر شرکت های فراهم ساز اعلام کرده اند مرحله آزمایشی استفاده از IPv6 را پشت سر گذاشته اند و کم کم در حال آغاز کاربرد واقعی آن هستند. به نظر می رسد IPv6 در درون هسته شرکت های اصلی فراهم ساز به کار افتاده. برای نمونه Vodafone اعلام کرده که مرحله آزمایشی IPv6 را با موفقیت پشت سرگذاشته و در حال برنامه ریزی برای آغاز پیاده سازی آن است اما هنوز تاریخی برای ارائه خدمات آن به کاربران اعلام نکرده.
وضعیت IPv6 در پایان سال 2010
همانگونه که گفتیم در سال 2010 بیشتر شرکت های فراهم ساز تلاش کردند تا IPv6 را برای بررسی بیشتر به طور آزمایشی راه اندازی کنند. طی بررسی به عمل آمده در پایان سال 2010 مشخص شد که شرکت های فراهم ساز هنوز در حال استفاده آزمایشی یا داخلی از IPv6 هستند و هنوز خدمات آن را به طور زیرساخت و انبوه در اختیار کاربران خود نگذاشته اند. برخی از این شرکت ها هم اعلام کرده اند که مراحل آزمایشی و پیاده سازی را به طور کامل گذرانده اند و برای آغاز خدمات IPv6 به مشتریان خود آمادگی کامل دارند.
به عبارت دیگر هنوز هیچیک از شرکت های فراهم ساز خدمات اینترنتی پیشرفت بیشتری نکرده اند که البته باید دلیل آن را در حفظ سازگاری با سیستم های قدیمی و سخت افزار نسل گذشته که با IPv6 سازگاری ندارند جستجو کرد.
اما دست کم آدرس های IPv6 به طور موازی با آدرس های IPv4 در حال استفاده هستند. به گفته کارشناسان استفاده از IPv6 در ارتباط میان شعبه های یک شرکت (MPLS و VPN) کاملاً ممکن است و از آنجا که در VPNهای MPLS تنها از IPهای Private از نسل IPv4 استفاده می شود در این مورد با کمبود آدرس های IP روبرو نخواهیم شد. از همین رو در VPN های MPLS همچنان IPv4 به کار خواهد رفت.
اما اگر در یک حالت ویژه ناچار به استفاده از آدرس های IPv6 باشیم می توان آن را در حالت های استثناء قرار داد. IPv6 هنوز به طور بین المللی گسترش پیدا نکرده و بر پایه آمار گوگل رشد آن به طور جهانی کمتر از 3/0 درصد بوده است.
مشکلات پیاده سازی، برتری های اجرایی
اولین چیز تازه ای که در IPv6 می بینیم همان آدرس های نا آشنا و تازه هستند. یا برای نمونه دیگر از ARP خبری نیست(IPv6 بر پایه ICMP6) کار می کند. کارکردهای NAT هم دیگر وجود ندارند. DHCPv6 هم از دیگر چیزهای تازه است.اگرچه IPv6 با Stateless Address Auto configuration یا SLAAC کار می کند که در آن دستگاه های جدید خود را با پیغام های Discovery به شبکه معرفی می کنند. اما همچنان می توان DHCPv6 را به کار برد. به کمک این پروتکل می توان داده ها و اطلاعات دیگری به DNS منتقل کرد. افزون بر این، همه دستگاه های شبکه باید با IPv6 سازگار باشند که برای نمونه می توان از Firewall ، IDS/IPS، سیستم های Anti-Spam و سیستم های پایش و نمایش نام برد.
اما اگر بر دردسرهای تبدیل سیستم به HPv6 فائق آئید، گذشته از آدرس های زیاد از دیگر برتری های آن نیز سود خواهید برد. برای نمونه هنوز تقریباً هیچ Scannerی برای IPv6 وجود ندارد که البته این نکته می تواند از کاستی های آن نیز شمرده شود. ملاحظات امنیتی در IPv6 پیشرفت زیادی داشته و IPSec به عنوان بخشی از آن در آمده است. پیاده سازی VPN هم به کمک IPv6 ساده تر و مطمئن تر است.
مراجع و منابع اطلاعات
روشن است که IPv6 چیزی نیست که بتوان یک شبه آن را فراگرفت و برای اینکار به منابع اطلاعاتی کافی نیاز داریم. شمار زیادی از اینگونه منابع در اینترنت وجود دارد، اما کارشناسان در هر صورت استفاده از RFC شماره 4942 را توصیه می کنند(www.ietf.org/rfc/rfc4942.txt).
این RFC به چگونگی گذر از IPv4 به IPv6 مربوط می شود و با دقت زیادی درباره مشکلات امنیتی احتمالی در آن توضیح داده شده است.
www.getipv6.info مرجع دیگری است که ARIN فراهم کرده و در آن به طور کامل درباره پیاده سازی و کاربرد IPv6 شرح داده شده است.
http://ipv6wiki.net یک منبع دیگر است که Helpهای زیادی در آن برای IPv6 وجود دارد. SixXS هم منبع بسیار کامل و سودمندی را در نشانی www.sixxs.net/wiki/sixXS.wiki در اختیار کاربران گذاشته که توصیه می کنیم حتما این مراجع را ببینید.
بیشتر کاربردهای کنونی IPv6 به تونل زدن مربوط می شود. پرکاربردترین محصول مایکروسافت برای این منظور، Teredo است. اما در این میان مشکلی وجود دارد و آن اینکه Teredo برای ارتباط از UDP استفاده می کند و این کار برخی مشکلات امنیتی به دنبال دارد.
از میان روش های جایگزین می توان از 6in4 و 6to4 نام برد. در 6in4 همه اطلاعات در بسته های IPv6 هستند و یک End Point سازگار، آنها را باز کرده و به دستگاه IPv6 می فرستد. اما این روش هم از کارکردهای امنیتی برخوردار نیست و بسته های داده را می توان هنگام انتقال، inject کرد.
اما در 6to4 داده ها به طور مستقیم میان کامپیوترها جابجا نمی شوند بلکه یک 6to4 Relay آن ها را منتقل می کند. 6to4 Relay در این میان داده ها را تحلیل نموده و آن ها را به Host مقصد می فرستد. البته ارتباط میان Host های اصلی به یک Relay خاص وابسته نیست و می توان از Relay های دیگر کمک گرفت. در این مورد نیز برخی نگرانی های امنیتی وجود دارد که در RFC شماره 3964 بیشتر به آن ها پرداخته شده است.
نگاهی به تفاوت ها
IPv6 نیز مانند نگارش پیشین خود یک پروتکل انتقال است که تک تک Packetها را روی شبکه به مقصد می رساند. برای اطمینان از درستی داده های منتقل شده، پروتکل های IPv6 از پروتکل های لایه بالاتر مانند TCP کمک می گیرند. به طور کلی بارزترین ویژگی های این پروتکل تازه را می توان به ترتیب زیر برشمرد:
* آدرس های 128 بیتی
* ساختار ساده برای Header
* اتصال زنجیروار Headerها برای انتقال گزینه ها
* گزینه هایی برای رمزگذاری و تعیین اعتبار در سطح IP
* تقسیم بندی تازه برای جریان های داده به منظور بهینه سازی انتقال داده های صوتی و ویدئویی
* ساده سازی پیکربندی های دستی
* تصحیح روال های کنترل جریان داده و تشخیص مرزهای بحرانی
* کارکردهای ویژه برای کشف و پایش Routerهای مجاور
Internet Protocol Version 6
حدود چهار میلیارد آدرس IP که که IPv4 در اختیار ما می گذارد با انفجار اینترنت و گسترش آن دیگر کافی نیست. از آنجا که بزودی حتی دستگاه های قهوه جوش و ماشین های لباسشویی هم آدرس IP خواهند داشت، IPv4 دیگر پاسخگوی این نیاز نخواهد بود. افزون بر این، IPv4 برای رمزگذاری روی داده ها و تامین امنیت ارتباط ها امکانات لازم را ندارد. این پروتکل همچنین برای کاربردهای Streaming (جریان داده صوتی و تصویری) بازدهی مناسبی ندارد. از همین رو از مدت ها پیش وجود یک پروتکل تازه با فضای آدرس توسعه یافته حس می شد تا IETF در دهه 90 میلادی پروتکل جانشین را با نام Internet Protocol Version 6 یا همان IPv6 معرفی کرد. IETF یا Internet Engineering Task Force سازمان اصلی برای توسعه فنی و استانداردهای اینترنت است. ویژگی های این پروتکل در RFC شماره 1883 بیان شده است. IPv6 قرار است بسیاری از کاستی های IPv4 را برطرف کند.
از آن زمان تاکنون شرکت ها، سازمان ها و متخصصین زیادی پشتیبانی و برنامه نویسی برای IPv6 را آغاز کرده اند. بویژه سازندگان Routerها توانایی کار با IPv6 را به محصولات خود اضافه کرده اند. این را هم بگوئیم که www.6bone.net یک شبکه جهانی است که با IPv6 راه اندازی شده است.
به سوی IPv6
در IETF گروه IPNGWG وظیفه توسعه استاندارد IPv6 را به عهده دارد اما برخی از بخش های آن در گروه های دیگری استانداردسازی شده اند. پیش از آنکه نسبت به پایه گذاری استاندارد IPv6 تصمیم گیری شود صحبت از استاندارد دیگری با نام IPv5 بود. اما این پروتکل تنها به صورت آزمایشگاهی پیاده شد و هیچگاه کاربرد تجاری پیدا نکرد.
در طراحی جانشینی برای IPv4 چهار طرح پیشنهادی خوب وجود داشت که دوش به دوش با هم رقابت می کردند:
Simple Internet Protocol Plus یا SIPP ، Common Architecture For the Internet یا CAT ، TCP/UDP over CLNP Addressed Networks یا TUBA. تازه در سال 1993 یک گروه کاری با نام IPNG کار روی یک طرح مشترک را آغاز کرد. نخستین طرح های این استاندارد Internet Protocol Next Generation یا IPnG نامیده شد و در طول سال های 1990 و 1996 طراحی های زیادی با نام IPv6 انجام گرفت تا اینکه پیش نویس نهایی IPv6 در سال 1997 آماده شد.
جزئیات Header در IPv6
ساده شدن ساختمان Header یکی از بزرگترین نوآوری های IPv6 است. Header در IPv6 در مقایسه با IPv4 تا جای ممکن کوچک شده و تنها ضروری ترین اطلاعات در آن گنجانده شده اند. با این کار سرعت پردازش داده ها و در نتیجه سرعت انتقال آن ها افزایش می یابد.
با توجه به ضرورت حفظ سازگاری با برخی کارکردهای پیشین در کنار توانایی های تازه، لازم بود در طراحی Header در IPv6 برخی موارد تغییر کند و این کار برخلاف IPv4 به کمک گزینه هایی با طول های متغیر انجام نشد بلکه با وصل کردن Header ها به هم پیاده سازی گردید. در IPv6 هر Header کارکرد مشخصی دارد و تنها در صورت لزوم به کار می رود.
آدرس های تازه
شاید اصلی ترین تغییری که IPv6 به همراه آورده همان بزرگ شدن فضای آدرس ها باشد که با توجه به کمبود شدید آدرس های IPv4 کاملاً ضروری بوده است. اما مدت ها بر سر طول آدرس ها بحث بود. تجربه استفاده از IPv4 نشان داده بود که تنها بخشی از آدرس های قابل استفاده واقعاً به کار می روند دلیل آن هم دسته بندی آدرس ها در چند کلاس بود. برای نمونه در یک شبکه کلاس B از 65000 آدرس موجود تنها حدود 2500 آدرس به کار می رود.
با افزایش طول آدرس ها از 32 به 128 بیت 2128(2 به توان 128) آدرس IP خواهیم داشت. بد نیست بدانید این عدد برابر است با 340282366920938463463374607431768211456. با این تعداد از آدرس ها می توان به هر کیلومتر مربع از سطح کره زمین 665570793348866943898599 آدرس اختصاص داد. به این ترتیب می بینید که هر دستگاه ماشین لباسشویی هم می تواند یک آدرس IP داشته باشد.
قالب آدرس ها در IPv6
حتی با وجود DNS نیز گاهی لازم است مستقیماً با خود آدرس ها سر و کار داشته باشیم. در IPv4 برای ساده تر شدن، چهار بایت آدرس را در قالب عددهای ده دهی می نویسیم و هر بایت با یک نقطه از بایت بعدی جدا می شود مانند 127.0.0.1 . در آدرس های 128 بیتی IPv6 استفاده از این روش ممکن نیست و از همین رو از مبنای 16 استفاده می شود.
عدد نویسی در مبنای 16 به ما این امکان را می دهد که اعداد طولانی را با ارقام کمتر و کوتاه تر بنویسیم. در این شیوه، هر دو بایت با یک : از هم جدا می شود مانند:
0000:0000:0000:3210:0123:4567:89AB:CDEF
در هر بخش از آدرس می توان صفرهای سمت چپ را نادیده گرفت. برای باز هم کوتاه تر کردن آدرس ها می توان به جای چند بخش پشت سرهم که تماماً از صفر پر شده دو : گذاشت. IPv6 به گونه ای تعریف شده که می توان آدرس های IPv4 را همچنان در آن به کاربرد و میتوان آدرس ها را به طور ترکیبی نوشت مانند دو آدرس 0:0:0:0:0:FFFF:7F00:0001 و ::FFFF:127.0.0.1 که با هم برابر هستند.
انواع آدرس های IPv6
IETF برای مدیریت جهانی آدرس های IPv6 گروه Internet Architecture Board یا IAB و Internet Society یا ISOC با پایه گذاری کرده. تخصیص آدرس های IPv6 برخلاف IPv4 همیشگی نیست و ممکن است آدرس ها به دلایل فنی یا استفاده های نادرست از کاربران بازپس گرفته شوند.
در IPv6 سه گونه آدرس وجود دارد:
* آدرس های Unicast : این گونه از آدرس ها شناسه ای برای یک رابط شبکه روی یک مسیریاب یا کامپیوتر است. داده های یک آدرس Unicast به رابط مشخص شده تحویل داده می شود.
* آدرس های Anycast : این آدرس ها شناسه ای برای یک گروه از رابط های شبکه چه روی یک دستگاه چه روی چند دستگاه هستند.
* آدرس های Multicast : این آدرس ها به یک گروه مربوط می شوند و اگر داده ای با چنین آدرسی فرستاده شود همه رابط های آن گروه ، آن داده را دریافت خواهند کرد.
امنیت و ICMP
امنیت نکته ای بود که از همان آغاز طراحی IPv6 مد نظر قرار داشت. استانداردهایی برای امنیت تدوین شده اند که هم برای IPv6 و هم برای IPv4 قابل استفاده اند. به کمک این استانداردها می توان از حمله هایی که با تغییر آدرس یا نفوذ در ارتباط انجام می گیرد جلوگیری کرد. کارکرد استانداردهای امنیتی را می توان به صورت زیر دسته بندی کرد:
* رمزگذاری روی داده ها برای جلوگیری از استراق سمع
* تعیین اعتبار پیغام ها به کمک سرجمع ها برای اثبات درستی داده ها
* تعیین اعتبار فرستنده داده ها به کمک امضای دیجیتال
با انجام این کارها از امکان دستیابی به داده ها از سوی افراد غیر مجاز هنگام انتقال از فرستنده به گیرنده جلوگیری می شود. همچنین رمزگذاری داده ها به طور کامل ما را در ثابت ماندن پیام مطمئن می کند. در انجام این کار از سر جمع ها برای ساختن کلیدهای امن استفاده می شود. در صورت استفاده از اعداد یکتا برای هر فرستنده، فرستنده ها نیز قابل شناسایی خواهند بود.
IPv6 از نگارش ویژه ای از ICMP بهره می برد. در نگارش 6 پروتکل ICMP در فیلد Next عدد 58 قرار می گیرد. اصلی ترین تغییرات در ICMP عبارتند از :
* بافت داده ای تازه برای فرستادن بازشناسی (Resolution) آدرس که نیاز به ARP را برطرف می کند.
* بخش هایی برای تعریف حداکثر طول مجاز برای داده ها(MTU).
* بخش های تازه ای برای کنترل گروه های Multicast که به جای IGMP به کار خواهند رفت.
خلاصه
IPv6 مدت ها به صورت مسئله “مرغ یا تخم مرغ” در آمده بود. تا زمانکیه شرکت های فراهم ساز خدمات اینترنتی آن را به طور کامل پیاده سازی و پشتیبانی نمی کردند برای کاربران هم به کار گرفتن آن هیچ ضرورتی نداشت و برعکس. اگر چه سخت افزار جدید شبکه هم با IPv4 و هم با IPv6 کار می کند اما برای به کار انداختن آدرس های تازه روی آن ها انجام برخی کارهای اضافی لازم است.
استفاده از فناوری NAT که در آغاز به عنوان یک راه حل میانی انتخاب شده بود خیلی به طول انجامید و اشکالاتی نیز به همراه داشت. بنابراین یکی از وظایف سخت افزار سازگار با IPv6 فراهم کردن سطحی از امنیت دست کم به اندازه NAT به ویژه برای کاربران نه شرکتی و بلکه شخصی است.
در مجموع ضرورت رفتن به سوی IPv6 هر روز بیشتر حس می شود آن هم نه به دلیل پایان یافتن آدرس های IPv4. کارکردهای تازه QoS در IPv6 باعث می شوند که برنامه هایی مانند پخش تصاویر ویدئویی روانتر اجرا گردند. بزرگ شدن فضای آدرس در IPv6 ، NAT و دیگر فناوری های مربوط به ایجاد ارتباط را کمرنگ می کنند. اما یک چیز قطعی است و آن اینکه رشد اینترنت و دستگاه های آن متوقف نخواهد شد و استفاده از راه حل هایی مانند NAT دیگر سودمند نخواهد بود.
*برای ارتباط و مشاوره رایگان با ما تماس بگیرید*