Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆
      1. Адресация в iPv6

При разработке протокола IP не предусматривалось столь широкое его распространение и адресов стало не хватать. Для решения этой и со­путствующих проблем был разработан протокол IPv6. IPv6-адрес запи­сывается в восемь блоков по 16 бит (всего128 бит) каждый, например, 2001:0 da8: 65b4: 05d3: 1315:7 C1F: 0461:7847. Преимуществом IPv6, по­мимо огромного количества IP-адресов, является возможность включать автоматическую настройку IP-адреса устройства, используя его MAC-адрес. Другие преимущества - упрощение переключения корпоративной сети между провайдерами, быстрый маршрут, точка-точка шифрование.

Существуют три типа адресов IPv6: одноадресные (Unicast), группо­вые (Anycast) и многоадресные (Multicast). Адреса Anycast могут исполь­зоваться только маршрутизаторами. Адреса Multicast идентифицируют группу интерфейсов для многоадресного вещания.

Рассмотрим подробнее типы Unicast-адресов. Глобальные адреса соответствуют публичным IPv4-адресам. Интернет - регистраторы сейчас распределяют блок адресов 2000::/3. Link-Local соответствуют автосконфигурированным IPv4-адресам и начинаются с FE80. Unique-Local соответствуют внутренним IPv4 адресам и начинаются с цифр FC00.

Адреса IPv6 отображаются группами по четыре шестнадцатеричные цифры, разделенными двоеточием. Пример адреса:

2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d

Если одна или более групп подряд равны 0000, они могут быть опущены и заменены на двойное двоеточие (::). Например, адрес многоадресной рассылки FF02:0000:0000:0000:0000:0000:0000: 0002 после применения данного правила примет вид FF02::2. Еще один способ записи заключается в удалении начальных нулей в каждом 16-битном блоке, например: 1DA:D3:0:2F3B:2AA:FF:FE28:9C5A.

IPv6-адрес де­лится на три части: 1) глобальный префикс (Global Routing Prefix) – аналогичен идентификатору сети (Network ID) в IPv4 и присваивается провайдерам. Определяется он тремя первыми блоками; 2) идентификатор подсети (Subnet ID) – представлен четвертым блоком и похож на идентификатор подсети (Subnet ID) в IPv4; 3) идентификатор интерфейса (Interface ID) – определяет уникальный адрес хоста сети.

Существует несколько способов построения 64-битного идентифи­катора интерфейса: он может быть настроен вручную, определен DCHP-сервером или получен путем преобразования MAC-адреса сетевой карты. Вместо маски в IPv6 указывается префикс – количество бит, которые оп­ределяют блоки, отвечающие за Global Routing Prefix. Пишется префикс через косую черту после самого адреса, например: 2001:0f68:0000:0000:0000:0000:1986:69af/48. Поскольку пре­фикс (/48) указывает на первые 48 бит, то 2001:0f68:0000 будет являться частью глобального префикса. Следующее поле, 0000, указывает на идентификатор подсети. Оставшиеся блоки 0000:0000:1986:69af – это идентификатор интерфейса.(Рис 1.2)

Рисунок 1.2. Схема IPv6-адреса (Global Unicast)

Link Local Unicast – уникальный IP-адрес, автоматически получаемый хостом вне зависимости от наличия в сети маршрутизаторов и DHCPv6-серверов. Генерируется адрес довольно просто. Глобальный префикс изначально определен (fe80) и занимает лишь первые 10 бит адреса. Так как префикс стал короче (по сравнению с Global unicast-адресом), то пространство, отведенное под идентификатор подсети, увеличилось с 16 бит до 54 бит. А поскольку адрес LLU создан только для локальной сети, то данные биты не используются и выражаются нулями. Оставшиеся 64 бит (идентификатор интерфейса) получаются путем несложного преобразования 48-битного MAC-адреса компьютера (рис. 1.3).

Рисунок 1.3. Схема IPv6-адреса (Link Local Unicast)

Пример такого преобразования: узел A имеет MAC-адрес Ethernet 00-AA-00-3F-2A-1C. Сначала этот адрес преобразуется в формат EUI-64 путем вставки разрядов FF-FE между третьим и четвертым байтами: 00-AA-00-FF-FE-3F-2A-1C. Затем инвертируется бит U/L (седьмой бит в первом байте). Первый байт в двоичной форме имеет вид 00000000.

При инвертировании седьмого бита он принимает вид 00000010 (0x02). Конечный результат, 02-AA-00-FF-FE-3F-2A-1C, после преобразования в двухточечно-шестнадцатеричную нотацию становится идентификатором интерфейса: 2AA:FF:FE3F:2A1C. Таким образом, сетевому адаптеру с MAC-адресом 00-AA-00-3F-2A-1C соответствует адрес локальной связи FE80:: 2AA:FF:FE3F:2A1C.

Передача данных внутри локальной сети осуществляется с использованием Link Local Unicast даже при наличии сконфигурированного Global Unicast-адреса. Unique Local Unicast идеологически напоминает IPv4-адрес из зарезервированных диапазонов (10.0.0.0/8 или 192.168.0.0/24). Они также предназначены для работы в сетях, напрямую не связанных с Интернетом. Global Routing Prefix определяется первыми 8 бит и уже изначально задан (FD00::/8). Следующие 40 бит формируют Global ID – уникальный идентификатор, который представляет организацию. Он должен быть случайным, чтобы минимизировать возможность совпадения с другими организациями. Такая уникальность позволит объединить сети и настроить маршрутизацию без их переконфигурирования. Еще 16 бит дают возможность создать 65536 подсетей и настроить маршрутизацию для внутреннего использования.

Ну и наконец, последние 64 бит отданы под идентификатор интерфейса (рис. 1.4.).

Рисунок 1.4. Схема IPv6-адреса (Unique Local Unicast)

Одна из задач разработчиков протокола IPv6 состояла в предоставлении возможности автоконфигурирования интерфейсов. Важно понимать, что один интерфейс может иметь множество различных адресов IPv6. Таким образом, интерфейс может одновременно иметь Link Local и Global IPv6-адреса.

Процесс автоконфигурации начинается с получения Link Local-адреса, проверки его уникальности и определения того, какая информация должна быть получена автоматически (адреса, дополнительные параметры или и то, и другое). В случае если надо автоматически получить адрес, то через какой механизм ему нужно придать правильную конфигурацию: stateless или stateful? Механизм stateless требует минимального конфигурирования маршрутизатора, при этом дополнительные серверы не нужны. При stateless-механизме хост генерирует собственный адрес из локальной информации (MAC-адрес) и информации, предоставленной маршрутизатором. Маршрутизатор объявляет префикс, идентифицирующий подсеть, а хост использует уникальный идентификатор интерфейса. При их соединении хост получает адрес IPv6. В отсутствии маршрутизатора хост может сформировать только Link Local-адрес. Однако даже такой адрес дает ему возможность работать с машинами, находящимися в его подсети. Автоконфигурирование по механизму stateful производится с помощью DHCPv6. В случае stateful хост получает адрес интерфейса и другую информацию с сервера. Администратор сети может определить, какой способ будет использоваться при помощи специальных ICMPv6-сообщений. Механизм может использоваться, когда точные адреса непринципиальны, а stateful – когда требуется выдача конкретных адресов конкретным хостам.

При использовании IPv6-адреса в URL необходимо заключать адрес в квадратные скобки. Порт пишется после скобок:

http://[2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d]:8080/