• 23.1 Введение
  • 23.2 Базовые сообщения ICMPv6
  • 23.2.1 Destination Unreachable
  • 23.2.2 Packet Too Big
  • 23.2.3 Time Exceeded
  • 23.2.4 Parameter Problem
  • 23.2.5 Echo Request и Echo Reply
  • 23.2.6 Group Membership
  • 23.3 Исследование соседей
  • 23.3.1 Автоконфигурация через маршрутизаторы
  • 23.3.2 Сообщения Neighbor Solicitation и Advertisement
  • 23.3.3 Address Resolution
  • 23.3.4 Обнаружение дублирования IP-адресов
  • 23.3.5 Обнаружение непостижимости соседа
  • 23.3.6 Сообщение Redirect
  • 23.4 Дополнительная литература
  • Глава 23

    ICMPv6 и исследование соседей

    23.1 Введение

    Версия 6 протокола Internet Control Message Protocol (ICMPv6) сохраняет многие функции версии 4, но вводит и несколько важных изменений:

    ■ Сообщения ICMPv6 помогают в автоматической конфигурации адресов.

    ■ Новые сообщения и процедуры ICMPv6 заменяют протокол ARP.

    ■ Автоматизируется исследование максимального элемента пересылки (MTU) по пути. Поскольку маршрутизаторы более не фрагментируют пакеты, то в случае слишком большого размера пакетов источнику отправляется сообщение Packet Too Big (пакет слишком велик).

    ■ ICMPv6 не посылает сообщений Source Quench.

    ■ ICMPv6 принимает на себя функции отчета о членстве в многоадресной группе протокола Internet Group Management Protocol.

    ■ ICMPv6 помогает определить выключение маршрутизатора или партнера по коммуникации.

    ICMPv6 настолько отличается от старой версии, что ему присвоен новый номер 58 в заголовке Next Header.

    23.2 Базовые сообщения ICMPv6

    В таблице 23.1 перечислены основные типы сообщений ICMPv6. Отметим, что сообщениям об ошибке присвоены номера от 0 до 127, а информационным сообщениям — от 128 до 255. Общий формат сообщения ICMP показан на рис. 23.1. Сначала рассмотрим сообщения ICMP, сходные с сообщениями версии 4.


    Таблица 23.1 Типы сообщений ICMP

    Сообщения об ошибках Тип
    Destination Unreachable (точка назначения недоступна) 1
    Packet Too Big (пакет слишком велик) 2
    Time Exceeded (истекло время) 3
    Parameter Problem (проблема с параметрами) 4
    Информационные сообщения Тип
    Echo Request (эхо-запрос) 128
    Echo Reply (эхо-ответ) 129
    Group Membership Query (запрос о членстве в группе) 130
    Group Membership Report (отчет о членстве в группе) 131
    Group Membership Reduction (исключение из членов группы) 132

    Рис. 23.1. Формат сообщения ICMPv6

    23.2.1 Destination Unreachable

    Причина отправки сообщения Destination Unreachable (точка назначения недоступна) определяется кодами:

    0 Нет маршрута к точке назначения

    1 Административно запрещено взаимодействие с точкой назначения

    2 Следующее назначение в заголовке Routing не является соседом, но установлен бит strict.

    3 Адрес недоступен

    4 Порт недоступен

    Формат сообщения Destination Unreachable показан на рис. 23.2.

    Рис. 23.2. Формат сообщения Destination Unreachable

    23.2.2 Packet Too Big

    Маршрутизатор посылает сообщение Packet Too Big (пакет слишком велик), когда пакет больше MTU связи следующего попадания. Это значение будет включено в отправляемое сообщение. В версии 4 этот же смысл имеет сообщение Destination Unreachable. Формат сообщения Packet Too Big показан на рис. 23.3.

    Рис. 23.3. Формат сообщения Packet Too Big

    23.2.3 Time Exceeded

    Сообщение Time Exceeded (истекло время) отправляется маршрутизатором, который уменьшил счетчик попаданий до нуля (код = 0), или системой, у которой закончилось время на сборку пакета (код = 1). Формат сообщения идентичен Destination Unreachable, но поле типа равно 3.

    23.2.4 Parameter Problem

    Сообщение Parameter Problem (проблема с параметрами) отправляет система, которая не может обработать пакет из-за одного из полей заголовка. Коды сообщения:

    0 Неправильное количество полей заголовка

    1 Нераспознанный тип в поле Next Header

    2 Нераспознанный вариант IPv6

    Формат сообщения идентичен Destination Unreachable, но неиспользованное поле занято указателем, описывающим смещение октета с ошибкой, а тип равен 4.

    23.2.5 Echo Request и Echo Reply

    Сообщения Echo Request (эхо-запрос) и Echo Reply (эхо-ответ) имеют формат, как и в версии 4, но для запроса используется тип = 128, а для ответа тип = 129.

    23.2.6 Group Membership

    Формат сообщений многоадресных рассылок Group Membership (членство в группе) показан на рис. 23.4. Он был изменен относительно версии 4 для согласования с форматом ICMPv6. Поле Maximum Response Delay (максимальная задержка ответа) имеет ненулевое значение только в сообщениях запросов. Оно указывает максимальное время, на которое может быть задержан ответ. В сообщении могут быть перечислены следующие типы:

    130 Group Membership Query

    131 Group Membership Report

    132 Group Membership Reduction

    Рис. 23.4. Формат сообщений Group Membership

    23.3 Исследование соседей

    На момент выхода книги еще продолжалась работа над очень важным набором спецификаций для автоматизации функций связи. К ним можно отнести:

    Router Discovery Исследование маршрутизаторов. Поиск маршрутизаторов в локальной связи.
    Prefix Discovery Исследование префикса. Исследование и использование префикса точки назначения (на связи или удаленной). Используется вместо маски подсети.
    Parameter Discovery Исследование параметров. Выяснение значений параметров (например, MTU или предела по умолчанию для счетчика попаданий).
    Address Autoconfiguration Автоконфигурация адресов. Самоконфигурация адресов интерфейса связи.
    Address Resolution Разрешение адресов. Отображение IP-адреса соседа по связи на адрес уровня связи данных.
    Next-hop Determination Определение следующего попадания. Отображение IP-адреса на адрес участка следующего попадания.
    Neighbor Unreachability Detection Определение недостижимости соседа. Определение отказавшего соседнего хоста или маршрутизатора.
    Duplicate Address Detection Определение дублирования адресов. Проверка, не используется ли присваиваемый IP-адрес другой системой.
    Redirect Перенаправление. Получение уведомления, что существует лучший маршрутизатор для данной точки назначения или что точка назначения находится в локальной связи.

    В таблице 23.2 перечислены сообщения ICMPv6, предлагаемые для реализации функций Neighbor Discovery.


    Таблица 23.2 Сообщения ICMP для исследования соседей

    Информационное сообщение Тип
    Router Solicitation Message (сообщение-ходатайство маршрутизатора) 133
    Router Advertisement Message (сообщение-объявление маршрутизатора) 134
    Neighbor Solicitation Message (сообщение-ходатайство соседа) 135
    Neighbor Advertisement Message (сообщение-объявление соседа) 136
    Redirect (перенаправить) 137

    23.3.1 Автоконфигурация через маршрутизаторы

    Маршрутизаторы предоставляют хостам:

    ■ Адресную информацию маршрутизатора

    ■ Список всех префиксов, используемых связью

    ■ Префиксы, которые должны применять хосты для создания собственных адресов

    ■ Максимальный предел попаданий, который должен использоваться для путей, проходящих через этот маршрутизатор

    ■ Указание, должны ли хосты использовать сервер загрузки для получения дополнительных конфигурационных данных

    ■ MTU для связи, имеющей различные MTU

    ■ Значения для различных таймеров

    Все эти операции выполняются через сообщения ICMPv6 Router Advertisement (объявления маршрутизатора), имеющие тип 134. Хосты слушают сообщения Router Advertisement по всем адресам многоадресных рассылок на всех узлах локальной связи.

    Когда хост загружается, он может не дождаться Router Advertisement и отправить сообщение Router Solicitation (ходатайство маршрутизатору) с типом 133, чтобы вызвать объявление от маршрутизатора. Маршрутизатор отвечает сообщением Advertisement по адресу локальной связи хоста.

    23.3.2 Сообщения Neighbor Solicitation и Advertisement

    В настоящее время предлагается заменить запросы старого протокола Address Resolution Protocol (ARP) новыми многоадресными сообщениями протокола ICMP Neighbor Solicitation и Advertisement (ходатайство и объявление соседа). Сообщение Neighbor Advertisement является ответом на Neighbor Solicitation. Кроме исследования соседей по адресам уровня связи данных, сообщение Neighbor Solicitation применяется для:

    ■ Обнаружения дублированных IP-адресов

    ■ Тестирования, является ли маршрутизатор отключенным

    ■ Тестирования, является ли отключенным сосед, которому посылались пакеты

    23.3.3 Address Resolution

    Для исследования адреса соседа на уровне связи данных сообщение Neighbor Solicitation отправляется на специальный адрес, называемый целевым адресом ходатайствующего узла для многоадресной рассылки (solicited-node multicast address). Этот адрес сформирован из младших 32 бит целевого IP-адреса и предопределенного 96-разрядного префикса FF02:0:0:0:0:1. Таким способом создается адрес многоадресной рассылки, вложенный в локальную связь. Отправитель включает в сообщение собственный адрес уровня связи данных.

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

    23.3.4 Обнаружение дублирования IP-адресов

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

    23.3.5 Обнаружение непостижимости соседа

    Обнаружение неисправного маршрутизатора было рискованным делом в IPv4. В версии 6, когда тайм-аут указывает на бездействующий маршрутизатор, система проверяет такой маршрутизатор одноадресным сообщением Neighbor Solicitation.

    Такая же процедура выполняется, чтобы проверить недостижимость соседнего хоста.

    23.3.6 Сообщение Redirect

    Как и в версии 4, когда хост пересылает датаграмму на неправильный локальный маршрутизатор, он получает обратно сообщение Redirect (перенаправление), указывающее правильный узел для первого попадания. Сообщение Redirect может использоваться для уведомления отправителя о размещении точки назначения в локальной связи. Возможно, именно поэтому сообщение Redirect определено в спецификации Neighbor Discovery.

    Ha рис. 23.5 показан предложенный формат для сообщения Redirect в ICMPv6. Целевой адрес — это адрес IP следующего попадания, который должен использоваться при пересылке пакета. Адрес назначения — это выбранная точка назначения. Поле выбора содержит адрес уровня связи данных целевой системы и может также включать сведения для перенаправления датаграммы.

    Рис. 23.5. Формат сообщения Redirect

    23.4 Дополнительная литература

    ICMPv6 описан в RFC 1885. На момент выхода книги протоколы Neighbor Discovery были еще на стадии обсуждения.








    Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх