مقایسه آی پی v4 با v6

مسلما IPv6 یکی از بزرگترین و فراگیرترین تغییراتی بود که بر روی ساختارهای پایه‌ای اینترنت اعمال شد.تغییری که در طول 20 سال گذشته بی سابقه بوده است. در حقیقت نسخه 1 تا 3 پروتکل IP هیچگاه به کار برده نشد، همین اتفاق برای نسخه پنجم نیز افتاد. IPv4 تا زمانی که تمامی پروتکل ها به درستی وظایف خود را انجام می‌دانند یک چیز واقعاً مفید بود، به خصوص که طراحی آن به سال 1970 باز می گشت و امتحان خود را پس داده بود. اما این مجموعه یک سری مشکلات داشت؛ هر کامپیوتر بر روی شبکه احتیاج به آدرس اینترنتی مخصوص خود داشت و IPv4 فقط 32 بیت داشت. چون 30 سال قبل به علت مسائل تکنیکی تعداد کل وسائل مربوط به شبکه از 32^2 یا 429467296 کمتر بود – چیزی نزدیک به 2 میلیارد – که مشکل بزرگی به نظر نمی‌رسید. اما امروزه با وجود صدها میلیون استفاده کننده اینترنت و در حالیکه آدرس های اینترنتی بر روی تلفن های همراهی که از جستجوگرهای اینترنتی کوچک استفاده می‌کنند و وسائل بازی و خانگی مانند یخچال و تلویزیون و… که به زودی و برای راحتی و کارایی بیشتر قرار است به اینترنت وصل شوند به کار برده شود کاملا مشخص می‌شود که چرا این 32 بیت آدرس به زودی تمام خواهد شد. بنابراین لزوم استفاده از IPv6 مطرح شد. در این راستا مهمترین تغییر چهار برابر شدن فضای آدرس دهی از 32 به 128 بیت درنسخه جدیدIP یعنی IPv6 بود .در عمل از فضای آدرس دهی جدید به خوبی استفاده نخواهد شد، با این وجود هیچ گاه مشکل کمبود آدرس به وجود نخواهد آمد. به طور خلاصه برای هر کدام از ما 60 هزار میلیارد آدرس IP فراهم خواهد شد. گسترش IPv6 احتیاج به بازنگری در سیستمهای شبکه‌ای و تغییر پیکر بندی صدها میلیون کامپیوتر در سراسر جهان خواهد داشت. مساله امنیت نیز یکی از مهمترین مسایل در این نسخه می‌باشد که بایستی بصورت وسیع به آن پرداخته شود.

شاید نیاز به توسعه تعداد آدرس های IP با توجه به وضعیت بحرانی موجود به عنوان یکی از اهداف مهم طراحی و پیاده سازی IPv6 ذکر شود ولی تمام داستان به اینجا ختم نمی‌شود و دلایل متعدد دیگری نیز در این زمینه مطرح می‌باشدIPv6. بگونه‌ای طراحی شده است تا ضمن ایجاد یک محیط همگرا زمینه استفاده از صوت ، تصویر و سرویس های داده را بر روی شبکه‌ای با زیرساخت IP فراهم نماید . بدین منظور،امکانات و پتانسیل های پیشرفته‌ای در IPv6 پیش بینی شده است :


افزایش فضای آدرس دهی :

یکی از مهمترین مزایای IPv6 ، افزایش تعداد فضای آدرس دهی است. فضای آدرس دهی IPv6 به اندازه‌ای زیاد است که شاید نتوان آن را با فضای آدرس دهی IPv4 مقایسه نمود. در IPv4 ، تعداد 4,294,967,296 فضای آدرس دهی وجود دارد در حالی که این عدد در IPv6 به عدد 340,282,366,920,938,463,463,374,607,431,768,211,45 6 می‌رسد. افزایش آدرس های سراسری قابل روت به سازمان ها این اجازه را خواهد داد که مسیر خود را از آدرس های IP غیرقابل روت ارائه شده توسط NAT جدا نموده و برنامه‌های مورد نیاز خود را در یک محیط واقعی end-to-end استفاده نمایند .

پیکربندی اتوماتیک: stateless پیکربندی اتوماتیک IP در IPv4 از طریق سرویس دهنده DHCP انجام می‌شود. در IPv6 این کار توسط DHCPv6 انجام خواهد شد. در IPv6 این وضعیت توسعه و به پیکربندی اتوماتیک stateless تعمیم یافته است. با استفاده از پیکربندی اتوماتیک stateless به دستگاه‌ها اجازه داده می‌شود که پیکربندی آدرس های IPv6 خود را از طریق ارتباط با یک روتر مجاور انجام دهند .با این که پیکربندی اتوماتیک stateless برای اکثر محیط ها دارای مزایائی است ،ولی در شبکه هائی‌ که دارای تعداد زیادی از دستگاه‌ها با قابلیت محدود مدیریتی می‌باشند، مسائلی را به دنبال خواهد داشت. یک شبکه مبتنی بر تعداد زیادی سنسور که ممکن است شامل میلیون ها دستگاه بی سیم راه دور باشد که صرفا” بر روی شبکه قابل دسترس می‌باشند ، نمونه‌ای در این زمینه است. پیکربندی اتوماتیک به سازمان ها کمک خواهد کرد که هزینه نگهداری و مدیریت شبکه خود را کاهش دهند .با این که پیکربندی اتوماتیک آدرس دهی خصوصی موسوم به APIPA برگرفته از Automatic Private IP Addressing ،‌ دارای خصایص مشابهی در خصوص پیکربندی است ولی ماهیت آن با پیکربندی اتوماتیک stateless کاملا” متفاوت است APIPA از یک محدوده خاص فضای آدرس دهی) IPاز محدوده IP:169.254.0.1 تا (IP:169.254.255.254 در مواردی که یک سرویس دهنده DHCP در شبکه موجود نباشد و یا سرویس گیرنده قادر به برقراری ارتباط با آن نباشد، استفاده می نماید. از پروتکل ARP برگرفته از Address Resolution) (Protocol به منظور بررسی منحصربفرد بودن آدرس IP بر روی یک شبکه محلی (LAN ) استفاده می‌گردد. زمانی که یک سرویس دهنده DHCP در دسترس قرار بگیرد، آدرس های IP سرویس گیرندگان به صورت اتوماتیک بهنگام خواهند شد .

extension header با این که هدر IPv6 در مقام مقایسه با IPv4 بسیار ساده تر شده است، ولی امکان ارائه قابلیت های پیشرفته در سطح هدر و بسته اطلاعاتی IP پیش بینی شده است. با اضافه کردن هدر به هدر پایه IPv6 قابلیت های چشمگیری به آن اضافه شده است. بدین ترتیب، هدر پایه ثابت خواهد ماند و در صورت ضرورت می‌توان قابلیت های جدید را از طریق extension header به آن اضافه نمود.

امنیت اجباری :

    با این که در IPv4 امکان استفاده از IPsec برگرفته از( Internet Protocol security ) وجود دارد ، ولی توجه داشته باشید که ویژگی فوق به عنوان یک قابلیت جدید به پروتکل فوق اضافه می‌گردد تا از آن در مواردی نظیر tunneling ، رمزنگاری شبکه به منظور دستیابی راه دور VPNs برگرفته از ( Virtual Private Networks ) و ارتباط با سایت ها استفاده گردد . تعداد زیادی از سازمان ها از پروتکل IPsec در موارد خاصی استفاده می نمایند ولی وجود موانعی نظیر NAT ، می‌تواند زمینه بکارگیری آن را با مشکل مواجه نماید .درIPv6 ،‌ پروتکل IPsec به عنوان بخشی الزامی در پیاده سازی مطرح شده است تا به کمک آن یک زیرساخت امنیتی مناسب به منظور ارائه سرویس های امنتیی نظیر تائید ، یکپارچگی و اعتمادپذیری فراهم گردد . ظرفیت عملیاتی IPsec بگونه‌ای است که سازمان ها به کمک آن می‌توانند وضعیت مدل امنیتی خود را بهبود و سیاست های امنیتی خود را توسعه دهند.

 

فواید IPv6

 ویژگی‌های جدید IPv6 فواید زیادی را برای کسب و کارهای مختلف به ارمغان می‌آورد:

•کاهش هزینه‌های مدیریت شبکه: ویژگی‌های auto-configurationو آدرس‌دهی سلسله مراتبی مدیریت شبکه IPv6را آسان می‌کند.

•بهینه سازی برای شبکه‌های نسل آینده(NGN): رها شدن از NAT مدل Peer-To-Peer را مجددا ً فعال می‌کند و به پیاده سازی application ها، ارتباطات و راه‌حل‌های متحرک جدید مثل VOIP کمک می‌کند.

•محافظت از دارایی‌های شرکت: IPSec مجتمع، IPv6 را ذاتا ً امن می‌کند و امکان داشتن یک استراتژی متحد برای کل شبکه را فراهم می‌کند.

•محافظت از سرمایه‌گذاری: امکان گذر و انتقال آسان و برنامه‌ریزی شده از IPV4 به IPV6 . امکان حضور هر دو پروتکل در فاز انتقال وجود دارد.

 

مقاسه هدرهای ipv4 با ipv6 :

در هدر IPV4 علاوه بر آدرس مبدا و مقصد که هر کدام 32 بیت هستند، فیلد TTL برای جلوگیری از Loop، فیلد Checksum برای تشخیص خطا، فیلد Upper-Layer Protocol برای معرفی پروتکلی که روی IP سوار شده است، فیلد TOS برای کیفیت سرویس، فیلدهای Identifier، Flag و Fragmentation Offset با هدف Fragmentation و نهایتا فیلد Options که اختیاری است و در مواردی همچون Source Routing بکار گرفته می شود، دیگر فیلدهای هدر IPV4 را تشکیل می دهند.

هدر IPV4 بدون فیلد Option، 20 بایت است اما چنانچه فیلد Option در هدر IPV4 استفاده شود، سایز هدر IPV4 متغیر و نامعلوم است که این خود منشاء سربار اضافی در پردازش هدر IPV4 است و یکی از معایب IPV4 محسوب می شود.

فرمت هدر IPV4

 

هدر IPV6 نسبت به IPV4 چه تغییراتی داشته است؟ هدر IPV6 به دو بخش فیلدهای اجباری و فیلدهای توسعه ای و یا Extension Header تقسیم می شوند. فیلد های اجباری همواره در هدر IPV6 وجود دارند اما Extension Header ها در صورت لزوم به فیلدهای اجباری اضافه می شوند. در صورت اضافه شدن Extension Header، فیلد Next Header که از فیلدهای اجباری هدر IPV6 است به آن اشاره می کند و اگر بیش از یک Extension Header اضافه شود در هر Extension Header، فیلد Next Header به Extension Header بعدی اشاره می کند و بنابراین بر خلاف IPV4 که با اضافه شدن فیلد و یا فیلدهای Options، سایز هدر IPV4 برای پردازشگر متغیر و نامعلوم است در IPV6 سایز هدر IPV6 با کمک Next Header برای پردازشگر همواره معلوم و ثابت است و بنابراین بار پردازشی کمتری نیاز دارد. هدر IPV6 بدون در نظر گرفتن Extension Header ها 40 بایت ثابت است.

در هدر IPV6 نسبت به IPV4 چندین فیلد اضافه و چندین فیلد نیز کم شده است. البته فیلدهایی هم هستند که با همان مفهوم قبلی وجود دارند اما صرفا تغییر نام داده اند.

فرمت هدر IPV6

فیلدهایی که همچنان با همان مفهوم قبلی وجود دارند:

  • آدرس مبدا و مقصد فقط از 32 بیت به 128 بیت تغییر کرده اند و بنابراین فضای آدرسی بسیار بزرگتری را پوشش می دهند
  • فیلد TTL به Hop Limit تغییر نام داده است اما مفهوم آن تغییری نکرده است
  • فیلد TOS به Traffic Class تغییر نام داده است اما مفهوم آن تغییری نکرده است
  • فیلد Protocol به Next Header تغییر نام داده است. این فیلد هم در هدر اصلی IPV6 و هم در تمام Extension Header ها وجود دارد.

فیلدهایی که به هدر IPV6 اضافه شده اند:

  • فیلد Flow Label در هدر IPV6 به عنوان فیلد جدید اضافه شده است. به صورت کلی می توان گفت که این فیلد در کنار فیلد Traffic Class در کیفیت سرویس کاربرد دارد. اگر بخواهیم دقیق تر در مورد این فیلد صحبت کنیم، مبدا می تواند تمام ترافیک هایی که در یک Flow و یا یک Session قرار دارند را یک برچسب یکسان ارسال نماید. با این روش روترهای میانی می توانند بسته های مرتبط با یک Flow را تشخیص داده و با همه یک برخوردی یکسان داشته باشند. مثلا اگر اولین بسته ترافیک Real Time از یک Flow خاص با اولویت بالا در روتر سرویس دهی و ارسال می گردد، دیگر بسته های همان Flow نیز به همان نسبت سرویس دهی شوند. برای اینکار روتر باید بتواند بسته های مرتبط به یک Flow یکسان را شناسایی نماید. ضمنا فقط یکبار فیلدهای Routing header و Extension Header در ترافیک های مربوط به یک Flow پردازش می شوند. نتیجه پردازش در جایی از روتر ذخیره می شود و همه بسته های همان Flow با نتیجه بدست آمده سرویس دهی خواهند شد و نیاز به پردازش مجدد نخواهند داشت

فیلدهایی که از هدر IPV6 حذف شده اند:

فیلدهای زیر در هدر IPV6 نسبت به IPV4 کاهش یافته است

  • فیلد Fragmentation/Reassembly: در شبکه IPV4 در مبدا و یا مسیر، هر جایی که طول بسته از MTU لینک بزرگتر باشد، بسته مورد نظر به چند بخش تقسیم می شود و فیلدهای مرتبط با Fragmentation در هدر IPV4 به نحوی تکمیل می گردد که در مقصد، بسته های بخش بندی شده مجددا بسته بندی شوند. در IPV6 عمل Fragmentation فقط در مبدا مجاز است و در مسیر امکان Fragmentation وجود ندارد. در مبداء مکانیزمی به نام Path MTU Discovery حداقل MTU مسیر را شناسایی می کند و بسته ارسالی با سایز متناسب با حداقل MTU مسیر ارسال می گردد و بنابراین در مسیر نیازی به Fragmentation مجدد وجود ندارد. به همین دلیل این فیلد از هدر IPV6 حذف شده است و به Extension Header ها اضافه شده است. این فیلد به صورت کامل حذف نشده است زیرا که در مبدا همچنان امکان Fragmentation وجود دارد.
  • فیلد Checksum که برای تشخیص خطا استفاده می شود در هدر IPV6 حذف شده است. این بدان دلیل است که عمل تشخیص خطا هم در لایه 2 و هم در لایه 4 انجام می شود بنابراین انجام مجدد تشخیص خطا در لایه 3 اضافی به نظر می رسد و به همین دلیل در شبکه IPV6 از هدر حذف شده است.
  • فیلد Option که در هدر IPV4 فیلد اختیاری محسوب می شود در هدر IPV6 حذف شده است و Extension Header ها جایگزین آن شده است. فیلد Option در هدر IPV4 باید توسط تمام روترهای میانی پردازش شود اما اکثر Extension Header ها توسط روترهای میانی پردازش نمی شوند تا زمانی که بسته مورد نظر به مقصد می رسد و در مقصد پردازش خواهند شد.

همانطور که بارها گفته شد، Extension Header ها در IPV6 فیلدهای اختیاری هستند و در صورت لزوم ارسال می شوند. بعضی از Extension Header ها به شرح ذیل هستند:

  • Hop-by-Hop Extension Header: همانطور که از نام این هدر پیداست، این هدر باید توسط تمام روترهای میانی علاوه بر مبدا و مقصد پردازش شود و به همین جهت شبیه فیلد Options در هدر IPV4 است. چنانچه این فیلد در هدر IPV6 وجود داشته باشد، حتما باید به عنوان اولین Extension Header به بسته اضافه شود تا قابلیت پردازش توسط روتر را ساده نماید. کاربرد این فیلد عمدتا در پشتیبانی Jumbo-grams و یا Router Alert Option است که در پروتکل MLD و RSVP در IPV6 کاربرد دارد.
  • Destination Extension Header: همانطور که از نام آن پیداست، این هدر فقط در مقصد پردازش می شود و کاربرد آن عمدتا در IPV6 Mobility است
  • Routing Extension Header: کاربرد این فیلد عمدتا در IPV6 Mobility و همچنین Source Routing است. برای جلوگیری از حملات DDOS عمدتا Source Routing غیر فعال می شود
  • Fragmentation Extension Header: زمانی که بخواهیم بسته های Fragment شده ارسال نماییم، این فیلد ضروری است. یادآوری می شود که در IPV6 عمل Fragmentation فقط در مبدا مجاز است و اجازه Fragmentation در روترهای مسیر وجود ندارد
  • Mobility Extension Header: کاربرد این فیلد، همانطور که از نام آن پیداست، در سرویس IPV6 Mobility است.
  • AH Extension Headerاین فیلد معادل AH در پروتکل IPSec در IPV4 است که برای احراز هویت و اطمینان از عدم جعل بسته های ارسالی است
  • ESP Extension Header: این فیلد معادل ESP در پروتکل IPSec در IPV4 است که علاوه بر احراز هویت و اطمینان از عدم جعل بسته های ارسالی، می تواند بسته های ارسالی را رمز نماید تا مانع از شنود شود.

 

بررسی مشکلات امنیتی IPv6

 شاید بزرگترین مناقشه بر سر موضوع امنیت بود. همه بر این اصل که امنیت لازم است اشتراک نظر داشتند. دعوا بر سر چگونگی رسیدن به امنیت و محل پرداختن به آن بود. اولین محل پرداختن به امنیت لایه شبکه است. استدلال موافقین مبنی بر آن بود که پیاده سازی امنیت در لایه شبکه، سرویسی استاندارد را فراهم می‌آورد که تمام برنامه‌های کاربردی بدون هیچگونه برنامه ریزی قبلی می‌توانند از آن بهره بگیرند. استدلال مخالفین نیز آن بود که برنامه‌های کاربردی امن، عموماً به هیچ مکانیزمی کمتر از End-to-End Encryption احتیاج ندارند، به نحوی که پروسه مبداخودش داده‌های ارسالی خود را رمز کرده و پروسه مقصد آنها را از رمز خارج کند. هر چیزی کمتر از این، می‌تواند کاربر را با خطراتی مواجه کند که از اشکالات امنیتی لایه شبکه ناشی می‌شود و هیچ تقصیری متوجه او نیست. پاسخ به آن استدلال این بود که کاربر می‌تواند امنیت لایه IP را نادیده بگیرد و کار خودش را انجام دهد! پاسخ نهایی مخالفین نیز آن بود که افرادی که به عملکرد صحیح شبکه(در خصوص امنیت )اعتماد ندارند چرا باید هزینه پیاده سازی سنگین و کندی IP را بپردازند!! یکی از جنبه‌های مربوط به امنیت این حقیقت بود که بسیاری از کشورها قوانین سختگیرانه‌ای در مورد صادرات محصولات مرتبط با رمز نگاری وضع کرده اند. از مثالهای بارز می‌توان به فرانسه و عراق اشاره کرد که حتی استفاده از رمزنگاری در داخل را نیز محدود کرده اند و عموم افراد نمی‌توانند چیزی را از پلیس مخفی نگه دارند. در نتیجه هر گونه پیاده سازی از IP که از روشهای رمز نگاری قوی استفاده می‌کند مجوز صدور ایالات متحده (و بسایری کشورهای دیگر) را نخواهد گرفت. پیاده سازی دو نرم افزار یکی برای کاربرد داخلی و یکی برای صادرات، موضوعی است که عرضه کنندگان صنعت کامپیوتر با آن مخالفند.