book1

📌 12.8.1 — Подсети через Subnet ID

В IPv4 чтобы создать подсети, приходилось “занимать” биты у хостовой части — это неудобно и запутанно. IPv6 изначально проектировался с учётом подсетей, поэтому для них есть отдельное поле — Subnet ID.

Структура GUA (/48 + 16-bit Subnet ID):

|←    48 бит    →|← 16 бит →|←       64 бита       →|
  Global Routing    Subnet ID      Interface ID
      Prefix

При /48 Global Routing Prefix и /64 Interface ID остаётся ровно 16 бит для Subnet ID, что даёт:

  • 65 536 подсетей (2¹⁶)
  • В каждой подсети — до 18 квинтиллионов хостов (2⁶⁴)

💡 Экономия адресов не нужна — IPv6 настолько огромен, что можно не беспокоиться.

Ещё одно преимущество IPv6 суbnetting: не нужно переводить в двоичную систему! Просто считаем вверх в шестнадцатеричной системе.


📌 12.8.2 — Пример IPv6 Subnetting

Допустим, организация получила от провайдера префикс 2001:db8:acad::/48 с 16-битным Subnet ID. Чтобы создать подсети, просто инкрементируем 4-й хекстет (Subnet ID):

Global Routing Prefix (2001:db8:acad) не меняется — меняется только Subnet ID (4-й хекстет). Это и есть вся суть IPv6 subnetting.

Сравни с IPv4: там нужно было считать маски, блоки, делать binary conversion… В IPv6 просто считаешь в hex: 0001, 0002, 0003… и так до ffff.


📌 12.8.3 — Распределение подсетей

В примере топологии нужно 5 подсетей: 4 LAN-сети (для PC1–PC4) + 1 serial-линк между R1 и R2.

💡 В IPv4 для serial-линков использовали /30 чтобы не тратить адреса. В IPv6 экономить не нужно — serial-линк получает тот же /64 что и LAN.

Распределение подсетей из блока 2001:db8:acad::/48:

ПодсетьАдресНазначение
12001:db8:acad:1::/64LAN R1 — PC1 (G0/0/0)
22001:db8:acad:2::/64LAN R1 — PC2 (G0/0/1)
32001:db8:acad:3::/64Serial R1 ↔ R2
42001:db8:acad:4::/64LAN R2 — PC3 (G0/0/0)
52001:db8:acad:5::/64LAN R2 — PC4 (G0/0/1)

Использовано 5 из 65 536 доступных подсетей. Остальные (0006ffff) просто ждут своего часа.


📌 12.8.4 — Конфигурация роутера R1

R1(config)# interface gigabitethernet 0/0/0
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64
R1(config-if)# no shutdown
R1(config-if)# exit

R1(config)# interface gigabitethernet 0/0/1
R1(config-if)# ipv6 address 2001:db8:acad:2::1/64
R1(config-if)# no shutdown
R1(config-if)# exit

R1(config)# interface serial 0/1/0
R1(config-if)# ipv6 address 2001:db8:acad:3::1/64
R1(config-if)# no shutdown

ciscoIOScommand

Логика проста: каждый интерфейс получает адрес из своей подсети, где ::1 — это адрес самого роутера (первый хост в подсети).

ИнтерфейсSubnet IDАдрес роутера
G0/0/0:1:2001:db8:acad:1::1/64
G0/0/1:2:2001:db8:acad:2::1/64
S0/1/0:3:2001:db8:acad:3::1/64

Всё то же самое что мы уже делали в 12.4.1 — просто теперь Subnet ID осознанно выбирается как часть плана адресации.

computernetworks