Адрес Интернет-протокола версии 6 ( адрес IPv6 ) — это числовая метка, которая используется для идентификации и определения местоположения сетевого интерфейса компьютера или сетевого узла , участвующего в компьютерной сети, использующей IPv6 . IP-адреса включаются в заголовок пакета , чтобы указать источник и место назначения каждого пакета. IP-адрес пункта назначения используется для принятия решений о маршрутизации IP-пакетов в другие сети.
IPv6 является преемником первой инфраструктуры адресации Интернета , Интернет -протокола версии 4 (IPv4). В отличие от IPv4, где IP-адрес определяется как 32-битное значение, адреса IPv6 имеют размер 128 бит. Поэтому, по сравнению с ним, IPv6 имеет значительно увеличенное адресное пространство .
Адреса IPv6 классифицируются по основным методам адресации и маршрутизации, распространенным в сетях: одноадресная адресация, произвольная адресация и многоадресная адресация. [1]
Одноадресный адрес идентифицирует один сетевой интерфейс. Интернет-протокол доставляет пакеты, отправленные на одноадресный адрес, на этот конкретный интерфейс.
Anycast- адрес назначается группе интерфейсов, обычно принадлежащих разным узлам. Пакет, отправленный на произвольный адрес, доставляется только на один из интерфейсов-членов, обычно на ближайший хост, в соответствии с определением расстояния протокола маршрутизации. Адреса произвольной рассылки нелегко идентифицировать, они имеют тот же формат, что и адреса одноадресной рассылки, и отличаются только присутствием в сети в нескольких точках. Практически любой одноадресный адрес может использоваться в качестве произвольного адреса.
Адрес многоадресной рассылки также используется несколькими хостами, которые получают адрес назначения многоадресной рассылки, участвуя в протоколе многоадресной рассылки среди сетевых маршрутизаторов. Пакет, отправленный на адрес многоадресной рассылки, доставляется на все интерфейсы, присоединившиеся к соответствующей группе многоадресной рассылки. IPv6 не реализует широковещательную адресацию . Традиционная роль широковещания включает в себя многоадресную адресацию к локальной многоадресной группе всех узлов ff02::1 . Однако использование группы всех узлов не рекомендуется, и большинство протоколов IPv6 используют выделенную локальную многоадресную группу, чтобы не нарушать работу каждого интерфейса в сети.
Адрес IPv6 состоит из 128 бит. [1] Для каждой из основных методологий адресации и маршрутизации различные форматы адресов распознаются путем разделения 128 битов адреса на группы битов и использования установленных правил для связывания значений этих групп битов со специальными функциями адресации.
Одноадресные и произвольные адреса обычно состоят из двух логических частей: 64-битного сетевого префикса, используемого для маршрутизации , и 64-битного идентификатора интерфейса, используемого для идентификации сетевого интерфейса хоста.
Префикс сети ( префикс маршрутизации в сочетании с идентификатором подсети ) содержится в старших 64 битах адреса. Размер префикса маршрутизации может варьироваться; больший размер префикса означает меньший размер идентификатора подсети. Биты поля идентификатора подсети доступны сетевому администратору для определения подсетей внутри данной сети. 64-битный идентификатор интерфейса устанавливается автоматически случайным образом, получается от сервера DHCPv6 или назначается вручную. (Исторически он автоматически генерировался из MAC-адреса интерфейса с использованием модифицированного формата EUI-64, но сейчас этот метод устарел по соображениям конфиденциальности.)
Уникальные локальные адреса — это адреса, аналогичные адресам частной сети IPv4 .
Поле префикса содержит двоичное значение 1111110. Бит L предназначен для локально назначенных адресов; диапазон адресов с L , установленным в ноль, в настоящее время не определен. Случайное поле выбирается случайным образом один раз, в начале префикса маршрутизации / 48 .
Локальный адрес канала также основан на идентификаторе интерфейса, но использует другой формат сетевого префикса.
Поле префикса содержит двоичное значение 1111111010. Следующие 54 нуля делают общий сетевой префикс одинаковым для всех локальных адресов канала ( fe80:: / 64 префикс локального адреса канала), что делает их немаршрутизируемыми.
Адреса многоадресной рассылки формируются в соответствии с несколькими конкретными правилами форматирования, в зависимости от приложения.
Для всех групповых адресов поле префикса содержит двоичное значение 11111111.
В настоящее время определены три из четырех битов флага в поле flg ; [1] старший бит флага зарезервирован для использования в будущем.
Четырехбитное поле области действия ( sc ) используется для указания того, где адрес действителен и уникален.
Кроме того, поле области используется для идентификации специальных адресов многоадресной рассылки, например запрошенного узла .
Поле sc(ope) содержит двоичное значение 0010 (локальное соединение). Адреса многоадресной рассылки запрошенного узла вычисляются как функция одноадресных или произвольных адресов узла. Адрес многоадресной рассылки запрошенного узла создается путем копирования последних 24 битов одноадресного или произвольного адреса в последние 24 бита многоадресного адреса.
Адреса многоадресной рассылки на уровне канала используют аналогичный формат. [5]
Адрес IPv6 представлен в виде восьми групп по четыре шестнадцатеричных цифр, каждая группа представляет собой 16 бит. [a] Группы разделяются двоеточиями (:). Пример адреса IPv6:
Стандарты обеспечивают гибкость представления адресов IPv6. Полное представление восьми четырехзначных групп можно упростить с помощью нескольких методов, устраняя части представления. Обычно изображения максимально сокращаются. Однако такая практика усложняет несколько распространенных операций, а именно поиск конкретного адреса или шаблона адреса в текстовых документах или потоках и сравнение адресов для определения эквивалентности. Для смягчения этих сложностей IETF определил канонический формат для отображения адресов IPv6 в тексте: [8]
Эти методы могут привести к очень коротким представлениям адресов IPv6. Например, адрес локального хоста (обратная связь) 0:0:0:0:0:0:0:1 и неуказанный адрес IPv6 0:0:0:0:0:0:0:0 уменьшаются. до ::1 и :: соответственно.
При переходе Интернета с IPv4 на IPv6 типично работать в среде смешанной адресации. Для таких случаев использования была введена специальная нотация, которая выражает отображаемые IPv4 и совместимые с IPv4 адреса IPv6 путем записи младших 32 битов адреса в знакомой точечно-десятичной записи IPv4 , тогда как 96 старших битов записаны в формате IPv6. Например, адрес IPv6, сопоставленный с IPv4, ::ffff:c000:0280 записывается как ::ffff:192.0.2.128 , таким образом четко выражая исходный адрес IPv4, который был сопоставлен с IPv6.
Сеть IPv6 использует блок адресов, который представляет собой непрерывную группу адресов IPv6, размер которых равен степени двойки . Ведущий набор битов адресов идентичен для всех хостов в данной сети и называется адресом сети или префиксом маршрутизации .
Диапазоны сетевых адресов записываются в нотации CIDR . Сеть обозначается первым адресом в блоке (оканчивающимся нулями), косой чертой (/) и десятичным значением, равным размеру префикса в битах. Например, сеть, записанная как 2001:db8:1234:: / 48, начинается по адресу 2001:db8:1234:0000:0000:0000:0000:0000 и заканчивается по адресу 2001:db8:1234:ffff:ffff:ffff:ffff. :фффф .
Префикс маршрутизации адреса интерфейса может быть непосредственно указан вместе с адресом с использованием нотации CIDR. Например, конфигурация интерфейса с адресом 2001:db8:a::123, подключенного к подсети 2001:db8:a:: / 64 , записывается как 2001 :db8:a:: 123/64 .
Размер блока адресов указывается путем записи косой черты (/), за которой следует десятичное число, значение которого равно длине сетевого префикса в битах. Например, блок адреса с 48 битами в префиксе обозначается / 48 . Такой блок содержит 2 128 − 48 = 2 80 адресов. Чем меньше значение префикса сети, тем больше блок: блок a / 21 в 8 раз больше блока a / 24 .
Символы двоеточия (:) в адресах IPv6 могут конфликтовать с установленным синтаксисом идентификаторов ресурсов, таких как URI и URL-адреса . Двоеточие обычно используется для завершения пути к хосту перед номером порта . [9] Чтобы смягчить этот конфликт, в таких идентификаторах ресурсов буквальные IPv6-адреса заключаются в квадратные скобки , например:
Если URL-адрес также содержит номер порта, это обозначение:
где завершающий номер 443 — это номер порта примера.
Для адресов с областью действия, отличной от глобальной (как описано в § Области адресов), и в частности для локальных адресов, выбор сетевого интерфейса для отправки пакета может зависеть от того, к какой зоне принадлежит адрес. Один и тот же адрес может быть действителен в разных зонах и использоваться разными хостами в каждой из этих зон. Даже если один и тот же адрес не используется в разных зонах, префиксы адресов для адресов в этих зонах могут по-прежнему быть идентичными, из-за чего операционная система не может выбрать исходящий интерфейс на основе информации в таблице маршрутизации ( которая является префиксной). основанный на).
Чтобы устранить неоднозначность в текстовых адресах,К адресу должен быть добавлен индекс зоны . Индекс зоны отделяется от адреса знакомпроцента(%).[10]Хотя числовые индексы зон должны поддерживаться повсеместно, индекс зоны также может быть строкой, зависящей от реализации. Локальный адрес ссылки
может быть выражено
или:
Первый вариант (с использованием имени интерфейса ) является общепринятым в большинстве Unix -подобных операционных систем (например, BSD , Linux , macOS ). [11] Последний (с использованием номера интерфейса) является единственным синтаксисом в Microsoft Windows , но, поскольку поддержка этого синтаксиса является обязательной в соответствии со стандартом, он также доступен в других операционных системах. [с]
Операционные системы на базе BSD (включая macOS) также поддерживают альтернативный, нестандартный синтаксис, при котором числовой индекс зоны кодируется во втором 16-битном слове адреса. Например:
Во всех упомянутых выше операционных системах индекс зоны для локальных адресов фактически относится к интерфейсу, а не к зоне. Поскольку несколько интерфейсов могут принадлежать одной и той же зоне (например, при подключении к одной и той же сети), на практике два адреса с разными идентификаторами зоны могут фактически быть эквивалентными и относиться к одному и тому же хосту по одному и тому же каналу. [д]
При использовании в унифицированных идентификаторах ресурсов (URI) использование знака процента вызывает синтаксический конфликт, поэтому его необходимо экранировать с помощью процентного кодирования , [12], например:
В операционных системах Microsoft Windows адреса IPv4 являются допустимыми идентификаторами местоположения в именах путей по унифицированному соглашению об именах (UNC). Однако двоеточие является недопустимым символом в имени пути UNC. Таким образом, использование адресов IPv6 также является незаконным в именах UNC. По этой причине Microsoft внедрила алгоритм транскрипции для представления адреса IPv6 в виде доменного имени, которое можно использовать в путях UNC. Для этой цели Microsoft зарегистрировала и зарезервировала в Интернете домен второго уровня ipv6-literal.net (хотя в январе 2014 года от него отказались [13] ). Адреса IPv6 транскрибируются как имя хоста или имя субдомена в этом пространстве имен следующим образом:
написано как
Эта нотация автоматически разрешается локально программным обеспечением Microsoft без каких-либо запросов к DNS-серверам имен.
Если адрес IPv6 содержит индекс зоны, он добавляется к части адреса после символа «s»:
написано как
Каждый адрес IPv6, за исключением неуказанного адреса ( :: ), имеет область действия [10] , которая указывает , в какой части сети он действителен.
Для одноадресных адресов определены две области: локальная и глобальная.
Локальные адреса канала и адрес обратной связи имеют локальную область действия, что означает, что их можно использовать только в одной сети с прямым подключением. Все остальные адреса (включая уникальные локальные адреса ) имеют глобальную (или универсальную ) область действия, что означает, что они потенциально могут быть маршрутизируемы глобально и могут использоваться для подключения к адресам с глобальной областью действия в любом месте или к адресам с локальной областью действия в сети с прямым подключением. .
Уникальные локальные адреса имеют глобальную область действия, но не администрируются глобально. В результате только другие узлы в том же административном домене (например, организации) или в сотрудничающем административном домене могут получить доступ к таким адресам, если они правильно маршрутизированы. Поскольку их область действия является глобальной, эти адреса действительны в качестве адреса источника при обмене данными с любым другим адресом глобальной области действия, даже если маршрутизация пакетов из пункта назначения обратно в источник может оказаться невозможной.
Адреса произвольной рассылки синтаксически идентичны адресам одноадресной рассылки и неотличимы от них. Единственное их отличие – административное. Таким образом, области действия произвольных адресов такие же, как и для одноадресных адресов.
Для адресов многоадресной рассылки четыре младших бита второго октета адреса ( ff0 s :: ) идентифицируют адрес адреса , то есть домен, в котором должен распространяться пакет многоадресной рассылки. Предопределенные и зарезервированные области действия:
Все остальные области не назначены и доступны администраторам для определения дополнительных регионов.
Управление процессом выделения адресов IPv6 делегируется Управлению по присвоению номеров Интернета (IANA) [15] Советом по архитектуре Интернета и Руководящей группой по разработке Интернета . Его основная функция заключается в назначении крупных блоков адресов региональным интернет-реестрам (RIR), задача распределения которых делегирована поставщикам сетевых услуг и другим местным реестрам. IANA ведет официальный список распределения адресного пространства IPv6 с декабря 1995 года. [16]
Чтобы обеспечить эффективную агрегацию маршрутов и тем самым уменьшить размер таблиц маршрутизации Интернета, в настоящее время для использования в Интернете выделяется только одна восьмая общего адресного пространства ( 2000:: / 3 ) . Остальная часть адресного пространства IPv6 зарезервирована для будущего использования или для специальных целей. Адресное пространство назначается RIR блоками от / 23 до / 12 . [17]
RIR распределяют меньшие блоки по местным реестрам Интернета , которые распределяют их среди пользователей. Обычно они имеют размеры от / 19 до / 32 . [18] [19] [20] Глобальные записи о назначении одноадресной рассылки можно найти на различных RIR или других веб-сайтах. [21]
Затем адреса обычно распределяются конечным пользователям блоками размером от / 48 до / 56 . [22] Адреса IPv6 назначаются организациям в гораздо более крупных блоках по сравнению с назначениями адресов IPv4 — рекомендуемое распределение — это блок / 48 , который содержит 2 80 адресов, что составляет 2 48 или околоВ 2,8 × 10 14 раз больше, чем все адресное пространство IPv4, состоящее из 2 32 адресов и околоВ 7,2 × 10 16 раз больше, чем / 8 блоков адресов IPv4, которые представляют собой наибольшее распределение адресов IPv4. Однако общего пула достаточно на обозримое будущее, поскольку их 2 128 (ровно 340 282 366 920 938 463 463 374 607 431 768 211 456) или около3,4 × 10 38 (340 ундециллионов ) уникальных адресов IPv6.
Каждый RIR может разделить каждый из своих блоков / 23 на блоки 512/32 , обычно по одному на каждого интернет-провайдера ; Интернет-провайдер может разделить свой блок / 32 на 65 536 / 48 блоков, обычно по одному для каждого клиента; [23] клиенты могут создать 65 536/64 сетей из назначенного им блока / 48 , каждая из которых имеет 2 64 (18 446 744 073 709 551 616 ) адресов. Напротив, все адресное пространство IPv4 имеет только 2 32 (ровно 4 294 967 296 или около4,3 × 10 9 ) адресов.
По задумке, активно будет использоваться только небольшая часть адресного пространства. Большое адресное пространство гарантирует, что адреса почти всегда доступны, что делает ненужным использование трансляции сетевых адресов (NAT) в целях сохранения адресов. NAT все чаще используется в сетях IPv4, чтобы помочь уменьшить исчерпание адресов IPv4 .
Независимое от провайдера адресное пространство назначается непосредственно конечному пользователю RIR из специального диапазона 2001:678:: / 29 и позволяет клиентам вносить изменения в провайдера без перенумерации своих сетей.
Точкам обмена Интернетом (IXP) назначаются специальные адреса из диапазонов 2001:7f8:: / 32 , 2001:504:: / 30 и 2001:7fa:: / 32 [24] для связи с подключенными к ним интернет-провайдерами .
Корневым серверам имен присвоены адреса из диапазона 2001:7f8:: / 29 . [25]
Самый низкий адрес в каждом префиксе подсети (идентификатор интерфейса, равный всем нулям) зарезервирован как адрес произвольной рассылки маршрутизатора подсети . [1] Приложения могут использовать этот адрес при общении с любым из доступных маршрутизаторов, поскольку пакеты, отправленные на этот адрес, доставляются только на один маршрутизатор.
128 самых высоких адресов в каждом префиксе подсети / 64 зарезервированы для использования в качестве адресов произвольной рассылки. [26] В этих адресах первые 57 бит идентификатора интерфейса обычно имеют значение 1, за которым следует 7-битный идентификатор произвольной рассылки. Префиксы сети могут иметь любую длину для целей маршрутизации, но длина подсетей должна составлять 64 бита. Адрес со значением 0x7e в 7 младших битах определяется как произвольный адрес домашнего агента мобильного IPv6 . Адрес со значением 0x7f (все биты 1) зарезервирован и не может использоваться. Больше никаких назначений из этого диапазона не делалось, поэтому значения от 0x00 до 0x7d также зарезервированы.
В IPv6 есть ряд адресов, имеющих особое значение. [27] Они составляют менее 2% всего адресного пространства:
Приложения могут прослушивать один или несколько определенных интерфейсов на предмет входящих подключений, которые отображаются в списках активных интернет-соединений по определенному IP-адресу (и номеру порта, разделенному двоеточием). Когда отображается неуказанный адрес, это означает, что приложение прослушивает входящие соединения на всех доступных интерфейсах.
В конфигурации таблицы маршрутизации неуказанный адрес может использоваться для представления адреса маршрута по умолчанию (соответствующего 0.0.0.0/0 в IPv4) для адресов назначения ( одноадресная , многоадресная рассылка и другие), не указанных где-либо еще в таблице маршрутизации.
IANA зарезервировала так называемый блок адресов Sub-TLA ID для специальных назначений [27] [37] 2001 :: / 23 (разделенный на диапазон из 64 сетевых префиксов от 2001:0000:: / 29 до 2001:01f8:: / 29 ). В настоящее время выделено три задания из этого блока:
См. § Устаревшие и устаревшие адреса.
Адреса многоадресной рассылки ff0x:: , где x — любое шестнадцатеричное значение, зарезервированы [1] и управляются Управлением по присвоению номеров в Интернете (IANA). [40]
Младшие 24 бита идентификатора группы адресов многоадресной рассылки запрошенного узла заполняются младшими 24 битами одноадресного или произвольного адреса интерфейса. Эти адреса позволяют разрешать адреса канального уровня через протокол обнаружения соседей (NDP) в канале, не нарушая работу всех узлов локальной сети. Хосту необходимо присоединиться к группе многоадресной рассылки запрошенного узла для каждого из его настроенных одноадресных или произвольных адресов.
При запуске системы узел автоматически создает локальный адрес канала на каждом интерфейсе с поддержкой IPv6, даже если глобально маршрутизируемые адреса настроены вручную или получены с помощью протоколов конфигурации (см. ниже). Он делает это независимо и без какой-либо предварительной настройки посредством автоконфигурации адреса без сохранения состояния (SLAAC) [41] с использованием компонента протокола обнаружения соседей . Этот адрес выбирается с префиксом fe80:: / 64 .
В IPv4 типичные протоколы настройки включают DHCP или PPP. Хотя DHCPv6 существует, хосты IPv6 обычно используют протокол обнаружения соседей для создания глобально маршрутизируемого одноадресного адреса: хост отправляет запросы запроса маршрутизатора, а маршрутизатор IPv6 отвечает назначением префикса. [42]
Младшие 64 бита этих адресов заполняются 64-битным идентификатором интерфейса. Это должно быть псевдослучайное число по соображениям конфиденциальности. Также по соображениям конфиденциальности идентификатор интерфейса различен для каждого автоматически настроенного адреса этого интерфейса. Недостатком этого подхода является то, что для обнаружения соседей необходимо объединить несколько групп многоадресной рассылки . Для этого используется групповой адрес, сформированный из сетевого префикса ff02 ::1:ff00:0/104 и 24 младших битов адреса.
64-битный идентификатор интерфейса может быть получен из 48-битного MAC-адреса интерфейса , хотя вместо этого в качестве значения по умолчанию теперь рекомендуются стабильные адреса конфиденциальности. [43] MAC-адрес 00-0C-29-0C-47-D5 преобразуется в 64-битный EUI-64 путем вставки FF-FE в середину: 00-0C-29- FF-FE -0C-47- Д5 . [ф]
Назначение одноадресного IPv6 -адреса интерфейсу включает внутреннюю проверку уникальности этого адреса с использованием сообщений Neighbor Solicitation и Neighbor Advertisement ( ICMPv6 типа 135 и 136). В процессе установления уникальности адрес имеет предварительное состояние.
Узел присоединяется к многоадресному адресу запрошенного узла для предварительного адреса и отправляет запросы соседям, используя предварительный адрес в качестве целевого адреса и неуказанный адрес ( :: / 128 ) в качестве исходного адреса. Узел также присоединяется к многоадресному адресу ff02::1 для всех хостов , чтобы он мог получать объявления соседей .
Если узел получает запрос соседа со своим собственным предварительным адресом в качестве целевого адреса, то известно, что его адрес не уникален. То же самое верно, если узел получает объявление соседа с предварительным адресом в качестве источника объявления. Только после успешного установления уникальности адреса он может быть назначен и использован интерфейсом.
Когда интерфейсу назначается произвольный адрес (например, произвольный адрес подсети-маршрутизатора), из-за присущей этому типу адреса неуникальности обнаружение дубликатов адресов не выполняется.
Каждый адрес IPv6, привязанный к интерфейсу, имеет фиксированный срок действия. Срок службы бесконечен, если не настроен более короткий период. Существует два времени жизни, которые определяют состояние адреса: предпочтительное время жизни и допустимое время жизни . [44] Время жизни можно настроить в маршрутизаторах , которые предоставляют значения, используемые для автоматической настройки, или указать при ручной настройке адресов на интерфейсах.
Когда адрес назначается интерфейсу, он получает статус «предпочтительный», который он сохраняет в течение своего предпочтительного срока службы. По истечении срока действия статус становится «устаревшим», и с использованием этого адреса нельзя устанавливать новые соединения. Адрес становится «недействительным» после истечения срока его действия; адрес удаляется из интерфейса и может быть назначен где-то еще в Интернете .
Примечание. В большинстве случаев срок действия не истекает, поскольку новые объявления маршрутизатора (RA) обновляют таймеры. Но если RA больше не существует, в конечном итоге предпочтительный срок действия истекает, и адрес становится «устаревшим».
Глобально уникальные и статические MAC-адреса, используемые при автоматической настройке адресов без сохранения состояния для создания идентификаторов интерфейса, дают возможность отслеживать пользовательское оборудование (с течением времени и изменения сетевого префикса IPv6) и, следовательно, пользователей. [45] Чтобы уменьшить вероятность постоянной привязки идентификатора пользователя к части адреса IPv6, узел может создавать временные адреса с идентификаторами интерфейса на основе изменяющихся во времени случайных битовых строк [46] и относительно короткого времени жизни (от часов до дней). после чего они заменяются новыми адресами.
Временные адреса могут использоваться в качестве исходных адресов для исходящих соединений, в то время как внешние хосты используют публичный адрес, запрашивая систему доменных имен.
Сетевые интерфейсы, настроенные для IPv6, по умолчанию используют временные адреса в OS X Lion и более поздних системах Apple, а также в Windows Vista , Windows 2008 Server и более поздних системах Microsoft.
В качестве средства повышения безопасности протокола обнаружения соседей криптографически генерируемые адреса (или CGA) были представлены в 2005 году [47] как часть протокола Secure Neighbor Discovery (SEND).
Такой адрес генерируется с помощью двух хэш-функций , которые принимают несколько входных данных. Первый использует открытый ключ и случайный модификатор; последний многократно увеличивается до тех пор, пока не будет получено определенное количество нулевых бит результирующего хэша. (Сравнимо с полем «доказательство работы» в майнинге биткойнов .) Вторая хэш-функция принимает префикс сети и предыдущее значение хеш-функции. Младшие 64 бита второго результата хеширования добавляются к 64-битному сетевому префиксу для формирования 128-битного адреса.
Хэш-функции также можно использовать для проверки того, удовлетворяет ли конкретный адрес IPv6 требованию действительного CGA. Таким образом, связь может быть установлена исключительно между доверенными адресами.
Использование модифицированного формата EUI-64 имеет серьезные последствия для проблем безопасности и конфиденциальности, [48] поскольку базовый аппаратный адрес (чаще всего MAC-адрес ) доступен за пределами локальной сети, что позволяет отслеживать действия пользователя и корреляцию пользовательских данных. счета к другой информации. Это также позволяет использовать стратегии атак, специфичные для конкретного поставщика, и уменьшает размер адресного пространства для поиска целей атаки.
Чтобы исправить эти недостатки, были введены стабильные адреса конфиденциальности. Они стабильны в одной сети, но изменяются при переходе в другую, чтобы улучшить конфиденциальность. Они выбираются детерминированно, но случайно, во всем адресном пространстве сети.
Генерация стабильного конфиденциального адреса основана на хэш-функции, которая использует несколько стабильных параметров. Это зависит от реализации, но рекомендуется использовать как минимум префикс сети, имя сетевого интерфейса, счетчик повторяющихся адресов и секретный ключ. Полученное значение хеш-функции используется для построения окончательного адреса: обычно 64 младших бита объединяются с 64-битным сетевым префиксом, чтобы получить 128-битный адрес. Если префикс сети меньше 64 бит, используется больше бит хеша. Если полученный адрес не конфликтует с существующими или зарезервированными адресами, он назначается интерфейсу.
Сетевые интерфейсы с поддержкой IPv6 обычно имеют более одного адреса IPv6, например локальный и глобальный адрес. У них также могут быть временные адреса, которые меняются после истечения определенного срока службы. IPv6 вводит концепции области адресов и предпочтений выбора, предоставляя несколько вариантов выбора адресов источника и назначения при обмене данными с другим хостом.
Алгоритм выбора предпочтений выбирает наиболее подходящий адрес для использования при связи с конкретным пунктом назначения, включая использование адресов, сопоставленных с IPv4, в реализациях с двойным стеком . [49] Он использует настраиваемую таблицу предпочтений, которая связывает каждый префикс маршрутизации с уровнем приоритета. Таблица по умолчанию имеет следующее содержимое:
Конфигурация по умолчанию отдает предпочтение использованию IPv6 и выбирает адреса назначения в минимально возможном объеме, так что связь по локальному каналу предпочтительнее, чем пути с глобальной маршрутизацией, когда в остальном они одинаково подходят. Таблица политики префиксов аналогична таблице маршрутизации, в которой значение приоритета играет роль стоимости канала, где более высокое предпочтение выражается как большее значение. Желательно, чтобы адреса источника имели то же значение метки, что и адрес назначения. Адреса сопоставляются с префиксами на основе самой длинной и наиболее значимой последовательности битов. Адреса источников-кандидатов получаются из операционной системы , а адреса назначения-кандидаты могут быть запрошены через систему доменных имен (DNS).
Для минимизации времени установления соединения при наличии нескольких адресов для связи был придуман алгоритм Happy Eyeballs . Он запрашивает у системы доменных имен адреса IPv6 и IPv4 целевого хоста, сортирует адреса-кандидаты, используя таблицу выбора адресов по умолчанию, и пытается установить параллельные соединения. Первое установленное соединение прерывает текущие и будущие попытки подключения к другим адресам.
В системе доменных имен имена хостов сопоставляются с адресами IPv6 с помощью записей ресурсов AAAA , так называемых записей Quad-A . [50] Для обратного поиска IETF зарезервировал домен ip6.arpa , где пространство имен иерархически разделено однозначным шестнадцатеричным представлением полубайтовых единиц (4 бита) адреса IPv6.
Как и в IPv4, каждый хост представлен в DNS двумя записями DNS: записью адреса и записью указателя обратного сопоставления. Например, главный компьютер с именем derrick в зоне example.com имеет уникальный локальный адрес fdda:5cc1:23:4::1f . Его адресная запись Quad-A
derrick.example.com. В AAAA fdda:5cc1:23:4::1f
и его запись указателя IPv6 равна
f.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.0.0.3.2.0.0.1.cc5.addfip6.arpa. В PTR derrick.example.com.
Эта запись указателя может быть определена в нескольких зонах, в зависимости от цепочки делегирования полномочий в зоне dfip6.arpa.
Протокол DNS не зависит от протокола транспортного уровня . Запросы и ответы могут передаваться по протоколам IPv6 или IPv4 независимо от семейства адресов запрошенных данных.
if_nametoindex()
для преобразования имени в номер интерфейса, она не поддерживает обычное расширение «имя после %».Все клиенты получают один
/
48
, если только они не смогут доказать, что им нужно более 65 тысяч подсетей. [...] Если у вас много клиентов-потребителей, вы можете назначить
/
56
сайтам частных домов.
Представляйте любой IPv6-адрес в 20 октетах.В этом юмористическом RFC указан альтернативный способ представления адресов IPv6 с использованием кодировки Base-85.