Назад | Перейти на главную страницу

Как работает разделение на подсети IPv6 и чем оно отличается от разделения на подсети IPv4?

Это Канонический вопрос о подсетях IPv6.

Связанный:

Я много знаю о Подсети IPv4, и пока я готовлюсь к (развертыванию | работе) сети IPv6, мне нужно знать, сколько из этих знаний можно передать и что мне еще нужно изучить. На первый взгляд IPv6 кажется намного более сложным, чем IPv4. Итак, я хотел бы знать:

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

Подсети IPv6 обычно /64 потому что это необходимо для SLAAC (автоконфигурация адреса без сохранения состояния) для работы. Даже если SLAAC не используется, могут быть другие причины для использования /64. Например, могут быть устройства конечных пользователей, которые просто предположить /64, или подсети маршрутизации уже, чем /64 может быть неэффективным на некоторых маршрутизаторах, потому что разработчик маршрутизатора оптимизировал случай /64 или более широкие маршруты для экономии памяти таблицы маршрутизации.

Почему рекомендуется использовать /127 для точечных ссылок

Для конкретного случая соединений точка-точка /127 рекомендуется вместо /64 во избежание уязвимости, при которой пакеты, адресованные любому из квадриллионов неиспользуемых адресов в подсети, вызывают нежелательные запросы запроса соседей и записи в таблице, которые могут заглушить маршрутизатор. Такие пакеты неправильного адреса могут быть злонамеренными или случайными. Но даже если вы на самом деле настроите двухточечную ссылку как /127, некоторые люди выступают за назначение целого /64 в любом случае, чтобы быть последовательным.

Зачем виртуальным машинам выделять подсети уже, чем /64?

Я не знаю конкретно, почему виртуальные машины будут снабжаться подсетями более узкими, чем /64. Возможно потому, что хостинг-провайдер предполагал, что сервер похож на конечного пользователя и требует только одного /64 подсеть, не ожидая, что сервер действительно будет набором виртуальных машин, требующих внутренней топологии маршрутизации? Это может быть сделано также просто для облегчения запоминания плана адресации: хост получает PREFIX::/64, то каждая ВМ получает PREFIX:0:NNNN::/96 где NNNN уникален для виртуальной машины, и виртуальная машина может выделять PREFIX:0:NNNN:XXXX:YYYY как угодно.

Могу ли я напрямую сопоставить подсети IPv4 с подсетями IPv6? Например, IPv4 /24 соответствуют напрямую IPv6 /56 или /120?

С точки зрения низкого уровня того, как работает адресация и маршрутизация, длина префикса имеет одинаковое значение в IPv6 и IPv4. На этом уровне вы можете провести аналогию, например, "IPv4 /16 использует половину битов для сетевого адреса и половину битов для адреса хоста, что похоже на /64 в IPv6 ». Но это сравнение не совсем уместно. В IPv6 появились строгие соглашения, которые делают разделение размеров сетей более похожим на старый мир классовых сетей в IPv4. Разумеется, IPv6 не возвращал классовую адресацию в какие несколько наиболее значимых битов адреса определяют конкретную сетевую маску, но какой IPv6 делает есть определенные [фактически / условно] стандартные размеры сети:

  • /64: базовый размер отдельной подсети: LAN, WAN, блок адресов для виртуальных веб-хостов и т. д. «Обычные» подсети никогда не будут более узкими (более длинный префикс), чем /64. Ожидается, что подсети никогда не будут шире (более короткий префикс), чем /64 так как /64количество адресов хостов намного больше, чем мы можем себе представить.
  • /56: блок 256 основные подсети. Несмотря на то, что текущая политика разрешает интернет-провайдерам раздавать блоки размером до /48 каждому конечному пользователю и по-прежнему считают использование своего адреса вполне оправданным, некоторые интернет-провайдеры могут (и уже делают) выделить /56 для клиентов потребительского уровня в качестве компромисса между выделением им большого количества подсетей и экономией адресов.
  • /48: блок 65536 основные подсети и рекомендуемый размер блока, который должен получить каждый конечный сайт клиента интернет-провайдера.
  • /32: размер блока по умолчанию, который большинство интернет-провайдеров будет получать каждый раз, когда они запрашивают дополнительные адреса из регионального реестра адресов.

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

Другой вопрос сопоставления между IPv4 и IPv6 заключается в том, как согласовать назначения IPv4 и IPv6 на машинах с двойным стеком, чтобы можно было легко понять планы адресации. Конечно, для этого существуют общепринятые соглашения: встраивать «номер подсети» IPv4 в часть префикса IPv6 либо с помощью BCD (например. 10.0.234.0/24 становится 2001:db8:abcd:234::/64) или двоичный (10.0.234.0/24 становится 2001:db8:abcd:ea::/64).

Мои интерфейсы имеют несколько адресов IPv6. Должна ли подсеть для всех них одинакова?

Точно нет! Ожидается, что хосты IPv6 смогут быть многосетевыми, имея одновременно несколько IP-адресов из разных подсетей, как и IPv4. Если они автоматически настроены с SLAAC, то разные подсети могли быть получены из объявлений маршрутизатора от разных маршрутизаторов.

Почему я иногда вижу%, а не / в IPv6-адресе и что это означает?

Вы бы не увидели одно вместо другого. У них разные значения. Косая черта обозначает префикс (подсеть), что означает блок адресов, которые начинаются с одного и того же n биты. Адрес без косой черты - это адрес хоста. Вы можете думать о таком адресе как о подразумеваемом /128 в конце, что означает, что указаны все 128 бит.

Знак процента сопровождает link-local адрес. В IPv6 каждый интерфейс имеет локальный адрес ссылки в дополнение к любым другим IP-адресам, которые он может иметь. Но дело в том, что локальные адреса ссылок всегда, без исключения, находятся в fe80::/10 блок. Но если мы попытаемся поговорить с одноранговым узлом, используя локальный адрес ссылки, а локальный хост имеет несколько интерфейсов, как нам узнать, какой интерфейс использовать для разговора с этим узлом? Обычно таблица маршрутизации сообщает нам, какой интерфейс использовать для определенного префикса, но здесь она сообщает нам, чем fe80::/10 доступен через любой интерфейс.

Ответ заключается в том, что мы должны указать ему, какой интерфейс использовать, используя синтаксис address%interface. Например, fe80::1234:5678:8765:4321%eth0.

Я трачу слишком много подсетей? Разве мы не собираемся снова сбежать?

Никто не знает. Кто может предсказать будущее?

Но учтите это. В IPv6 количество доступных подсети это квадрат количества доступных индивидуальные адреса в IPv4. Это действительно очень много. Нет, я имею в виду очень многое!

Но все же: мы автоматически раздаем /32 любому интернет-провайдеру, который его запрашивает, мы раздаем /48 каждому интернет-провайдеру. Возможно, мы преувеличиваем и все-таки промотаем IPv6. Но для этого есть положение: на данный момент доступна для использования только одна восьмая часть пространства IPv6: 2000::/3. Идея состоит в том, что если мы создадим ужасный беспорядок с первой восьмой и нам придется радикально пересмотреть либеральную политику распределения, мы попробуем еще 7 раз, прежде чем у нас возникнут проблемы.

И наконец: IPv6 не должен длиться вечно. Возможно, у него будет более длительный срок службы, чем у IPv4 (уже впечатляющий срок службы, и он еще не закончился), но, как и любая технология, когда-нибудь он перестанет иметь значение. Нам нужно только успеть.

IPv6 составляет 128 бит, так почему же / 64 является наименьшей рекомендуемой подсетью для хостов?

Прежде всего, немного ASCII-арта из RFC для определения терминологии:

|         n bits         |   m bits  |       128-n-m bits         |
+------------------------+-----------+----------------------------+
| global routing prefix  | subnet ID |       interface ID         |
+------------------------+-----------+----------------------------+

Префикс глобальной маршрутизации обычно определяет всю сеть, к которой принадлежит адрес. Обычно это 48 бит. Идентификатор интерфейса идентифицирует данный сетевой интерфейс. Обычно это 64 бита. Остальные 16 бит - это идентификатор вашей подсети.

Хорошо, продолжаем объяснение:

В соответствии с RFC 4291 - Архитектура адресации IP версии 6:

Все адреса Global Unicast, кроме тех, которые начинаются с двоичного 000, имеют 64-битное поле идентификатора интерфейса.

И RFC 5375 - Рекомендации по назначению одноадресных адресов IPv6:

Важной частью плана адресации IPv4 является определение длины каждого префикса подсети. В отличие от IPv4, архитектура адресации IPv6 [RFC4291] определяет, что все подсети, использующие глобально уникальные адреса и ULA, всегда имеют одинаковую длину префикса - 64 бита.

Таким образом, игнорируя исключение с префиксом 000, идентификатор интерфейса всегда 64 бита ровно. Это еще один способ сказать, что все локальные сети вещания всегда 64-битные. Если у вас есть IPv6-адрес, его сетевая маска всегда 64 бит. Ни больше ни меньше. Если вам было назначено адресное пространство большего размера (более короткая сетевая маска, чем 64-битная), то предполагается, что вы будете разбивать это адресное пространство на 64-битные сети и самостоятельно обрабатывать маршрутизацию. Если вам дали сеть меньшего размера (более длинная сетевая маска), значит, кто-то облажался.

Итак, почему именно 64-битные?

Как правило, IPv6-адреса настраиваются автоматически, а не назначаются. Маршрутизатор сообщит, какой сетевой префикс доступен (префикс маршрутизации + идентификатор подсети: первые 64 бита), и ваш компьютер заполнит последние 64 бита, используя свой собственный уникальный идентификатор. Как ваш компьютер получает уникальный идентификатор? Есть несколько возможностей, наиболее распространенной из которых является использование MAC-адреса вашего интерфейса. Вы разделяете MAC пополам (половину поставщика / половину последовательного порта), переворачиваете универсальный локальный бит на стороне поставщика и объединяете их вместе с FF:FE посередине. Так 00:30:48:01:23:45 становится 0230:48ff:fe01:2345. Теперь поместите объявленный 64-битный сетевой префикс слева от него, и вы получите свой IP-адрес.

Важным моментом здесь является то, что если вы будете следовать этой схеме, конфликтов IP-адресов не произойдет. Поскольку каждому устройству в данной широковещательной сети НУЖЕН уникальный MAC-адрес для работы, привязка идентификатора интерфейса к MAC-адресу означает, что до тех пор, пока широковещательный трафик не конфликтует, адреса IPv6 тоже не будут. Использование 64-битных (вместо 48, выделенных для MAC-адресов) дает немного пространства для маневра, помимо адресов, предусмотренных этой схемой (есть несколько других).

Существуют ли другие ситуации, в которых я бы использовал подсеть меньше / 64?

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

Из RFC 5375 - Рекомендации по назначению одноадресных адресов IPv6:

Использование длины префикса подсети, отличной от / 64, нарушит многие функции IPv6, включая Neighbor Discovery (ND), Secure Neighbor Discovery (SEND) [RFC3971], расширения конфиденциальности [RFC4941], части Mobile IPv6 [RFC4866], Protocol Independent Многоадресная рассылка - разреженный режим (PIM-SM) со встроенным RP [RFC3956] и множественная адресация сайтов посредством посредничества IPv6 (SHIM6) [SHIM6] и другие. Ряд других функций, которые в настоящее время разрабатываются или предлагаются, также зависят от префиксов подсети / 64.

....

Однако некоторые сетевые администраторы использовали префиксы длиннее / 64 для каналов, соединяющих маршрутизаторы, обычно это всего два маршрутизатора на двухточечном канале. На каналах, где все адреса назначаются вручную, а все узлы на канале являются маршрутизаторами (а не конечными узлами), которые известны сети, администраторам не нужны никакие функции IPv6, которые полагаются на префиксы подсети / 64, это может работать. Использование префиксов подсети длиннее / 64 не рекомендуется для общего использования, и использование их для ссылок, содержащих конечные хосты, было бы особенно плохой идеей, поскольку трудно предсказать, какие функции IPv6 хосты будут использовать в будущем.

Почему рекомендуется использовать / 127 для соединений точка-точка между маршрутизаторами и почему это не рекомендовалось в прошлом?

Вы можете захотеть замазать RFC 3627 - использование длины префикса / 127 между маршрутизаторами считается вредным. Тогда взгляните на последующие RFC 6164 - Использование 127-битных префиксов IPv6 на межмаршрутизаторных каналах.

Возражение против использования на маршрутизаторах префиксов длиннее / 64 связано с тем, что автоконфигурация маршрутизатора потенциально дает сбой в редких случаях. Возражение против использования префиксов короче / 127 (только для 2 хостов) связано с рядом потенциальных проблем с отказом в обслуживании, связанных с пакетами, отправляемыми на не маршрутизируемые адреса. Поскольку реальные проблемы с отказом в обслуживании хуже теоретических сбоев автоконфигурации, / 127 - новый фаворит.

Следует ли мне изменить существующие ссылки маршрутизатора для использования / 127?

Если вы управляете маршрутизатором IPv6, я бы рекомендовал прочитать два RFC (они короткие!) И решить для себя.

Могу ли я напрямую сопоставить подсети IPv4 с подсетями IPv6?

Например, соответствует ли IPv4 / 24 напрямую IPv6 / 56 или / 120?

На самом деле да. Помните префикс 000, который мы намеренно игнорировали ранее? Что ж, вот и применение:

В системах с двумя стеками (с активными стеками IPv4 и IPv6) вы можете представлять IPv4, используя механизм IPv6. Они называют это "IPv4-сопоставленные адреса IPv6". В шаблоне все нули, за которым следует FFFF, за которым следует 32-битный IPv4-адрес.

Так, 192.168.100.21 становится ::FFFF:C0A8:6415 - или проще: ::FFFF:192.168.100.21. Поскольку этот правый бит представляет IPv4-адрес, он традиционно записывается в десятичной форме с точками.

Поскольку это фактический адрес IPv4, он по-прежнему использует заголовки IPv4 и т. Д., Что означает, что должен присутствовать стек IPv4, должны быть установлены маршруты IPv4 и все такое. Преимущество состоит в том, что вы можете представлять адреса IPv4 и IPv6 с помощью единой структуры адресов, что может упростить разработку приложений. Что касается сети, это не имеет большого значения.

  1. IPv6 составляет 128 бит, так почему же / 64 является наименьшей рекомендуемой подсетью для хостов?

    Этот размер префикса был первоначально рекомендован в более раннем RFC - с тех пор в эту политику был внесен пересмотр, в котором рассматривалась проблема атак обнаружения соседей, и использование / 126 является допустимым смягчением - тем не менее, если вы настраиваете ссылки PtP с Единственная цель маршрутизации трафика, альтернативный вариант - просто использовать / 64 и брандмауэр для этой подсети. Еще лучше выделите себе пул, из которого вы будете рисовать подсети / 64, и поместите весь этот пул в черный список на вашем краю (и в любом другом месте, откуда может исходить враждебность)

  2. Почему рекомендуется использовать / 127 для соединений точка-точка между маршрутизаторами и почему это не рекомендовалось в прошлом? Следует ли мне изменить существующие ссылки маршрутизатора для использования / 127?

    / 127 не рекомендуется между маршрутизаторами и никогда не использовался - адрес Anycast для всех маршрутизаторов - это нулевой адрес подсети; это означает, что / 127 технически действителен только между двумя машинами, одна из которых НЕ действует как маршрутизатор. / 126, конечно, нормально.

    В любом случае, однако, я бы не советовал переключать существующие ссылки / 64, если ваше оборудование не уязвимо для атаки с наводнением кэша Neighbor Discovery - и даже в этом случае сначала определите, действительно ли вы собираетесь использовать этот / 64 для подключения к Интернету. , если ответ отрицательный, просто защитите его.

  3. Почему виртуальным машинам должны быть предоставлены подсети меньше / 64?

    Это нарушает SLAAC и RA, если вы действительно действительно знать, что вы делаете, маловероятно, что у вас есть веские причины для этого - возможно, ваш апстрим дал вам только один / 64, но в этом случае вам нужно вернуться к ним и попросить больше, если они хотят чтобы взимать с вас плату, начните искать нового провайдера и, возможно, отправьте ему несколько язвительных электронных писем со ссылками на соответствующие RFC.

  4. Существуют ли другие ситуации, в которых я бы использовал подсеть меньше / 64?

    Честно? возможно нет. Если я придумаю законную причину, по которой меньшая подсеть предпочтительнее для целей, отличных от предотвращения атак NDP, я отредактирую этот раздел.

    Наоборот, там являются ситуации, в которых вы бы НЕ хотите использовать подсети меньше / 64 - особенно везде, где вы запускаете среду с оборудованием для переадресации оборудования (например, маршрутизаторы известных производителей и коммутаторы L3) - некоторые не смогут выполнять аппаратную маршрутизацию префиксов длиннее / 64, другие должны разделиться превратите операцию в несколько сравнений, поэтому вы должны как минимум сделать все возможное, чтобы / 64 был самым длинным префиксом в вашей магистрали (OSPF / ISIS / EIGRP / и т. д.).

  5. Могу ли я напрямую сопоставить подсети IPv4 с подсетями IPv6? Например, соответствует ли IPv4 / 24 напрямую IPv6 / 56 или / 120?

    Официально :: ffff: xxxx является форматом IPv4-адреса, отображаемого в IPv6 - конечно, есть также ряд механизмов перехода, а именно 6to4 и его родственник, 6rd, которые отображают IPv4-адрес в глобальный IPv6-адрес для этих целей. предоставления доступа IPv6 через IPv4 путем создания префикса IPv6, производного от IPv4-адреса, который он переносит.

  6. Мои интерфейсы имеют несколько адресов IPv6. Должна ли подсеть для всех них одинакова?

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

  7. Почему я иногда вижу%, а не / в IPv6-адресе и что это означает?

    Это разделитель, обычно применяемый к локальным адресам ссылки (fe80 :: / 12) - поскольку один и тот же локальный адрес ссылки может законно существовать на нескольких интерфейсах, разделитель% используется для указания того, какой интерфейс имеется в виду. Linux обычно делает обязательным указание интерфейса при выполнении операций, связанных с локальной ссылкой. Windows Vista / 2008 и более поздние версии немного умнее и не будут жаловаться, если только локальная ссылка не является уникальной.

  8. Я трачу слишком много подсетей? Разве мы не собираемся снова сбежать?

    Нет, это мертвая лошадь, которую пороли WAAAAAAAAAY слишком много раз - текущий глобальный Интернет IPv6 - 2000 :: / 3 - есть еще несколько префиксов, которые IANA могла бы начать использовать, если бы каким-то образом каждому RIR на планете удалось исчерпать свои запасы адресов. Так что нет, у нас не закончится место, и даже если мы это сделаем, для выбора нового префикса потребуется щелчок пера, а не техническое изменение. Единственное, что действительно подчеркивает этот вопрос, - это неспособность человеческого разума полностью осознать, насколько до смешного огромно адресное пространство.

  9. В чем еще основные отличия подсетей IPv6 от подсетей IPv4?

    Помимо того, что вы не заботитесь о том, сколько места вы используете, помните, что широковещательного адреса нет и что адрес «нулевой подсети» теперь является произвольным адресом для всех маршрутизаторов (который в основном является адресом, который неявно существует на всех настроенных узлах. для пересылки пакетов IPv6) - это имеет полезный побочный эффект, позволяя вам использовать этот адрес со всеми нулями в качестве маршрута по умолчанию в сети (нет, это не приведет к дублированию пакетов, это ANYcast, а не MULTIcast) - имейте в виду хотя хост может переключаться между маршрутизаторами каждые несколько секунд, поэтому это не подходит для настройки брандмауэра с отслеживанием состояния, если отслеживание соединений не синхронизируется между ними.

    Помимо этого, другое важное отличие состоит в том, что IPv6 заботится о повторяющихся адресах и мертвых соседях (NUD) - таким образом, в отличие от IPv4, хост откажется использовать адрес, если он сможет определить, что другой узел на ссылке уже использует его. . NUD, с другой стороны, полезен, если вы настраиваете статические маршруты - вы фактически можете определить несколько отдельных маршрутов для префикса с различными метриками, и они действительно будут работать, в отличие от IPv4, где будет использоваться маршрут с самой низкой метрикой независимо от того, будет ли следующий -hop жив или мертв (хотя это может быть неверно для некоторых реализаций IPv4, которые используют ARP для проверки маршрутов, таких как Cisco и другие основные производители маршрутизаторов)

    TL; DR; IPv6 обнаруживает повторяющиеся адреса и недоступных соседей. Адрес со всеми нулями - это произвольный адрес для всех маршрутизаторов, и такого понятия, как широковещательная рассылка, не существует, все единицы - это обычный адрес.

Для тех, кто задается вопросом, откуда в спецификациях берется требование / 64 для SLAAC, вот несколько дополнительных ссылок:

Из Автоконфигурация адреса IPv6 без сохранения состояния (RFC 4862):

Если сумма длины префикса и длины идентификатора интерфейса не равна 128 битам, параметр «Информация о префиксе» ДОЛЖЕН игнорироваться. [...]

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

И из Архитектура адресации IP версии 6 (RFC 4291):

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

Следовательно, поскольку идентификатор интерфейса должен быть длиной 64 бита, а сумма длины префикса и длины идентификатора интерфейса должна быть 128, единственная возможная длина префикса при использовании SLAAC составляет 64 бита.

IPv6 составляет 128 бит, так почему же / 64 является наименьшей рекомендуемой подсетью для хостов?

Потому что сторонникам IPv6 понравилась идея автоматической конфигурации без сохранения состояния.

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

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

Конечно, дело с конвенциями в том, что если вы им следуете, и что-то идет не так, вы можете указать на конвенцию, если вы отказываетесь им следовать, и что-то пойдет не так, это будет ваша вина.

Почему рекомендуется использовать / 127 для соединений точка-точка между маршрутизаторами,

Использование подсетей с небольшим количеством доступных адресов позволяет избежать атак исчерпания возможностей обнаружения соседей.

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

Почему виртуальным машинам должно быть выделено менее / 64 адресов?

Здесь нужно проводить различие. Хостинг-провайдер может назначать адреса машине двумя способами (физическими или виртуальными).

Они могут назначать им адреса «по ссылке», по которым машина должна отвечать на запросы обнаружения соседей. Некоторые хостинг-провайдеры решили предоставить каждой машине / 64, которая имеет преимущества в мобильности адресов, другие предоставляют каждой VLAN / 64, а затем предоставляют отдельным машинам подблоки той, которая использует меньше адресов и может означать, что локальный трафик остается локальным, а не переходя к маршрутизатору.

Или они могут рассматривать машину как маршрутизатор и назначать ей маршрутизируемый блок. В этом случае потребуется достаточно адресов для адресации всех внутренних подсетей. Если вы будете следовать соглашению «все подсети должны быть / 64», это будет означать выделение им как минимум / 64, а возможно и больше. Это имеет смысл для машин, у которых есть «сети внутри машины», например хост контейнера.

Могу ли я напрямую сопоставить подсети IPv4 с подсетями IPv6? Например, соответствует ли IPv4 / 24 напрямую IPv6 / 56 или / 120?

Любое такое сопоставление - это вопрос местной политики.

Мои интерфейсы имеют несколько адресов IPv6. Должна ли подсеть для всех них одинакова?

Нет

Почему я иногда вижу%, а не / в IPv6-адресе и что это означает?

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

Я трачу слишком много подсетей? Разве мы не собираемся снова сбежать?

Я бы не стал слишком об этом беспокоиться.

Даже несмотря на странное решение разработчиков IPv6 использовать 128-битное адресное пространство, а затем выбросить почти половину его при автоматической конфигурации без сохранения состояния, IPv6 по-прежнему имеет гораздо больше места, чем IPv4.

И если случится хруст, потребуется немного больше, чем росчерк пера, чтобы отменить это странное решение.

Гораздо большее беспокойство по поводу масштабируемости IPv6 вызывает размер таблицы маршрутизации. IPv6 NAT категорически не рекомендуется. Запуск большой сети на адресах, назначенных провайдером, приводит к значительному риску блокировки провайдера.

Поэтому я считаю, что по мере роста проникновения IPv6 в корпоративные сети мы увидим взрывной рост запросов на независимое от провайдера пространство IPv6.