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

  

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

     

по теме:

     

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

  • IPv6 - 128 бит, поэтому почему /64 наименьшая рекомендуемая подсеть для хостов? В связи с этим:
    • Почему рекомендуется использовать /127 для соединений между точками между маршрутизаторами и почему это было рекомендовано в прошлом? Должен ли я изменить существующие ссылки маршрутизатора на использование /127?
    • Почему виртуальные машины должны быть снабжены адресами менее чем /64?
    • Существуют ли другие ситуации, в которых я бы использовал подсеть меньше, чем /64?
  • Можно ли напрямую сопоставлять подсети IPv4 с подсетей IPv6? Например, соответствует ли IPv4 /24 IPv6 /56 или /120?
  • У моих интерфейсов несколько IPv6-адресов. Должна ли подсеть быть одинаковой для всех из них?
  • Почему иногда я вижу%, а не a /в IPv6-адресе и что это значит?
  • Я трачу слишком много подсетей? Разве мы просто не закончим?
  • В каких других основных аспектах IPnet-подсетей IPv6 отличается от подсетей IPv4?
105 голосов | спросил Michael Hampton 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 11 Sep 2012 04:57:56 +0400 2012, 04:57:56

5 ответов


123

Первое, что следует упомянуть о подсети 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 уникален для виртуальной машины, и VM может выделять PREFIX:0:NNNN:XXXX:YYYY, как это угодно.

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

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

  • /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 (впечатляющая продолжительность жизни уже и не закончится), но, как и любая технология, она когда-нибудь перестанет иметь значение. Нам нужно только сделать это до тех пор.

ответил Celada 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 11 Sep 2012 06:55:51 +0400 2012, 06:55:51
40

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:

  

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

И RFC 5375 - Вопросы назначения адреса одноадресного IPv6 :

  

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

Таким образом, игнорируя исключение 000-префикс, идентификатор интерфейса - это always 64-бит. Это еще один способ сказать, что все локальные широковещательные сети всегда 64-битные . Если у вас есть адрес IPv6, его сетевая маска always 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, сопоставленными IPv4 ». Шаблон - все нули, за которым следует FFFF, за которым следует 32-разрядный IPv4-адрес.

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

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

ответил tylerl 10 Jam1000000amThu, 10 Jan 2013 10:51:08 +040013 2013, 10:51:08
18
  1. IPv6 - 128 бит, поэтому почему /64 наименьшая рекомендуемая подсеть для хостов?

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

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

    /127 не рекомендуется между маршрутизаторами и никогда не было - all-routers. Адрес 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. В каких других основных аспектах IPnet-подсетей IPv6 отличается от подсетей IPv4?

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

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

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

ответил Olipro 10 MarpmSun, 10 Mar 2013 21:27:25 +04002013-03-10T21:27:25+04:0009 2013, 21:27:25
2

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

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

  

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

     

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

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

  

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

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

ответил Sander Steffann 6 Jam1000000amFri, 06 Jan 2017 03:45:55 +030017 2017, 03:45:55
2
  

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

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

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

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

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

  

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

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

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

  

Почему виртуальные машины должны быть снабжены адресами менее чем на /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.

ответил Peter Green 6 Jam1000000amFri, 06 Jan 2017 06:25:49 +030017 2017, 06:25:49

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132