# Networking — IPv6 (one-screen)

**IPv6** — версия IP с **128‑битной** адресацией (vs 32‑бит IPv4). Главная цель — решить дефицит адресов и упростить некоторые аспекты обработки пакетов.

Источник: [[01 Library/04 Networking/Протоколы/IPv6|IPv6]].

## Почему IPv6
- IPv4 адресов не хватает; NAT/PAT — костыли, которые ломают end‑to‑end.
- IPv6 даёт гигантское адресное пространство (порядка 3.4×10^38 адресов).

## Совместимость и “двойной стек” (dual stack)
IPv4 и IPv6 **несовместимы**, поэтому миграция часто идёт через **dual stack** (оба протокола в сети одновременно).

Примеры обновлений:
- OSPFv2 → **OSPFv3**
- ICMP → **ICMPv6**
- ARP заменён на **NDP** (Neighbor Discovery Protocol)

## Заголовок IPv6
- Базовый заголовок проще.
- Расширения реализованы через поле **Next Header** (цепочка extension headers).

## Формат адреса и сокращения
Пример:
`2041:0000:140F:0000:0000:0000:875B:131B`

Правила сокращения:
- последовательности `0000` можно сжать в `::` (один раз в адресе)
- одиночный `0000` → `0`
- ведущие нули в блоке можно опускать: `0007` → `7`

## Типы одноадресной рассылки (unicast)
- **Global Unicast** — глобально маршрутизируемые адреса (аналог публичных IPv4).
- **Unique Local** — локальные адреса (похоже на приватные IPv4).

Полезные префиксы (как “якоря”):
- `FD..` — Unique Local
- `FE80..` — Link‑Local
- `FF..` — Multicast

## Префиксы и /64 практика
Типовой шаблон:
- провайдер выдаёт, например, `/48`
- внутри сети почти всегда режут на подсети **/64**

Интуиция:
- первые биты — **prefix** (маршрутизация/подсети)
- последние **64 бита** — **interface identifier** (аналог host‑части)

Связанные узлы: [[Networking—MOC]], [[Networking—NAT (one-screen)]], [[01 Library/04 Networking/VLSM|VLSM]].
