Разбиение IPv6 на подсети: от /48 до /64
Планируйте вашу IPv6-сеть с правильным разбиением на подсети. Узнайте о границах /64, как делить выделения /48 и /56, и практические примеры.
Философия разбиения 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, как только вы усвоите философию:
-
Используйте /64 для всех хост-сетей. Не усложняйте. Стек протоколов ожидает этого.
-
Выделения провайдеров щедрые. /48 для предприятий (65 536 подсетей), /56 для малых сайтов (256 подсетей), /64 для минимальных развёртываний.
-
Планируйте иерархически. Выделяйте блоки локациям или функциям. Позвольте каждому сайту управлять своей частью независимо.
-
Документируйте ваш план. Будущая отладка зависит от знания, что делает каждая подсеть.
-
Перестаньте экономить адреса. Изобилие IPv6 — это особенность. Используйте его.
Самый большой ментальный сдвиг от IPv4: вы не выжимаете каждый последний адрес из ограниченного пространства. Вы организуете изобилие в логичную структуру.
Связанные статьи#
- Типы адресов IPv6 — Поймите различные типы адресов перед планированием ваших подсетей
- DHCPv6 против SLAAC — Научитесь автоматически назначать адреса внутри ваших /64 подсетей
Вычислите ваши подсети
Используйте наш калькулятор подсетей для планирования вашего IPv6-выделения сети и визуализации иерархии подсетей.