stringtranslate.com

ICMPv6

Протокол управляющих сообщений Интернета версии 6 ( ICMPv6 ) — это реализация протокола управляющих сообщений Интернета (ICMP) для протокола Интернета версии 6 (IPv6). [1] ICMPv6 является неотъемлемой частью IPv6 и выполняет функции сообщения об ошибках и диагностики.

ICMPv6 имеет структуру для расширений для реализации новых функций. Было опубликовано несколько расширений, определяющих новые типы сообщений ICMPv6, а также новые параметры для существующих типов сообщений ICMPv6. Например, Neighbor Discovery Protocol (NDP) — это протокол обнаружения узлов на основе ICMPv6, который заменяет и улучшает функции ARP . [2] Secure Neighbor Discovery (SEND) — это расширение NDP с дополнительной безопасностью. Multicast Listener Discovery (MLD) используется маршрутизаторами IPv6 для обнаружения многоадресных прослушивателей на напрямую подключенном канале, подобно тому, как Internet Group Management Protocol (IGMP) используется в IPv4 . Multicast Router Discovery (MRD) позволяет обнаруживать многоадресные маршрутизаторы.

Типы и форматы сообщений

Сообщения ICMPv6 можно классифицировать как сообщения об ошибках и информационные сообщения . Сообщения ICMPv6 транспортируются пакетами IPv6, в которых значение заголовка IPv6 Next для ICMPv6 установлено на значение 58 .

Сообщение ICMPv6 состоит из заголовка и полезной нагрузки протокола. Заголовок содержит только три поля: Тип (8 бит), Код (8 бит) и Контрольная сумма (16 бит).

Тип: 8 бит
Указывает тип сообщения. Значения в диапазоне от 0 до 127 (старший бит равен 0) указывают на сообщение об ошибке, а значения в диапазоне от 128 до 255 (старший бит равен 1) указывают на информационное сообщение.
Код: 8 бит
Значение поля «Код» зависит от типа сообщения и обеспечивает дополнительный уровень детализации сообщения.
Контрольная сумма: 16 бит
Обеспечивает минимальный уровень проверки целостности для сообщения ICMP. Контрольная сумма вычисляется из сообщения ICMP (начиная с поля Type ), к которому добавляется псевдозаголовок IPv6 . [1] См. ниже.
Текст сообщения: переменный
Содержание зависит от сообщения.

Типы

Управляющие сообщения идентифицируются значением в поле типа . Поле кода дает дополнительную контекстную информацию для сообщения. Некоторые сообщения служат той же цели, что и соответствующие им типы сообщений ICMP.

Обратите внимание, что таблица выше не является исчерпывающей. Текущий полный список назначенных типов ICMPv6 можно найти по этой ссылке: IANA: ICMPv6 Parameters.

Контрольная сумма

ICMPv6 обеспечивает минимальный уровень проверки целостности сообщения путем включения 16-битной контрольной суммы в его заголовок. Контрольная сумма вычисляется, начиная с псевдозаголовка полей заголовка IPv6 в соответствии со стандартом IPv6, [6] который состоит из адресов источника и назначения, длины пакета и следующего поля заголовка, последнее из которых установлено в значение 58. После этого псевдозаголовка контрольная сумма продолжается с сообщением ICMPv6. Вычисление контрольной суммы выполняется в соответствии со стандартами интернет-протокола с использованием 16-битного суммирования с дополнением по единицам , за которым следует окончательное дополнение по единицам самой контрольной суммы и вставка его в поле контрольной суммы. [7] Обратите внимание, что это отличается от способа вычисления для IPv4 в ICMP , но похоже на вычисление, выполняемое в TCP .

Формат

Полезная нагрузка сообщения ICMPv6 различается в зависимости от типа отправляемого сообщения. Она начинается с бита 32 сразу после заголовка, описанного выше. Для некоторых сообщений, таких как недоступность пункта назначения или превышение времени, не определено тело сообщения.

Другие определяют использование только первых четырех байтов тела без какого-либо другого определенного содержимого:

В случае сообщений NDP первые четыре байта либо зарезервированы, либо используются для флагов/лимита хоп-пакетов. В то время как сброс тела имеет неопределенные структурированные данные:

Для перенаправления первые байты тела сообщения зарезервированы, но не используются. Далее следует Target и адрес назначения. Неуказанные опции могут быть присоединены к концу:

Обработка сообщений

Когда узел ICMPv6 получает пакет, он должен предпринять действия, которые зависят от типа сообщения. Протокол ICMPv6 должен ограничивать количество сообщений об ошибках, отправляемых в одно и то же место назначения, чтобы избежать перегрузки сети. Например, если узел продолжает пересылать ошибочные пакеты, ICMP сообщит об ошибке первому пакету и затем будет делать это периодически, с фиксированным минимальным периодом или с фиксированной максимальной нагрузкой сети. Сообщение об ошибке ICMP никогда не должно отправляться в ответ на другое сообщение об ошибке ICMP.

Ссылки

  1. ^ ab A. Conta; S. Deering (март 2006 г.). M. Gupta (ред.). Протокол управляющих сообщений Интернета (ICMPv6) для спецификации протокола Интернета версии 6 (IPv6). Сетевая рабочая группа. doi : 10.17487/RFC4443 . STD 89. RFC 4443. Стандарт Интернета 89. Отменяет RFC 2463. Обновляет RFC 2780. Обновлен RFC 4884.
  2. ^ T. Mrugalski; M. Siodelski; B. Volz; A. Yourtchenko; M. Richardson; S. Jiang; T. Lemon; T. Winters (ноябрь 2018 г.). Протокол динамической конфигурации хоста для IPv6 (DHCPv6). IETF . doi : 10.17487/RFC8415 . ISSN  2070-1721. RFC 8415. Предлагаемый стандарт. Раздел 3. Отменяет RFC 3315, 3633, 3736, 4242, 7083, 7283 и 7550.
  3. ^ М. Кроуфорд (август 2000 г.). Изменение нумерации маршрутизаторов для IPv6. Сетевая рабочая группа. doi : 10.17487/RFC2894 . RFC 2894. Предлагаемый стандарт.
  4. ^ R. Vida; L. Costa, ред. (июнь 2004 г.). Multicast Listener Discovery Version 2 (MLDv2) для IPv6. Сетевая рабочая группа. doi : 10.17487/RFC3810 . RFC 3810. Предложенный стандарт. Обновления RFC 2710. Обновлено RFC 4604.
  5. ^ ab R. Bonica; R. Thomas; J. Linkova; C. Lenart; M. Boucadair (февраль 2018 г.). PROBE: Утилита для проверки интерфейсов. Internet Engineering Task Force (IETF). doi : 10.17487/RFC8335 . ISSN  2070-1721. RFC 8335. Предложенный стандарт. Обновления RFC 4884.
  6. ^ S. Deering ; R. Hinden (июль 2017 г.). Спецификация протокола Интернета версии 6 (IPv6). IETF . doi : 10.17487/RFC8200 . STD 86. RFC 8200. Интернет Стандарт 86. сек. 8.1. Устаревший RFC 2460.
  7. ^ Р. Брейден ; Д. Борман; К. Партридж (сентябрь 1988 г.). Вычисление контрольной суммы Интернета. Сетевая рабочая группа. doi : 10.17487/RFC1071 . RFC 1071. Информационное. Обновлено RFC 1141.

Внешние ссылки