Ускоренный курс IPv6 (часть 3)

Опубликовано: 23 Марта, 2023

Во второй части этой серии статей я объяснил, что на самом деле существует три разных типа IPv6-адресов; одноадресной, многоадресной и произвольной рассылки. В этой статье я кратко объяснил, что одноадресные адреса используются для идентификации отдельного хоста в сети. Адреса многоадресной рассылки, с другой стороны, идентифицируют группу сетевых интерфейсов, которые обычно находятся на нескольких компьютерах. Когда пакет данных отправляется на многоадресный адрес, этот пакет отправляется на все сетевые интерфейсы в группе многоадресной рассылки. Как и многоадресные адреса, произвольные адреса идентифицируют определенную группу сетевых интерфейсов, которые обычно находятся на нескольких компьютерах. Разница в том, что когда пакеты отправляются на многоадресный адрес, они отправляются на все сетевые интерфейсы в группе. Напротив, когда пакеты данных отправляются на произвольный адрес, пакеты не отправляются всей группе. Вместо этого они отправляются только тому участнику, который находится в непосредственной физической близости от отправителя.

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

Многоадресные адреса

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

Одна из самых интересных особенностей многоадресных адресов заключается в том, что они не являются взаимоисключающими. Тот факт, что сетевой интерфейс имеет многоадресный адрес, не означает, что машина не может также иметь одноадресный адрес или принадлежать к другим многоадресным группам. На самом деле очень часто сетевой интерфейс имеет адрес индивидуальной рассылки, а также является членом нескольких групп многоадресной рассылки. Фактически, некоторые операционные системы добавляют сетевой адаптер компьютера в различные группы многоадресной рассылки во время определения индивидуального адреса сетевого адаптера. Например, операционная система Solaris автоматически добавляет сетевые адаптеры в группы многоадресной рассылки «Запрошенный узел» и «Все узлы» (или «Все маршрутизаторы»). Если вы не знакомы с Solaris, группа запрашиваемых узлов используется для обнаружения других устройств с поддержкой IPv6 в сети. Windows Vista полагается на аналогичную функцию.

Теперь, когда я объяснил, для чего используются многоадресные адреса, я хочу поговорить о том, как выглядит многоадресный адрес. Хотя адрес IPv6 имеет длину 128 бит, именно первые восемь бит адреса определяют адрес как многоадресный. Каждый адрес многоадресной рассылки использует префикс формата 1111 1111. При выражении в шестнадцатеричном представлении с двоеточием адрес многоадресной рассылки всегда начинается с FF.

Следующие четыре бита в многоадресном адресе известны как биты флага. В настоящее время первые три из этих четырех битов не используются (и поэтому установлены в 0). Четвертый бит флага известен как переходный бит. Его работа заключается в том, чтобы указать, является ли адрес постоянным или временным адресом. Если адрес назначен постоянно, этот бит устанавливается в 0, в противном случае он устанавливается в 1, чтобы указать, что адрес является переходным (временным).

Следующие четыре бита в многоадресном адресе известны как биты идентификатора области действия. Объем пространства, зарезервированного для битов идентификатора области, составляет 4 бита, что означает, что существует 16 различных возможных значений. Хотя в настоящее время используются не все 16 доступных значений, семь из этих значений используются для определения области действия адреса. Например, если адрес имеет глобальную область действия, то этот адрес действителен во всем Интернете. Используемые в настоящее время биты идентификатора прицела:

Десятичное значение Двоичное значение Адресная область

0 0000 Зарезервировано

1 0001 Область локального узла

2 0010 Ссылка на локальную область

5 0101 Локальная область сайта

8 1000 Локальная организация

14 1110 Global Scope

15 1111 Зарезервировано

Остальные 112 бит составляют идентификатор группы. Размер идентификатора группы позволяет многоадресным адресам занимать 1/256 от общего адресного пространства IPv6.

Чтобы представить эту схему адресации в перспективе, я хочу показать вам несколько часто используемых многоадресных адресов:

FF0x0:0:0:0:0:1
Это многоадресная рассылка всем узлам. Вы могли заметить X в адресе, который не является допустимым шестнадцатеричным символом. X — это заполнитель для области действия. Этот конкретный адрес может использовать локальную область узла (FF01:0:0:0:0:0:1) или локальную область связи (FF02:0:0:0:0:0:1).

FF0x:0:0:0:0:0:2
Этот многоадресный адрес назначается всем маршрутизаторам в пределах определенной области. Опять же, X в адресе выступает в качестве заполнителя для области. Допустимые области действия: локальный узел (FF01:0:0:0:0:0:2), локальный канал (FF02:0:0:0:0:0:2) и локальный сайт (FF05:0:0:0).:0:0:2).

Anycast-адреса

Если у вас есть некоторый опыт работы с протоколом IPv4, то вы, вероятно, знаете, что в протоколе IPv4 существуют концепции одноадресной и многоадресной рассылки, хотя они реализованы по-разному. Однако Anycast уникален для IPv6. Anycast работает как комбинация одноадресных и многоадресных адресов. Адрес индивидуальной рассылки используется для отправки данных одному конкретному получателю, адрес многоадресной рассылки используется для отправки данных группе получателей, а адрес произвольной рассылки используется для отправки данных одному конкретному получателю из группы получателей.

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

Такого типа балансировки нагрузки трудно достичь с использованием IPv4 (хотя это и было сделано). Использование произвольных адресов с IPv6 — абсолютно идеальное решение для балансировки нагрузки. Подумайте об этом на минуту. Вам нужно отправить запрос пользователя на одно из множества устройств. Вам действительно все равно, какое из назначенных устройств обрабатывает запрос, пока о запросе заботятся. При использовании адресов произвольной рассылки каждый запрос автоматически отправляется на устройство, которое находится в непосредственной географической близости от компьютера, отправляющего запрос. В определенных ситуациях Anycast может даже использоваться для обеспечения отказоустойчивости в случае сбоя маршрутизатора. Сбой может быть обнаружен, и запросы могут быть перенаправлены на следующий ближайший маршрутизатор.

Самое странное в адресах произвольной рассылки то, что для них не существует специальной схемы адресации. До сих пор в этой серии статей вы видели, что существуют всевозможные правила, регулирующие использование и структуру одноадресных и многоадресных адресов. Это просто не относится к произвольному адресу. Все, что вам нужно сделать, чтобы создать адрес произвольной рассылки, — это назначить один и тот же адрес индивидуальной рассылки нескольким хостам. При этом адрес индивидуальной рассылки становится адресом произвольной рассылки.

Вывод

В этой серии статей я попытался бегло просмотреть основы протокола IPv6. Большинству администраторов, вероятно, в ближайшее время не понадобится становиться экспертами в области IPv6, но IPv6 является обязательным компонентом в Windows Vista и Longhorn Server. Таким образом, имеет смысл узнать хотя бы немного об этом.