Ipv6 — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Архитектура адресов)
(Архитектура адресов)
Строка 62: Строка 62:
  
 
Где:
 
Где:
* Префикс - fc00::/7 для идентификации локальных ipv6 адресов
+
* '''Префикс''' - <code>fc00::/7</code> для идентификации локальных ipv6 адресов
* L - бит установленный в значение <code>1</code> указывает, что адрес присвоен локально. Значение <code>0</code> зарезервированно для будущего использования.
+
* '''L''' - бит установленный в значение <code>1</code> указывает, что адрес присвоен локально. Значение <code>0</code> зарезервированно для будущего использования.
* Глобальный идентификатор - 40 битный префикс используемый для создания глобально уникальный префикс
+
* '''Глобальный идентификатор''' - 40 битный префикс используемый для создания глобально уникальный префикс
* Идентификатор подстети - 16 битный идентификатор подсети
+
* '''Идентификатор подстети''' - 16 битный идентификатор подсети
* Идентификатор интерфейса - 64 битный идентификатор интерфейса.
+
* '''Идентификатор интерфейса''' - 64 битный идентификатор интерфейса.
  
 
==== Специальные адресы ====
 
==== Специальные адресы ====

Версия 16:36, 6 декабря 2017

Конфигурирование ipv6

Предварительные требования

  • Две виртуальная машины с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion

Общая информация и терминология

Адрес состоит из 8 блоков (хекстетов) шестнадцатеричных чисел. Каждый блок (хекстет) состоит из 4 символов, например:

2001:0db8:0070:0000:0000:0000:0000:7777/32

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

  • Старшие нули в блоках можно опустить. Например:
2001:0db8:70:0000:0000:0000:0000:7777/32
  • Если нули в блоках расположены последовательно, в записи их можно опустить (Zero Compression) вставив два двоеточия :. Но только один раз, дабы не возникло неоднозначности. Например:
2001:0db8:70::7777/32

Методы доставки информации

  • Unicast - от одного источника, к одному получателю. Получатели могут быть следующими:
  1. Global Unicast Addresses - адреса маршрутизируемые в сети Internet (аналог публичного диапазона ipv4), находящиеся в диапазоне от 2066::/16 до 3fff::/16
  2. Unique-Local Addresses - адреса не маршрутизируемые в стети Internet (приблизительный аналог частного диапазона ipv4), находящиеся в пространстве fc00::/7
  3. Link-local Addresses - адреса не маршрутизируемые в стети Internet, необходимые для автоконфигурирования устройств (аналог APIPA в ipv4), находящиеся в пространстве fe80::/10
  • Multicast - от одного источника, к нескольким получателям. В ipv6 также является заменой broadcast'y. Для получения пакетов в мультикасте, необходимо быть включенным в специальную группу. Те интерфейсы, которые не включены в группу - игнорируют мультикаст пакеты.
  • Anycast - множеству интерфейсов присваивается один ip адрес. При этом эникаст пакеты получает "ближайший" получатель, согласно метрике маршрута.


Архитектура адресов

Юникаст адресы формируются следующим образом:

n бит 128 бит
префикс подсети идентификатор интерфейса

Global Unicast Addresses формируются по следующей схеме:

n бит m бит 128-n-m бит
глобальный префикс маршрутизации идентификатор подсети идентификатор интерфейса

Все глобальные юникаст адреса, имеющие первые биты, отличные от 0000, имеют 64 битное поле идентификатора интерфейса. Глобальные юникаст адреса начинающиеся с 0000 не имеют ограничений на размер или структуру поля идентификатора интерфейса

Local IPv6 Unicast Addresses формируются по следующей схеме:

7 бит 1 бит 40 бит 16 бит 64 бита
префикс L глобальный идентификатор идентификатор подсети идентификатор интерфейса

Где:

  • Префикс - fc00::/7 для идентификации локальных ipv6 адресов
  • L - бит установленный в значение 1 указывает, что адрес присвоен локально. Значение 0 зарезервированно для будущего использования.
  • Глобальный идентификатор - 40 битный префикс используемый для создания глобально уникальный префикс
  • Идентификатор подстети - 16 битный идентификатор подсети
  • Идентификатор интерфейса - 64 битный идентификатор интерфейса.

Специальные адресы

  1. 0:0:0:0:0:0:0:0 - называется неопределенным адресом, то есть отражает отсутствие адреса как такового, поэтому никогда не должен присваиваться. Пакет с таким адресом не подлежит маршрутизации и не должен использоваться в качестве адреса получателя.
  2. 0:0:0:0:0:0:0:1 - петлевой адрес. Может использоваться любой нодой для того, что бы отправить пакет самому себе. Пакет с таким адресом в качестве источника или получателя не должен уходить за пределы ноды, в противном случае - он должен быть отброшен.

Зарезервированные диапазоны

Согласно перечню специальных адресов IANA, зарезервированны следующие диапазоны:

Диапазон Описание RFC
 ::/128 Неопределенный адрес (эквивалентен 0.0.0.0) rfc4291
 ::1/128 Loopback Address (эквивалентен 127.0.0.1/8) rfc4291
 ::ffff:0:0/96 IPv4-mapped Address rfc4291
64:ff9b::/96 IPv4-IPv6 Translat. rfc6052
64:ff9b:1::/48 IPv4-IPv6 Translat. rfc8215
100::/64 Discard-Only Address Block rfc6666
2001::/23 IETF Protocol Assignments rfc2928
2001::/32 TEREDO rfc4380, rfc8190
2001:1::1/128 Port Control Protocol Anycast rfc7723
2001:1::2/128 Traversal Using Relays around NAT Anycast rfc8155
2001:2::/48 Benchmarking rfc5180, RFC Errata 1752
2001:3::/32 AMT rfc7450
2001:4:112::/48 AS112-v6 rfc7535
2001:5::/32 EID Space for LISP (Managed by RIPE NCC) rfc7954
2001:10::/28 Deprecated (previously ORCHID) rfc4843
2001:20::/28 ORCHIDv2 rfc7343
2001:db8::/32 Для использования в документации rfc3849
2002::/16 6to4 rfc3056
2620:4f:8000::/48 Direct Delegation AS112 Service rfc7534
fc00::/7 Unique-Local (эквивалент частным, не маршрутизируемым в интернет сетям в ipv4) rfc4193, rfc8190
fe80::/10 Link-Local Unicast (аналог APIPA) rfc4291

Ссылки

IANA IPv6 Special-Purpose Address Registry