69569

IPv6

Лекция

Информатика, кибернетика и программирование

ак известно, возникновение и первоначальное развитие протокола IP (Internet Protocol) осуществлялось в рамках первых исследовательских сетей начала 70-х годов, однако со временем IP превратился в основной протокол сетевого уровня. На сегодняшний день размер глобальной IP-сети...

Русский

2014-10-06

2.05 MB

2 чел.

3Урок 15

IPv6

Как известно, возникновение и первоначальное развитие протокола IP (Internet Protocol) осуществлялось в рамках первых исследовательских сетей начала 70-х годов, однако со временем IP превратился в основной протокол сетевого уровня. На сегодняшний день размер глобальной IP-сети  достиг такого размера, что стали проявляться те фундаментальные ограничения, которые были заложены при разработке основ IP-протокола на этапе его создания, когда общее количество узлов составляло всего несколько десятков. В 70-е годы рост Сети был приблизительно линейным, и если бы такие темпы сохранились, то сейчас Интернет насчитывал бы не более 1000 узлов. Однако в первой половине 80-х линейный характер роста постепенно сменяется экспоненциальным. Действительно, в 1981 году в Сети насчитывалось всего около 200 узлов, а по состоянию на март 2000 года – более 75 млн. Но еще раньше, в конце 80-х 20-го века стало очевидно, что 32-разрядные адреса IPv4 рано или поздно потребуют замены. Но только в начале 90-х были предприняты первые шаги для решения этой проблемы.

В июне 1992 года сообщество Internet встретилось в Кобе, Япония, и выдвинуло три предложения относительно нового протокола IP. К декабрю того же года число предложений достигло семи, и Internet Engineering Steering Group (IESG), подкомитет IETF, организовал директорат, который так и назвали - IPng (IP next generation) Directorate, для рассмотрения новых предложений относительно IP и подготовки рекомендаций. "Рекомендации по протоколу IP следующего поколения", содержащиеся в RFC 1752, были опубликованы в январе 1995 года. После этого, определенный IESG новый IP стал называться, как IP версия 6 - номер 5 уже был занят параллельно разрабатываемым экспериментальным протоколом для передачи данных в реальном времени. Таким образом, протокол IPng известен теперь как IPv6, а не как IPv5. Протокол IPv6 проектировался как преемник IPv4. Все, что в IPv4 было хорошо, должно остаться. Все, что не использовалось на практике, должно быть удалено. Недостатки, естественно, должны быть исправлены, при необходимости функциональность IP должна быть расширена.

При разработке нового протокола были учтены следующие недостатки IPv4:

  •  Недостаточность объема 32-битного адресного пространства в виду экспоненциального увеличения Интернет, наблюдаемого в последнее время, и предстоящей нехватки адресного пространства протокола IPv4. Адреса IPv4 становятся относительно дефицитными, что заставляет некоторые организации использовать преобразование сетевых адресов (NAT) для сопоставления нескольких локальных адресов одному глобальному IP-адресу. Хотя преобразование локальных IP адресов позволяет решить проблему нехватки глобальных IP адресов, данное решение не обеспечивает правильное сопоставление всех протоколов более высокого уровня. Это может создавать трудности при сетевом взаимодействии двух организаций, использующих трансляцию пространства локальных адресов.

Кроме того, возрастающее количество устройств и оборудование, подключаемого к Интернет, увеличивает дефицит в пространстве общедоступных адресов IPv4.

  •  Сложность агрегирования маршрутов. В соответствии с механизмом распределения сетевых адресов, действующим по настоящее время, в таблицах маршрутизации магистральных маршрутизаторов Интернета находится более 70 000 маршрутов. Текущая инфраструктура маршрутизации в Интернете по протоколу IPv4 является сочетанием плоской и иерархической маршрутизации использующей агрегации CIDR. При этом, выданные ранее (до введения CIDR) группы IP адресов усложняют агрегацию, а в большинстве случаев делают ее невозможной.
  •  Сложность массового изменения IP-адресов. В настоящее время в большинстве случаев протоколы IPv4 настраиваются вручную или с помощью протокола настройки адресов, такого как DHCP. При возрастающем количестве компьютеров и устройств, использующих IP-адреса, необходим более простой и автоматизированный способ настройки адресов и других параметров конфигурации, не зависящий от администрирования инфраструктуры DHCP.
  •  Относительная сложность обработки заголовков пакетов IPv4. Как известно, заголовок IP пакета имеет переменную длину и включает в себя несколько полей (например: контрольная сумма, опции) динамически изменяемых при передаче пакета на маршрутизаторе, что снижает производительность работы оборудования и пропускную способность. При повышении скорости передачи до 1 гигабита и выше, данная проблема становится особенно актуальна.
  •  Отсутствие механизма обеспечения безопасности на уровне IP. Конфиденциальное взаимодействие с помощью общедоступных средств, таких как Интернет, требует возможности шифрования, защищающего передаваемые данные от просмотра и изменения. Хотя существует стандарт обеспечения безопасности пакетов IPv4 (называемый безопасностью IP-протокола или IPsec), он не является обязательным; чаще используются иные решения, например VPN тоннелирование. Приведенные примеры технологий обеспечивающих безопасность передаваемых данных, являются не только необязательными, но и ресурсоемкими, т.к. требуют дополнительной вычислительной мощности в местах разбора трафика.   
  •  Отсутствие современного механизма доставки данных в реальном времени. Хотя для протокола IPv4 поддержка передачи трафика в реальном времени зависит от поля типа службы (TOS), данное поле имеет ограниченную функциональность и отсутствие четкой интерпретации значение. Кроме того, определение типа полезных данных пересылаемых внутри IP пакета протоколами TCP или UDP, для установки значений TOS , при использовании шифрования содержимого пакетов IPv4 невозможно.

IPv6 решает потенциальную проблему нехватки IP-адресов посредством использования 128-разрядных адресов вместо 32-разрядных адресов IPv4.  Даже с учетом неэффективности использования адресного пространства, являющейся оборотной стороной эффективной маршрутизации и автоматического конфигурирования, этого достаточно, чтобы обеспечить объединение миллиарда сетей, как того требовали документы IETF. При обсуждении нового протокола, на предварительном этапе, было рассмотрено четыре предложения, касающиеся размера IP-адреса:

- 8 байт (этого в принципе достаточно, а более длинные адреса будут расходовать полосу пропускания);

- 16 байт (эта "золотая середина" в итоге победила);

- 20 байт (для унификации с OSI-сетями);

адреса переменной длины (для снятия всех противоречий).

У каждой группы разработчиков были свои достаточно убедительные аргументы, но выбрать надо было что-то одно, и с этим выбором все, в конце концов, согласились. В IPv6 сохранена топологическая гибкость сетей. Единственное ограничение наложено на число промежуточных маршрутизаторов - не более 255. Также сохранена независимость от среды передачи, упрощена структура заголовка, ликвидировано контрольное суммирование заголовка, обеспечена возможность простого автоматического конфигурирования адресов для сетей произвольного масштаба и сложности.

Средства аутентификации и шифрования вынесены на IP-уровень, это позволяет пользоваться данными средствами другим протоколам, например, управляющим – в результате уменьшается сложность и повышается надежность реализации механизма защиты передаваемых данных в целом. С другой стороны, соединение сетевых и криптографических протоколов способно создать проблемы в странах, где государство жестко контролирует производство и импорт криптосредств. Стандартная реализация стека TCP/IP может рассматриваться как криптосредство со всеми вытекающими отсюда последствиями. В IPv6 явно специфицирована поддержка многоадресной рассылки (multicast). Новой является адресация "наиболее подходящего" сетевого интерфейса из числа членов группы (anycast), позволяющая решить проблему единообразного обращения к элементам пула взаимозаменяемых ресурсов. Для поддержки классов обслуживания в заголовок пакета IPv6 введено поле метки потока. Предусмотрено спецификациями и туннелирование протоколов, осуществляемое в разных сочетаниях (IPv6 внутри/снаружи). Разумеется, IPv6 остался расширяемым протоколом, причем поля расширений (дополнительные заголовки) могут добавляться без снижения эффективности маршрутизации. При разработке протокола, в спецификациях IPv6 был детально описан процесс перехода от IPv4 к IPv6. Важно и то, что с самого начала был запланирован пересмотр всех утвержденных и готовящихся стандартов на предмет выявления изменений, желательных или необходимых при переходе на IPv6. Логическим дополнением базовых спецификаций IPv6 являются новые версии адресной архитектуры, сервиса разрешения имен, управляющего протокола ICMP и т.д.

Таким образом, инновации IPv6 состоят в следующем:

  •  упрощен стандартный заголовок IP-пакета;
  •  изменено представление необязательных полей заголовка;
  •  расширено адресное пространство;
  •  улучшена поддержка иерархической адресации, агрегирования маршрутов и автоматического конфигурирования адресов;
  •  введены механизмы аутентификации и шифрования на уровне IP-пакетов;
  •  введены метки потоков данных.

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

Пакет в IPv6 включает стандартный заголовок, произвольное число дополнительных (необязательных) заголовков, а также "полезную нагрузку" — заголовки и данные протоколов более высоких уровней. Спецификации IPv6 применительно к форматам пакетов определяют три принципиально важных новых аспекта:

- порядок заголовков;

- формат стандартного заголовка IPv6;

- формат дополнительных заголовков (Extension headers).

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

  •  стандартный заголовок IPv6;
  •  дополнительный заголовок, обрабатываемый всеми системами, в том числе промежуточными (маршрутизаторами);
  •  дополнительные заголовки, обрабатываемые оконечными системами (хостами).

Стандартный заголовок пакета IPv6 имеет фиксированную длину – 40 байт. Обратите внимание, заголовок пакета не содержит контрольной суммы, функции контроля целостности возложены на канальный уровень, именно он заботится о генерации и проверке контрольных сумм. В IPv6 отсутствует возможность фрагментации «слишком больших» пакетов промежуточными узлами. Оконечные устройства должны использовать механизм определения максимального размера пакета (Path MTU discovery) при взаимодействии друг с другом и, при необходимости, выполнять фрагментацию пакетов. Стандартом IPv6 предусмотрено, чтобы все типы каналов связи передавали, не требуя фрагментации на сетевом уровне, IPv6 пакеты размером вплоть до 1280 байт.

Рассмотрим формат стандартного заголовка IPv6

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

Version

Traffic Class

Flow Label

Payload Length

Next Header

Hop Limit

Source address

Destination address

Version (4 бита) – номер версии протокола IP. Это поле в случае протокола IPv6 имеет значение «6».

Traffic Class (8 бит) – класс обслуживания. Это поле может использоваться источником трафика и/или промежуточными маршрутизаторами для обеспечения дифференцированного качества обслуживания пакетов.

Flow Label (20 бит) – идентификатор потока. Это поле может использоваться источником трафика для выделения из общей массы определенной последовательности пакетов (потока). Для каждого из потоков источник может запросить определенный уровень качества обслуживания, отличный от уровня обслуживания, предоставляемого по умолчанию, а также отличный от уровня обслуживания других потоков. Данное поле идентифицирует пакеты, требующие специальной обработки и передаваемые от определенного отправителя к определенному получателю. О методе специальной обработки сообщает управляющий протокол, такой как RSVP, или данные внутри пакетов потока, например с помощью дополнительного заголовка описания транзитных узлов. Используя заголовки Traffic Class и Flow Label, хосты могут идентифицировать пакеты, которые маршрутизаторы должны обрабатывать специальным образом. Хосты могут также идентифицировать общий метод, посредством которого пакеты должны обрабатываться в зависимости от наличия других пакетов.

Payload Lenght (16 бит) – размер «полезной» части пакета. Это поле содержит беззнаковое целое число, равное количеству октетов, содержащихся в той части пакета IPv6, которая следует сразу за 40-байтовым заголовком. Поле Total Length IPv4 было переименовано в поле Payload Length. Эти два поля сходны между собой, но не тождественны, поскольку поле Payload Length содержит длину данных после заголовка, в то время как поле Total Length учитывает длину заголовка. 

Next Header (8 бит) – указатель следующего заголовка. Это поле определяет тип дополнительного заголовка, следующего сразу за заголовком IPv6. Является переименованным и измененным полем Protocol IPv4. В IPv4 значение поля Protocol, например 6 для TCP или 17 для UDP, определяет, данные какого транспортного протокола следуют за IP-заголовком. В IPv6 поле Next Header позволяет вставлять дополнительные заголовки между данными IP и TCP или UDP; оно также сообщает тип транспортных данных, следующих за основным или дополнительным IP-заголовком. Кроме того, так как поле Next Header предоставляет информацию о наличии дополнительных заголовков, следующих за основным - данный механизм исключает необходимость в поле Header Length, или IHL.

Hop Limit (8 бит) – максимальное количество промежуточных узлов. Это поле содержит беззнаковое целое число, которое уменьшается на единицу каждым промежуточным узлом, через который проходит данный пакет. Как только поле становится равным нулю, пакет отбрасывается.

Source Address (128 бит) и Destination Address (128 бит) – адрес источника и адрес назначения, соответственно.

Несмотря на то, что заголовок IPv6 не содержит каких-либо необязательных элементов, он предусматривает возможность помещения отдельных дополнительных заголовков между IP-заголовком и заголовком транспортного уровня. Дополнительные заголовки используются в IPv6 для поддержки механизмов безопасности, фрагментации, сетевого управления и т.п. Их общее количество и внутренняя сложность практически не ограничены, в отличии от поля Опции и длины заголовка протокола IPv4. Тип дополнительного заголовка идентифицируется по значению поля Next Header. Таким образом, пакет IPv6 может не содержать ни одного дополнительного заголовка, либо содержать один, два или более дополнительных заголовков, при этом тип следующего заголовка указывается в текущем заголовке в поле Next Header, например:

IPv6 заголовок

Next Header =
TCP  

TCP заголовок + Данные

IPv6 заголовок

Next Header =
Routing

Routing заголовок


Next Header = TCP

TCP заголовок + Данные

IPv6 заголовок

Next Header =
Routing

Routing заголовок


Next Header =
Fragment

Fragment заголовок


Next Header =
TCP + Данные

TCP заголовок + Данные

Дополнительные заголовки, которые могут содержаться в пакете IPv6, организованы, в отличие от опций заголовка IPv4, гораздо строже:

  •  порядок следования различных дополнительных заголовков (если их несколько) строго определен;
  •  заголовок заданного типа может войти в состав пакета только один раз (единственным исключением из этого правила является заголовок типа «Destination Options header», который может встретиться дважды);
  •  заголовки обрабатываются строго в той последовательности, в каком порядке они следуют друг за другом внутри пакета IPv6;
  •  дополнительные заголовки, за исключением заголовка «Hop-by-Hop Options header», не обрабатываются промежуточными узлами сети;
  •  первые два байта каждого дополнительного заголовка позволяют определить тип и местонахождение следующего заголовка. Таким образом, узел может заранее решить, нужно ли переходить к обработке следующего дополнительного заголовка или прекратить обработку заголовков.

Адресация IPv6

В IPv6 определено три типа адресов (RFC 2373 «IP Version 6 Addressing Architecture»):

  •  Индивидуальный (Unicast) – адрес отдельного интерфейса. Пакет, отправленный по индивидуальному адресу, доставляется на интерфейс, идентифицируемый этим адресом.
  •  Произвольный (Anycast) – адрес набора интерфейсов, обычно относящихся к различным узлам. Пакет, направленный по «произвольному» адресу, доставляется на один из интерфейсов, идентифицированных этим адресом (на «ближайший», согласно метрике протокола маршрутизации или расстоянию).
  •  Групповой (Multicast) – адрес набора интерфейсов, обычно относящихся к различным узлам. Пакет, посланный по групповому адресу, доставляется на все интерфейсы, идентифицированные этим адресом.

Широковещательные возможности (broadcast) в IPv6 отсутствуют. Это способствует уменьшению сетевого трафика и снижению нагрузки на оборудование канального уровня.

Поля в адресах имеют наименования. Если это наименование используется вместе с термином «ID» после него (например, «interface ID»), оно указывает на содержимое поименованного поля. Если же оно используется с термином «prefix» (например, «subnet prefix»), то обозначает ту часть адреса, которая состоит из всех старших разрядов вплоть до поименованного поля включительно. В IPv6 разрешены поля, состоящие из одних нулей или одних единиц, если специально не оговорено иное. В частности, префиксы могут содержать поля из значимых нулей или заканчиваться нулями. Адреса IPv6 используются для идентификации не узлов, а сетевых интерфейсов и наборов интерфейсов. Поскольку каждый интерфейс относится к какому-нибудь узлу сети, любой из индивидуальных адресов интерфейсов данного узла может использоваться в качестве адреса этого узла.

С синтаксической точки зрения тип адреса определяется префиксом переменной длины. 8-битный префикс, состоящий из единиц, характеризует групповой адрес, все остальные адреса считаются индивидуальными. Часть адресного пространства отведена под не-IP-адреса, а зарезервирована для трансляции адресов протоколов NSAP и IPX; часть зарезервирована для будущего использования. Также, предусмотрено существование адресов, уникальных только в пределах одной сети или одной производственной площадки; подобная мера необходима, чтобы поддержать автоматическое конфигурирование узлов сети, когда происходит формирование адресов IPv6 уникальных в глобальном масштабе.

Индивидуальные адреса ассоциируются с сетевыми интерфейсами и играют двоякую роль:

  •  являются уникальными идентификаторами интерфейсов;
  •  являются идентификаторами узла.

Групповые адреса предназначены для многоадресной рассылки пакетов. Узел сети, желающий получать многоадресные пакеты, должен выполнить операцию присоединения к соответствующей группе, так же присутствует операция отсоединения от группы.

Своеобразным пересечением индивидуальных и групповых адресов являются так называемые адреса "наиболее подходящего члена группы" (anycast). Они выделяются из пространства индивидуальных адресов (то есть с синтаксической точки зрения являются индивидуальными) и обозначают члена группы, ближайшего к отправителю. Согласно текущим спецификациям anycast-адреса могут присваиваться только маршрутизаторам.

Один сетевой интерфейс может иметь несколько индивидуальных адресов. Подобная возможность полезна во многих ситуациях. Например, когда организация переходит к другому поставщику Интернет-услуг, она может не только получить новые адреса, но и на некоторое время оставить старые, пометив их как "нежелательные". Пакеты с такими адресами будут доставляться, хотя, быть может, и не оптимальным образом. Тем самым будет сохранена работа приложений, по тем или иным причинам использующих явное задание IP-адресов. По истечении некоторого периода нежелательные адреса перейдут в разряд некорректных, и доставка пакетов по ним прекратится. В будущем эти адреса могут быть выделены другой организации. Каждый интерфейс должен иметь, по меньшей мере, один индивидуальный адрес. Индивидуальный адрес или набор индивидуальных адресов может быть присвоен нескольким физическим интерфейсам, если реализация трактует эти несколько физических интерфейсов как один логический интерфейс при его представлении на уровне IP. Это полезно для распределения нагрузки по нескольким физическим интерфейсам.

Приняты три формы представления адресов IPv6 в текстовом виде:

  1.  Предпочтительная форма x:x:x:x:x:x:x:x, где знаки «x» – шестнадцатеричные значения восьми 16-битовых частей адреса. Нет необходимости писать все ведущие нули (нули слева направо) в каждом отдельном поле, однако в каждом поле должна быть, по меньшей мере, одна цифра.

Например:

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210   

3FFE:2403:0:0:280:C8FF:FE4B:F7A8     

1080:0:0:0:8:800:200C:417A
FF01:0:0:0:0:0:0:101

0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:0

  1.  Для облегчения записи адресов, содержащих длинные последовательности нулевых битов, принят специальный синтаксис для сжатия нулей. Обозначение «::» указывает на наличие нескольких 16-битовых групп нулей. Это обозначение может присутствовать в адресе только один раз. Оно может использоваться также для сжатия ведущих нулей  в адресе.

Например:

Обычная запись

Сокращенная запись

3FFE:2403:0:0:280:C8FF:FE4B:F7A8   

3FFE:2403::280:C8FF:FE4B:F7A8

FF01:0:0:0:0:0:0:101

FF01::101

1080:0:0:0:8:800:200C:417A  

1080::8:800:200C:417A       

0:0:0:0:0:0:0:1

::1

0:0:0:0:0:0:0:0

::

  1.  Альтернативной формой, которая иногда более удобна при работе в смешанной среде узлов IPv4 и IPv6, является x:x:x:x:x:x:d.d.d.d, где знаки «x»- шестнадцатеричные значения шести старших 16-битовых частей адреса, а «d» – десятичные значения четырех младших октетов адреса (стандартное представление IPv4).

Например:

Обычная запись

Сокращенная запись

0:0:0:0:0:0:13.1.68.3

::13.1.68.3

0:0:0:0:0:FFFF:129.144.52.38

::FFFF:129.144.52.38

Текстовое представление префиксов адреса IPv6 такое же, как и в IPv4, и записывается в нотации:

  •  ipv6-address/prefix-length,где ipv6-address – адрес IPv6 в любой из перечисленных выше нотаций;
  •  prefix-length – десятичное значение, определяющее число левых (старших) непрерывно следующих битов адреса, образующих префикс.

Пример правильной записи адреса сети с префиксом 12AB00000000CD3

12AB:0000:0000:CD30:0000:0000:0000:0000/60

Проанализируем представленный адрес слева направо в ненулевых значениях в виде суммы битовых позиций результатом которой будет заданный префикс:

12AB 16 бит  1 и 2 байт адреса

0000 16 бит  3 и 4 байт адреса

0000 16 бит  5 и 6 байт адреса

CD30 12 бит  7 и неполный 8 байт адреса

Итого 60 бит

Переведем CD30 в двоичный вид: CD30 = 1100110100110000. В соответствии с сетевым префиксом длиною 60 бит из 8-го байта адреса в префиксе находятся первых 4 бита (0011).

Сжатая форма записи имеет вид:

12AB::CD30:0:0:0:0/60

12AB:0:0:CD30::/60

Пример неправильной записи сетевого префикса

12AB:0:0:CD3/60

Потеряно окончание IP адреса, не соблюдается длина в 16 байт.

12AB::CD30/60     

Адрес слева от знака «/» может читаться как 12AB:0000:0000:0000:0000:000:0000:CD30

что не соответствует действительности

12AB::CD3/60      

Адрес слева от знака «/» может читаться как

12AB:0000:0000:0000:0000:000:0000:0CD3

что не соответствует действительности

При записи адреса узла принадлежащего вышеприведенной сети может использоваться два способа:

1 способ - отдельно указывается адрес узла и отдельно адрес сети с префиксом

адрес узла 12AB:0:0:CD30:123:4567:89AB:CDEF

адрес сети 12AB:0:0:CD30::/60

2 способ - сетевой префикс указывается непосредственно для адреса узла, тогда адрес сети не указывается

адрес узла 12AB:0:0:CD30:123:4567:89AB:CDEF/60

 

В IPv6 тип адреса и характер его использования определяются значением старших битов адреса. Поле переменной длины, состоящее из этих начальных битов, называется «префикс формата» (Format Prefix, сокращенно – FP).

На настоящий момент стандартом определены следующие значения FP

   Allocation                            Prefix        Fraction of  (Часть адресного

                                         binary)       Address Space  пространства)

   -----------------------------------   --------       -------------

   Reserved                              0000 0000      1/256

   Unassigned                            0000 0001      1/256

   Reserved for NSAP Allocation          0000 001       1/128

   Reserved for IPX Allocation           0000 010       1/128

   Unassigned                            0000 011       1/128

   Unassigned                            0000 1         1/32

   Unassigned                            0001           1/16

   Aggregatable Global Unicast Addresses 001            1/8

   Unassigned                            010            1/8

   Unassigned                            011            1/8

   Unassigned                            100            1/8

   Unassigned                            101            1/8

   Unassigned                            110            1/8

   Unassigned                            1110           1/16

   Unassigned                            1111 0         1/32

   Unassigned                            1111 10        1/64

   Unassigned                            1111 110       1/128

   Unassigned                            1111 1110 0    1/512

   Link-Local Unicast Addresses          1111 1110 10   1/1024

   Site-Local Unicast Addresses          1111 1110 11   1/1024

   Multicast Addresses                   1111 1111      1/256

Данное распределение адресов поддерживает прямое выделение адресов локального применения и мультикастинг-адресов. Зарезервировано место для адресов NSAP, IPX и глобальных адресов. Оставшаяся часть адресного пространства зарезервирована для будущего использования. Эти адреса могут использоваться для расширения имеющихся возможностей, например дополнительных адресов провайдеров и т.д.

Типы адресов IPv6

Unicast адреса отличаются от Multicast значением старшего октета: значение FF (11111111) идентифицирует мультикастинг-адрес, любые другие значения говорят о том, что адрес Unicast. Anycast адреса берутся из пространства адресов Unicast и синтаксически неотличимы от них. Unicast адреса IPv6 сходны с традиционными IPv4 адресами, используемыми при бесклассовой междоменной маршрутизации (Class-less InterDomain Routing - CIDR). Существует несколько форм присвоения unicast адресов в IPv6, включая глобальный адреса (global unicast address), NSAP адрес, IPX иерархический адрес, внутрисетевой адрес, локальный адрес и IPv4-совместимый адрес, используемый в смешанных сетях IPv4-IPv6. Минимальная информация, которой должен обладать узел при работе с IPv6 адресом это значение самого адреса, возможно даже без указания префикса, т.е. просто использование адреса в качестве идентификатора

128 бит

Адрес узла

Дополнительно узлу может сообщаться адрес сети, к которой он подключен. Это осуществляется добавлением значения префикса N:

N бит

128-N бит

Префикс подсети

Интерфейс ID

Так же может применяться и более сложное деление пространства адреса IPv6, с использованием дополнительных иерархических границ. Усложнение описания IP адреса обычно происходит на не рядовых участниках сети, например на маршрутизаторах, причем степень усложнения зависит от роли которую выполняет маршрутизатор в данном конкретном случае. Например, простейшие маршрутизаторы могут не знать о внутренней структуре IPv6 unicast адресов; при усложнении задачи маршрутизаторы  должны знать об одной или более иерархических границах для обеспечения работы протоколов маршрутизации. Таким образом, известные границы деления IP адреса для маршрутизаторов, выполняющих различные задачи, могут отличаться и зависят от того, какое положение занимает данный маршрутизатор в иерархии маршрутизации.

Интерфейс ID (InterfaceID) или идентификатор интерфейса используется при формировании Unicast IPv6 адреса, т.е.  для идентификации конкретного интерфейса в данном соединении. Идентификатор должен быть уникален в масштабах данного соединения, но в некоторых случаях требуется уникальность Идентификатора и в более широких масштабах. Формирование InterfaceID осуществляется на основе адреса интерфейса канального уровня. Один и тот же Идентификатор может использоваться при формировании нескольких сетевых адресов, используемых одним узлом. При этом, использование одинакового Идентификатора для нескольких сетевых интерфейсов одного узла не влияет на уникальность сетевого адреса каждого интерфейса в глобальном масштабе. В соответствии с RFC 2373, длина поля InterfaceID составляет 64 бита, а само поле InterfaceID формируется в соответствии с форматом, описанным в IEEE EUI-64. Особенности формирования InterfaceID на основе MAC адреса для IEEE802.3 приведены в RFC 2464 «Transmission of IPv6 Packets over Ethernet Networks».

Согласно RFC 2464, при формировании кадра канального уровня Ethernet для передачи инкапсуляции IPv6 в поле Type устанавливается значение 86DDhex. Формирование InterfaceID в соответствии с форматом IEEE EUI-64 происходит следующим образом:

- Поле OUI адреса Ethernet (первые три байта) переходят в поле company_id в соответствии с IEEE EUI-64 (так же первые три байта). Четвертый и пятый байты согласно EUI-64 устанавливаются в FFFEhex. Последние три байта МАС адреса Ethernet переходят в последние три байта формирующие InterfaceID. Таки образом длина InterfaceID получается равной 64 бита.

Пример формирования InterfaceID на основе MAC адреса:

МАС адрес 

InterfaceID

34-56-78-9A-BC-DE

36-56-78-FF-FE-9A-BC-DE

Адрес вида 0:0:0:0:0:0:0:0 называется Unspecified Address или неопределенным адресом. Такой адрес никогда не назначается сетевому интерфейсу и означает отсутствие сетевого адреса. Например, адрес  0:0:0:0:0:0:0:0 используется узлом в качестве адреса отправителя при формировании пакета сетевого уровня на этапе конфигурации IPv6 протокола, пока узел не узнает свой сетевой адрес. Неопределенный адрес не может использоваться в качестве адреса получателя в заголовке пакета IPv6 либо в IPv6 Routing заголовке.

Адрес вида 0:0:0:0:0:0:0:1 называется Loopback или адрес обратной петли. Такой адрес используется узлом для оправки пакетов самому себе. Адрес вида 0:0:0:0:0:0:0:1 не может быть назначен физическому интерфейсу, так как данный адрес ассоциируется стеком IPv6 с виртуальным интерфейсом. Интерфейс обратной петли не может быть указан в качестве адреса отправителя или получателя, если пакет посылается за пределы узла. Пакет, содержащий такой адрес в качестве адреса получателя не должен обрабатываться на  маршрутизаторе.

IPv6 включает переходную технологию для узлов и маршрутизаторов, для создания динамических туннелей IPv6 через инфраструктуру IPv4. Эта технология используется для передачи IPv6 трафика через сети, работающие на протоколе IPv4. При этом, IPv6 узлы используют специальные адреса, содержащие IPv4 адрес в младших 32-х битах адреса IPv6.   Такой тип адресов называется «IPv4-compatible IPv6 address» или IPv4-совместимые адреса. Адрес использует следующий формат:

80 бит

16 бит

32 бита

0000...........................................................0000

0000

IPv4 адрес

Так же определен и другой тип IPv6 адресов содержащих IPv4 адреса. Этот тип используется для обозначения узлов поддерживающих только IPv4 адрес и не поддерживающих IPv6 протокол. Этот тип называется «IPv4-mapped IPv6 address» или  IPv4-назначенные адреса. Адрес использует следующий формат:

80 бит

16 бит

32 бита

0000...........................................................0000

FFFF

IPv4 адрес

«Aggregatable Global Unicast Addresses» или Комбинируемые адреса глобальной одноадресной рассылки, определяемые префиксом формата (Format Prefix, FP) 001, эквивалентны общедоступным адресам IPv4. Они пригодны для глобальной маршрутизации и доступны в части Интернета, использующей протокол IPv6. Комбинируемые адреса глобальной одноадресной рассылки также называют глобальными адресами.

Как видно из названия, комбинируемые адреса глобальной одноадресной рассылки комбинируются, или объединяются, для получения эффективной инфраструктуры маршрутизации. В отличие от нынешнего Интернета на базе протокола IPv4, использующего как простую, так и иерархическую маршрутизацию, Интернет на базе протокола IPv6 был с самого начала разработан для поддержки эффективной, иерархической адресации и маршрутизации. Областью действия комбинируемого адреса глобальной одноадресной рассылки (регионом объединенной сети IPv6, в котором этот адрес является уникальным) является весь Интернет на базе протокола IPv6.

Адрес использует следующий формат:

3 бита

13 бит

8 бит

24 бита

16 бит

64 бита

FP

TLA ID

RES

NLA ID

SLA ID

InterfaceID

Поле «TLA ID» указывает идентификатор составляющей верхнего уровня (Top Level Aggregation Identifier, TLA) для адреса. Максимальный размер этого поля составляет 13 бит. TLA указывает самый верхний уровень в иерархии маршрутизации. Администрирование TLA осуществляет IANA. TLA выделяются локальным реестрам Интернета, которые, в свою очередь, выделяют отдельные идентификаторы TLA крупным, глобальным поставщикам услуг Интернета. 13-битное поле позволяет создать 8 192 различных идентификатора TLA. Маршрутизаторы на верхнем уровне иерархии маршрутизации Интернета по протоколу IPv6 (так называемые маршрутизаторы без умолчаний) не имеют маршрутов по умолчанию — только маршруты с 16-битными префиксами, соответствующими выделенным TLA.

Поле «Res» зарезервировано для будущего использования при увеличении размера полей «TLA ID» или «NLA ID».

Поле «Res» зарезервировано для будущего использования при увеличении размера полей «TLA ID» или «NLA ID».

Размер этого поля составляет 8 бит.

Поле «NLA ID» указывает идентификатор составляющей следующего уровня (Next Level Aggregation Identifier, NLA) для адреса. Поле «NLA ID» используется для указания сайта конкретного потребителя. Размер этого поля составляет 24 бита. Поле «NLA ID» позволяет поставщикам услуг Интернета создавать множественные уровни иерархии адресации для организации адресации и маршрутизации, а также для определения сайтов. Структура сети поставщика услуг Интернета не видна для маршрутизаторов без умолчаний.

Поле «SLA ID» указывает идентификатор составляющей уровня сайта (Site Level Aggregation Identifier, SLA ID) для адреса. Поле «SLA ID» используется отдельными организациями для определения подсетей в пределах сайта. Размер этого поля составляет 16 бит. С помощью этих 16 бит организация может создать в своем сайте 65 536 подсетей или несколько уровней иерархии адресации и эффективную инфраструктуру маршрутизации. Назначение организации префикса глобальной одноадресной рассылки с 16 байтами для создания подсетей эквивалентно выделению этой организации идентификатора подсети класса А по протоколу IPv4 (исходя из того, что последний октет используется для определения узлов в подсетях). Структура сети организации не видна для маршрутизаторов без умолчаний.

Поле «Interface ID» указывает интерфейс узла в конкретной подсети. Размер этого поля составляет 64 бита.

Ниже приведена схема использование полей комбинированного  адреса для создания трехуровневой топологической структуры.

Общедоступная топология представляет собой совокупность крупных и более мелких поставщиков услуг Интернет, предоставляющих доступ к Интернету на базе протокола IPv6. Топология сайта — это совокупность подсетей в пределах сайта организации. Идентификатор интерфейса определяет конкретный интерфейс в подсети, расположенной в пределах сайта организации. Дополнительные сведения о комбинируемых адресах глобальной одноадресной рассылки см.в документе RFC 2374, «An IPv6 Aggregatable Global Unicast Address Format».

Для локального использования применяются два типа IPv6 адресов это Link-Local или адрес локальной связи и Site-Loсal или адрес локального сайта. Адреса локальной связи, определяемые префиксом формата 1111 1110 10, используются узлами при обмене данными с соседними узлами на той же связи. Например, в сети IPv6 с единой связью, без маршрутизаторов, адреса локальной связи используются для обмена данными между узлами, подключенными к этой связи. Адреса локальной связи эквивалентны адресам APIPA (Automatic Private IP Addressing) в IPv4 (использующим префикс 169.254.0.0/16). Областью адреса локальной связи является соответствующая локальная связь. Адрес локальной связи необходим для процессов изучения окружения и всегда настраивается автоматически, даже при отсутствии всех прочих адресов одноадресной рассылки. Адреса локальной связи всегда начинаются с FE80. При использовании 64-битного идентификатора интерфейса префикс для адресов локальной связи всегда имеет вид FE80::/64. Маршрутизаторы IPv6 никогда не пересылают трафик локальной связи за пределы этой связи.

 Link-Local адрес использует следующий формат:

10 бит

54 бита

64 бита

1111111010

0

interface ID

Адреса локального сайта, определяемые префиксом формата 1111 1110 11, эквивалентны частному пространству адресов (10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16) в IPv4. Например, частные интрасети, не имеющие непосредственного маршрутизированного подключения к Интернету на базе протокола IPv6, могут использовать адреса локального сайта без конфликтов с комбинируемыми адресами глобальной одноадресной рассылки. Адреса локального сайта недоступны из других сайтов, и маршрутизаторы не должны пересылать трафик локального сайта за пределы этого сайта. Адреса локального сайта могут использоваться наряду с комбинируемыми адресами глобальной одноадресной рассылки. Областью адреса локального сайта является соответствующий сайт (объединенная сеть организации). В отличие от адресов локальной связи, адреса локального сайта не настраиваются автоматически и должны быть назначены при помощи процесса настройки адресов с ведением или без ведения базы данных Первые 48 бит адресов локального сайта всегда фиксированы: FEC0::/48. За 48 фиксированными битами следует 16-битный идентификатор подсети (поле «Subnet ID»), содержащее 16 бит, с помощью которых можно создавать подсети в рамках организации. Эти 16 бит позволяют создать до 65 536 подсетей в простой структуре подсетей. Кроме того, можно отделить биты высокого порядка в поле «Subnet ID» для создания иерархической и комбинируемой инфраструктуры маршрутизации. За полем «Subnet ID» следует 64-битное поле «Interface ID», определяющее конкретный интерфейс в подсети. За исключением первых 48 байт комбинируемый адрес глобальной одноадресной рассылки и адрес локального сайта используют одинаковую структуру. В комбинируемых адресах глобальной одноадресной рассылки подсеть в пределах организации определяется полем «SLA ID». Для адресов локального сайта эту функцию выполняет поле «Subnet ID». Таким образом, назначив конкретный номер подсети, можно определить подсеть, используемую как для адресов локального сайта, так и для комбинируемых адресов глобальной одноадресной рассылки.

Site-Local адрес использует следующий формат:

10 бит

38 бит

16 бит

64 бита

1111111011

0

subnet ID

interface ID

Site-Local адреса используются для взаимодействия внутри подсети. Такие адреса не снабжаются префиксом для глобальной агрегации, т.е. маршрутизаторы не должны обрабатывать пакеты содержащие  в поле источника или получателя Site-Local адрес если эти пакеты направлены за пределы сайта.     

Anycast адрес в IPv6 используется для присвоения более чем одному интерфейсу (обычно интерфейсы принадлежат разным узлам). При этом, если пакет послан с адресом получателя типа Anycast, то такой пакет маршрутизируется к ближайшему интерфейсу использующему такой адрес. Подобные взаимодействия возможны благодаря использованию специального протокола ND (Neighbor Discovery), используемого в том числе и для обнаружения соседних узлов использующих Anycast.

Anycast адрес генерируется на основе Unicast адреса, с учетом требований предъявляемых к формату адреса Anycast. Т.о. Anycast адрес синтакстчески не отличим от Unicast При назначении Unicast адреса более чем одному узлу, такой адрес автоматически переходит в тип Anycast, при этом данные узлы должны быть дополнительно настроены с явным указанием того, что теперь их интерфейсы работают с адресом Anycast.

Anycast адреса используются, например, для обозначения групп маршрутизаторов провайдера Интернет. Такой адрес указывается как промежуточный в подзаголовке Routing пакета IPv6 для продвижения пакета через один из маршрутизаторов, принадлежащих данной группе Anycast. Также, Anycast адреса могут использоваться для обозначения любой группы маршрутизаторов, подключенных к частным сетям. (В IPv6 не существует понятия «частный диапазон адресов», используемого в IPv4. Термин «частная сеть» в данном случае, указывает на принадлежность сети какой либо организации).

Исходя из вышеописанного, вводятся следующие ограничения на использования Anycast адресов:

  •  Anycast адрес не может быть указан в качестве адреса отправителя в заголовке пакета IPv6
  •  Anycast адрес не может назначен обычному узлу, т.к. данный тип адресов назначается только маршрутизаторам.

Anycast адрес использует следующий формат:

n бит

128-n бит

subnet prefix

00000000000000

subnet prefix - это сетевой префикс, используемый в данном подключении

Как отмечалось ранее, Anycast адрес синтаксически выглядит, так же как и Unicast адрес интерфейса, чей InterfaceID равен 0.

Multicast адреса в IPv6 используется для идентификации группы узлов. Multicast адрес использует следующий формат:

8 бит

4 бит

4 бит

112 бит

11111111

flgs

scop

group ID

11111111- идентификатор адреса Multicast

flgs      - поле флагов формат |0|0|0|T|

Если Т=0, тогда это, официально присвоенный IANA, Multicast адрес; если T=1, тогда это временно используемый адрес Multicast

scop -идентификатор области, используется для ограничения областидействия адреса Multicast. Шестнадцатеричные значения этого поля:

0  reserved

резерв

1  node-local scope

локальная область узла

2  link-local scope

локальная область канального соединения

5  site-local scope

локальная область подсети

8  organization-local scope

локальная область организации

E  global scope

глобальная область

F  reserved

резерв

3,4,6,7,9,A,B,C,D 

не присвоены

 

group ID  - идентификатор группы Multicast, данное используется вместе с полем scope. Например:

FF01:0:0:0:0:0:0:101 значит «всем NTP серверам того же узла что и отправитель»

FF02:0:0:0:0:0:0:101 значит «всем NTP серверам в том же канальном соединении что и отправитель»

FF05:0:0:0:0:0:0:101 значит «всем NTP серверам той же подсети что и отправитель»

FF0E:0:0:0:0:0:0:101 значит «всем NTP серверам в Интернет»

Назначенные Multicast адреса:

FF00:0:0:0:0:0:0:0 резерв

FF01:0:0:0:0:0:0:0 резерв

FF02:0:0:0:0:0:0:0 резерв

FF03:0:0:0:0:0:0:0 резерв

FF04:0:0:0:0:0:0:0 резерв

FF05:0:0:0:0:0:0:0 резерв

FF06:0:0:0:0:0:0:0 резерв

FF07:0:0:0:0:0:0:0 резерв

FF08:0:0:0:0:0:0:0 резерв

FF09:0:0:0:0:0:0:0 резерв

FF0A:0:0:0:0:0:0:0 резерв

FF0B:0:0:0:0:0:0:0 резерв

FF0C:0:0:0:0:0:0:0 резерв

FF0D:0:0:0:0:0:0:0 резерв

FF0E:0:0:0:0:0:0:0 резерв

FF0F:0:0:0:0:0:0:0 резерв

FF01:0:0:0:0:0:0:1 всем узлам того же узла (самому себе)

FF02:0:0:0:0:0:0:1 всем узлам канального соединения

FF01:0:0:0:0:0:0:2 всем маршрутизаторам того же узла

FF02:0:0:0:0:0:0:2 всем маршрутизаторам канального соединения

FF05:0:0:0:0:0:0:2 всем маршрутизаторам подсети

Для идентификации узла в локальной группе канального соединения используется Solicited-Node адрес или «адрес обнаружения узла», использующий следующий формат

FF02:0:0:0:0:1:FFXX:XXXX

Solicited-Node  адрес состоит их младших 24 бит Unicast или Anycast адреса (ХХ:ХХХ) добавленных  к префиксу FF02:0:0:0:0:1:FF00::/104. Таком образом получается диапазон:

от FF02:0:0:0:0:1:FF00:0000

до FF02:0:0:0:0:1:FFFF:FFFF

Например, для IPv6 адресу 4037::01:800:200E:8C6C соответствует групповой Solicited-Node адрес FF02::1:FF0E:8C6C.

Каждый узел самостоятельно должен вычислять и присваивать своим интерфейсам Solicited-Node адреса на основании их  Unicast или Anycast IPv6 адресов.

Примеры конфигурции протокола IPv6

Рассмотрим работу протокола IPv6 на примере Window 2003 Server. Установка протокола IPv6 может осуществляться в графическом интерфейсе, путем добавления нового протокола в свойствах сетевого интерфейса

либо из командной строки: netsh interface ipv6 install

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

Запрос ND (Neighbor Discovery) протокола IPv6 является набором сообщений и процессов, определяющих отношения между соседними узлами. Запрос ND заменяет протокол ARP (Address Resolution Protocol), сообщения ICMP (Internet Control Message Protocol) Router Discovery и ICMP Redirect, использовавшиеся в протоколе IPv4. Запрос ND определен в документе RFC 2461 «Neighbor Discovery for IP Version 6 (IPv6)». Ниже приведен пример использования запроса ND для проверки уникальности присваемого адреса локальной связи:

Отсутствие ответа на данный запрос указывает, что соседних узлов, использующих адрес fe80:0000:0000:0000:020e:a6ff:fe33:5292, в данный момент не существует – значит, узел может использовать выбранный адрес. Поэтому следующие пакеты узел посылает с адресом отправителя fe80:0000:0000:0000:020e:a6ff:fe33:5292.

Просмотр конфигурации и сама конфигурации IPv6 производится только из командной строки. Например:

просмотр интерфейсов

 

просмотр IPv6 адресов

Подобную информацию можно получить, используя команду ipconfig

Рассмотрим пример конфигурации маршрутизатора, подключенного по следующей схеме:

По умолчанию протокол IPv6 для Windows Server 2003 настраивает адреса локальной связи для каждого интерфейса, соответствующего установленным сетевым адаптерам Ethernet. Как отмечалось ранее, адреса локальной связи имеют префикс FE80::/64, а последние 64 бита адресов IPv6 представляют собой идентификатор интерфейса, полученный из 48-битного MAC-адреса сетевого адаптера. Используя адреса локальной связи, узлы PC1 и PC2 могут обмениваться данными с маршрутизатором, но не друг с другом.

В данной конфигурации маршрутизатор объявляет дополнительные префиксы локального сайта. Префиксы локального сайта используются узлами PC1 и PC2 для автоматической настройки адресов локального сайта, получаемых из 48-битного MAC адреса сетевого адаптера. После получения адресов локального сайта узлы PC1 и PC2 могут обмениваться данными друг с другом.

Вначале необходимо на каждом интерфейсе маршрутизатор включить форвардинг (forwarding) пакетов и функцию объявления маршрутов (advertise)

Затем назначить префиксы подсетей для каждого интерфейса маршрутизатора

Тогда таблица маршрутизации IPv6 имеет вид

Следует подождать около 30 секунд, пока маршрутизатор объявит новые префиксы локального сайта в подсетях 1 и 2, а адреса локального сайта для узлов PC1 и PC2 будут автоматически настроены с использованием этих префиксов. Маршрутизатор сообщает о вновь созданных сетевых префиксах сообщениями Router Advertisement (ICMPv6 Type 134), содержащими, в том числе значения:

MAC адрес интерфейса маршрутизатора (ICMP Option Type 1)

MTU интерфейса маршрутизатора (ICMP Option Type 5)

Значения префиксов остальных интерфейсов (ICMP Option Type 9)

Значения префикса подключенного интерфейса (ICMP Option Type 3)

Например, это сообщение передано маршрутизатором в левый сегмент и адресовано всем соседним узлам (адрес получателя ff02::01), после добавления на маршрутизатор сетевого префикса fec0:0:0:1::/64 для интерфейса Left и fec0:0:0:2::/64 для интерфейса Right . Аналогичное сообщение передается и  в правый сегмент.

После настройки, конфигурация маршрутизатора имеет вид

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

или через netsh

Проверка взаимодействия осуществляется командой ping

Вид указанного взаимодействия в левом и правом сегментах:

Эхо-запрос в адрес PC1 , на выходе PC2

Эхо-запрос от PC2 в адрес PC1 , на выходе маршрутизатора

Эхо-ответ от РС1 в адрес РС2 на выходе РС1

Эхо-ответ от РС1 в адрес РС2 на выходе маршрутизатора

Рассмотрим пример настройки маршрутизаторов, подключенных по следующей схеме

Для R2

- включаем интерфейсы

netsh interface ipv6>set interface right forwarding=enabled advertise=enabled

netsh interface ipv6>set interface left forwarding=enabled advertise=enabled

- добавляем префиксы подсетей

netsh interface ipv6>add route prefix=fec0:0:0:2::/64 interface=right publish=yes

netsh interface ipv6>add route prefix=fec0:0:0:1::/64 interface=left

netsh interface ipv6>show routes

Querying active state...

Publish  Type       Met  Prefix                    Idx  Gateway/Interface Name

-------  --------  ----  ------------------------  ---  ---------------------

no       Manual       0  fec0:0:0:1::/64             5  Left

yes      Manual       0  fec0:0:0:2::/64             4  Right

- добавляем статический маршрут в подсеть fec0:0:0:3::/64, в качестве шлюза (nexthop) адрес локальной связи маршрутизатора R1 (In). Маршрут публикуется (publish=yes), т.е. автоматически сообщается клиенту PC2

netsh interface ipv6>add route prefix=fec0:0:0:3::/64 interface=Left nexthop=fe80::20e:a6ff:fe33:52a4 publish=yes

netsh interface ipv6>show routes

Querying active state...

Publish  Type       Met  Prefix                    Idx  Gateway/Interface Name

-------  --------  ----  ------------------------  ---  ---------------------

yes      Manual       0  fec0:0:0:3::/64             5  fe80::20e:a6ff:fe33:52a4

no       Manual       0  fec0:0:0:1::/64             5  Left

yes      Manual       0  fec0:0:0:2::/64             4  Right

netsh interface ipv6>show addr

Querying active state...

Interface 5: Left

Addr Type  DAD State  Valid Life   Pref. Life   Address

---------  ---------- ------------ ------------ -----------------------------

Link       Preferred      infinite     infinite fe80::202:44ff:fe7e:5b28

Interface 4: Right

Addr Type  DAD State  Valid Life   Pref. Life   Address

---------  ---------- ------------ ------------ -----------------------------

Public     Preferred      infinite     infinite fec0::2:20e:a6ff:fe33:5292

Link       Preferred      infinite     infinite fe80::20e:a6ff:fe33:5292

Anycast                                     fec0:0:0:2::

Interface 1: Loopback Pseudo-Interface

Addr Type  DAD State  Valid Life   Pref. Life   Address

---------  ---------- ------------ ------------ -----------------------------

Loopback   Preferred      infinite     infinite ::1

Link       Preferred      infinite     infinite fe80::1

Аналогично - для R1

netsh interface ipv6>set interface in forward=enabled advertise=enabled

netsh interface ipv6>set interface out forward=enabled advertise=enabled

netsh interface ipv6>add route prefix=fec0:0:0:3::/64 interface=Out publish=yes

netsh interface ipv6>show route

Querying active state...

Publish  Type       Met  Prefix                    Idx  Gateway/Interface Name

-------  --------  ----  ------------------------  ---  ---------------------

yes      Manual       0  fec0:0:0:3::/64             8  out

netsh interface ipv6>add route prefix=fec0:0:0:2::/64 interface=In nexthop=fe80::202:44ff:fe7e:5b28 publish=yes

netsh interface ipv6>show route

Querying active state...

Publish  Type       Met  Prefix                    Idx  Gateway/Interface Name

-------  --------  ----  ------------------------  ---  ---------------------

yes      Manual       0  fec0:0:0:2::/64             7  fe80::202:44ff:fe7e:5b28

yes      Manual       0  fec0:0:0:3::/64             8  out

netsh interface ipv6>

Обратите внимание, при конфигурации R1 не было объявлено префикса fec0:0:0:1::/64, однако взаимодействие между PC1 и PC2 происходит. Это связано с тем, что в качестве шлюзов каждый из маршрутизаторов указывает адрес канальной связи (Link-Local) интерфейса следующего маршрутизатора, а данный тип адресов никак не связан с адресами локального сайта (Site-Local), которые назначаются после объявления сетевых префиксов. Таким образом, если нет необходимости в обращении, например, клиентов PC1 и PC2 к интерфейсам маршрутизаторов R1(In) и R2(Left) – то и нет смысла конфигурировать сетевые префиксы для линка между этими маршрутизаторами.

Другими словами, если интерфейс не должен принимать подключения из другого канального сегмента по средствам маршрутизации, то присваивать такому интерфейсу сетевой префикс ненужно.

ICMPv6

Для обслуживания составных сетей работающих по протоколу IPv6 используется ICMPv6. Протокол ICMPv6 является стандартом, опирающимся на IPv6 и описанным в документе RFC 2463 «Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification». Используя протокол ICMPv6, узлы и маршрутизаторы, использующие протокол IPv6, могут сообщать об ошибках и отправлять простые эхо-сообщения. Протокол ICMPv6 также является основой для следующих запросов:

MLD (Multicast Listener Discovery) - является набором из трех сообщений ICMPv6 и заменяет версию 2 протокола IGMP (Internet Group Management Protocol) для IPv4, управляющего членством в многоадресных подсетях.

ND (Neighbor Discovery) - является набором из пяти сообщений ICMPv6, управляющим взаимодействием узел-узел в пределах связи. Он заменяет протокол ARP (Address Resolution Protocol), запрос Router Discovery ICMPv4 и сообщение Redirect ICMPv4, а также обладает другими функциями.

Сообщение ICMPv6 использует следующий общий формат:

8 бит

8 бит

16 бит

Type

Code

Checksum

Message Body

Type – тип сообщения

Code – код сообщения

Checksum – контрольная сума

Message Body – тело сообщения, содержащее информацию, соответствующую типу и коду сообщения. Например, цитату заголовка.

Cообщения ICMPv6 делятся на два класса: сообщения об ошибках и информационные сообщения. Сообщения об ошибках содержат нулевой бит в самом старшем разряде поля Type, т.е. сообщения об ошибках имеют номера от 0 до 127; информационные сообщения используют значения поля Type от 128 до 255. На сегодняшний день различают следующие сообщения ICMPv6:

Сообщения об ошибках ICMPv6

1    Destination Unreachable      

2    Packet Too Big               

3    Time Exceeded                

4    Parameter Problem       

Информационные сообщения

128  Echo Request                 

129  Echo Reply  

Echo Request Message (эхо-запрос)

Сообщение использует следующий формат

8 бит

8 бит

16 бит

Type

Code

Checksum

Identifier

Sequence Number

Data …

Type           128

Code           0

Назначение полей аналогично Echo Request ICMPv4.

Echo Reply Message (эхо-ответ)

Сообщение использует следующий формат

8 бит

8 бит

16 бит

Type

Code

Checksum

Identifier

Sequence Number

Data …

Type           129

Code           0

Назначение полей аналогично Echo Reply ICMPv4.

Пример взаимодействия узлов с использованием указанных выше типов сообщений.

До установки IPv6 узлы находились в одной сети 192.168.12.0/24. После установки IPv6 дополнительная конфигурация не проводилась. Ниже приведены параметры сетевого уровня для PC1 и PC2.

Для PC1

Для PC2

Символ «%» в конце адреса указывает на номер интерфейса.

Проверим взаимодействие узлов, используя команду ping на PC2

 

Учитывая, что символ «%» в конце адреса указывает на номер интерфейса, команда «ping fe80::5efe:192.168.12.3%2» обозначает – посылать эхо-запросы, используя интерфейс номер 2. Так как в нашем случае используются совместимые с IPv4 адреса, то для взаимодействия выбирается интерфейс номер 2 – Туннель IPv4-IPv6.

В результате взаимодействие имеет вид:

Запрос

Ответ

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

ping fe80::20e:a6ff:fe33:5292%4

, где 4 – номер интерфейса использующего адрес локальной связи.

Запрос

Ответ

Destination Unreachable  (получатель недоступен)

Формат сообщения

8 бит

8 бит

16 бит

Type

Code

Checksum

не используется

цитата заголовка пакета в ответ
на который посылается сообщение

Type           1

Code           0 - no route to destination (нет маршрута)

                 1 - communication with destination administratively prohibited

  (взаимодействие запрещено администратором)

                 2 - (not assigned) – не используется

                 3 - address unreachable (адрес недостижим)

                 4 - port unreachable (порт недостижим)

Данный тип сообщения генерируется, в случае если пакет не может быть доставлен получателю по любой причине, кроме перегрузки маршрутизатора. В ICMPv6 сообщение об ошибке не генерируется если пакет сброшен на маршрутизаторе вследствие перегрузки.

Код 0 соответствует ситуации, когда в таблице маршрутизации нет маршрута в сеть получателя, при этом маршрут по умолчанию так же отсутствует.

Код 1 соответствует ситуации, когда взаимодействие в заданном направлении либо с заданным узлом запрещено администратором.

Код 3 соответствует ситуации, когда пакет не может быть доставлен вследствие таких причин как, ошибка работы канального уровня или проблемы связанные с разрешением канального адреса (МАС адреса) получателя пакета.

Код 4 соответствует ситуации, когда транспортный протокол для которого предназначался данный пакет (например UDP) не прослушивает указанный порт. Сообщение с кодом 4 используются только в случае, если протокол транспортного уровня не имеет своей системы сообщения об ошибках.

Для рассмотрения примера использования сообщений типа 1 изменим таблицу маршрутизации на PC2, установив в качестве шлюза «по умолчанию» PC1: />netsh interface ipv6>add route ::/0 "In" nexthop=fe80::20e:a6ff:fe33:5292

Тогда конфигурация PC2 имеет вид

Отправим эхо-запрос к произвольно выбранному адресу

Запрос

Ответ

Packet Too Big Message (слишком большой пакет)

Формат сообщения

8 бит

8 бит

16 бит

Type

Code

Checksum

MTU

цитата заголока пакета в ответ
на который посылается сообщение

Type  2

Code  0

Данный тип сообщение посылается от маршрутизатора к узлу, и означает, что MTU следующего линка через который должен быть передан пакет, должно быть меньше или равно значению поля MTU.

Time Exceeded Message (время истекло)

Формат сообщения

8 бит

8 бит

16 бит

Type

Code

Checksum

не используется

цитата заголока пакета в ответ
на который посылается сообщение

Type 3

Code 0 - hop limit exceeded in transit (истекло значение Hop Limit)

 1 - fragment reassembly time exceeded (истекло время ожидания при сборке пакета из фрагментов)

Код 0 используется в сообщениях маршрутизаторов.

Код 1 используется в сообщениях узлов получателей пакета.

Parameter Problem Message (неверный параметр заголовка)

Формат сообщения

8 бит

8 бит

16 бит

Type

Code

Checksum

Pointer

цитата заголока пакета в ответ
на который посылается сообщение

Type 4

Code 0 - erroneous header field encountered (ошибка в поле заголовка)

 1 - unrecognized Next Header type encountered (ошибка в значении поля Next Header)

 2 - unrecognized IPv6 option encountered

Поле  Pointer (указатель) показывает номер байта цитируемого заголовка IP пакета, начиная с которого обнаружена ошибка.


 

А также другие работы, которые могут Вас заинтересовать

52132. Збірник завдань для тематичної атестації з алгебри для класів з поглибленим вивченням математики 11.53 MB
  Збірник є дидактичним матеріалом з алгебри для 8 класу з поглибленим вивченням математики. Він містить 10 контрольних робіт в двох варіантах, за структурою наближених до атестаційної роботи в 9 класі.
52133. Функціональний підхід до розв’язування рівнянь 107.5 KB
  Дидактична мета уроку: а Повторити та узагальнити основні методи розв’язування рівнянь тригонометричних ірраціональних показникових логарифмічних. б Сформувати у учнів поняття про функціональний підхід до розв’язування рівнянь як один із нестандартних евристичних прийомів. б Розвивати творчі логічні та інтелектуальні здібності учнів.
52134. Дидактичний матеріал для рівневого навчання 520.5 KB
  Опрацювавши матеріали розділу учні зможуть упізнавати функції встановлювати умови при яких вони мають певні властивості за однією властивістю “бачити †інші зводити розв’язування задач до розв’язування відомих.
52135. ЗАСТОСУВАННЯ РІЗНИХ СПОСОБІВ ДО РОЗКЛАДУ МНОГОЧЛЕНА НА МНОЖНИКИ 37 KB
  Ще 2400 років тому Конфуцій сказав: Слайд 1. Тема нашого журналістського розслідування : Слайд 2. Слайд 3. Запитання для інтерв'ю: Що таке многочлен Що означає розкласти многочлен на множники Які є способи розкладу многочленна на множники Які формули скороченого множення ви знаєте В чому суть способу винесення спільного множника за дужки В чому суть способу групування Слайд 4.
52136. Розвязування задач за допомогою систем лінійних рівнянь з двома невідомими 68.5 KB
  Учащиеся объединены в три группы По команде учителя ученики из каждой группы по одному подходят к соответствующей доске и составляют формулу какая команда быстрее. Ответьте на вопросы предварительно обсудив в группах прием вертушка учащиеся могут переходить из одной группы в другую: Приведите пример линейного уравнения с двумя переменными. Для 1й группы: Дефицит железа сказывается на росте и устойчивости к инфекциям. Для 2й группы: Таблица: Курение – одна из вреднейших привычек...
52137. Застосування властивостей степеня з натуральним показником 179.5 KB
  Тема уроку: Застосування властивостей степеня з натуральним показником Очікувані результати: Після цього уроку учні зможуть: застосовувати властивості степеня з натуральним показником при спрощенні виразів і розв’язуванні рівнянь; користуватися властивостями степеня при визначенні значень числових виразів та при порівнянні чисел; застосовувати властивості степеня з натуральним...
52138. Використання формул квадрата двочлена при розвязуванні вправ 96.5 KB
  Обладнання: карта походу карткизавдання портрет Евкліда. Тож завдання наступне виконуємо в парах. До кожного завдання вказані чотири відповіді одна з яких правильна. Ваше завдання скласти це слово.
52139. Розвязування квадратних рівнянь 139.5 KB
  Мета уроку. Навчальна складова мети формування предметних компетенцій: удосконалювати вміння застосовувати набуті раніше знання до розв’язування вправ. Розвивальна складова мети розвиток навичок мислення високого рівня: розвивати навички розуміння використання аналізу синтезу оцінювання.
52140. Розвязування рівнянь 120.33 KB
  Мета уроку: Розв’язувати найрізноманітніші рівняння, що відрізняються за тематикою і аналіз ситуації у яких припускаються найбільш поширені помилки; підвищення строгості математичних міркувань; виховувати увагу культуру математичного мовлення кмітливість. В історії розвитку математичних софізмі зіграли суттєву роль. Корекція вмінь та навичок учнів з теми через розв’язування рівнянь.