IPv6 بسیاری از ویژگیهای اصلی پروتکل IPv4 را دارا میباشد، اینترنت موفقیتهای لازم را کسب نخواهد کرد مگر اینکه بسیاری از عیبها و نقایص مهم و قابل توجه موجود در طراحی IPv4 را کنار بگذاریم.
بنابراین سرآیندهای IPv6 دارای شباهتهای زیادی در مقایسه با هدرهای IPv4 میباشد. هدرهای IPv6 ترکیبی از ۶۴ بیت هستندکه بوسیله دو فیلد ۱۲۸ بیتی یعنی آدرس مبداء و آدرس مقصد احاطه شدهاند. دیگر فیلدهای سرآیند یک بسته IPv6 از قرار زیر میباشد:
۱٫<LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Version <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Class <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Flow label <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Length of payload <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Type 2.Hop limit
برخلاف سرآیندهای IPv4 که شکل و قالب ثابت دارند. سرآیندهای IPv6 دارای شکل ثابت نبوده و از انعطافپذیری بیشتری برخوردار است. این کار باعث میشود سرآیندهایی که در IPv4 استفاده میشدند سادهتر گردد زیرا IPv4 یک شکل و قالب ثابت به همه هدرها اختصاص میدهد و تصحیح کنندههای سرآیند[۱] را جابجا میکند و این پروسه و عمل را در همه جهش[۲]ها تکرار میکند.مهمترین قسمت این تغییرات، جابجایی و برداشتن پروسه تقسیمبندی جهش به جهش[۳] میباشد، قبلاً ممکن بود یک میزبان اطلاعات خود را از طریق چند محیط و مسیر به سمت مقصد بفرستد زیرا این احتمال و جود داشت که بستهای که ارسال شده به اندازهای بزرگ باشد که بعضی از شبکهها نمیتوانند آن را انتقال دهند. به عنوان مثال ارسال یک بسته از محیط شبکه با توپولوژی حلقه نشانه[۴] که ماکزیمم اندازه بسته آن ۴ کیلو بایت است به یک شبکه با استاندارد اترنت که حداکثر اندازه بسته آن ۵ .۱ کیلو بایت میباشد در نظر بگیرید، در این حالت مسیریابی که دو نوع محیط را به همدیگر متصل میکند بسته اصلی را تقسیم[۵] خواهد کرد. این اتفاق در IPv6 نخواهد افتاد زیرا IPv6 از پروسهای که “تشخیص دهنده MTU[6] مسیر” گفته میشود استفاده میکند و بنابراین مطمئن است که هیچ تقسیم بندی لازم نیست.با وجود اینکه IPv6 دارای سرآیندهای بسیار سادهای است و لی با این وجود مفهوم سرآیندهای توسعه[۷] را نیز پشتیبانی میکند. زمانی که سرآیندهای توسعه مورد استفاده قرار میگیرند بخش انتهایی هر سرآیند آدرس سرآیند بعدی را مشخص میکند مگر در حالتی که نوبت سرآیند آخری، یعنی ناحیه داده، باشد. این مفهوم در شکل زیر نشان داده شده است.
Payload IPv6 headerNext header= payload
Payload Routing headerNext header= payload IPv6 headerNext header= Routing
Payload Encryption headerNext header= payload Routing headerNextheader=Encryption IPv6 headerNext header= Routing
سرآیندهای توسعهای که قابل دسترسی هستند عبارتند از:
۱٫<LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Routing header <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Fragment heade <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Authentication header <LI dir=rtl style=”MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto”>Encrypted security payload 2.Destination option header
[۱]Header checksum [۲]Hop [۳]Hop by hop [۴]Token-Ring [۵]Fragmentation [۶]Maximum Transfer Unit [۷]Header extension آدرس دهی در IPV6 در IPv4 از روش معروف هشتتایی برای آدرسدهی استفاده میکردیم و با استفاده از آن کلاسهای آدرس A، B، C، D و E را تعریف میکردیم و با توجه به ماسک زیر شبکه[۱]ای که اعمال میکردیم میتوانستیم شبکه، زیر شبکه و شمارههای گرهها را تشخیص دهیم. IPv6 مقداری با این مفهوم متفاوت است و ما این تفاوت را در اینجا توضیح میدهیم.در IPv6 سه روش آدرسدهی وجود دارد که عبارتند از: آدرس منحصر به فرد[۲]، گروهی[۳] و anycast . حالت پخشی[۴] وجود ندارد. آدرس منحصر به فرد مانند ارتباط نقطه به نقطه[۵] میباشد و یک بسته فقط به یک آدرس مشخص ارسال میشود نه به آدرسهای دیگر و این آدرس به یک واسط[۶] مشخص و ثابت در شبکه اختصاص پیدا میکند. حالت گروهی به فرآیندی اشاره دارد که در آن یک بسته به تعدادی از گیرندهها ارسال میشود این کار متفاوت با حالت پخشی میباشد زیرا در حالت پخشی بسته ارسال شده به تمامی افزارها و دستگاههای موجود در زیر شبکه تحویل داده میشود ولی در حالت گروهی ارسال بسته فقط برای تعداد محدودی از افزارها که از قبل تنظیم شدهاند صورت میگیرد بنابراین افزارهایی بسته را دریافت میکنند که حالت گروهی از قبل برای آنها تعریف شده باشد. حالت anycast مشابه حالت گروهی میباشد با این تفاوت که بسته تنها به اولین افزاری که در گروه anycast میتواند بسته را دریافت کند تحویل داده میشود و به تمامی افزارهای موجود در گروه anycastتحویل داده نخواهد شد.قراردادی که برای نشان دادن و نوشتن آدرسهای ۱۲۸ بیتی در IPv6 بهکار میرود استفاده از بلوکهایی از ۴ عدد هگزا دسیمال است که با علامت کولن ( : ) از همدیگر جدا میشوند، یک مثال در زیر آورده شده است.
FEDC:CD56:6543:7896:F123:2344:9877:7654 نوشتن این اعداد مقداری پرزحمت است البته نه برای کاربرانی که در هرحالت میتوانند از نام میزبان بهجای آدرس آن استفاده کنند بلکه برای مدیرانی که مجبورند این اعداد را برای پیکربندی فایلها و بانکهای اطلاعاتی و افزارها بنویسند. برای خلاصه کردن این عدد نویسی، مطابق قرارداد از نوشتن یک بلوک از صفرهای متوالی آدرس جلوگیری میکنند. این کار بسیار مفید واقع خواهد شد مخصوصاً در روزهای اول عمر IPv6 که مقدار زیادی از فضای آدرس از صفرها تشکیل شده است. قرارداد حذف کردن صفرها به عددنویسی با دو کولن معروف است و آن به این معنا است که اگر دو کولن در یک آدرس نشان داده شود آن آدرس را با وارد کردن صفرها بین دو کولن به ۱۲۸ بیت میرسانیم. مثال زیر این عمل را نشان میدهد. FF02:0000:0000:0000:0000:0000:0000:0002 که میتوان آدرس فوق را به صورت زیر نمایش داد.FF02:2در نوشتن اعداد مربوط به آدرسهای IPv6 میتوان یک پیشوند آدرس، همانطور که در IPv4 استفاده میشد تعریف نمود، در IPv4 همانطور که دیدید تعداد بیتهایی که به عنوان پیشوند به آدرس اضافه میشد و آدرس زیر شبکه را مشخص میکرد، را میتوانستیم با استفاده از علامت / (slash) از آدرس جدا کنیم. در IPv6 نیز از همان قالب (IPv6-prefix/prefix-length) میتوان استفاده نمود. مثال زیر یک آدرس IPv4 کلاس B با تعداد بیتهای ۲۴ تایی (که معادل با ماسک زیر شبکه ۲۵۵٫۲۵۵٫۲۵۵٫۰ است) را نشان میدهد.۱۷۳٫۸٫۴٫۳/۲۴از همان روش در IPv6 نیز میتوان استفاده کرد، مثال زیر نشان میدهد که اولین ۶۴ بیتی که به عنوان پیشوند میباشد در جدول مسیریابی برای مشخص کردن قسمتهای مجزا و انحصاری شبکه استفاده میشود FEDC::1234:2345:2222/64
[۱]Subnet mask[2]Unicast[3]Multicast[4]Broadcast[5]Point to point[6]Interface