Идентификатор интерфейса

Идентификатор интерфейса (Interface ID) в индивидуальных адресах IPv6, аналогично идентификатору узла адреса IPv4 используется для определения интерфейса в сегменте сети. Он должен быть уникальным внутри сети/подсети. При этом уникальность идентификатора интерфейса не зависит от уникальности адреса IPv6.

Для всех индивидуальных адресов, за исключением тех, которые начинаются с 000, идентификатор интерфейса должен иметь длину 64 бита и быть сформирован в соответствии с форматом Modified EUI-64.

Вместо того чтобы придумывать идентификаторы интерфейсов для узлов, их можно получать из адресов нижележащего канального уровня, т.к. их длина не превосходит 64 бита. В зависимости от нижележащей технологии канального уровня существует несколько методов формирования идентификатора интерфейса в соответствии с форматом Modified EUI-64.

Наиболее распространенным типом адреса канального уровня является МАС-адрес, используемый технологиями IEEE 802. МАС-адрес, длина которого составляет 48 битов, разделяется на две части. В первой части указывается уникальный идентификатор производителя оборудования (Organizationally Unique Identifier, OUI), который присваивается производителю институтом IEEE. Старшие 24 бита МАС-адреса назначаются непосредственно производителем и позволяют идентифицировать оборудование.

IEEE также определил формат, который называется 64-bit Extended Unique Identifier (EUI-64). Он аналогичен формату МАС-адреса, но для идентификации оборудования используется 40 битов вместо 24. Идентификатор OUI остается без изменений. Модифицированный для использования в IPv6 вариант этого формата называется модифицированным EUI-64 (Modified EUI-64).

Если на канальном уровне узел или линия связи используют адрес в формате EUI-64, то идентификатор интерфейса IPv6 получается из него очень просто. В 64-х битовом адресе значение 7-го бита слева (бит «u» (universal/local)) изменяется с «0» на «1».

Большинство устройств используют МАС-адреса. Его преобразование в идентификатор интерфейса выполняется в два этапа. Сначала МАС-адрес преобразуется в формат EUI-64, из которого затем создается модифицированный EUI-64.

Рассмотрим процесс получение идентификатора интерфейса из МАС-адреса узла.

  1. Преобразуем МАС-адрес в формат EUI-64. Так как МАС-адрес состоит из 48 битов, а для идентификатора интерфейса необходимо 64 бита, вставляем два октета со значениями 0xFF и 0xFE в середину МАС-адреса (между OUI и идентификатором, назначаемым производителем).
  2. В полученном адресе EUI-64 значение бита 7 (слева) изменяем с «0» на «1».
Рис. 7.24 Преобразование MAC-адреса в идентификатор интерфейса
Рис. 7.24 Преобразование MAC-адреса в идентификатор интерфейса

При формировании идентификатора интерфейса из МАС-адреса существует возможность определения и отслеживания трафика конкретного узла, независимо от его префикса. Для обеспечения определенного уровня анонимности в документе RFC 3041 описан метод генерации узлом псевдослучайного идентификатора интерфейса IPv6, сменяемого с течением времени.

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

По умолчанию Windows Vista, Windows 7 и выше не используют технику генерации идентификатора интерфейса из МАС-адреса. Они генерируют псевдослучайные числа для использования в качестве идентификатора интерфейса, как для префиксов глобальных уникальных адресов, так и для адресов Link-Local Unicast. Адреса имеют неограниченное время жизни.

Рис. 7.25 Генерация идентификатора интерфейса на основе псевдослучайных чисел в ОС Windows
Рис. 7.25 Генерация идентификатора интерфейса на основе псевдослучайных чисел в ОС Windows

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

4 × два =