Базовые концепции IPv6/лучшие практики

Базовые концепции IPv6/лучшие практики

Я пытаюсь ознакомиться с IPv6.

я нашелэто руководствоочень полезно, но я все еще не понимаю некоторые аспекты.

Ссылка-локальная против уникально-локальной

Читая вышеприведенное руководство, я понимаю, что локальные адреса не пересекают границы хоста (т.е. они не используются для связи между устройствами). Уникальные локальные адреса, напротив, близки к концепции локальных IP-адресов IPv4.

Это верно?

Идентификатор интерфейса

Если я правильно понимаю, каждый хост идентифицируется значением, которое можно вычислить из MAC-адреса. Это обязательно/лучшая практика?

В IPv4 адреса не связаны с MAC-адресом, поэтому, например, я могу сменить сетевую карту на ПК (тем самым изменив ее MAC-адрес) и продолжать использовать тот же адрес.

Кроме того, IP-адреса обычно назначаются с использованием некоторых критериев (от a до b для ПК, от x до y для принтеров и т. д.). Это не обязательно, но полезно для ежедневного обслуживания.

Как это можно сделать в IPv6?

решение1

Локальные адреса не пересекают границы хоста (т.е. они не используются для связи между устройствами).

Не ониделатьпересекают границы хоста, но никогда не пересекают границы сети (или подсети).

Адреса Link-local используются для пакетов, которые ранее должны были отправляться с нулевого адреса (например, DHCP → DHCPv6) или которые вообще не были основаны на IP (например, ARP → ICMPv6 NDP). Они также используются протоколами маршрутизации (RIPng, OSPFv3, Babel…), которые ранее использовали «нормальный» IP-адрес для сообщений, которые по своей сути являются link-scope.

(Технически IPv4 также имеет адреса области действия канала 169.254.0.0/16, но они необязательны, и их использование гораздо более ограничено — их часто считают взаимоисключающими с «обычными» адресами. Это не относится к IPv6, где все интерфейсы обычно имеют локальный адрес канала в дополнение ко всему остальному.)

Однако вы можете путать область действия ссылки с адресами области "interface-local" или "host", которые на самом деле не пересекают границы хоста. На самом деле единственный адрес области действия хоста, который вы когда-либо увидите, это ::1(loopback).

Уникально-локальные адреса близки к концепции локальных IP-адресов IPv4.

Да, хотя опять же их предполагаемое использование немного отличается от IPv4. То есть, даже если вы хотите использовать уникальные локальные адреса в вашей локальной сети, вы должнывсе ещеиспользуйте глобальные адреса вместе с ними (т.е. каждый хост будет иметь два адреса) – NAT крайне не рекомендуется, даже 1:1 NAT.

Обратите внимание, что как в IPv4, так и в IPv6 эти адреса считаются имеющимиГлобальныйОбласть действия. Они тольколокально назначенный, но IP не считает их принципиально отличными от адресов «публичного Интернета»; они маршрутизируются таким же образом.

Если я правильно понимаю, каждый хост идентифицируется значением, которое можно вычислить из MAC-адреса. Это обязательно/лучшая практика?

Нет. Это опция по умолчанию (для сетей, изначально имеющих MAC-адреса), но она не обязательна — IPv6 допускает любые типы идентификаторов интерфейсов и не будет обрабатывать их по-разному, за небольшими исключениями.

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

  • Задолго до этого, когда большинство хостов все еще использовали идентификаторы интерфейса EUI-64, многие из них уже реализовали RFC 4941 для генерации случайныхвременныйидентификаторы интерфейса.

  • В целом MAC или EUI-64 не могут быть обязательными просто потому, что существует множество механизмов туннелирования «точка-точка», работающих только на уровне 3 (например, PPP), которые вообще не имеют адреса уровня 2.

Алгоритм генерации адресов IPv6 из адресов EUI-64 или MAC был тщательно проработан с учетом бита EUI-64 «Local/Global», так что если вы просто вручную назначите свой предпочтительный идентификатор интерфейса (например, <whatever>::123:ab), он будет синтаксически выглядеть так же, как если бы он был основан на «локально администрируемом» адресе EUI-64 (в этом примере 02:00:00:00:01:23:00:ab).

Кроме того, IP-адреса обычно назначаются с использованием некоторых критериев (от a до b для ПК, от x до y для принтеров и т. д.). Это не обязательно, но полезно для ежедневного обслуживания.

Мой первый совет — «использовать DNS». На работе я больше не ввожу адреса в чистом виде — если я хочу подключиться к определенному принтеру, я не начинаю вводить 192., я начинаю вводить pr-, и браузер предлагает мне список принтеров, а не список разных IP-адресов.

В более крупных сетях вам также понадобится несколько VLAN и несколько подсетей. Назначьте идентификатор подсети 1 (например, 2001:db8:42:1::/64) для пользовательской VLAN, идентификатор подсети 2 (2001:db8:42:2::/64) для принтерной VLAN и т. д.

Большинство устройств не помешают вам назначать адреса IPv6 вручную, например, вы можете свободно использовать 2001:db8:42::53для DNS-сервера. Как упоминалось ранее, это совершенно нормально даже в рамках предположений о назначении EUI-64 – оно просто сопоставляется с "локально администрируемым" адресом EUI-64.

(Лишь немногие поддерживают назначениетолькоидентификатор интерфейса вручную, продолжая получать сетевые префиксы автоматически, но, надеюсь, ваш префикс IPv6 не изменитсячто(Во всяком случае, часто.)

Связанный контент