|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Глава 23ICMPv6 и исследование соседей 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
Рис. 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 Исследование соседейНа момент выхода книги еще продолжалась работа над очень важным набором спецификаций для автоматизации функций связи. К ним можно отнести:
В таблице 23.2 перечислены сообщения ICMPv6, предлагаемые для реализации функций Neighbor Discovery. Таблица 23.2 Сообщения ICMP для исследования соседей
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 | Прислать материал | Нашёл ошибку | Наверх |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|