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


Критерии проектирования
Ipv6 против IPv4
Расширенные заголовки
Типы адресов IPv6
Представление адресов
Поддержка системных требований
Что же в итоге?
Что случилось с IPv5 ?
Адрес в каждом дюйме

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

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

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

Итак, прежде всего ответим на вопрос: зачем нам нужен новый IP-протокол? Первоначальная спецификация IP-протокола, RFC 791, была опубликована в 1981 году, но его корни уходят еще глубже, в начало 70-х годов, когда была разработана ARPANet. Со времени ее появления было создано множество версий для всевозможных вычислительных платформ и операционных систем.

Эта популярность, а также бурный рост Internet помогли выявить ряд слабых сторон первоначального стандарта. 32-разрядного адресного поля, способного идентифицировать свыше 4 миллиардов систем, было бы достаточно, если бы не основанная на классах структура адресных полей, которая значительно снижает его эффективность.

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

Критерии проектирования

Спецификации RFC 1726, или технические критерии для выбора IP следующего поколения (IP the Next Generation - IPng), описывают набор основных функций, которые должны быть включены в новую версию IP. Большинство из предложенных свойств, например топологическая независимость, принесли успех Internet уже сегодня. Другие предназначены для дальнейшего усовершенствования еще не выпущенных приложений. Среди таких критериев можно назвать следующие.

Масштабность. IPng должен идентифицировать и определять адреса по меньшей мере 1012 конечных систем и 109 индивидуальных сетей.

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

Преемственность. Протокол должен иметь четкий план перехода от текущей версии IPv4.

Независимость от среды передачи. Протокол должен работать среди множества сетей с различными средами передачи данных (ЛВС, городские и территориальные сети). Скорость передачи в них может варьироваться от нескольких бит до сотен гигабит в секунду. Это подтверждает, что IPng не должен быть привязан к определенному типу технологии.

Автоматическое конфигурирование хост-машин и маршрутизаторов.

Безопасность. IPng должен поддерживать уровень сетевой безопасности.

Мобильность. Протокол должен работать с мобильными пользователями, сетями и межсетевыми системами.

Расширяемость. Для протокола необходима возможность дальнейшего развития в соответствии с новыми потребностями Internet.

Удовлетворить все перечисленные требования очень трудно. Рабочая группа IPng Working Group комитета IETF изучала эти вопросы в течение двух лет, рассмотрела множество проектов.

Но проекта, полностью соответствующего всем требованиям, не оказалось. Поэтому рабочая группа выбрала элементы из трех наиболее подходящих предложений: Common Architecture for Next Generation Internet Protocol (CATNIP), TCP and UDP with Bigger Addresses (TUBA) и Simple Internet Protocol Plus (SIPP). Выбрав лучшие свойства из каждого проекта, она объединила их в новою спецификацию протокола, который мы теперь называем IPv6.

Ipv6 против IPv4

В спецификации RFC 1752 (рекомендации для следующего поколения IP- протокола) обсуждаются достоинства и недостатки различных протоколов, предложенных для IPng, а также свойства, положенные в основу IPv6.

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

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

Поддержка передачи речи и видео в реальном времени позволит для связи с Internet и интрасетями использовать обычный телефон или кабель.

Заголовок пакета IPv6 занимает 320 бит, или 40 октетов и разбивается на восемь полей (см. рисунок 1). (Октет составляет 8 бит информации. Это термин предпочтителен для международных стандартов связи, потому что если, например, в США один байт равен 8 битам, то в некоторых других странах это не так.)

Рисунок 1. Описание заголовка ракета IPv6.
Picture1
Версия (4 бита) -содержит номер версии протокола (6 для IPv6).
Приоритет (4 бита) - устанавливает приоритет передачи одного пакета перед другими пакетами данного отправителя.
Поле потока (24 бита) - определяет поток данных, которые могут требовать специальной обработки.
Поле длины (16 бит) - длина пакета в октетах (исключая заголовок).
Поле дополнительного заголовка (8 бит) - определяет заголовок, который следует за IPv6-заголовком.
Поле количества переходов (Hop Limit) (8 бит) - число которое увеличивается на еденицу при прохождении пакета через каждый узел.
Если поле стало нулевым, пакет отбрасывается.
Адрес источника (128 бит) - содержит адрес отправителя пакета.
Адрес приемника (128 бит) - содержит адрес предполагаемого получателя пакета, но если в пакете есть заголовок маршрутизации, то не обязатально.

Поле версии соответствует номеру версии протокола (6 для IPv6), и его длина составляет четыре бита.

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

Поле метки потока Flow Label длиной 24 бита используется для идентификации типа передачи данных, требующих специальной обработки. Эта концепция пока находится в стадии разработки и может применяться при передаче данных в реальном времени по Internet.

Поле длины (Pay Road Length), занимающее 16 бит, измеряет длину пакета в октетах, показывая загрузку или баланс IPv6-пакета. Длина пакета может варьироваться от 576 до 65 535 байт, или октетов. При большем размере посылаемых данных можно использовать Jumbo Payload Option. Эта возможность дает преимущество перед IPv4, максимальная длина пакета в котором не может превышать 65 535 байт.

Поле следующего заголовка (Next Header) длиной восемь бит показывает, что за этим заголовком может следовать например еще один, расширенный заголовок Ipv6 или заголовок TCP.

Затем следует поле количества переходов (Hop Limit) длиной 8 бит. Поля источника и приемника составляют по 128 бит каждое и определяют соответственно адреса отправителя и получателя пакета.

Если сравнить заголовки протоколов IPv4 и IPv6, можно увидеть, что поле приоритета в IPv6 выполняет функции, схожие с полем преимущества в IPv4, поле дополнительного заголовка в IPv6 напоминает поле протокола в IPv4, а поле количества переходов в IPv6 похоже на поле времени жизни в IPv4.

Расширенные заголовки

Хотя поля адресов в IPv6 в четыре раза длиннее, чем в IPv4, длина базового заголовка нового протокола больше всего в два раза: 40 октетов против 20. Такой эффект объясняется потоковой обработкой пакетов и перемещением дополнительных функций в расширенный заголовок.

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

Пакет IPv6 может иметь ни одного, один или несколько расширенных заголовков.

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

  • заголовок переходов (Hop-by-Hop), содержащий информацию, которая проверяется и изменяется каждым узлом на пути передачи пакета, включая узел назначения;
  • заголовок узла назначения, передающий данные для проверки в точке назначения пакета. (Пока эта функция окончательно не определена. Она может служить примером того, как в недалеком будущем IPv6 сможет удовлетворить новые потребности.);
  • заголовок маршрутизации, определяющий промежуточные узлы на пути от источника к приемнику;
  • заголовок фрагмента, используемый узлом-отправителем, при делении большого сообщения на несколько фрагментов, которые могут обрабатываться промежуточными маршрутизаторами;
  • заголовок аутентификации, обеспечивающий целостность и аутентификацию данных с помощью таких схем, как Message Digest5 (MD5);
  • заголовок защиты (Encapsulating Security Payload), обеспечивающий конфиденциальность данных с использованием стандартов шифрования данных, таких как DES (Data Encryption Standard).
  • Система деления заголовка пакета IPv6 на базовый и дополнительный значительно упрощает добавление к нему новых свойств и функций.

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

    IPv6 коренным образом решил проблему исчерпания IP-адресов, увеличив адресное пространство с 32 до 128 бит. Протоколом предусматрено три типа адресов:

  • unicast, предназначенный для связи точка - точка;
  • anycast, позволяющий связаться с ближайшим устройством;
  • multicust, служащий для связи с множеством устройств одной группы.
  • Anycast представляет собой новый тип адреса, позволяющий, например, связаться с ближайшим маршрутизатором, который затем передаст данные на другие устройства своей группы. В этом случае хост-машина поылает данные только одному маршрутизатору, а тот ретранслирует их дальше всем членам данной группы устройств.

    В случае применения multicust-адреса поле ограничивает область распространения пакета. Например, при проведении телеконференции в своей организации вы можете быть уверены, что пакеты не будут передаваться маршрутизатром за пределы вашей сети в Internet. Каждый адрес состоит из определнного префикса и собственно адреса. Пока определена примерно одна восьмая адресного пространства, что оставляет достаточно места для дальнейшего роста.

    Префикс, занимающей первые 3 -11 бит в 128-битном адресном поле, определяет формат адреса. Одни префиксы определяют адреса типа unicust или типа multicust, а другие - специальные адреса, применяемые для особых типов связи или используемые внутри специального сервера либо организации.

    Например, поставщик услуг связи Internet может назанчить какой-либо организации формат unicust на базе своего адреса (см. рисунок 2). Некоторые из полей внутри адреса, такие как идентификатор подсети, могут назначаться администратором локальной сети.

    Picture 2
    1 - идентификационный префикс: всегда двоичное 010.
    2 - поле регистрационного идентификатора: определяет центр, выдавший адрес (например InterNIC в Северной Америке).
    3 - поле идентификатора провайдера: определяет поставщика Internet-услуг, который выдал часть адреса своему подписчику.
    4,6 - поля RES: зарезервированы для дальнейшего использования, всегда устанавливаются в значении 0.
    5 - поле подписчика: определяет подписчика среди других, пользующихся услугами одного и того же поставщика.
    7 - поле субподписчика: используется администратором локальной сети, который может разделить адрес на две части - адрес подсети и узла.

    Представление адресов

    Запомнить 32х-битовый адрес протокола IPv4 в двоичном формате очень нелегко. Для упрощения этой задачи была разработана его десятичная точечная нотация, в соответсвии с которой адрес делится на четыре части по 8 бит. Затем каждый 8-битовый двоичный номер представляется в десятичном формате одним числом от 0 до 255. Например, двоичный адрес 11000000 00011000 00000000 00000000 в десятичной точечной форме будет представлен как 192.24.0.0.

    Поскольку адрес Ipv6 имеет длину 128 бит, то для его запоминания требуется либо чрезвычайно большая память, либо другой способ представления. Спецификация RFC 1884 предлагает следующий формат: x:x:x:x:x:x:x:x , где х представляет 16- битовое число. Весь 128-битовый адрес представляется восемью группами по 16 бит, а каждая 16-битовая группа представляется четырьмя шестнадцатеричными числами. (Шестнадцатеричная арифметика для представления чисел от 10 до 15 использует цифры от 0 до 9 и буквы от A до F.)

    Например, адрес в формате IPv6 может иметь следующий вид: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

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

    Первое правило заключается в том, что внутри 16-битовых полей можно не указывать первые нули. Так, вместо четырех нулей в группе цифр вы можете записать только один. Например, 1080:0000:0000:0000:0008:0800:200C:417A можно представить как 1080:0:0:0:8:800:200C:417A.

    Второе правило позволяет упростить длинную строку нулей, которая появляется внутри адреса.

    В этом случае двойное двоеточие будет означать, что пропущена строка нулей. Тогда приведенный выше пример можно еще упростить и адрес 1080:0000:0000:0000:0008:0800:200C:417A записать как 1080:0:0:0:8:800:200C:417A и дальше упростить до 1080::8:800:200C:417A.

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

    Поддержка системных требований

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

    Другой пример дает протокол автоматической конфигурации (Stateless Autoconfiguration Proto-col), который предоставляет различные возможности по автоматической настройке оборудования, использующего IPv6.

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

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

    Если все будет работать по плану, вмешательство администратора локальной сети больше не потребуется.

    Зато будут необходимы другие изменения: обновление протокола маршрутизации информации (Routing Information Protocol) и открытого протокола предпочтения кратчайшего пути (Open Shortest Path First) для работы с длинными адресами и изменение в системе имен доменов (Domain Name System) для работы с более длинными адресными записями.

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

    Интерфейс прикладных программ Berkley Unix, более известный как интерфейс конечной точки, применяется многими приложениями, использующими TCP/IP. Эти библиотеки должны быть переработаны с учетом новых свойств, которые принес с собой IPv6, таких как поля приоритета и потока внутри базового заголовка.

    Другими словами, чтобы приложениям, использующим верхние слои протокола, были доступны новые свойства, они должны иметь доступ к расширенному сервису нижних слоев. Расширения для других операционных систем, таких как AIX корпорации IBM, NetWare компании Novell и Solaris фирмы SunSoft, находятся в стадии разработки.

    Что же в итоге?

    Около десятка производителей хост-машин и маршрутизаторв, в том числе Bay Networks, Cisco Systems, Digital Equipment, FTP Software, IBM, Novell, Sun Microsystems, на своих Web-страницах, посвященных Ipv6, опубликовали свои планы по внедрению этого протокола.

    В Северной Америке, Европе и Японии работает мировая тестовая сеть под названием 6bone. На ее основе поставщики и сетевые администраторы могут построить тестовую Ipv6-сеть, прежде чем начинать ее эксплуатировать в промышленности (см. рисунок 3).

    Picture 3
    1 - Идентификационный префикс: всегда двоичное 010
    2 - поле регистрационного идентификатора: всегда двоичное 11111.
    3 - номер автономной системы: выдается поставщикам Internet-услуг.
    4,6 - все поля, помеченные как RES, являются резервными и должны быть установлены в значении 0.
    5 - сетевой адрес IPv4: 24 старших бита 32-битового адреса протокола, IPv4.
    7 - адрес подсети: определяет подсеть.
    8 - идентификатор интерфейса: уникальный идентификатор интерфейса, такой как 48-битовый MAC-адрес сетевой платы.

    Большинство поставщиков и аналитиков полагают, что переход на новую версию IPv6 будет возможен к середине 1997 года. Но полностью преимущества нового стандарта будут реализованы позже.


    Марк Миллер(Mark Miller) - президент корпорации DigiNet, занимающейся проблемами телекоммуникации, и базирующейся в Денвере. Автор 11 книг по проектированию и анализу сетей и межсетевых коммуникаций, ведет технический семинар Network World, посвященный IPv6. Связаться с ним можно по Internet по адресу: mark@diginet.com.

    Что случилось с IPv5 ?

    Вы, конечно, обратили внимание, что номер текущей версии протокола - 4 (IPv4), а новой - 6, а пятой как бы вовсе и нет. Дело в том, что номер 5 был присвоен протоколу Internet Stream Protocol Version 2 (ST2) - экспериментальному протоколу, описанному в спецификации RFC 1819. Разработанный как дополнение к IP, он предназначался для передачи мультимедийных данных в реальном времени.


    Адрес в каждом дюйме

    Количество адресов доступное в 128-битовом поле, - огромное число, которое трудно поддается осмыслению. Два в 128-й степени - нечто невообразимое! Энтузиасты Internet высчитали, что если это количество распределить по земной поверхности, то получится примерно 1500 адресов на квадратный ангстрем (ангстрем - это десять в минус десятой степени метра). Посмотрев же на квадратный метр земли, увидим миллиарды IPv6-адресов.

    На самом деле ряд факторов снижает это число. Кристиан Хвитем, автор книги по IPv6, утверждает, что даже по самым пессимистическим оценкам это число составит примерно 50 000 адресов на квадратный метр суши, или 32 адреса на квадратный дюйм.


    Номер документа (RFC)
    Тема
    1550
    Белые страницы IPng
    1726
    Технические критерии для выбора IPng
    1752
    Рекомендации по IPng
    1825
    Система безопасности
    1826
    Заголовок аутентификации
    1827
    Encapsulating Security Payload (ESP)
    1881
    Размещение адресов IPv6
    1883
    Спецификация IPv6
    1884
    Архитектура адресов IPv6
    1885
    ICMPv6 для IPv6
    1886
    Расширения системы имен доменов (DNS)
    1887
    Размещение unicast-адресов
    1897
    Размещение тестовых адресов
    1933
    Механизмы передачи
    1970
    Обнаружение соседа
    1971
    Автоматическое формирование адреса
    1972
    IPv6 для Ethernet
    1981
    Способ получения MTU
    2019
    IPv6 через FDDI
    2023
    IPv6 через PPP
    Более подробную информацию об этих документах можно найти на Web-страницах. IPng, 6bone и nwfusion