WikiDer > Протокол управляющих сообщений Интернета для IPv6
| Набор интернет-протоколов | 
|---|
| Уровень приложения | 
| Транспортный уровень | 
| Интернет-уровень | 
| Связующий слой | 
Протокол управляющих сообщений Интернета версии 6 (ICMPv6) является реализацией Протокол управляющих сообщений Интернета (ICMP) для Интернет-протокол версии 6 (IPv6). ICMPv6 определен в RFC 4443.[1] ICMPv6 является неотъемлемой частью IPv6 и выполняет функции отчетов об ошибках и диагностики (например, пинг)
ICMPv6 имеет структуру для расширений для реализации будущих изменений. Было опубликовано несколько расширений, определяющих новые типы сообщений ICMPv6, а также новые параметры для существующих типов сообщений ICMPv6. Например, Протокол обнаружения соседей (NDP) - это протокол обнаружения узлов, основанный на ICMPv6, который заменяет и расширяет функции ARP.[2] Обнаружение безопасного соседа (SEND) - это расширение NDP с дополнительной безопасностью. Обнаружение многоадресного прослушивателя (MLD) используется маршрутизаторами IPv6 для обнаружения многоадресная передача слушатели по непосредственно прикрепленной ссылке, как и Протокол управления интернет-группами (IGMP) используется в IPv4. Обнаружение многоадресного маршрутизатора (MRD) позволяет обнаруживать многоадресные маршрутизаторы.
Типы и форматы сообщений
Сообщения ICMPv6 можно классифицировать как Сообщения об ошибках и информационные сообщения. Сообщения ICMPv6 транспортируются пакетами IPv6, в которых Следующий заголовок IPv6 для ICMPv6 установлено значение 58.
Сообщение ICMPv6 состоит из заголовка и данных протокола. Заголовок содержит всего три поля: тип (8 бит), код (8 бит) и контрольная сумма (16 бит). тип указывает тип сообщения. Значения в диапазоне от 0 до 127 (старший бит равен 0) указывают на сообщение об ошибке, а значения в диапазоне от 128 до 255 (старший бит равен 1) указывают на информационное сообщение. В код значение поля зависит от типа сообщения и обеспечивает дополнительный уровень детализации сообщения. В контрольная сумма поле обеспечивает минимальный уровень проверки целостности сообщения ICMP.
| Битовое смещение | 0–7 | 8–15 | 16–31 | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Тип | Код | Контрольная сумма | |||||||||||||||||||||||||||||
| 32 | Тело сообщения | |||||||||||||||||||||||||||||||
Типы
Управляющие сообщения обозначаются значением в тип поле. В код поле содержит дополнительную контекстную информацию для сообщения. Некоторые сообщения служат той же цели, что и типы сообщений ICMP с соответствующими названиями.
| Тип | Код | ||
|---|---|---|---|
| Ценить | Смысл | Ценить | Смысл | 
| Сообщения об ошибках 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 | Эхо-запрос | 0 | |
| 129 | Эхо-ответ | 0 | |
| 130 | Запрос многоадресного прослушивателя (MLD) | 0 | Есть два подтипа сообщений запроса многоадресного прослушивателя: 
 Эти два подтипа различаются содержимым поля Multicast Address, как описано в разделе 3.6. RFC 2710  | 
| 131 | Отчет о многоадресном прослушивателе (MLD) | 0 | |
| 132 | Многоадресный прослушиватель готов (MLD) | 0 | |
| 133 | Запрос маршрутизатора (Пнр) | 0 | |
| 134 | Объявление маршрутизатора (NDP) | 0 | |
| 135 | Поиск соседей (NDP) | 0 | |
| 136 | Реклама соседей (NDP) | 0 | |
| 137 | Сообщение перенаправления (NDP) | 0 | |
| 138 | Перенумерация маршрутизатора | 0 | Команда перенумерации маршрутизатора | 
| 1 | Результат перенумерации маршрутизатора | ||
| 255 | Сброс порядкового номера | ||
| 139 | Запрос информации об узле ICMP | 0 | Поле данных содержит адрес IPv6, который является темой этого запроса. | 
| 1 | Поле данных содержит имя, которое является темой этого запроса, или пустое, как в случае NOOP. | ||
| 2 | Поле данных содержит IPv4-адрес, который является темой этого запроса. | ||
| 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 | Объявление многоадресного маршрутизатора (MRD) | ||
| 152 | Запрос многоадресного маршрутизатора (MRD) | ||
| 153 | Завершение многоадресного маршрутизатора (MRD) | ||
| 155 | Контрольное сообщение RPL | ||
| 200 | Частные эксперименты | ||
| 201 | Частные эксперименты | ||
| 255 | Зарезервировано для распространения информационных сообщений ICMPv6 | ||
Обратите внимание, что приведенная выше таблица не является исчерпывающей. Текущий полный список назначенных типов ICMPv6 можно найти по этой ссылке: IANA: параметры ICMPv6.
Контрольная сумма
ICMPv6 обеспечивает минимальный уровень проверки целостности сообщения за счет включения 16-битного контрольная сумма в его заголовке. Контрольная сумма рассчитывается начиная с псевдо-заголовок полей заголовка IPv6 согласно стандарту IPv6,[3] который состоит из адресов источника и назначения, длины пакета и следующего поля заголовка, последнее из которых имеет значение 58. После этого псевдозаголовка контрольная сумма продолжается сообщением ICMPv6. Расчет контрольной суммы выполняется в соответствии со стандартами Интернет-протокола с использованием 16-битного дополнение суммирование, за которым следует окончательное дополнение самой контрольной суммы и вставка ее в поле контрольной суммы.[4] Обратите внимание, что это отличается от того, как он рассчитывается для IPv4 в ICMP, но аналогичен расчету, выполненному в TCP.
| Битовое смещение | 0 – 7 | 8–15 | 16–23 | 24–31 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Адрес источника | |||||||||||||||||||||||||||||||
| 32 | ||||||||||||||||||||||||||||||||
| 64 | ||||||||||||||||||||||||||||||||
| 96 | ||||||||||||||||||||||||||||||||
| 128 | Адрес назначения | |||||||||||||||||||||||||||||||
| 160 | ||||||||||||||||||||||||||||||||
| 192 | ||||||||||||||||||||||||||||||||
| 224 | ||||||||||||||||||||||||||||||||
| 256 | Длина ICMPv6 | |||||||||||||||||||||||||||||||
| 288 | Нули | Следующий заголовок | ||||||||||||||||||||||||||||||
Обработка сообщений
Когда узел ICMPv6 получает пакет, он должен предпринимать действия, зависящие от типа сообщения. Протокол ICMPv6 должен ограничивать количество сообщений об ошибках, отправляемых в одно и то же место назначения, чтобы избежать перегрузки сети. Например, если узел продолжает пересылать ошибочные пакеты, ICMP сообщит об ошибке первому пакету, а затем будет делать это периодически, с фиксированным минимальным периодом или с фиксированной максимальной загрузкой сети. Сообщение об ошибке ICMP нельзя отправлять в ответ на другое сообщение об ошибке ICMP.
Рекомендации
- ^ RFC 4443, Протокол управляющих сообщений Интернета (ICMPv6) для спецификации Интернет-протокола версии 6 (IPv6)
 - ^ RFC 3315, § 3
 - ^ RFC 2460, Спецификация Интернет-протокола версии 6 (IPv6), Раздел 8.1 (Контрольная сумма верхнего уровня), С. Диринг, Р. Хинден (декабрь 1998 г.)
 - ^ RFC 1071, Вычисление контрольной суммы Интернета, Р. Брейден, Д. Борман, К. Партридж (сентябрь 1988 г.)
 
внешняя ссылка
| В Викиверситете есть учебные ресурсы о ICMPv6 |