Crash Crouse в IPv6 (Часть 2)

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

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

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

Если вы знакомы с IPv4, то знаете, что адрес IPv4 состоит из четырех разных октетов данных, каждый из которых разделен точкой. Часть этого адреса является номером сети, а остальные биты идентифицируют конкретный хост в сети. Фактическое количество битов, выделенных для номера сети и номера хоста, зависит от маски подсети.

Точно так же, как адрес IPv4 разбит на разные части, так и адрес IPv6. Из предыдущей статьи вы узнали, что адреса IPv6 имеют длину 128 байт. Когда адрес IPv6 записывается в его полной форме, он выражается в виде восьми различных наборов из четырех чисел, каждый набор разделен двоеточием. Каждый из этих четырех наборов цифр представляет 16 бит данных. Каждое из этих 16-битных полей имеет свое особое назначение.

Адрес IPv6 разбит на три разные части; префикс сайта, идентификатор подсети и идентификатор интерфейса. Эти три компонента идентифицируются положением битов в адресе. Первые три поля в адресе IPv6 составляют префикс сайта. Следующее поле представляет идентификатор подсети, а последние четыре поля используются для идентификатора интерфейса.

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

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

Идентификатор интерфейса работает аналогично идентификатору хоста IPv4. Этот номер однозначно идентифицирует отдельный хост в вашей сети. Идентификатор интерфейса (который иногда называют токеном) обычно настраивается автоматически на основе MAC-адреса сетевого интерфейса. Идентификатор интерфейса можно настроить вручную в формате EUI-64.

Чтобы увидеть, как адрес IPv6 делится на различные подкомпоненты, взгляните на следующий адрес:

Префикс сайта в этом адресе будет следующим: 2001:0f68:0000. Следующее поле, 0000, представляет идентификатор подсети. Остальные байты (0000:0000:1986:69af) составляют идентификатор интерфейса.

Обычно префикс записывается в специальном формате. Нули подавляются способом, описанным в предыдущей статье, а за префиксами следует косая черта и другое число. Число после косой черты указывает количество битов, включенных в префикс. В моем предыдущем примере я упомянул, что префикс сайта для адреса 2001:0f68:0000:0000:0000:0000:1986:69af был 2001:0f68:0000. Поскольку этот префикс имеет длину 48 бит, мы должны добавить /48 к его концу, чтобы выразить его правильно. Без нулей префикс выглядит так: 2001:f68::/48

Типы адресов IPv6

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

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

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

Одноадресные адреса

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

Ссылка на локальные одноадресные адреса использовала формат адреса, отличный от глобальных одноадресных адресов. Как и глобальные одноадресные адреса, локальные одноадресные адреса канала также имеют длину 128 байт. Разница в том, что байты распределяются по-разному и в адресе используется специальный префикс сайта.

В локальном индивидуальном адресе канала префикс сайта занимает первые 10 бит адреса, а не первые 48 бит, как в случае глобального индивидуального адреса. Префикс сайта, используемый локальным одноадресным адресом ссылки: fe80.

Поскольку пространство префикса сайта было сокращено (по сравнению с глобальным адресом индивидуальной рассылки), вы не удивитесь, узнав, что объем пространства, выделенного для идентификатора подсети, был увеличен с 16 до 64 бит. Что может вас удивить, так это то, что эти 64 бита на самом деле не используются. Имейте в виду, что локальный IP-адрес ссылки действителен только для машин, использующих общую ссылку. Таким образом, нет необходимости иметь идентификатор подсети. Таким образом, 64 бита адресного пространства, зарезервированные для идентификатора подсети, выражаются нулями.

Идентификатор интерфейса для локального индивидуального адреса канала имеет длину 54 бита. Идентификатор интерфейса почти всегда получается из 48-битного MAC-адреса, назначенного сетевой карте, к которой привязан протокол. Ниже приведен пример локального индивидуального адреса ссылки:

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

Когда адреса выражены с подавленными нулями, адрес может сначала выглядеть как любой другой адрес IPv6. Помните, что вы можете отличить локальный одноадресный адрес ссылки от других типов адресов, потому что локальный одноадресный адрес ссылки всегда начинается с fe80.

Вывод

В этой статье я объяснил значение различных битов в адресе IPv6. Затем я продолжил обсуждение различий между различными типами IPv6-адресов. В части 3 я продолжу обсуждение, говоря о многоадресных и произвольных адресах.