Вопрос: Как работает подсети IPv6 и как он отличается от подсетей IPv4?


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

Связанный:

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

  • IPv6 - 128 бит, поэтому почему / 64 наименьшая рекомендуемая подсеть для хостов? В связи с этим:
    • Почему рекомендуется использовать / 127 для связи между маршрутизаторами между точками и почему это было рекомендовано в прошлом? Должен ли я изменить существующие ссылки маршрутизатора на использование / 127?
    • Почему виртуальные машины должны быть снабжены адресами менее чем / 64?
    • Существуют ли другие ситуации, в которых я бы использовал подсеть меньшую, чем / 64?
  • Могу ли я отображать данные непосредственно из подсетей IPv4 в подсетей IPv6? Например, соответствует ли IPv4 / 24 IPv6 / 56 или / 120?
  • Мои интерфейсы имеют несколько адресов IPv6. Должна ли подсеть быть одинаковой для всех из них?
  • Почему иногда я вижу%, а не a / в IPv6-адресе и что это значит?
  • Я трачу слишком много подсетей? Разве мы еще не закончим?
  • Какими другими основными способами является подсети IPv6, отличная от подсетей IPv4?

105
2017-09-11 00:57


Источник




Ответы:


Первое, что следует упомянуть в подсети 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 делает имеют определенные [defacto / условно] стандартные размеры сети:

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

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

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

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

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

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

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

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

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

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


123
2017-09-11 02:55



Очень хорошее объяснение! Особенно о разных мыслях. Если вы посмотрите на цифры, вы видите, что в 2000 году есть 536 870 912/32 (небольшие интернет-провайдеры) :: / 3. С населением в 7 миллиардов человек, которое является одним из интернет-провайдеров на 13 человек, и каждый из таких интернет-провайдеров может иметь 65 536 клиентов, каждый из которых составляет 48 человек. Не нужно беспокоиться о том, чтобы тратить только адреса :-) - Sander Steffann
Я, это очень хорошее объяснение. - Fergus
Хорошее объяснение конкретных деталей 2000 :: / 3. - Koos van den Hout
Хорошее объяснение. +1 в последнем комментарии. Я надеюсь, что все это уже видели: xkcd.com/865 - Nico
@SanderSteffann И если это будет проблемой, было бы разумно, если бы интернет-провайдеры могли назначать новые / 64s для пользователей, не являющихся пользователями, и для небольших интернет-провайдеров, чтобы запрашивать блоки, скажем, 4096 из них за раз (/ 52 блока ). Текущая схема просто предназначена для того, чтобы оставить место для расширения на каждом уровне. - immibis


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:

Все глобальные адреса 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:

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

....

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

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

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

Возражение против использования префиксов дольше, чем / 64 на маршрутизаторах, связано с автоматическим конфигурированием маршрутизатора, которое может не работать при редких обстоятельствах. Возражение против использования префиксов короче, чем / 127 (только для двух хостов), связано с рядом потенциальных проблем отказа в обслуживании, связанных с отправкой пакетов на неиспользуемые адреса. Поскольку проблемы отказа в обслуживании в реальном мире хуже, чем теоретические сбои автоматической конфигурации, / 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-адреса, используя единую структуру адресов, что упрощает разработку приложений. Это не делает различий в отношении сети.


40
2018-01-10 06:51





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

    Этот размер префикса был первоначально рекомендован в более раннем RFC - с тех пор было внесено изменение в эту политику, где рассматривается проблема Neighbor Discovery Attacks, и использование / 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 / etc.) магистрали.

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

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

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

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

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

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

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

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

  9. Какими другими основными способами является подсети IPv6, отличная от подсетей IPv4?

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

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

    TLDR; IPv6 обнаруживает дубликаты адресов и недостижимых соседей. Всеобщий адрес - все-маршрутизаторы anycast, и нет такой вещи, как широковещательная передача, все-это обычный адрес.


18
2018-03-10 17:27



В ответ на ответ 2) ... tools.ietf.org/html/rfc6164  tools.ietf.org/html/rfc6547 - cpt_fink


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

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

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

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

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

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

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


2
2018-01-06 00:45





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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

нет

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

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

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

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

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

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

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

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


2
2018-01-06 03:25