На главную

Введение в сети IPv6

С развитием Интернет и ввиду постепенного исчерпания адресного пространства IPv4 потребовались решения для его оптимизации. Применение механизма NAT стало временным решением проблемы, однако необходимы были долгосрочные концепции. Многообещающая новая схема адресации по протоколу IPv6 призвана обеспечить на многие года сети следующего поколения. Переход на полную архитектуру IPv6 — шаг прогрессивный, но требующий серьезного пересмотра многих протоколов и приложений, а также стандартов. Архитектура IPv6 нацелена на устранение многих ограничений, имеющихся в текущем наборе протоколов TCP/IP, в первую очередь это касается комплексных мер безопасности и оптимизации работы протоколов для уменьшения объема передаваемой служебной информации. Поскольку IPv6 продолжает развиваться и становится неотъемлемой частью корпоративной сети, ИТ-специалистам крайне необходимы глубокие знания этой архитектуры.

По окончании этого модуля слушатели смогут:

Объяснить характеристики IPv6.

Объяснить формат адреса IPv6 и типы адресации.

Описать процесс автоматической настройки адреса IPv6 без сохранения состояния.

Адресация в IPv6

Длина адреса протокола IPv6 составляет 128 бит, что в четыре раза больше той, которая была в IPv4. Количество адресов IPv6 огромно и составляет 2 128 ≈3,4•10 38 . Сам адрес протокола IPv6 можно разделить на две части: префикс и адрес хоста, который ещё называют идентификатором интерфейса. Такое деление очень похоже на то, что использовалось в IPv4 при бесклассовой маршрутизации.

Адреса в IPv6 записываются в шестнадцатеричной форме, каждая группа из четырёх цифр отделяется двоеточием. Например, 2001:1111:2222:3333:4444:5555:6666:7777. Маска указывается через слеш, то есть, например, /64. В адресе протокола IPv6 могут встречаться длинные последовательности нулей, поэтому предусмотрена сокращённая запись адреса. Во-первых, могут не записываться начальные нули каждой группы цифр, то есть вместо адреса 2001:0001:0002:0003:0004:0005:0006:7000 можно записать 2001:1:2:3:4:5:6:7000. Конечные нули при этом не удаляются. В случае, когда группа цифр в адресе (или несколько групп подряд) содержит только нули, она может быть заменена на двойное двоеточие. Например, вместо адреса 2001:1:0:0:0:0:0:1 может использоваться сокращённая запись вида 2001:1::1. Стоит отметить, что сократить адрес таким образом можно только один раз. Ниже приводятся правильные и неправильные формы записи IPv6 адресов.

Правильная запись.

Ошибочная форма.

Забавные сокращения.

Однако не все адреса протокола IPv6 могут быть назначены узлам в глобальной сети. Существует несколько зарезервированных диапазонов и типов адресов. Адрес IPv6 может относиться к одному из трёх следующих типов.

Адреса Unicast очень похожи на аналогичные адреса протокола IPv4, они могут назначаться интерфейсам сетевых устройств, серверам и хостам конечных пользователей. Групповые или Multicast адреса предназначены для доставки пакетов сразу нескольким получателям, входящим в группу. При использовании Anycast адресов данные будут получены ближайшим узлом, которому назначен такой адрес. Стоит обратить особое внимание на то, что в списке поддерживаемых протоколом IPv6 адресов отсутствуют широковещательные адреса. Даже среди Unicast адресов существует более мелкое дробление на типы.

  • Link local
  • Global unicast
  • Unique local

Адреса, относящиеся к группе Unique local, описаны в RFC 4193 и по своему назначению очень похожи на приватные адреса протокола IPv4, описанные в RFC 1918. Адреса группы Link local предназначены для передачи информации между устройствами, подключёнными к одной L2-сети. Большинство адресов из диапазона Global unicast могут быть назначены интерфейсам конкретных сетевых узлов. Список зарезервированных адресов представлен ниже.

IPv6 адрес Длина префикса Описание Заметки
:: 128 Аналог 0.0.0.0 в IPv4
::1 128 Loopback Аналог 127.0.0.1 в IPv4
::xx.xx.xx.xx 96 Встроенный IPv4 IPv4 совместимый. Устарел, не используется
::ffff:xx.xx.xx.xx 96 IPv4, отображённый на IPv6 Для хостов, не поддерживающих IPv6
2001:db8:: 32 Документирование Зарезервирован для примеров. RFC 3849
fe80:: — febf:: 10 Link-Local Аналог 169.254.0.0/16 в IPv4
fec0:: — feff:: 10 Site-Local Аналог сетей 10.0.0.0, 172.16.0.0, 192.168.0.0. RFC 3879. Устарел.
fc00:: 7 Unique Local Unicast Пришёл на смену Site-Local. RFC 4193
ffxx:: 8 Multicast

Получение IPv6 адресов

Получение IPv6 адресов немного отличается от IPv4, но в целом все осталось как прежде – запрос/ответ. В IPv6 расширили протокол ICMP и теперь, процедура получения адреса начинается с того, что клиент на multicast-адрес “все роутеры” со своего link-local адреса отправляет ICMPv6-пакет типа Router solicitation (RS), типа – “эй, есть тут кто? дайте адрес”. Если в сети есть роутер – он отвечает ICMPv6-пакетом типа Router advertisement (RA). В этом пакете содержится минимально необходимая информация, с помощью которой клиент сможет настроить свой интерфейс – префикс сети и DNS сервер.

IPv6 Router advertisement

Пакет RA в wireshark:

И тут могут быть два варианта:

Если в пакете RA есть флаг managed, то клиент сам назначает себе IP-адрес из той сети которая указана в RA. В этом случае клиент также будет использовать Duplicate Address Detection (DAD), чтобы удостовериться, что назначенный адрес ни с кем не пересекается.

Если флага нет, то клиент должен пойти на DHCP-сервер и арендовать себе адрес там. В этом случае процедура аналогична IPv4. DHCPv4-request=DHCPv6-solicit, DHCPv4-response=DHCPv6 advertise.

Существует еще вариант быстрого получения адреса, когда клиент в сеть посылает RS, а в ответ уже получает адрес от DHCP-сервера. Такой механизм называется Rapid Commit

После получения global unicast адреса сервер становится доступен по ipv6 из интернета. HTTP (и вообще любой другой протокол более высокго уровны) по IPv6, естественно, никак не отличается от IPv4, просто в пакетах в адресе отправителя/получателя указывается v6 адрес.

Scope

Опять же, формально область действия была и у адресов в IPv4.

Есть link-local адреса. Они обычно известны под кодовым именем «$@#*. Опять DHCP не работает!» и выбираются из диапазона 169.254.0.0/16. Но вообще-то у них есть функции помимо «Дать админу понять, что его DHCP-сервер не выдаёт адреса».

Во-первых, такой адрес может быть автоматически сгенерирован самим устройством. Во-вторых, он вполне подходит для связи внутри сети. Ограничение: он вообще-то не должен маршрутизироваться, ибо link-local.

Кроме них, RFC 1918 задаёт три диапазона приватных адресов: всеми любимый 192.168.0.0/16, большой 10.0.0.0/8 и незаслуженно забываемый 172.16.0.0/12 (т.е. от 172.16.0.0 до 172.31.255.255). Они маршрутизируются, но только в пределах вашей внутренней сети. Для связи в Интернете их использовать нельзя.

Наконец, есть (недостаточно) много уникальных («публичных», «белых») адресов, которые выдаются в пользование организациям и провайдерам и подходят для связи в глобальном масштабе.

Существенное ограничение IPv4: нельзя использовать эти адреса одновременно. Либо link-local, и сиди без связи с другими сетями, либо приватные, но без NAT в Интернет не попасть, или публичные, которые подходят для всего, но нынче в страшном дефиците.

В IPv6 одновременно можно использовать адреса с разной областью действия. Надо постучаться к соседу по сети — используем link-local. Пошли в Интернет — берём глобально-уникальный.

Для узлов предусмотрены три варианта адресов:

  • Link-local. Диапазон FE80::/10. Обязан быть на всех узлах с IPv6. Создаётся узлом самостоятельно (например, по EUI-64), либо можем задать его ручками. Как следует из названия, действует в пределах сегмента, поэтому уникальность требуется только в пределах этого сегмента (как у MAC-адресов, например). Отсюда на разных интерфейсах может быть одинаковым.
  • Unique-local address (ULA). Это аналог «приватных» адресов. Scope — вообще говоря, глобальный (RFC 4193), но в Интернете их маршрутизировать никто не обязан, поэтому в большинстве случаев будут срезаться провайдером, например. Назначать можно по аналогии с адресами 192.168. только теперь их много больше, поэтому вероятность выбрать одинаковые гораздо ниже.

В IPv4 есть одна неприятная ситуация с приватными адресами, когда фирма А покупает фирму Б, и в этих фирмах используется одинаковая сеть (в худшем случае 10.0.0.0/8). Сращивать их — головная боль. Хотя адреса ULA можно брать любые, рекомендуется их генерировать случайным образом и заносить в один из общественных каталогов (например сюда). Это гарантирует очень маленькую вероятность пересечения. Если же вы возьмёте «красивые» адреса ULA, и потом вам придётся сращивать одинаковые сети на пару с другим таким же неудачником админом — сами виноваты.

  • Глобально уникальные адреса. Таких больше всего. Маршрутизируются, уникальны на всей планете, прямой аналог публичных IPv4 адресов.

Ранее существовали т.н. site-local адреса со своей областью действия — одной площадкой (site). Но разработчики IPv6 пришли к выводу, что понятие площадки слишком мутное, и от site-local отказались в пользу ULA.

Кроме общего понятия «область действия», у каждого конкретного адреса на конкретном интерфейсе возникает зона действия. Это часть топологии, на которую распространяется область действия данного адреса с данного интерфейса. Для программистов обычно предлагается такое объяснение: область действия — это абстрактный класс, а зона действия — экземпляр класса. Например, у link-local-адреса на интерфейсе Fa0/0 зоной действия будет сегмент сети, подключенный к интерфейсу Fa0/0.

Границы зон проходят по узлам. Отсюда link-local адреса на разных интерфейсах маршрутизатора будут лежать в разных зонах.

image

Визуализировать области действия и зоны действия поможет картинка:

Побочный эффект: возникает двусмысленность. Если мы говорим «Отправь пакет на FE80::101», то встречный вопрос будет «На который из интерфейсов?», потому что данный адрес может быть на любом из интерфейсов. Поэтому для link-local адресов обязательно уточняется интерфейс, который будет использоваться. В Windows используется записи вида FE80::1%5, где после символа «%» идёт ID интерфейса. В Linux применяется название (FE80::1%eth0).

Зарезервированные IPv6 адреса

В этом разделе рассмотрим диапазоны IPv6 адресов для целевого назначения, чтобы мы могли сразу отфильтровывать их из многочисленных IPv6 адресов сетевых интерфейсов.

У IP также есть зарезервированные диапазоны адресов: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8, 100.64.0.0/10 и ещё несколько, полный список найдёте здесь.

Специальные диапазоны IPv6 адресов также имеются. Рассмотрим таблицу «Специальные блоки адресов IPv6»:

Блок адресов (CIDR) Первый адрес Последний адрес Количество адресов Использование Цель
::/0 :: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 128 Маршрутизация Маршрут по умолчанию. Смотрите 0.0.0.0 в IPv4.
::/128 :: 1 Программное обеспечение Неопределённый адрес.
::1/128 ::1 1 Хост Петлевой (Loopback) адрес на локальный хост. Смотрите 127.0.0.0/8 в IPv4
::ffff:0:0/96 ::ffff:0.0.0.0 ::ffff:255.255.255.255 2 128−96 = 2 32 = 4294967296 Программное обеспечение IPv4 mapped addresses. Встроенный IPv4. Нижние 32 бита это адрес IPv4. Также называется IPv4-совместимым IPv6 адресом. Устарел и больше не используется.
::ffff:0:0:0/96 ::ffff:0:0.0.0.0 ::ffff:0:255.255.255.255 2 32 Программное обеспечение IPv4 translated addresses. Адрес IPv4, отображённый на IPv6. Нижние 32 бита — это адрес IPv4 для хостов, не поддерживающих IPv6.
64:ff9b::/96 64:ff9b::0.0.0.0 64:ff9b::255.255.255.255 2 32 Глобальный Интернет IPv4/IPv6 translation. Зарезервирован для доступа из подсети IPv6 к публичной сети IPv4 через механизм трансляции NAT64
100::/64 100:: 100::ffff:ffff:ffff:ffff 2 64 Маршрутизация Discard prefix.
2001::/32 2001:: 2001::ffff:ffff:ffff:ffff:ffff:ffff 2 96 Глобальный Интернет Зарезервирован для туннелей Teredo в RFC 4380
2001:20::/28 2001:20:: 2001:2f:ffff:ffff:ffff:ffff:ffff:ffff 2 100 Программное обеспечение ORCHIDv2.
2001:db8::/32 2001:db8:: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff 2 96 Документация Адреса для использования в документации и примерах исходного кода.
2002::/16 2002:: 2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 112 Глобальный Интернет Зарезервирован для туннелей 6to4 в RFC 3056 (устарело).
fec0:/10 feff:: fec0:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 118 Site-local (Частные сети)) Помечен как устаревший в RFC 3879 (Аналог внутренних сетей 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16)
fc00::/7 fc00:: fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 121 Частные сети Уникальные локальные адреса. Диапазон пришёл на смену Site-Local
fe80::/10 fe80:: febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 118 Link Link-local address. Аналог 169.254.0.0/16 в IPv4
ff00::/8 ff00:: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff 2 120 Глобальный Интернет Многоадресные адреса

Как видно из таблицы, адреса, которые начинаются на нули или на f — являются локальными, либо предназначены для конкретных целей.

Основные отличия протоколов IPv4 и IPv6

Как уже было сказано, ключевым недостатком протокола четвертой версии TCP/IPv4 является ограниченная масштабируемость уникальных адресов, присваиваемых для идентификации в сетях взаимодействия. Для создания ip-адресов на уровне программных записей используется 32-х битная система в формате 0.0.0.0 – 255.255.255.255. При построении локальных подсетей вводится дополнительный атрибут «маска подсети», записываемая после символа «/». В результате даже крупные ЛВС, объединенные в Ethernet, чаще всего имеют один публичный ip-адрес, выдаваемый провайдером и закрепленный на уровне шлюза (маршрутизатора). Самостоятельный обмен данными на уровне отдельных устройств частной подсети с выходом в паблик-интернет требует сложного администрирования. Для решения задач маршрутизации, требующих получения статических IP-адресов, понадобятся дополнительные финансовые затраты.

В интернет-протоколе нового поколения IPv6 для создания адресной маршрутизации используется 128-битная система записи. В IPv6-адресе записи представляют собой восемь 16-битных блоков, разделенных двоеточиями: 2dfc:0:0:0:0217:cbff:fe8c:0. Общее количество ip-адресов, возможных для распределения, может составить в общей сложности 2 128 ( приблизительно 340 282 366 920 938 000 000 000 000 000 000 000 000). Повсеместное использование данного стандарта позволит полностью решить задачу нехватки сетевых адресов в обозримом будущем.

С целью упрощения записи адреса в протоколе IPv6 используется вариант сжатия кода, когда смежные последовательности нулевых блоков заменяются парами символов двоеточия. Например, адрес групповой рассылки FFEA:0:0:0:0:CA28:1012:4254 в сжатой форме будет представлен в укороченном виде FFEA::CA28:1012:4254. Данный механизм упрощает процесс записи, хранения и обработки кода.

По правилам протокола IPv6 назначение сетевых адресов происходит автоматически и уникализируется за счет идентификации на уровне MAC-адреса конкретной единицы оборудования, для которой необходим выход в публичную сеть. Другими словами, каждый домашний компьютер, смартфон, холодильник или стиральная машина с функцией подключения к внешним устройствам получает собственный «белый» ip-адрес для коннекта с другими хостами через интернет. Доступна также произвольная генерация кодов путем администрирования с использованием маршрутизаторов.

VDS Timeweb арендовать

Впечатляет минимальный диапазон адресов подсети, получаемых пользователем при подключении по протоколу IPv6. Например, при использовании маски подсети «/128» получаем более 2 56 адресов.

Спорным является вопрос отличия в скорости передачи трафика по каждому из протоколов. По умолчанию технология протокола IPv6 обеспечивает большую скорость обработки трафика на уровне отдельного оборудования сети в целом. Использование NAT в протоколе IPv4, который обеспечивает трансляцию адресов абонентов и хранение в памяти информации об установленных соединениях, приводит к большой загрузке оборудования. Поэтому в моменты пиковой нагрузки каждый пользователь отмечает резкое падение скорости соединения.

В протоколе IPv6 не применяется обязательная обработка пакетов и отслеживание уже открытых соединений при маршрутизации доступа к хостам. Отсутствие необходимости трансляции значительно снижает ресурсную нагрузку на сетевые устройства. Для пользователя это означает выравнивание скорости интернет-соединения. Провайдеры в такой ситуации могут использовать менее ресурсоемкое, а значит, более дешевое оборудование.

Как выглядит IPv6

Итак, длина адреса IPv6 – 128 бит. Запись такого адреса представляет собой восемь групп, каждая из которых состоит из четырёх цифр в шестнадцатеричном формате. Такие шестнадцатеричные группы (гекстеты) разделяются друг от друга при помощи двоеточия. Пример написание адреса IPv6 выглядит так:

В написании IP-адреса шестой версии существуют несколько общепринятых правил:

  • Во-первых, в текстовом представлении адреса договорились опускать начальные нули. То есть, группу, которая выглядит 04fd , принято записывать как 4fd , а группу 0003 – как 3 . Например, адрес

при применении данного правила будет выглядеть как

  • Во-вторых, двойным двоеточием ( :: ) принять заменять одну или несколько идущих подряд групп, содержащих одни нули. Например,

можно записать как

или, написание адреса

можно сократить до

Второе правило сокращения можно использовать в адресе только один раз, иначе возникнет неоднозначность в его написании.

Ну и плюс к этому, в текстовом представлении IPv6 общепринято использовать строчные латинские символы, а не заглавные.

В браузере при использовании IPv6 в URL необходимо помещать адрес в квадратные скобки, например:

А при необходимости указать номер порта, его ставят после квадратных скобок через двоеточие:

Определение Префикса:

Пример:

от 2001:0DB8:BC15:0600:0000

до 2001:0DB8:BC15:0FFF:0000

Общая часть: 2001:0DB8:BC15:0

один символ равен 4 битам всего общих 13, 4*13=52

Префикс будет равен 52.

ipv6

раздел Subnet будет указывать на каждый сегмент сети, разделённый маршрутизаторами. Какого максимального количества подсетей можно добиться для одного фиксированного значения Sub-site?

Поскольку только один шестнадцатеричный символ используется для представления подсети, этот символ может включать 16 различных значений от 0 до F.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector