2.1. Общий формат сообщений
ICMPv6-сообщения можно разделить на два класса:
- сообщения об ошибках;
- информационные сообщения.
Сообщения об ошибках отличаются тем, что в поле «Тип сообщения» старший бит имеет нулевое значение. Таким образом, сообщения об ошибках могут иметь в поле «Тип сообщения» значения 0…127, а информационные — 128…255.
В данном стандарте представлены следующие ICMPv6-сообщения:
Сообщения об ошибках:
- «1» — узел назначения не достижим;
- «2» — размер IP-пакета слишком большой;
- «3» — превышение времени;
«4» — параметрическая проблема;
Информационные сообщения:
- «128» — запрашивающий эхо-пакет;
- «129» — ответный эхо-пакет.
Каждому ICMPv6-сообщению предшествует IPv6-заголовок и может быть один или несколько (или не быть вообще) IPv6-заголовков расширения. ICMPv6-заголовок идентифицируется значением «58» в поле «Следующий заголовок» заголовка, который непосредственно предшествует ICMPv6-заголовку.
Замечание. Это значение отличается от того, которое используется в стандарте ICMPv4.
На рис.1 представлен общий формат ICMPv6-сообщений.
0 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 0 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 0 |
1 |
«Тип ICMPv6-сообщения» | «Тип кодирования» | «Проверочная сумма» | |||||||||||||||||||||||||||||
«Тело ICMPv6-сообщения» | |||||||||||||||||||||||||||||||
Рис.1. Общий формат ICMPv6-сообщений
Поле «Тип ICMPv6-сообщения» указывает на тип ICMPv6-сообщения. Значение, содержащееся в этом поле, определяет формат следующих за этим полем данных.
Поле «Тип кодирования» зависит от типа ICMPv6-сообщения. Оно предназначено для создания дополнительного уровня структуры сообщения.
Поле «Проверочная сумма» используется для обнаружения искаженных данных в ICMPv6-сообщении и некоторых частях IPv6-заголовка.