Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Windows 2000/NT Другое Протокол IPv6 (Internet Protocol Version 6) RSS

Протокол IPv6 (Internet Protocol Version 6)

Текущий рейтинг: 3.86 (проголосовало 28)
 Посетителей: 15957 | Просмотров: 22517 (сегодня 0)  Шрифт: - +
Club logo

Авторы: Томас Ли (Thomas Lee) и Джосеф Дэвис (Joseph Davies)

Глава 9 книги Microsoft Windows 2000. TCP/IP. Протоколы и службы (Microsoft Windows 2000 TCP/IP Protocols and Services Technical Reference) перепечатана с разрешения Microsoft Press. Дополнительную информацию смотрите на http://www.microsoft.com/mspress/

ISBN: 0-7356-0556-4

Данное руководство является незаменимым источником подробной информации о TCP/IP и Windows 2000.

В справочном руководстве Microsoft Windows 2000. TCP/IP. Протоколы и службы (MICROSOFT® WINDOWS 2000 TCP/IP PROTOCOLS AND SERVICES TECHNICAL REFERENCE) Вы найдите всеобъемлющую техническую информацию, необходимую для поддержки TCP/IP на платформе Windows 2000. В этом руководстве подробно описаны протоколы TCP/IP в соответствии с моделью OSI, что поможет Вам в выполнении ежедневных задач. Объединяя теоретические понятия с практическими примерами, в книге подробно описываются протоколы TCP/IP и сетевые службы Windows 2000, а также объясняется, как использовать эти протоколы и службы для достижения максимальной производительности сети. Также освещаются утилиты, которые помогут контролировать вашу сеть. Изучив эту книгу, Вы сможете овладеть экспертными знаниями в следующих областях:

  • Уровень сетевого доступа. Каким образом сетевая архитектура, поддерживаемая ОС Windows 2000, обеспечивает перенос данных в сетях TCP/IP
  • Протоколы Интернета. Каким образом протокол IP обеспечивает возможность надежной доставки индивидуальных дейтаграмм, как при одноадресной, так и многоадресной передаче.
  • Протоколы транспортного уровня. Каким образом протоколы TCP и UDP используют протокол IP для обеспечения возможности приложениям, работающим на компьютерах под управлением Windows 2000, взаимодействовать с другими приложениями и компьютерами, а также как TCP обеспечивает надежную передачу данных между отправителем и получателем.
  • Протоколы и службы уровня приложений. Как в Windows 2000 реализованы протоколы приложения совместимые с RFC.

Глава 9 – Протокол IPv6 (Internet Protocol Version 6)

По мере развития текущей версии протокола IP (IPv4), все более очевидным становится недостаточная емкость адресного пространства. Хотя использование таких механизмов, как безклассовая междоменная маршрутизация (Classless Inter-Domain Routing, CIDR) и использование прокси продлевают срок использования IPv4, продолжается разработка более гибкой и функциональной шестой версии протокола IP (IPv6).

В своем исходном варианте Интернет (а в то время ARPANET) был разработан в основном с целью упрощения коммуникаций для исследовательских и военных организаций. Конечно, исключительный срок службы и функциональность протоколов TCP/IP позволили Интернету стать механизмом взаимодействия такого масштаба, о котором ранее и не предполагалось. Кроме того, появляются новые сферы деятельности, которым требуется IP-адресация и возможность маршрутизации, обеспечиваемые протоколом IP. Сотовые телефоны, пейджеры, карманные компьютеры (PDA) становятся повседневными предметами, которым требуются механизмы, обеспечивающие безопасную мобильную связь. Развлекательные средства связи, такие как цифровое телевидение и передача звука в режиме реального времени, требуют аналогичного подключения с надежной доставкой данных. Кроме того, практически еще не затронута сфера энергетики и устройств управления, которым могут потребоваться аналогичные функциональные возможности. Возможности IPv6 делают реальностью ближайшего будущего фантастический дом с электронным контролем температуры или освещения и прочими приспособлениями.

Если для этих целей не  разрабатывать индивидуальные решения, а использовать протокол IP, потребуются механизмы, которые этот протокол не сможет предоставить. Вместо того, чтобы исследовать методы расширения уже исчерпанного адресного пространства с ограниченным потенциалом, было решено вложить силы в создание новой версии протокола IP – протокола IP версии 6. Для успешного объединения текущих и будущих потребностей должны быть обеспечены следующие ключевые возможности новой версии протокола IP:

  • Первое и самое важное: любая новая версия протокола IP должна иметь возможность совместно существовать и взаимодействовать со спецификациями текущей версии протокола IP. Вследствие того, что попытки выполнить быстрый переход от одной версии к последующей были бы нереальными и хаотичными, протокол IPv6 должен наследовать механизмы взаимодействия узлов, использующих как протокол IPv4, так и IPv6.
  • Протокол IPv6 должен поддерживать значительно большее адресное пространство по сравнению с IPv4.
  • Пакеты IPv6 должны быть как можно более простыми, но обладать возможностями для использования различных средств передачи.
  • В протоколе IPv6, для совместимости с функциональными требованиями приложений реального времени, должны присутствовать возможности выбора первостепенного потока информации и назначения полосы пропускания, известные, как QoS (качество обслуживания).
  • Возможности маршрутизации IPv6 должны быть разработаны таким образом, чтобы промежуточные узлы маршрута могли быть определены непосредственно в пакетах (аналогично параметрам маршрутизации Record Route IPv4 и Loose Source).
  • В структуре IPv6 должны присутствовать механизмы защиты передаваемых данных.
  • Используя богатый опыт решения разнообразных проблем, и пытаясь заранее определить будущие потребности, рабочая группа IETF (Проблемная группа проектирования Интернет) IPv6 продолжает трудиться над разработкой протокола.     

Содержание главы

Подразделение Microsoft Research IPv6

Самые свежие версии документов, касающиеся стека протоколов IPv6 и опубликованные подразделением Microsoft Research, могут быть найдены на Web-сайте http://www.research.microsoft.com/msripv6. Эта реализация работает как отдельный стек протоколов в операционных системах Microsoft Windows NT 4.0 и Microsoft Windows 2000. Поддержка стека протоколов IPv6 в операционных системах Microsoft Windows 95 и Windows 98 не планируется.

Стек протоколов IPv6 поддерживает следующие возможности:

  • обработка основного заголовка IPv6;
  • последовательная передача данных;
  • параметры назначения;
  • заголовки фрагментации и маршрутизации;
  • обнаружение соседа;
  • независимое автоконфигурирование адресов;
  • протокол ICMPv6;
  • среда передачи данных Ethernet и FDDI;
  • автоматические и сконфигурированные туннели;
  • IPv6 поверх IPv4;
  • туннелирование IPv6 в IPv4;
  • UDP и TCP поверх IPv6;
  • мобильность узла связи;
  • функциональность узла и маршрутизатора;
  • проверка подлинности IPSec.

Версия 1.3 еще не поддерживает полной мобильности и шифрования.

Также с исследовательского сайта можно загрузить некоторые приложения предназначенные для использования с IPv6, включая следующие: ping6; tracert6; Test TCP 6 (ttcp6) (поверх UDP и TCP); FTPv6/FTP-демон v6; динамическая библиотека wininet.dll, позволяющая использовать Microsoft Internet Explorer в IPv6; приложения организации групповых конференций; FTP-клиент для IPv6; транслятор IPv6/v4; парсер протокола для сетевого монитора, который позволяет фиксировать и отображать пакеты IPv6. Вы можете подписаться на почтовую рассылку самой свежей информации о разработках в реализации IPv6, для этого необходимо отправить письмо на электронный адрес listserv@list.research.microsoft.com. Сообщение должно быть следующего содержания: subscribe msripv6-users ваше_имя ваша_фамилия.

Эта глава содержит следующие разделы:

  • Введение в IPv6. Описывает протокол IPv6 и его предназначение, а также знакомит с терминологией IPv6.
  • Адресация IPv6. Обзор адресации в IPv6.
  • Форматы заголовков IPv6. Рассматриваются форматы заголовков используемых IPv6.
  • Механизмы перехода. Кратко описана планируемая методика объединения IPv6 с существующими форматами.

При написании этой главы не ставились задачи описать все подробности IPv6 и изложить объединение этого набора протоколов со службами Windows 2000.

Введение в IPv6

Как описано в RFC 2460, протокол IPv6 должен впоследствии заменить протокол IPv4. Это позволит увеличить размер IP-адреса с 32 бит до 128 бит, тем самым, в 296=2128-32?7х1028 раз увеличить адресное пространство по сравнению с IPv4. Такая разрядность дает возможность адресации 340282366920938463463374607431768211456 узлов, что является практически неограниченным адресным пространством. Это увеличение адресного пространства предназначено не только для объединения большего числа узлов, но и для расширения адресной иерархии.

Дополнительная информация. Спецификации протокола IPv6 определены в RFC 2460. Данный документ находится в папке \RFC на прилагаемом к книге компакт-диске.

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

В IPv6 введена возможность помечать пакеты, что позволяет обозначить принадлежность пакетов конкретным потокам, например, при обработке службой QoS и управлении полосой пропускания без анализа заголовков TCP и UDP. Дополнительные заголовки также предназначены для проверки подлинности, целостности данных и опционального шифрования пакетов.

Перед подробным обзором IPv6 важно понимать некоторые основные термины, используемые в спецификации протокола.   

Узлы, маршрутизаторы хосты и интерфейсы

Узлом (node) является любое устройство, поддерживающее IPv6. Маршрутизатор (router) является узлом, который пересылает пакеты, предназначенные для других узлов. Хост (host) же является узлом, который не пересылает пакеты. Интерфейс (interface) это устройство подключения к среде передачи данных, применяемое для передачи данных, через которое отправляются IPv6-пакеты. Хотя маршрутизатор отличается от хоста по определению, тем не менее может существовать отдельный узел, с несколькими интерфейсами, который имеет возможность пересылать  пакеты, между узлами, находящимися в различных подсетях. Соответственно, такое устройство может выступать и как хост (для интерфейсов не участвующих в пересылке), и как маршрутизатор (для интерфейсов участвующих в пересылке).

Связи, соседи, MTU канала и адреса уровня связи

Связь (link) это среда для передачи пакетов IPv6.

Соседи (neighbor) это узлы, подключенными к одному и тому же каналу. MTU (maximum transmission unit) канала - это максимальный размер пакета, который может быть передан через данный канал, выраженный в октетах. Адрес уровня связи (link layer address) –это физический адрес интерфейса, например MAC-адрес для каналов Ethernet.

Одноадресные (unicast), групповые (multicast) и адреса рассылки до первого получателя (anycast)

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

Примечание. Если иное не указано, термины, используемые в этой главе, относятся к IPv6.

Адресация IPv6

Текстовое представление IPv6-адресов

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

  • Наиболее предпочтительным текстовым представлением адресов является перечисление восьми 16-битных шестнадцатеричных секций, разделенных двоеточиями. Например, IPv6 адрес для интерфейса будет выглядеть как:
    ABCD:EF12:3456:7890:ABCD:EF12:3456:7890
    Любое поле, содержащее начальные нули не нуждается в отображении этих начальных нулей, хотя поле не может быть пустым. Например: 1234:0:0:0:ABCD:123:45:6
  • В силу особенностей механизмов назначения адресов IPv6, длинные строки нулевых битов общими для всех адресов в подсети. Поэтому альтернативная форма отображения адресов допускает использовать "::" для представления части адреса содержащей нулевые биты.  Комбинация "::" может быть использована для представления более чем одной секции нулевых битов, но не может быть использована несколько раз в адресе. Например: адрес 1234:0:0:0:ABCD:0:0:123 может быть представлен в виде 1234::ABCD:0:0:123 или 1234:0:0:0:ABCD::123, но не может быть 1234::ABCD::123.
  • Третий способ текстового отображения адресов используется в смешанном окружении, состоящем из узлов IPv4 и IPv6. В этой нотации шесть высших разрядов (крайних левых) 16-битных секций отображаются в шестнадцатеричном формате, а оставшаяся часть адреса отображается в привычном десятичном представлении с разделительными точками. Например, адрес может быть представлен в любом виде:
    0:0:0:0:0:0:131.107.6.100 или
    ::131.107.6.100 (сжатый формат),
    0:0:0:0:0:FFFF:131.107.4.99 или ::FFFF:131.107.4.99 (сжатый формат),
    ABCD:EF:12:34:0:0:131.107.2.98 или
    ABCD:EF:12:34::131.107.2.98 (сжатый формат).

Дополнительная информация. Архитектура организации адресов подробно описана в RFC 2373. Данный документ находится в папке \RFC на прилагаемом к книге компакт-диске.

Адреса одноадресной рассылки

Поле различной длины, состоящее из начальных битов, называемое префиксом формата FP (Format Prefix), указывает на тип адреса IPv6. Значение префикса формата, равное 11111111 (или «FF» в шестнадцатеричной системе исчисления) идентифицирует адрес как групповой. Любые другие значения начальных битов высших разрядов определяют адрес как одноадресный. Адреса рассылки до первого получателя принадлежат пространству адресов одноадресной рассылки и будут рассмотрены в разделе Адреса рассылки до первого получателя этой главы. Адреса одноадресной рассылки относятся к отдельному узлу в связи; однако, единый адрес одноадресной рассылки может быть назначен нескольким интерфейсам, принадлежащим одному узлу, при условии, что интерфейсы представлены протоколам верхнему уровня как единое целое. Адреса одноадресной рассылки могут быть нескольких типов, включая глобальные адреса провайдеров (aggregatable global unicast address), локальные адреса канала, локальные адреса сайта и IPv6-адреса с вложенными IPv4-адресами.

Зарезервированные адреса одноадресной рассылки

В настоящее время, документом RFC 2373 определено два специальных адреса одноадресной рассылки. Не специфицированный адрес 0:0:0:0:0:0:0:0 (либо :: в сжатом виде) не может быть назначен ни одному из узлов, и не может быть использован в качестве адреса источника в IPv6-пакетах или заголовка маршрутизации. Обычно этот адрес используется узлами при инициализации IPv6, и указывает на то, что узлы еще не знают своих собственных адресов. Вторым зарезервированным однонаправленным адресом является адрес 0:0:0:0:0:0:0:1 (либо ::1 в сжатом виде). Данный адрес называется адресом замыкания на себя (loopback), он используется узлом при отправке пакета самому себе и аналогичен адресу замыкания на себя 127.0.0.1 в IPv4.

Глобальные адреса провайдеров

В IPv4 по схеме бесклассовой междоменной  маршрутизации (CIDR) Интернет-провайдеры (ISP) объединяют в пулы.

Глобальные однонаправленные адреса провайдеров в IPv6 функционируют аналогичным образом и будут использованы для всемирного объединения подсетей при переходе на IPv6. Формат глобального адреса провайдера изображен на Рисунке 9-1.

Дополнительная информация. Формат глобального адреса провайдера определен в RFC 2374. Данный документ находится в папке \RFC на прилагаемом компакт-диске.  


Увеличить рисунок

Рисунок 9-1 - Формат глобального однонаправленного адреса провайдера 

Прежде чем приступать к изучению внутренней структуры глобального адреса провайдера, необходимо иметь четкое представление об общей структуре этих адресов. Адреса провайдеров будут организованы по трехзвенной иерархической структуре. Верхний уровень этой иерархии, называемый  Публичной топологией, является частью адресного пространства, которым будут управлять субъекты, предоставляющие публичные услуги Интернета. Публичная топология обеспечит механизм, на который будут ссылаться магистральные провайдеры для обеспечения группирования или объединения адресов. Эти провайдеры будут отвечать за обеспечение маршрутизации, происходящей вне внутренней структуры организации.

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

Таблица 9-1

Сокращение Поле Длина Характеристика
FP Префикс формата (Format Prefix) 3 бита «001» указывает, что это глобальный адрес провайдера.
TLA ID Верхний уровень объединения (Top-Level Aggregation) 13 бит Это поле будет отвечать за поддержку верхних уровней иерархии публичной маршрутизации. Использование 13 битов для этих идентификаторов дает возможность определения 8192 TLA
RES Зарезервировано (Reserved) 8 бит Эти биты позволят увеличить размеры полей TLA и NLA, если это понадобится впоследствии.
NLA ID Идентификатор следующего уровня объединения (Next-Level Aggregation Identifier) 24 бита Это поле будет использоваться организациями, которым назначены TLA для создания внутренней иерархии организации адресов, и для разрешения магистральными провайдерами идентификации сайтов который они обслуживают. 24 бита позволят каждому TLA обслужить около 16 миллионов сайтов, если будет использоваться однородная модель, что соответствуют практически всему адресному пространству IPv4 при использовании иерархии. 
SLA ID Идентификатор объединения уровня сайта (Site-Level Aggregation Identifier) 16 бит Это поле позволит организациям создать структуры внутренней маршрутизации в зависимости от внешней общественной топологии маршрутизации. 16 бит могут обеспечить поддержку до 65536 внутренних подсетей.
Interface ID Идентификатор интерфейса (Interface Identifier) 64 бита Идентификатор интерфейса должен быть уникальным в связи, часто может соответствовать адресу уровня канала, и фактически может быть назначен множеству интерфейсов в одном узле, это позволит распределять нагрузку между несколькими интерфейсами.

Локальные адреса одноадресной рассылки

Формат адреса одноадресной рассылки локальной связи, изображен на Рисунке 9-2. Данные адреса используются для взаимодействия в одной связи, в которой не имеется маршрутизаторов, либо в особых целях, например, при автоконфигуровании (процесс, с помощью которого узлам назначаются IPv6-адреса) или обнаружении соседей (метод поиска других узлов в связи).  


Увеличить рисунок

Рисунок 9-2 - Формат локального адреса одноадресной рассылки 

Формат адреса одноадресной рассылки локального сайта изображен на Рисунке 9-3, эти адреса эквивалентны частным адресам в IPv4 и используются для адресации и взаимодействия внутри отдельно взятой организации. Маршрутизаторы не должны перенаправлять пакеты с такими адресами вне сайта, где они используются.  


Увеличить рисунок

Рисунок 9-3 - Формат адреса одноадресной рассылки локального сайта 

IPv6-адреса с вложенными IPv4-адресами

Для содействия успешному переходу от IPv4 к IPv6 были разработаны два механизма туннелирования IPv6-пакетов поверх инфраструктуры IPv4. В одном из методов узлам IPv6 присваиваются специальные IPv6 адреса одноадресной рассылки, которые в младших 32 битах содержат адрес IPv4. Такой тип адреса, называемый IPv4-совместимый адресом IPv6, в котором нули составляют все поля, за исключением младших 32 битов соответствующих IPv4-адресу, изображен на Рисунке 9-4. Во втором методе внутри IPv6-адреса содержится IPv4-адрес. Этот тип адреса используется для представления адресов-IPv6 узлам IPv4 (которые не поддерживают IPv6). Этот тип адреса называется "IPv4-отбражаемым адресом IPv6". В отличие от первого метода, 16-битное значение FFFF предшествующее 32-битному адресу IPv4 указывает на данный тип адреса. 


Увеличить рисунок

Рисунок 9-4 - IPv6-адрес с вложенным IPv4-адресом 

Адреса рассылки до первого получателя

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

Когда узлу-источнику необходимо отправить пакет на этот адрес, будет использоваться механизм поиска ближайшего узла, которому назначен данный адрес. Таким образом, узлу-источнику не нужно знать, какой адрес является адресом рассылки до первого получателя, и последовательное взаимодействие произойдет только между узлом-источником и ближайшим маршрутизатором, настроенным на использование адреса рассылки до первого получателя. 

В соответствии с документами RFC 2373 и 2526, адреса рассылки до первого получателя на данный момент имеют ряд ограничений и являются предметом дальнейших исследований. Во время написания книги адреса рассылки до первого получателя не могли быть использованы в качестве адреса источника любого пакета IPv6 и могли быть применены только для маршрутизаторов, а не для хостов. Кроме того, маршрутизаторам потребуется необходимость поддержки адресов рассылки до первого получателя в каждой подсети, к которой они подключены, для обеспечения того, что эти маршрутизаторы смогут получать пакеты, отправленные на адреса рассылки до первого получателя в этой подсети.

Групповые адреса

Как определено в RFC 2373 и 2375, групповые адреса используются в IPv6 для группового потока данных и заменяют широковещательные адреса в IPv6. Групповой адрес назначается группе узлов, но в отличие от адреса рассылки до первого получателя, все узлы, с назначенным групповым адресом, получат пакеты, отправленные на этот адрес. Узел может входить более чем в одну группу, кроме того, узлы не могут использовать групповой адрес в качестве адреса источника пакета, а также групповые адреса не могут быть использованы в заголовках маршрутизации. На Рисунке 9-5 изображен формат группового адреса IPv6.

Дополнительная информация. О групповых адресах и IPv6-трафике читайте в RFC 2373 и 2375. Данные документы находится в папке \RFC на прилагаемом к книге компакт-диске. 


Увеличить рисунок

Рисунок 9-5 - Формат группового адреса IPv6 

В Таблице 9-2 описаны поля группового адреса.

Таблица 9-2

Сокращение Поле Длина Характеристика
FP Префикс формата 8 бит Значение «11111111» (или FF в шестнадцатеричной системе исчисления) указывает, что это групповой адрес
Flgs Флаги 4 бита Первые 3 бита этого поля зарезервированы и должны иметь значение «0». Если четвертый бит имеет значение «0», это указывает на постоянно назначенный групповой адрес; если имеет значение «1», то этот групповой адрес временный, или не назначен Агентством по выделению имен и уникальных параметров Интернет (Internet Assigned Numbers Authority, IANA).
Scop Область 4 бита Значение области ограничивает область действия группы. Значения «0» и «F» зарезервированы; могут быть использованы следующие значения:

«1» - область локального узла;

«2» - область локальной связи;

«5» - область локального сайта;

«8» - область локальной организации;

«Е» - глобальная область; другие значения в настоящее время не используются.

Group ID Группа 112 бит Это уникальный идентификатор для данной многоадресной группы, которая будет принимать пакеты, отправленные на этот адрес.
 

Например, следующие групповые адреса используются для адресации пакетов для групп маршрутизаторов:

FF01:0:0:0:0:0:0:2 область локального узла; все маршрутизаторы. Этот адрес идентифицирует все маршрутизируемые интерфейсы в одном узле.

FF02:0:0:0:0:0:0:2 область локальной связи; все маршрутизаторы. Этот адрес идентифицирует все маршрутизаторы в одной связи.

FF05:0:0:0:0:0:0:2 область локального сайта; все маршрутизаторы. Этот адрес идентифицирует все маршрутизаторы в сайте.

Обнаружение соседа (neighbor discovery)

Термин «обнаружение» может ввести в заблуждение, так как узлы используют механизмы как для информирования других узлов о своем присутствии в сети, так и для определения параметров, таких как расположение узла, доступность маршрутизаторов, MTU канала и конфигурация адреса. Хотя основные механизмы обнаружения изложены в RFC 2461, некоторые методы обнаружения являются специфичными для конкретных типов связей. Механизмы обнаружения часто реализованы аналогично групповой рассылке и заменяют такие функции IPv4 как ARP (протокол преобразования адресов), IRDP (протокол анализа ICMP-маршрутизаторов), IGMP (межсетевой протокол управления группами) и перенаправление ICMP.

Методы обнаружения маршрутизаторов

Механизм обнаружения используется маршрутизаторами для различных целей. Маршрутизаторы применяют групповую рассылку сообщений Объявление маршрутизатора (Router Advertisement), через регулярные промежутки времени и при ответе на запросы Ходатайство маршрутизатора (Router Solicitation). Сообщения объявление маршрутизатора включают в себя следующую информацию, необходимую для конфигурирования узлов: адреса маршрутизаторов уровня связи; префиксы связи (соответствующие маски подсети в IPv4); MTU связи; рекомендуемое ограничение переходов. 

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

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

Обнаружение хоста

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

Как описано в RFC 2462, автоконфигурирование без возможности изменения адреса разрешено хостам при самостоятельном назначении адреса, с помощью рассылки пакетов для выяснения того, используется ли данный адрес другими узлами в связи, и конфигурировании остальных параметров связи или сайта на основе информации, полученной хостом в сообщение Объявление маршрутизатора.

Дополнительная информация. Автоконфигурирование без возможности изменения адреса описано в RFC 2462. Данный документ находится в папке \RFC на прилагаемом к книге компакт-диске.

Если узлу необходимо взаимодействовать с другим узлом, он отправляет сообщение Neighbor Solicitation (ходатайство соседа) на специальный адрес, называемый Целевым адресом ходатайствующего узла для многоадресной рассылки (solicited node multicast address) с целью анализа соседа на уровне связи. Узел-отправитель включает в это сообщение Ходатайства соседа (Neighbor Solicitation) свой собственный адрес уровня связи, чтобы узел-получатель мог кэшировать результаты, что исключает необходимость отправки встречного запроса узлом-получателем аналогичного ходатайства. В ответ на запрос узел-получатель отправит сообщение Объявление соседа (Neighbor Advertisement), включающее свой собственный адрес уровня связи.

Когда между двумя узлами установлено взаимодействие, каждый узел полагается на протоколы верхнего уровня для подтверждения того, что пакеты были успешно отправлены или получены. Если такое подтверждение отсутствует, для определения функционирования соседнего узла данный узел решает задачу, называемую Обнаружение недостижимости соседа (Neighbor Unreachability Detection), отправляя одноадресный запрос Ходатайства соседа непосредственно на этот узел. Если двухстороннее соединение не будет подтверждено, узел перестанет отправлять пакеты на недоступный адрес.

Дополнительная информация. В документе RFC 2463 описан механизм обработки ошибок протоколом ICMP, используемый в IPv6. Данный документ  находится в папке \RFC на прилагаемом к книге компакт-диске.  

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

Формат заголовка IPv6 и механизмы маршрутизации

Информация об адресах в IPv6 составляет только часть заголовка каждого пакета. Оставшаяся часть заголовка пакета IPv6 содержит информацию, необходимую узлам для эффективной оценки и обработки каждого пакета. На Рисунке 9-6 изображен общий формат заголовка пакета IPv6.  


Увеличить рисунок

Рисунок 9-6 - Общий формат заголовка пакета IPv6 

В Таблице 9-3 описаны поля заголовка пакета IPv

Таблица 9-3

Поле Длина Характеристика
Версия (Version) 4 бита Значение «0110» указывает на версию 6.
Класс трафика (Traffic Class) 8 бит Используется при идентификации класса или приоритета трафика, для того чтобы пакеты могли быть перенаправлены с другими приоритетами для обеспечения QoS
Метка потока (Flow Label) 20 битов Пакеты, которые соответствуют определенному классу потока, помечаются для определения принадлежности этому потоку.
Длина полезной нагрузки (Payload Length) 16 битов Длина в октетах оставшейся части пакета, включающей в себя дополнительные заголовки.
Следующий заголовок (Next Header) 8 битов Определяет тип заголовка, следующего сразу после заголовка IPv6 используются те же значение, что и в поле протокола IPv4 (RFC 1700).
Предел переходов (Hop Limit) 8 битов Число связей, через которое пакет может быть передан пока не будет отброшен. Каждая пересылка уменьшает значение этого поля на 1.
Адрес отправителя (Source Address) 128 битов Адрес узла отправителя.
Адрес назначения (Destination Address) 128 битов Адрес узла назначения, который может быть либо окончательным получателем или промежуточным узлом.
 

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

На Рисунке 9-7 изображена структура пакета IPv6, содержащего дополнительные заголовки.  


Увеличить рисунок

Рисунок 9-7 - Дополнительные заголовки IPv6 

Количество дополнительных заголовков в пакете может быть различным: могут присутствовать либо все заголовки, либо только некоторые, либо вообще отсутствовать. Дополнительные заголовки должны располагаться в порядке, изображенном на Рисунке 9-7.

Каждый дополнительный заголовок может встречаться в пакете только один раз, за исключением заголовка Параметры назначения (Destination Options), который может быть использован дважды: первый раз он используется перед заголовком Маршрутизации (Routing) и применяется к каждому из переходов, указанных в заголовке Маршрутизации, второй раз он присутствует как последний заголовок и применяется только в точке назначения*.

Дополнительные заголовки всех типов используют поле Следующий заголовок, которое имеет длину 8 битов и определяет тип следующего заголовка. Значение «59» в этом поле, указывает на завершение последовательности заголовков.

(* примечание переводчика)

Дополнительный заголовок Hop-by-Hop

Каждый узел, принимающий участие в передаче пакета, должен проанализировать заголовок Hop-by-Hop, формат которого изображен на Рисунке 9-8. Значение «0 «в поле Следующий заголовок предыдущего заголовка указывает на тип заголовка Hop-by-Hop*. Несколько опций, указанных в заголовке и определяющих действия, выполняемые на  промежуточных переходах по маршруту следования, должны быть обработаны по порядку. Поле Следующий заголовок определяет следующий далее заголовок, как описано выше. Поле Длина дополнительного заголовка (Header Extension Length) определяет длину этого дополнительного заголовка в октетах. Поле Тип действия (Option Type) длиной 8 битов указывает, какое действие должно быть выполнено узлом. В соответствии с этим полем узел может отбросить пакет, пропустить действие и продолжить обработку оставшейся части заголовка или отправить ICMP сообщение Нераспознанный тип действия (Unrecognized Option Type) на адрес отправителя.

(* примечание переводчика) 

Рисунок 9-8 - Формат заголовка Hop-by-Hop.

Заголовок Destination Options

Заголовок Опции узла назначения (Destination Options) практически идентичен заголовку Hop-by-Hop, за исключением того, что он не будет проанализирован промежуточными узлами по маршруту следования пакета, а будет проанализирован только узлом назначения. Значение «60» в поле Следующий заголовок предыдущего заголовка указывает на тип заголовок Опции узла назначения

Рисунок 9-9 - Формат заголовка Destination Options

Заголовок Маршрутизации (Routing)

В протоколе IPv6 узел-отправитель может определить одну или несколько остановок пакета по пути его следования. Значение «43» в поле Следующий заголовок предыдущего заголовка указывает на тип заголовка Маршрутизации*. Формат заголовка Маршрутизации изображен на Рисунке 9-10. Этот дополнительный заголовок не будет проанализирован и обработан, пока пакет не достигнет узла назначения, указанного в основном заголовке IPv6. По достижении узла назначения заголовок маршрутизации будет проанализирован и обработан в соответствии с алгоритмом, определяемым полем Тип маршрутизации (Routing Type). Используя результаты обработки, пакет будет отправлен на следующий узел назначения, указанный в пакете. Поле Оставшиеся сегменты (Segment Left) длиной 8 битов определяет оставшееся количество адресов маршрута. Поле Резервное (Reserved) длиной 32 бита должно быть установлено в ноль и игнорируется при передаче. Поскольку пакет отправляется каждым из указанных в заголовке узлов, изменяется адрес пройденного узла в маршруте и уменьшается счетчик ретрансляций, пока в конечном итоге в пакете не будет достигнут адрес окончательного узла назначения.

(*примечание переводчика) 


Увеличить рисунок

Рисунок 9-10  - Формат заголовка маршрутизации 

Заголовок Фрагмента (Fragment)

На Рисунке 9-11 изображена структура заголовка Фрагмента (Fragment) IPv6. Значение «44» в поле Следующий заголовок предыдущего заголовка указывает на тип заголовка Фрагмента *. Протоколу IPv6 требуется минимальное значение MTU связи равное 1280 октетам; все связи, которые не поддерживают данное условие, должны предоставить собственные механизмы специфичные для такой связи, обеспечивающие фрагментацию и последующую сборку пакетов ниже уровня IPv6. Если MTU связи составляет как минимум 1280 октетов, а размер подлежащего отправке пакета больше этого значения, протокол IPv6 обеспечивает собственный механизм фрагментации. В IPv6 узлы отправители выполняют фрагментацию гораздо чаще, чем маршрутизаторы.

Наличие заголовка Маршрутизации, тем не менее, может потребовать от промежуточных узлов выполнения фрагментации пакета вследствие его прохождения по участку маршрута с различными MTU. Поскольку при каждом из таких переходов маршрутизатор выступает в качестве узла отправителя при отправке пакета до следующего узла, то узлу необходимо сравнить MTU связи с размером пакета, что является гораздо предпочтительнее, чем знать значения MTU для всех сетевых связей, по которым будет осуществлена передача пакета. Поле Смещение фрагмента (Fragment Offset) определяет порядок сборки пакета на узле получателе, поэтому каждому фрагментированному пакету для облегчения повторной передачи потерянных пакетов назначается уникальное значение, хранящееся в поле Идентификации (Identification). Флаг M, имеющий значение «0», указывает на то, что это последний из фрагментов. Значение «1» указывает на то, что имеются последующие фрагменты.

(* примечание переводчика) 

Рисунок 9-11 - Формат заголовка фрагмента

Заголовок Проверка подлинности (Authentication)

Заголовок Проверка подлинности (Authentication), обеспечивающий проверку источника данных и целостность данных, может быть использован как самостоятельно, так и совместно с заголовком Инкапсуляции с обеспечением безопасности полезной нагрузки (Encapsulating Security Payload, ESP). Однако заголовок Проверка подлинности не обеспечивает шифрование данных, в IPv6 за это отвечает заголовок ESP. Форматы заголовков Проверка подлинности и ESP описаны в RFC 2402 и 2406, безопасность IP описывается в главе 20 этой книги. Значения «51» и «50» в поле Next Header предыдущего заголовка указывают соответственно на типы заголовков Проверка подлинности и Инкапсуляция с обеспечением безопасности полезной нагрузки *.

Поле Длины нагрузки (Payload Length) длиной 8 битов в заголовке Проверка подлинности определяет размер этого заголовка в 32-битных словах. Поле Резерв (Reserved) длиной 16 битов не используется и должно иметь значение «0». Поле Индекс Параметра Безопасности (Security Parameters Index, SPI) содержит произвольное 32-битное значение. Совместно с адресом узла назначения и протоколом безопасности, при согласовании узлов, это значение однозначно определяет сопоставление безопасности пакета. Поле Номер последовательности (Sequence Number) длинной 32 бита увеличивается на единицу для каждого пакета, значение этого счетчика не может быть уменьшено без отправления и получения узлами нового сопоставления безопасности пакета. Длина данных проверки подлинности может варьироваться, но должна быть кратной 64 битам и, хотя и может содержать любые значения, но по требованиям безопасности эти данные формируются на основе значений Длины полезной нагрузки (Payload Length) и Значение проверки целостности (Integrity Check Value).

(* примечание переводчика) 


Увеличить рисунок

Рисунок 9-12 - Формат заголовка Проверка подлинности 

Механизмы перехода

Механизмы для перехода с IPv4 на IPv6 хотя и определены в RFC 1933, но продолжают разрабатываться в настоящее время. Основная цель процесса перехода состоит в успешном сосуществовании протоколов двух версий, пока IPv4 будет использоваться, если вообще, когда-либо он будет исключен из употребления. Планы перехода разделены на две основные группы: поддержка двух стеков протоколов и использование IPv6 с помощью IPv4 туннелирования.

Дополнительная информация. Механизмы перехода от IPv4 к IPv6 определены в RFC 1933. Данный документ  находится в папке \RFC на прилагаемом к книге компакт-диске.  

Поддержка двух стеков протоколов

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

Туннелирование IPv6 через IPv4

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

Поскольку DNS-серверы Windows 2000 поддерживают этот тип записи, также как и записи типа «А» для IPv4, протокол IPv6 может быть легко реализован в среде Windows 2000. Дополнительную информацию о DNS в Windows 2000 смотрите в главе 16 этой книги.

Заключение

Безусловно, поддержка протокола IPv4 будет продолжаться еще несколько лет. Тем не менее, ему недоступна функциональность IP, которую предоставляет IPv6 за счет расширяемости и богатых конфигурационных возможностей. Разработка IPv6 продолжается согласно концепции, изложенной в этой книге, но протокол быстро достигает завершенного состояния.  Когда протокол IPv6 будет окончательно развернут, он сможет предоставить примерно 1500 IP-адресов для каждого квадратного ангстрема (10-10м) на планете, отлично обеспечивая любые сетевые потребности, что ранее считалось научной фантастикой.

Наверх страницы 





Обсуждение статьи на форуме
Автор: Александр Пидодня aka Архимед  •  Иcточник: (переведено с англ.) Microsoft Technet  •  Опубликована: 27.08.2006
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.