پروتکل کنترل پیام اینترنتی ورژن 6 (icmpv6) همان کنترل پیام اینترنت برای اینترنت پروتکل ورژن 6 (IPv6) هست که در RFC 4443 تعریف شدهاست . ICMP V6 یک بخش کلیدی از معماری IPv6 است و وظایف اجرایی و کنترل پیغامهای برگشتی (پیغامهای اطلاعاتی و خطا (شامل PingV6)) لازم را برای تضمین درست و هموار عمل کردن فرایند IPv6 را برعهده دارد.
چندین پسوند در این پروتکل منتشر شده و همچنین گزینههای جدیدی برای انواع پیام در ICMPV6 . پروتوکل کشف همسایه (NDP) که یک پروتکل کشف گرهها در IPV6 است . پروتکل کشف همسایه امن (send ) همان توسعه یافته NDP میباشد با امنیت فوق العاده . و Multicast Router Discovery (MRD) اجازه میدهد که روترهای چند پخشی کشف شوند.
پیام ICMPv6 را میتوان به دو دسته طبقهبندی شده تقسیم کرد : پیامهای خطا و پیامهای اطلاعات. پیامهای ICMPv6 توسط بستههای IPv6 انتقال پیدا میکنند که در انتقال در آن به این شکل هست که در سربرگ IPv6 بعدی ارزش برای ICMPv6 به 58 تنظیم میشود.
بستههای ICMPV6 شامل یک سربرگ و پروتکل ظرفیت بار است. سر برگ شامل سه قسمت است . نوع : ۸ بیتی , کد :۱۶ بیتی , 16checksumبیتی .
Type : نوع پیام را مشخص میکند که مقدارهای بین 0 تا 127 پیامهای خطا و مقدارهای بین 128 تا 255 پیامهای اطلاعاتی هستند.
Code : گاهی خود نوع پیام به چند نوع فرعی دیگر تقسیم میشود که نوع فرعی در این فیلد قرار میگیرد.
Checksum : محتوای این فیلد برای سنجش اعتبار و سلامت بسته ICMP است. .
Bit offset | 0–7 | 8–15 | 16–31 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | نوع | کد | Checksum | |||||||||||||||||||||||||||||
32 | متن پیام |
Type | Code | ||
---|---|---|---|
مقدار | مفهوم | مقدار | مفهوم |
ICMPv6 پیامهای خطا | |||
1 | مقصد قابل دسترسی نیست | 0 | مسیری به مقصد وجود ندارد |
1 | ارتباط با قسمت مدیریتی ممنوع است | ||
2 | فراتر از دامنه آدرس منبع | ||
3 | آدرس غیرقابل دسترس | ||
4 | پورت غیرقابل دسترس | ||
5 | آدرس منبع ورود / خروج شکست خورده | ||
6 | رد مسیر به مقصد | ||
7 | خطا در منبع مسیریابی سربرگ | ||
2 | بسته بسیار بزرگ است | 0 | |
3 | مدت زمان بیش از حد | 0 | محدوده پرش در انتقال بیش از حد شده |
1 | زمان سرهم قطعه بیش از حد شده | ||
4 | مشکل پارامتر | 0 | رویارویی با فیلد هدر نادرست |
1 | نوع سربرگ شناخته شده نیست | ||
2 | گزینه برنامهریزی نشده ipv6 | ||
100 | آزمایشهای خصوصی | ||
101 | آزمایشهای خصوصی | ||
127 | رزرو شده برای پیامهای خطا icmpv6 | ||
ICMPv6 پیامهای اطلاعاتی | |||
128 | درخواست echo | 0 | |
129 | جواب echo | 0 | |
130 | پرس و جو چندپخشی شنونده | 0 | |
131 | گزارش چندپخشی شنونده | 0 | |
132 | انجام چندپخشی شنونده | 0 | |
133 | درخواست روتر | 0 | |
134 | اعلان روتر | 0 | |
135 | درخواست همسایه | 0 | |
136 | اعلان همسایه | 0 | |
137 | تغییر مسیر پیام | 0 | |
138 | روتر Renumbering | 0 | فرمان روتر Renumbering |
1 | نتیجه روتر Renumbering | ||
255 | بازنشانی شماره متوالی | ||
139 | درخواست اطلاعات گره ICMP | 0 | فیلد داده شامل یک آدرس IPV6 هست که موضوع درخواست هست |
1 | فیلد داده شامل یک نام است که موضوع درخواست هست یا خالی است | ||
2 | فیلد داده شامل یک آدرس 4IPV هست که موضوع درخواست هست | ||
140 | درخواست اطلاعات گره ICMP | 0 | یک پاسخ موفق. جواب شاید یک فیلد داده باشد |
1 | پاسخ دهنده رد میکند نگه داشتن جواب را . جواب فیلد داده شاید خالی باشد | ||
2 | Qtype از پرس و جو ناشناخته به پاسخگوی است. جواب فیلد داده شاید خالی باشد | ||
141 | معکوس پیام حل کشف همسایه | 0 | |
142 | معکوس پیام اعلان کشف همسایه | 0 | |
143 | کشف چندپخشی شنونده ( MLDv2 ) گزارش ( RFC 3810 ) | ||
144 | کشف آدرس عامل اصلی درخواست پیام | 0 | |
145 | کشف آدرس عامل اصلی پاسخ پیام | 0 | |
146 | درخواست پیشوند تلفن همراه | 0 | |
147 | اعلان پیشوند تلفن همراه | 0 | |
148 | گواهی مسیر درخواست | ||
149 | گواهی اعلان مسیر | ||
151 | اعلان مسیریاب چندپخشی | ||
152 | درخواست مسیریاب چندپخشی | ||
153 | پایان مسیریاب چندپخشی | ||
155 | پیام کنترل RPL | ||
200 | گزارش خصوصی | ||
201 | گزارش خصوصی | ||
255 | رزرو شده برای پیامهای اطلاعاتی icmpv6 |
توجه داشته باشید که جدول بالا جامع نیست. لیست کامل فعلی انواع ICMPv6 اختصاص داده شده را میتوان در این لینک یافت.
IANA: ICMPv6 Parameters.
ICMPV6 یک حداقل سطحی از تأیید تمامیت ارسال شدن پیام توسط گنجاندن 16 بیت در هدر پیام را فراهم میکند . این کار با یک شبه هدر از زمینههای هدر IPv6 را با توجه به استاندارد IPv6 است شروع میشود که متشکل از مبدأ و مقصد آدرس، طول بستهها و زمینه هدر بعدی است که به مقدار 58 ارزش میگیرد. به دنبال این شبه هدر ، Checksum با پیام ICMPv6 که در آن checksum ابتدا به صفر مقداردهی شدهاست ادامه می یابد. محاسبه کنترلی بر اساس استانداردهای پروتکل اینترنت از مجموع متمم یک 16 بیتی استفاده میکند. بعد از محساسبات کنترلی مجموع این محاسبات در خو فیلد Checksum قرار میگیرد. توجه داشته باشید که این تفاوتی از روش است نسبت به IPv4 در محاسبه ICMP ، اما شبیه به محاسبات انجام شده در است TCP است.
Bit offset | 0 - 7 | 8–15 | 16–23 | 24–31 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | آدرس مبدا | |||||||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||
128 | آدرس مقصد | |||||||||||||||||||||||||||||||
160 | ||||||||||||||||||||||||||||||||
192 | ||||||||||||||||||||||||||||||||
224 | ||||||||||||||||||||||||||||||||
256 | ICMPv6 طول | |||||||||||||||||||||||||||||||
288 | Zeros | سربرگ بعدی |
هنگامی که یک گره ICMPv6 بستهای را دریافت میکند ، باید اقداماتی که به نوع پیام بستگی دارد انجام دهد. پروتکل ICMPv6 باید تعداد پیغام خطا فرستاده شده به مقصد به منظور جلوگیری از سربار شبکه را محدود کند. برای مثال اگر یک گره به فرستادن بستههای نادرست ادامه دهد ، ICMP سیگنال خطای اول بسته را میخواهد و این کار را در فواصل معین انجام میدهد با یک حداقل دوره ثابت یا با یک حداکثر بار ثابت شبکه. پیام خطای ICMP هرگز نباید در پاسخ به یکی دیگر از پیامهای خطا ICMP ارسال میشود.
^ RFC 4443, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
2.Jump up ^ RFC 3315, § 3
3.Jump up ^ RFC 2460, Internet Protocol, Version 6 (IPv6) Specification, Section 8.1 (Upper-Layer Checksum), S. Deering, R. Hinden (December 1998)
4.Jump up ^ RFC 1071, Computing the Internet Checksum, R. Braden, D. Borman, C. Partridge (September 1988)