КабельщикАвтонастройка IPv6 в Windows Vista

Джозеф Дэвис (Joseph Davies)

Стандарт IPv6 – это больше, чем расширение адресного пространства с 32 в IPv4 до 128 бит. Узлы IPv6 могут автоматически осуществлять самонастройку даже без использования протокола настройки адресов, такого как DHCP для IPv6 (DHCPv6).

Основываясь на RFC 2462, все IPv6 узлы автоматически настраивают локальный адрес связи для каждого интерфейса. Узел IPv6 также использует обнаружение маршрутизатора (путем обмена сообщениями Router Solicitation, запрос маршрутизатора, и Router Advertisement, объявление маршрутизатора), чтобы определить дополнительные адреса и параметры настройки. В Router Advertisement в сообщение, которое отправляет маршрутизатор, включается флаг управляемой настройки адресов (флаг M) и флаг других параметров настройки с сохранением состояния (флаг O). Эти флаги показывают, должны ли узлы использовать DHCPv6 для получения дополнительных адресов и параметров настройки.

Варианты автонастройки IPv6

Кроме локального адреса, узлы могут использовать автоматическую настройку без сохранения состояния для настройки адресов и других параметров по получении сообщения Router Advertisement. Данные сообщения могут включать один или несколько параметров Prefix Information, которые принимающий узел может использовать для вывода адресов без сохранения состояния.

Аналогичным образом автоматическая настройка адресов с сохранением состояния – это настройка адресов и других параметров с помощью DHCPv6 для получения адресов. Узел использует автоматическую настройку адресов с сохранением состояния, когда он получает сообщение Router Advertisement с флагом M, установленным в 1.

Наконец, узел может использовать автоматическую настройку с сохранением состояния и без сохранения состояния одновременно, что является сочетанием адресов, один из которых включен в объявление маршрутизатора, другой получен от сервера DHCPv6.

Состояния автоматически настроенного адреса

Когда автоматически настроенный адрес находится в пробном состоянии, он проверятся на уникальность с помощью обнаружения дублирующих адресов (duplicate address detection, DAD). Сведения о том, как осуществляется DAD, приведены на боковой панели "Процесс автоматической настройки IPv6 согласно RFC 2462". Адрес в допустимом состоянии уже проверен на уникальность и может использоваться для отправки и получения одноадресного трафика. Допустимое состояние включает в себя и предпочитаемое, и устаревшее состояния. В предпочитаемом состоянии адрес может использоваться для неограниченной связи. В устаревшем состоянии адрес не должен использоваться для новой связи, однако, существующие сеансы связи могут продолжаться.

Процесс автоматической настройки IPv6 согласно RFC 2462

Следующие шаги описывают процесс автоматической настройки для узла IPv6, определенный в RFC 2462:

  • Получить пробный локальный адреса связи с EUI-64 (Extended Unique Identifier, расширенный глобальный идентификатор).
  • Выполнить DAD пробного локального адреса путем отправки сообщения Neighbor Solicitation (опрос соседа), где в «адрес назначения» сообщения установлен пробный локальный адрес.
  • Если было получено сообщение Neighbor Advertisement (объявление соседа), отправленное в ответ на сообщение Neighbor Solicitation, значит, пробный адрес связи дублирующий. Остановить автоматическую настройку адресов. На данной стадии на узле нужно провести настройку вручную.
  • Если сообщение Neighbor Advertisement (объявление соседа), отправленное в ответ на сообщение Neighbor Solicitation, не было получено, значит, пробный адрес является уникальным. Изменить состояние адреса интерфейса на предпочитаемое.
  • Отправить сообщение Router Solicitation (запрос маршрутизатора).
  • В случае, если сообщения Router Advertisement не получены, использовать DHCPv6 для получения адресов и других параметров настройки.
  • Если сообщение Router Advertisement получено, настроить пробный адрес для включенных префиксов и провести обнаружение дублирующих адресов для каждого пробного адреса. Если адреса уникальны, изменить состояние адресов интерфейса на предпочитаемые.
  • Если флаг M в сообщении Router Advertisement имеет значение 1, использовать DHCPv6 для получения дополнительных адресов с сохранением состояния.
  • Если флаг M в сообщении Router Advertisement имеет значение 0 и флаг O – значение 1, использовать DHCPv6 для получения дополнительных параметров настройки.

Передающий объявления маршрутизатор или DHCPv6 сервер определяет допустимые и предпочитаемые времена жизни префикса адреса. Адрес становится устаревшим после того, как предпочитаемое время жизни адреса истекает. Предпочитаемое время жизни автоматически настроенного адреса обновляется при получении объявлений маршрутизатора или изменении настройки адреса по DHCPv6. На рис. 1 показаны состояния автоматически настроенного адреса и их связь с предпочитаемыми и допустимыми временами жизни.

Рис. 1 Состояния автоматически настроенного адреса

Рис. 1** Состояния автоматически настроенного адреса **(Щелкните изображение, чтобы увеличить его)

Автоматическая настройка адресов указана для узлов IPv6 за исключением автоматической настройки для локальных адресов. Маршрутизаторы IPv6 должны получить адрес и параметры настройки по-другому, например, путем настройки вручную.

Боковая панель «Процесс автоматической настройки IPv6 согласно RFC 2462 » описывает подробный процесс автоматической настройки IPv6-адреса для узлов, определенный в RFC 2462.

Поведение автоматической настройки IPv6 в Windows Vista

Компьютеры под управлением Windows Vista® или Windows Server® 2008, ранее называвшейся кодовым именем «Longhorn», по умолчанию создают случайные идентификаторы интерфейсов для постоянных автоматически настроенных IPv6-адресов (включая общие и локальные адреса), а не основанные на EUI-64 идентификаторы интерфейсов. Общедоступный IPv6-адрес – глобальный адрес, который зарегистрирован в DNS и обычно используется в серверных приложениях для входящих подключений, например, веб-сервер. Вы можете отключить такое поведение по умолчанию с помощью команды:

netsh interface ipv6 set global randomize­identifiers=disabled 

В этом случае IPv6 использует основанные на EUI-64 идентификаторы интерфейсов.

При использовании случайно получаемого кода интерфейса вероятность дублирования локального адреса очень мала. Поэтому компьютеры под управлением Windows Vista или Windows Server 2008 не ожидают завершения DAD перед отправкой сообщений Router Solicitation, использующих полученный локальный адрес. Такой подход известен как оптимистический DAD, обнаружение маршрутизатора и DAD осуществляются параллельно для экономии времени во время процесса инициализации интерфейса.

Компьютеры под управлением Windows Vista или Windows Server 2008 не пытаются проводить автоматическую настройку адреса с сохранением состояния, используя DHCPv6, если объявления маршрутизатора не были получены.

Процесс автоматической настройки IPv6 в Windows Vista

Следующие шаги описывают процесс автоматической настройки для узла IPv6 под управлением Windows Vista:

  • Получить пробный локальный адрес связи для интерфейса локальной сети со случайно получаемым идентификатором интерфейса (параметр по умолчанию).
  • Выполнить DAD полученного локального адреса интерфейса локальной сети (отправка сообщения Neighbor Solicitation, где в «адрес назначения» установлен пробный локальный адрес).
  • Провести обнаружение маршрутизатора на интерфейсе локальной сети (отправка сообщения Router Solicitation с пробного локального адреса связи).
  • Если получено сообщение Neighbor Advertisement, отправленное в ответ на сообщение Neighbor Solicitation, которое, в свою очередь, было отправлено на шаге 2, отметить пробный адрес как дублирующий.
  • Если сообщение Neighbor Advertisement, отправленное в ответ на сообщение Neighbor Solicitation, не получено, измененить состояние локального адреса на интерфейсе локальной сети на предпочитаемое.
  • В случае, если сообщения Router Advertisement не получены, остановка автоматической настройки IPv6-адреса на интерфейсе локальной сети. Перейти к шагу 13.
  • При получении объявления маршрутизатора создать пробный общедоступный адрес, соответствующий префиксам глобального или уникального локального адреса в сообщении, основанного случайного идентификатора интерфейса, полученного на шаге 1, и выполнить DAD.
  • Создать пробные временные адреса, соответствующие префиксам глобального или уникального локального адреса сообщения, основанного на новых случайных идентификаторах интерфейса, и выполнить DAD.
  • Для каждого из новых адресов, если сообщения Neighbor Advertisement, отправленные в ответ на сообщение Neighbor Solicitation, получены, измененить состояние адреса на интерфейсе локальной сети на предпочитаемое.
  • Если флаги M и O объявления маршрутизатора установлены в 0, остановить автонастройку IPv6 на интерфейсе локальной сети. Перейти к шагу 13.
  • Если флаг M в объявлении маршрутизатора имеет значение 1, использовать DHCPv6 для получения как IPv6-адресов с сохранением состояния, так и дополнительных параметров настройки.
  • Если флаг M в объявлении маршрутизатора установлен в 0 и флаг O – в 1, использовать DHCPv6 для получения дополнительных параметров настройки.
  • Получить локальные адреса связи ISATAP на основе IPv4-адресов интерфейса локальной сети и назначить их интерфейсу туннелирования ISATAP.
  • Попытаться разрешить имя узла "ISATAP" в IPv4-адрес.
  • Если имя узла "ISATAP" не может быть разрешено, прекратить настройку IPv6.
  • Если имя узла "ISATAP" разрешено в IPv4-адрес, отправить разрешение инкапсулированного в IPv4 запроса маршрутизатора маршрутизатору ISATAP.
  • Если объявление маршрутизатора от маршрутизатора ISATAP получено, создать дополнительные адреса ISATAP, соответствующие объявленному глобальному или уникальному префиксу адреса локальной связи, и назначить их интерфейсу туннелирования ISATAP.

Автонастраиваемые адреса для Windows Vista

Как уже было сказано ранее, протокол IPv6 для Windows Vista и Windows Server 2008 автоматически настраивает локальной адреса связи с помощью полученных случайным образом идентификаторов для всех интерфейсов локальной сети.

Если полученное объявление маршрутизатора включает в себя глобальный или уникальный локальный префикс, IPv6 настраивает глобальные или уникальные локальные адреса с помощью того же полученного случайным образом идентификатора интерфейса и назначает их интерфейсу локальной сети, получившему объявление маршрутизатора. Эти адреса известны как общедоступные.

IPv6 в Windows Vista по умолчанию также настраивает временные глобальные или уникальные адреса с помощью различных полученных случайным образом идентификаторов интерфейса и назначает их интерфейсу локальной сети, получившему объявление маршрутизатора. Временные адреса определяются в RFC 3041 и используются для предоставления уровня анонимности для связи, инициированной клиентом. IPv6 в Windows Server 2008, напротив, не создает временные адреса по умолчанию. Можно включить временные адреса, используя следующую команду:

netsh interface ipv6 set privacy-enabled

Если флага M установлен в 1 в полученных сообщениях объявления маршрутизатора, IPv6 использует DHCPv6 для настройки дополнительных глобальных или уникальных адресов для интерфейса локальной сети.

IPv6 также создает интерфейс туннелирования протокола ISATAP для каждого интерфейса локальной сети на узле RFC 4214 описывает технологию передачи ISATAP IPv6. С помощью ISATAP узлы IPv6 могут взаимодействовать по внутренней сети, где есть только протокол IPv4, путем инкапсуляции пакета IPv6 с заголовком IPv4. Для получения дополнительных сведений об ISATAP посетите веб-узел "Технологии передачи IPv6".

Для каждого интерфейса туннеллирования ISATAP IPv6 настраивает локальные адреса связи ISATAP для IPv4-адресов, назначенных соответствующему интерфейсу локальной сети.. Например, для интерфейса туннеллирования ISATAP, соответствующему интерфейсу локальной сети, назначенному IPv4-адресу 192.168.91.211, IPv6 назначает локальный адрес связи ISATAP FE80::0:5EFE:192.168.91.211.

Узлы ISATAP также выполняют обнаружение маршрутизатора ISATAP. Для получения объявления маршрутизатора от маршрутизатора ISATAP IPv6 по умолчанию должен иметь возможность разрешения имени узла "ISATAP" в IPv4-адрес. Это выполняется путем использования методов разрешения имени узла на основе Windows, таких как DNS. После разрешения имени узел отправляет инкапсулированный в IPv4 запрос маршрутизатора маршрутизатору ISATAP. Затем маршрутизатор ISATAP отправляет инкапсулированное в IPv4 объявление маршрутизатора узлу. На основании содержимого полученного объявления маршрутизатора IPv6 также настраивает глобальные или уникальные локальные адреса ISATAP в интерфейсах туннелирования ISATAP.

Windows Vista также поддерживает технологии передачи IPv6 с названиями 6to4 и Teredo. Тем не менее, чтобы все не усложнять, я не буду обсуждать автонастройку интерфейсов туннелирования 6to4 и Teredo узла IPv6 на основе WindowsVista.

На боковой панели « Процесс автонастройки IPv6 в Windows Vista» описан процесс автонастройки адреса для узла IPv6 на основе Windows Vista с помощью одного интерфейса локальной сети, который настраивается при помощи префиксов глобального или уникального локальных адресов на его интерфейсах туннелирования локальной сети или ISATAP.

Например, узел, работающий под управлением Windows Vista, имеет один интерфейс локальной сети. Узел получает на своем интерфейсе локальной сети объявление маршрутизатора, в котором флаги M и O установлены в 0 и содержатся префиксы 2001:DB8:D005:F282::/64 и FD4A:3A9:27A1:F282::/64. Он не получает сообщения объявления маршрутизатора от маршрутизатора ISATAP. Нарис. 2 показан пример выходных данных, которые можно получить, используя команду

Figure 2 Выходные данные из netsh interface ipv6 show address

Interface 1: Loopback Pseudo-Interface 1

Addr Type DAD State Valid Life Pref. Life Address
--------- ----------- ---------- ---------- ------------------------
Other   Preferred  infinite infinite ::1

Interface 8: Local Area Connection

Addr Type DAD State Valid Life Pref. Life Address
--------- ----------- ---------- ---------- ------------------------
Temporary Preferred 6d19h37m21s 6d19h37m21s 2001:db8:d005:f282:ed46:5dd4:5439:2e1c
Public  Preferred  infinite infinite 2001:db8:d005:f282:3521:12fa:2c44:87d1
Temporary Preferred 6d19h37m21s 6d19h37m21s fd4a:3a9:27a1:f282:ed46:5dd4:5439:2e1c
Public   Preferred  infinite infinite fd4a:3a9:27a1:f282:3521:12fa:2c44:87d1
Other   Preferred  infinite infinite fe80::3521:12fa:2c44:87d1%8

Interface 17: Local Area Connection* 9

Addr Type DAD State Valid Life Pref. Life Address
--------- ----------- ---------- ---------- ------------------------
Other   Preferred  infinite infinite fe80::5efe:10.47.181.92%17

netsh interface ipv6 show address

для этого хоста, используемого в качестве примера. На рисунке интерфейс туннелирования ISATAP, соответствующий интерфейсу локальной сети, который называется Local Area Connection, называется Local Area Connection* 9.

Помимо автонастраиваемых адресов, протокол IPv6 для Windows Server 2008 и Windows Vista также поддерживает ручную настройку статических IPv6-адресов посредством следующей команды:

netsh interface ipv6 add address

или посредством компонента протокола TCP/IPv6 из свойств подключения в папке «Сетевое подключение».

В статье этого месяца предполагается, что у вас уже есть общее представление об адресации IPv6 и работе протоколов. Для получения дополнительных сведений по этому теме я предлагаю вам ознакомиться с официальным документом «Introduction to IPv6», который можно найти на веб-узле microsoft.com/technet/ network/ipv6/introipv6.mspx.

Джозеф Дэвис (Joseph Davies) работает составителем технической документации в корпорации Майкрософт. С 1992 года занимается преподаванием и пишет о сетях Windows. Он автор пяти книг, опубликованных издательством Microsoft Press, и ведет ежемесячную рубрику TechNet «Кабельщик».

© 2008 Корпорация Майкрософт и компания CMP Media, LLC. Все права защищены; полное или частичное воспроизведение без разрешения запрещено.