ping6.net
Основы

Разбиение IPv6 на подсети: от /48 до /64

Планируйте вашу IPv6-сеть с правильным разбиением на подсети. Узнайте о границах /64, как делить выделения /48 и /56, и практические примеры.

ping6.net1 февраля 2024 г.8 min read
IPv6подсетиCIDRпланирование сетипрефикс

Философия разбиения IPv6 на подсети#

Разбиение IPv6 на подсети переворачивает мышление IPv4. Вместо того чтобы тщательно распределять скудное адресное пространство, вы делите изобилие. Одно выделение /48 даёт вам 65 536 подсетей /64 — больше, чем когда-либо будет использовать большинство организаций.

TL;DR - Краткое резюме

Ключевые моменты:

  • Всегда используйте /64 для сетей конечных хостов (требуется для SLAAC и Neighbor Discovery)
  • Выделения провайдеров: /48 для предприятий (65 536 подсетей), /56 для малого бизнеса (256 подсетей), /64 для минимума
  • Соединения точка-точка могут использовать /127 или /126 для экономии адресов
  • Перестаньте экономить адреса — изобилие IPv6 это преимущество, вместо этого организуйте логически

Перейти к: Распространённые выделения провайдеров | Разбиение /48 | Особые случаи

Цель дизайна проста: сделать разбиение на подсети простым и последовательным. Используйте /64 для всего, что подключает конечные хосты. Перестаньте беспокоиться о сохранении адресов.

Граница /64: просто используйте её#

Длина префикса /64 особенная в IPv6. Не потому что это эстетически приятно или традиционно, а потому что фундаментальные протоколы IPv6 требуют этого:

SLAAC (Stateless Address Autoconfiguration) генерирует 64-битный Interface ID из MAC-адреса устройства или случайного значения. Ему нужно ровно 64 бита для работы. Дайте меньше, и автоконфигурация сломается.

Оптимизация Neighbor Discovery предполагает подсети /64. Использование меньших префиксов создаёт проблемы производительности, которые не стоят «сэкономленных» адресов.

Modified EUI-64 идентификаторы интерфейсов требуют 64 бита. Расширения приватности требуют 64 бита. Всё в экосистеме IPv6 ожидает 64 бита.

Не делите на подсети меньше /64

Использование /96 или /112 для сетей конечных пользователей ломает SLAAC и вызывает проблемы совместимости. Единственные исключения — точка-точка соединения маршрутизаторов (/127 или /126) и loopback-интерфейсы (/128).

Практический совет: используйте /64 для каждого сегмента сети с хостами. Всё.


CIDR-нотация#

IPv6 использует CIDR-нотацию для выражения сетевых префиксов:

2001:db8:abcd:1234::/64
│                  │
│                  └─ Длина префикса
└──────────────────── Сетевой префикс (первые 64 бита)

Число после слэша указывает, сколько бит идентифицируют сеть. Оставшиеся биты идентифицируют отдельные интерфейсы.

Для 2001:db8:abcd:1234::/64:

  • Сетевой префикс: первые 64 бита (2001:db8:abcd:1234)
  • Interface ID: последние 64 бита (всё от :: до ffff:ffff:ffff:ffff)

Типичные выделения провайдеров#

Большинство IPv6-подключений поставляется с одним из этих размеров префиксов:

/48 — предприятия и крупные клиенты#

Вы получаете 16 бит для разбиения на подсети (биты 49-64), создавая до 65 536 сетей /64.

2001:db8:abcd:0000::/64  ─┐
2001:db8:abcd:0001::/64   │
2001:db8:abcd:0002::/64   ├─ Всё из одного /48
...                       │
2001:db8:abcd:ffff::/64  ─┘

Это стандартное выделение для бизнеса. Оно поддерживает сложные сети с сотнями локаций и VLAN.

/56 — малый бизнес и домашние пользователи#

Вы получаете 8 бит для разбиения на подсети, создавая до 256 сетей /64.

2001:db8:abcd:ab00::/64  ─┐
2001:db8:abcd:ab01::/64   │
...                       ├─ 256 подсетей /64 доступно
2001:db8:abcd:abff::/64  ─┘

Достаточно для домашних сетей с несколькими VLAN (основная сеть, гостевой WiFi, IoT-устройства и т.д.).

/64 — минимальное домашнее#

Одна подсеть. Работает нормально, если вам не нужна сегментация сети. Большинству домашних пользователей не нужно больше.

Многие провайдеры по умолчанию выделяют /64, но назначат /56 по запросу. Всегда просите хотя бы /56.


Разбиение /48 на подсети#

Когда вы получаете /48, вы контролируете биты 49-64 для идентификации подсети. Это 16 бит = 65 536 подсетей.

Практический пример: офисная сеть#

Выделение: 2001:db8:abcd::/48
 
План подсетей:
├─ 0000-000f  Инфраструктура
│  ├─ 2001:db8:abcd:0001::/64  Управление/Out-of-band
│  ├─ 2001:db8:abcd:0002::/64  Коммутаторы и точки доступа
│  └─ 2001:db8:abcd:0003::/64  Мониторинг и логи

├─ 0010-00ff  Серверы
│  ├─ 2001:db8:abcd:0010::/64  Веб/приложения
│  ├─ 2001:db8:abcd:0011::/64  Серверы БД
│  └─ 2001:db8:abcd:0012::/64  Хранилище

├─ 0100-01ff  Пользовательские сети
│  ├─ 2001:db8:abcd:0100::/64  Рабочие станции этаж 1
│  ├─ 2001:db8:abcd:0101::/64  Рабочие станции этаж 2
│  └─ 2001:db8:abcd:0102::/64  Рабочие станции этаж 3

├─ 0200-02ff  Гостевые и публичные
│  ├─ 2001:db8:abcd:0200::/64  Гостевой WiFi
│  └─ 2001:db8:abcd:0201::/64  Публичный WiFi

└─ f000-ffff  Зарезервировано на будущее

Обратите внимание, что шестнадцатеричные диапазоны создают логические группировки. Схема читаема и оставляет место для роста.

Иерархическое разбиение на подсети#

Организации с несколькими сайтами могут выделить большие блоки каждой локации:

2001:db8:abcd::/48

├─ 2001:db8:abcd:0000::/52  Главный офис (4096 подсетей /64)
│  └─ 2001:db8:abcd:0000::/64 до 2001:db8:abcd:0fff::/64

├─ 2001:db8:abcd:1000::/52  Филиал A (4096 подсетей)
│  └─ 2001:db8:abcd:1000::/64 до 2001:db8:abcd:1fff::/64

├─ 2001:db8:abcd:2000::/52  Филиал B (4096 подсетей)

└─ 2001:db8:abcd:3000::/52  Филиал C (4096 подсетей)

Каждый филиал управляет своим /52 независимо. Главный офис может делегировать без накладных расходов на координацию.

Вы можете разбивать дальше:

Филиал A: 2001:db8:abcd:1000::/52

├─ 2001:db8:abcd:1000::/56  Здание 1 (256 подсетей)
├─ 2001:db8:abcd:1100::/56  Здание 2 (256 подсетей)
└─ 2001:db8:abcd:1200::/56  Здание 3 (256 подсетей)

Иерархия может быть такой глубокой, как нужно, вплоть до границы /64.


Разбиение /56 на подсети#

С /56 у вас есть 8 бит (биты 57-64) для разбиения на подсети. Это 256 сетей /64.

Пример домашней сети#

Выделение: 2001:db8:abcd:ab00::/56
 
План подсетей:
├─ 2001:db8:abcd:ab00::/64  Основная LAN
├─ 2001:db8:abcd:ab01::/64  Домашний офис
├─ 2001:db8:abcd:ab02::/64  Гостевой WiFi
├─ 2001:db8:abcd:ab03::/64  IoT-устройства (камеры, сенсоры)
├─ 2001:db8:abcd:ab04::/64  Умный дом (колонки, свет)
├─ 2001:db8:abcd:ab05::/64  Лаборатория/тестовая сеть
└─ 2001:db8:abcd:ab06-abff  Доступно (250 неиспользуемых подсетей)

Даже опытный пользователь не исчерпает 256 подсетей. Это выделение щедрое.

Восьмой бит в четвёртом хекстете меняется:

  • ab00 = двоичный ...0000 0000 (подсеть 0)
  • ab01 = двоичный ...0000 0001 (подсеть 1)
  • ab02 = двоичный ...0000 0010 (подсеть 2)
  • abff = двоичный ...1111 1111 (подсеть 255)

Особые случаи#

Соединения точка-точка#

Соединениям маршрутизатор-маршрутизатор не нужно 18 квинтиллионов адресов. Два варианта:

/127 — стандарт RFC 6164 для соединений точка-точка. Предоставляет ровно 2 адреса, аналогично /31 в IPv4:

2001:db8:abcd:1::/127
├─ 2001:db8:abcd:1::0   Маршрутизатор A
└─ 2001:db8:abcd:1::1   Маршрутизатор B

/126 — Предоставляет 4 адреса, как /30 в IPv4:

2001:db8:abcd:1::/126
├─ 2001:db8:abcd:1::0   Сетевой адрес (можно использовать)
├─ 2001:db8:abcd:1::1   Маршрутизатор A
├─ 2001:db8:abcd:1::2   Маршрутизатор B
└─ 2001:db8:abcd:1::3   (доступно)

Оба работают. /127 эффективнее. Некоторое старое оборудование поддерживает только /126.

Альтернативно, просто используйте /64 на соединениях точка-точка. Это не расточает ничего важного и упрощает ваш план адресации.

Loopback-адреса#

Loopback-интерфейсы маршрутизаторов используют /128 (один адрес):

2001:db8:abcd::1/128

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


Практики документирования#

Задокументируйте ваш план подсетей перед назначением адресов. Простая таблица работает:

| Префикс                   | VLAN | Назначение           | Шлюз       |
|---------------------------|------|----------------------|------------|
| 2001:db8:abcd:1::/64      | 10   | Управление           | ::1        |
| 2001:db8:abcd:2::/64      | 20   | Серверы              | ::1        |
| 2001:db8:abcd:10::/64     | 100  | Пользователи этаж 1  | ::1        |
| 2001:db8:abcd:11::/64     | 101  | Пользователи этаж 2  | ::1        |
| 2001:db8:abcd:100::/64    | 200  | Гостевой WiFi        | ::1        |
| 2001:db8:abcd:200::/64    | 300  | IoT-устройства       | ::1        |

Включите:

  • Префикс: Полная сеть /64
  • VLAN ID: Если применимо (помогает соотнести уровень 2 и уровень 3)
  • Назначение: Что подключается к этой сети
  • Шлюз: Обычно ::1, первый адрес
  • Примечания: Зоны файрвола, контактная информация, всё, что помогает эксплуатации

Отслеживайте это в вашей системе документирования сети, а не в забытой таблице. Будущий вы будет благодарен.


Вычисление информации о подсетях#

Количество доступных подсетей /64#

Формула: 2^(64 - длина_префикса)
 
/48: 2^(64-48) = 2^16 = 65 536 подсетей
/52: 2^(64-52) = 2^12 = 4096 подсетей
/56: 2^(64-56) = 2^8  = 256 подсетей
/60: 2^(64-60) = 2^4  = 16 подсетей

Диапазон подсети#

Для данной подсети /64 диапазон прямолинеен:

Префикс: 2001:db8:abcd:1234::/64
 
Первый адрес: 2001:db8:abcd:1234::
Последний адрес:  2001:db8:abcd:1234:ffff:ffff:ffff:ffff
 
Используемые адреса: Все из них (18 446 744 073 709 551 616)

В отличие от IPv4, нет широковещательного адреса для резервирования. IPv6 использует multicast для функций, подобных broadcast.

Нахождение границ подсетей#

Когда дан /56 вроде 2001:db8:abcd:ab00::/56, границы подсетей:

Первая /64:  2001:db8:abcd:ab00::/64
Последняя /64:   2001:db8:abcd:abff::/64
 
Диапазон фиксирует биты 1-56:     2001:db8:abcd:ab...
Биты 57-64 могут варьироваться:   00 до ff
Биты 65-128 идентифицируют интерфейсы (часть /64)

Для иерархического распределения выравнивайтесь по границам ниблов (4 бита), когда возможно. Это сохраняет чистоту шестнадцатеричной нотации:

  • /48, /52, /56, /60, /64 выровнены по границам ниблов
  • /50, /54, /58, /62 не выровнены и создают грязные hex-диапазоны

Придерживайтесь префиксов, выровненных по ниблам, если у вас нет конкретной причины не делать этого.


Резюме#

Разбиение IPv6 на подсети проще, чем IPv4, как только вы усвоите философию:

  1. Используйте /64 для всех хост-сетей. Не усложняйте. Стек протоколов ожидает этого.

  2. Выделения провайдеров щедрые. /48 для предприятий (65 536 подсетей), /56 для малых сайтов (256 подсетей), /64 для минимальных развёртываний.

  3. Планируйте иерархически. Выделяйте блоки локациям или функциям. Позвольте каждому сайту управлять своей частью независимо.

  4. Документируйте ваш план. Будущая отладка зависит от знания, что делает каждая подсеть.

  5. Перестаньте экономить адреса. Изобилие IPv6 — это особенность. Используйте его.

Самый большой ментальный сдвиг от IPv4: вы не выжимаете каждый последний адрес из ограниченного пространства. Вы организуете изобилие в логичную структуру.

Связанные статьи#

  • Типы адресов IPv6 — Поймите различные типы адресов перед планированием ваших подсетей
  • DHCPv6 против SLAAC — Научитесь автоматически назначать адреса внутри ваших /64 подсетей

Вычислите ваши подсети

Используйте наш калькулятор подсетей для планирования вашего IPv6-выделения сети и визуализации иерархии подсетей.