RFC: 2463
Оригинал: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
Другие версии: RFC 1885, RFC 4443
Категория: Проект стандарта
Дата публикации:
Авторы: ,
Перевод: Мельников Дмитрий Анатольевич

RFC 2463, Страница 3 из 12

2.2. Определение адреса источника сообщения

IP-узел, который передает ICMPv6-сообщение, должен определить IPv6-адреса источника и получателя сообщения и разместить их в IPv6-заголовке и только потом рассчитывать контрольную сумму. Если IP-узел имеет более одного адреса, то тогда он должен выбрать адрес источника сообщения следующим образом:

  1. Если сообщение является ответом на сообщение, которое было принято этим IP-узлом и содержало один из его уникальных адресов, то тогда адрес источника в ответе должен быть таким, который был указан в принятом сообщении (адрес получателя).

  2. Если сообщение является ответом на сообщение, которое было принято этим IP-узлом и содержало широковещательный или групповой адрес (причем данный IP-узел входит в это объединение узлов с таким адресом), то тогда адрес источника в ответе должен быть уникальным адресом того интерфейса, на который поступил IP-пакет с широковещательным или групповым адресом.

  3. Если сообщение является ответом на сообщение, которое было передано по адресу, который не принадлежит данному IP-узлу (но было им получено), то тогда целесообразно, чтобы адрес источника был уникальным адресом этого IP-узла, который используется последним для диагностирования ошибок (то есть, наиболее приемлем для диагностирования ошибок). Например, если сообщение является ответом на IP-пакет, подлежащий дальнейшей ретрансляции, но которая не может быть успешно осуществлена, то тогда адрес источника в ответе должен быть уникальным адресом того интерфейса, на который поступил этот «бракованный» IP-пакет.

  4. Во всех других случаях должна быть проверена маршрутная таблица этого IP-узла с целью определения интерфейса, который будет использоваться для передачи сообщения по указанному адресу назначения. После такой проверки в качестве адреса источника сообщения должен быть указан адрес, принадлежащий интерфейсу, который будет использоваться для передачи сообщения.

2.3. Вычисление проверочной суммы сообщения

Проверочная сумма вычисляется по битовой последовательности, включающей все ICMPv6-сообщение, начинающееся с поля «Тип ICMPv6-сообщения», и предварительно добавленный «псевдозаголовок», состоящий из отдельных полей IPv6-заголовка. «Псевдозаголовок» также содержит поле «Следующий заголовок» со значением «58».

Замечание. Включение «псевдозаголовка» в последовательность для вычисления проверочной суммы ICMPv6-сообщения является новшеством по сравнению с IPv4-стандартом.

Перед вычислением проверочной суммы само поле «Проверочная сумма» заполняется нулями.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.