9.3 KiB
status, type, tags, created, updated, aliases
| status | type | tags | created | updated | aliases | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| stable | concept |
|
2025-12-17 | 2026-05-07 |
|
IPv6
При использовании IPv4 с 4 миллиардами адресов, в какой-то момент очевидно столкнулись с проблемой их нехватки. Даже создание PAT и использование локальной адресации не сильно спасло ситуацию.
Решением проблемы стало изобретение IP версии 6, где используется не 32 бита для кодирования адреса, а 128, при этом, увеличение количества бит на единицу, увеличивает кол-во доступных адресов ровно в два раза, следовательно, для 128 бит вакантных адресов примерно...
\large 340\ 282\ 366\ 920\ 938\ 463\ 463\ 374\ 607\ 431\ 768\ 211\ 456
Это много, даже очень.
IPv5 А что случилось с IPv5? Хороший вопрос ... IP-версия 5 была использована для экспериментального проекта под названием "Протокол интернет-потока". Он определен в RFC, если вас интересуют исторические причины: http://www.faqs.org/rfcs/rfc1819.html
Отличия IPv4 И IPv6
В чем же основная проблема перехода на IPv6? А в том, что нет совместимости протоколов для IPv4 и новых поколений.
- OSPF был обновлен с 2 (IPv4) до 3 (IPv6) версии.
- ICMP был обновлен до ICMP 6.
- ARP был заменен на NDP (Neighborhood Discovery Protocol).
Вместо того чтобы уже добавлять все поля в заголовок, заголовок IPv6 использует "следующий заголовок", который ссылается на необязательные заголовки. Поскольку заголовок намного проще, маршрутизаторам придется выполнять меньше работы.
Маршрутизация тоже сильно поменялась при переходе на новую версию:
- RIP -> RIPng (RIP Next Generation)
- BGP (Border Gateway Protocol) - протокол, объединяющий интернет вместе. MP-BGP - Multi-Protocol BGP, он может маршрутизировать IPv6. EIGRP также поддерживает IPv6.
Надо учитывать, что даже при условии поддержки OSPF и EIGRP адресации обоих версий, это два разных протокола. Из этого следует, что сначала надо поднять протокол для одной версии, а потом для другой. Использование двух версий IP называется двойным стеком.
Поскольку эти два протокола несовместимы, в будущем будет происходить переход с IPv4 на IPv6. Это означает, что вы будете запускать оба протокола в своей сети и, возможно, однажды вы сможете отключить IPv4, так как весь интернет будет настроен на IPv6.
Формат IPv6
2041:0000:140F:0000:0000:0000:875B:131B
Он сильно длиннее, чем IPv4, состоит из 8 частей, каждая часть состоит из 4 шестнадцатиричных чисел.
Таблица перевода шестнадцатиричных чисел в двоичные
Существуют некоторые правила, позволяющие упростить работу с адресами:
- Если есть несколько частей с нулями, то их можно убрать, заменив на
::2041:0000:140F:0000:0000:0000:875B:131B->2041: 0000:140F:: 875B:131B - Если есть одиночный блок с нулями, то можно его заменить на один ноль
2041: 0000:140F:: 875B:131B->2041:0:140F:: 875B:131B - При наличии в блоке значащих чисел и нулями перед ними, нули можно опустить
2001:0001:0002:0003:0004:0005:0006:0007->2001:1:2:3:4:5:6:7
При использовании IPv4 и нехватке адресов, люди начали адаптироваться, придумав частные сети и VLSM (сегментацию сети), использовали NAT и так далее. При переходе на IPv6 такой проблемы уже не будет, т.к. пула доступных адресов будет достаточно для снабжения адресами нескольких планет, таких, как Земля. Протокол IPv6 предлагает два варианта для одноадресной рассылки:
- Global Unicast
- Unique Local
Ранее, как отголосок IPv4 существовал третий диапазон адресов "site local", который начинался с FEC0::/10. Он предназначался для использования во внутренних сетях (аналог 192.168.0.0/24), но был удален из стандарта IPv6.
Global Unicast передачи похожи на публичные IPv4 адреса. Каждая компания, желающая подключится к интернету, получает пул адресов, которые они, на своё усмотрение, делят на более мелкие префиксы, чтобы все устройства сети поулчили IPv6 адрес, притом уникальный во всем мире. Зарезервированный блорк называется префиксом глобальной маршрутизации.
Получение Префиксов
- IANA отвечает за распределение всех префиксов IPv6. Они будут назначать реестрам разные блоки, которыми будут управлять региональные компании.
- ISP, попадлающие под реестр региональной компании, заправшивает блок IPv6. Они получают свой пул адресов, которые могут распределять между провайдерами. !
Некоторые префиксы FD: Unique Local FF: Multicast FE80: Link-Local
Local И Link-Local
После получения клиентом от провайдера префикса, например, 2001: 828:105:: / 48, необходимо его разбить на подсети для различных VLAN и point-to-point соединений, которые могут быть. Поскольку адресное пространство настолько велико, все используют префикс /64 для подсетей. Не имеет смысла брать меньшие подсети. Когда мы используем IPv4, мы вынуждены, для подсетей, дробить хостовую часть!
Тогда, у нас, в целом, будет меньше хостов на подсеть.
В IPv6 такой проблемы нет:
Префикс Global Routing был назначен провайдером. Последние 64 бита называются идентификатором интерфейса, это эквивалетно части хоста в IPv4.
Путем несложно математики, получается, что у нас 16 бит на подсети, а это около 65536 подсетей (как правило, этого более чем достаточно). В этой же схеме, на хосты в каждой подсети отводится около 18 квинтиллионов хостов.
Если клиент получил префикс 2001: 828: 105:: / 48, то он может создать такие подсети:
- 2001:828:105:0000::/64;
- 2001:828:105:0001::/64;
- 2001:828:105:0002::/64;
- 2001:828:105:0003::/64;
- 2001:828:105:0004::/64;
- 2001:828:105:0005::/64;
- 2001:828:105:0006::/64;
- 2001:828:105:0007::/64;
- 2001:828:105:0008::/64;
- 2001:828:105:0009::/64;
- 2001:828:105:000A::/64;
- 2001:828:105:000B::/64;
- 2001:828:105:000C::/64;
- 2001:828:105:000D::/64;
- 2001:828:105:000E::/64;
- 2001:828:105:000F::/64;
- 2001:828:105:0010::/64;
- 2001:828:105:0011::/64;
- 2001:828:105:0012::/64;
- 2001:828:105:0013::/64;
- 2001:828:105:0014::/64;
...