Масштабируемая система адресации

Новая, шестая версия протокола IP (IPv6) внесла существенные изменения в сис­тему адресации IP-сетей (RFC 2373). И, прежде всего, это коснулось увеличения разрядности адреса.

IPve-адрес состоит из 128 бит, или 16 байт. Это дает возможность пронумеро­вать огромное количество узлов:

340 282 366 920 938 463 463 374 607 431 762 211 456.

Масштаб этого числа иллюстрирует, например, такой факт: если разделить это теоретически возможное количество IP-адресов между всеми жителями Земли (а их сегодня примерно 6 миллиардов), то на каждого из них придется невообра­зимо, если не сказать бессмысленно большое количество IP-адресов — 5,7 х 1028! Очевидно, что такое значительное увеличение длины адреса было сделано не только и даже не столько для снятия проблемы дефицита адресов.

Главной целью изменения системы адресации было не механическое увеличение адресного пространства» а повышение эффективности работы стека TCP/IP в целом.

Вместо прежних двух уровней иерархии адреса (номер сети и номер узла) в IPv6 имеется 4 уровня, из которых три уровня используются для идентификации сетей, а один — для идентификации узлов сети. За счет увеличения числа уров­ней иерархии в адресе новый протокол эффективно поддерживает технологию CIDR. Благодаря этому, а также усовершенствованной системе групповой адре­сации и введению нового типов адресов новая версия IP позволяет снизить затраты на маршрутизацию.

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

FEDC:0A98:0:0:0:0:7654:3210.

Если в адресе имеется длинная последовательность нулей, то запись адреса мож­но сократить. Например, приведенный выше адрес можно записать и так:

FEDC:0A98::7654:3210.

Сокращение в виде двух двоеточий (::) может употребляться в адресе только один раз. Можно также опускать незначащие нули в начале каждого поля адреса, например, вместо FEDC:0A98::7654:3210 можно писать FEDC:A98::7654:3210.

Для сетей, поддерживающих обе версии протокола (IPv4 и IPv6), разрешается использовать для младших 4 байт традиционную для IPv4 десятичную запись: 0:0:0:0:0:FFFF: 129.144.52,38 или::FFFF:129.144.52.38.

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

□ Индивидуальный адрес (unicast) определяет уникальный идентификатор от­дельного интерфейса конечного узла или маршрутизатора. Назначение адре­са этого типа совпадает с назначением уникальных адресов в версии IPv4 — с их помощью пакеты доставляются определенному интерфейсу узла назна­чения. В версии IPv6, в отличие от версии IPv4, отсутствует понятие класса сети (А, В, С и D) и связанное с ним фиксированное разбиение адреса на но­мер сети и номер узла по границам байтов. Индивидуальные адреса делятся на несколько подтипов для отражения специфики некоторых часто встречаю­щихся в современных сетях ситуаций.

□ Групповой адрес (multicast) IPv6 аналогичен по назначению групповому ад­ресу IPv4. Он идентифицирует группу интерфейсов, относящихся, как прави­ло, к разным узлам. Пакет с таким адресом доставляется всем интерфейсам с этим адресом. Групповые адреса используются в IPv6 для замены Широкове­щательных адресов — для этого вводится адрес особой группы, объединяю­щей все интерфейсы подсети.

□ Адрес произвольной рассылки (anycast) — это новый тип адреса, который так же, как и групповой адрес, определяет группу интерфейсов. Однако пакет с таким адресом доставляется любому из интерфейсов группы, как правило, «ближайшему» в соответствии с метрикой, используемой протоколами мар­шрутизации. Синтаксически адрес произвольной рассылки ничем не отлича­ется от индивидуального адреса и назначается из того же диапазона адресов. Адрес произвольной рассылки может быть назначен только интерфейсам мар­шрутизатора. Интерфейсы маршрутизаторов, входящие в одну группу произ­вольной рассылки, имеют индивидуальные адреса и, кроме того, общий адрес группы произвольной рассылки. Адреса такого типа ориентированы на мар­шрутизацию от источника, при которой маршрут прохождения пакета опре­деляется узлом-отправителем путем указания IP-адресов всех промежуточ­ных маршрутизаторов. Например, поставщик услуг может присвоить всем своим маршрутизаторам один и тот же адрес произвольной рассылки и сооб­щить его абонентам. Если абонент желает, чтобы его пакеты передавались через сеть этого поставщика услуг, то ему достаточно указать этот адрес в це­почке адресов маршрута от источника, и пакет будет передан через ближай­ший маршрутизатор данного поставщика услуг.

Так же как и в IPv4, в IPv6 имеются так называемые частные адреса, предназна­ченные для использования в автономных сетях. В отличие от версии IPv4 в вер­сии IPv6 эти адреса представлены двумя разновидностями:

□ Адреса локальных сетей, не разделенных на подсети, содержат только 64- разрядное поле идентификатора интерфейса, а остальные разряды, кроме префикса формата, должны быть нулевыми, поскольку потребность в номере подсети здесь отсутствует.

□ Адреса локальных сетей, разделенных на подсети, содержат по сравнению с предыдущими адресами дополнительное двухбайтово^ поле номера подсети.

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

    8 | 24    
FP TLA <CJ NLA SLA Идентификатор интерфейса
Рис. 18.20. Структура глобального агрегируемого уникального адреса в пакете IPv6

□ Префикс формата (Format Prefix, FP) для этого типа адресов имеет размер три бита и значение 001.

Следующие три поля — агрегирования верхнего (Top-Level Aggregation, TLA), следующего (Next-Level Aggregation, NLA) и местного (Site-Level Aggrega­tion, SLA) уровней — описывают три уровня идентификации сетей.

□ Поле TLA предназначено для идентификации сетей самых крупных постав­щиков услуг. Конкретное значение этого поля представляет собой общую часть адресов, которыми располагает данный поставщик услуг. Сравнительно небольшое количество разрядов, отведенных под это поле (13), выбрано спе­циально для ограничения размера таблиц маршрутизации в магистральных маршрутизаторах самого верхнего уровня Интернета. Это поле позволяет пе­ренумеровать 8196 сетей поставщиков услуг верхнего уровня, а значит, число записей, описывающих маршруты между этими сетями, также будет ограни­чено значением 8196, что ускорит работу магистральных маршрутизаторов. Следующие 8 разрядов зарезервированы на будущее для расширения при не­обходимости поля TLA.

□ Поле NLA предназначено для нумерации сетей средних и мелких поставщи­ков услуг. Значительный размер поля NLA позволяет путем агрегирования адресов отразить многоуровневую иерархию поставщиков услуг.

□ Поле SLA предназначено для адресации подсетей отдельного абонента, на­пример подсетей одной корпоративной сети. Предполагается, что поставщик услуг назначает некоторому предприятию номер его сети, состоящий из фик­сированного значения полей TLA и NLA, которые в совокупности являются аналогом номера сети версии IPv4. Остальная часть адреса — поля SLA и иден­тификатор интерфейса — поступает в распоряжение администратора корпо­ративной сети, который полностью берет на себя формирование адреса и не должен согласовывать этот процесс с поставщиком услуг. Причем поле иден­тификатора интерфейса имеет вполне определенное назначение — оно долж­но хранить физический адрес узла. На этом уровне также можно агрегиро­вать адреса небольших подсетей в более крупные подсети, и размер поля SLA в 16 бит обеспечивает достаточную свободу и гибкость построения внутри­корпоративной иерархии адресов.

□ Идентификатор интерфейса является аналогом номера узла в IPv4. Отличи­ем версии IPv6 является то, что в общем случае идентификатор интерфейса просто совпадает с его локальным (аппаратным) адресом, а не представляет собой произвольно назначенный администратором номер узла. Идентифика­тор интерфейса имеет длину 64 бита, что позволяет поместить туда МАС-ад- рес (48 бит), адрес Х.25 (до 60 бит), адрес конечного узла ATM (48 бит) или номер виртуального соединения ATM (до 28 бит), а также, вероятно, даст возможность использовать локальные адреса технологий, которые могут по­явиться в будущем. Такой подход в стиле протокола IPX делает ненужным протокол ARP, поскольку процедура отображения IP-адреса на локальный адрес становится тривиальной — она сводится к простому отбрасыванию старшей части адреса. Кроме того, в большинстве случаев отпадает необхо­димость ручного конфигурирования конечных узлов, так как младшую часть адреса — идентификатор интерфейса — узел узнает от аппаратуры (сетевого адаптера и т. п.), а старшую — номер подсети — ему сообщает маршрутизатор.

.Очевидно, что при. таком изобилии сетей, которое предоставляется клиенту в JPv6, совер-. шенно теряет смысл операция использования масок для разделения сетей на подсети, в то время как обратная процедура объединение подсетей приобретает особое значение* Разработчики стандартов IPv6 считают, что агрегирование адресов является основным спо­собом аффективного использования адресного пространства в новой версии протокола

Пример

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

20:0А:00:С9:74:05/48.

Давайте проведем анализ этого числа. Поскольку его первые 3 бита равны 001, следо­вательно, это глобальный агрегируемый уникальный адрес (рис. 18.21).

Префиксы провайдеров 48 бит Для конечного абонента 80 бит
           
FP TLA Резерв NLA SLA Идентификатор интерфейса
  шштщ* ошооош НИИ 1100 001 011 01000000010    
     

 


Пользователь может адресовать более 65 ООО сетей

Префикс провайдера 20:0А:00:С9:74:05/48

В качестве адреса узла:

- МАС-адрес;

- АТМ-адрес;

- Телефонный номер;

- 1Ру4-адрес и т. п.


 


Рис. 18.21. Пример глобального агрегируемого адреса

Адрес этот принадлежит поставщику услуг верхнего уровня, у которого все сети имеют префикс 20:0А/16. Он может выделить поставщику услуг второго уровня некоторый диапазон адресов с общим префиксом, образованным его собственным префиксом, а также частью поля NLA. Длина поля NLA, отводимая под префикс, определяется маской, которую поставщик услуг верхнего уровня также должен сообщить своему клиенту — поставщику услуг второго уровня. Пусть в данном примере маска состоит из 32 единиц в старших разрядах, а результирующий префикс поставщика услуг вто­рого уровня имеет вид:

20:0А:00:С9/32:

В распоряжении поставщика услуг второго уровня остается 16 разрядов поля NLA для нумерации сетей своих клиентов. В качестве клиентов могут выступать поставщи­ки услуг третьего и более низких уровней, а также конечные абоненты — предприятия и организации. Пусть, например, следующий байт (01110100) в поле NLA поставщик

услуг использовал для передачи поставщику услуг более низкого (третьего) уровня, а тот, в свою очередь, использовал последний байт поля NLA для назначения пула ад­ресов клиенту. Таким образом, с участием поставщиков услуг трех уровней был сфор­мирован префикс 20:0А:00:С9:74:05/48, который получил клиент.

Протокол IPv6 оставляет в полном распоряжении клиента 2 байта (поле SLA) для нумерации сетей и 8 байт (полем идентификатора интерфейса) для нумера­ции узлов. Имея такой огромный диапазон номеров подсетей, администратор может использовать его по-разному. Он может выбрать простую плоскую орга­низацию своей сети, назначая каждой имеющейся подсети определенное зна­чение из диапазона в 65 535 адресов, игнорируя оставшиеся. В крупных сетях более эффективным способом (сокращающим размеры таблиц корпоративных маршрутизаторов) может оказаться иерархическая структуризация сети на осно­ве агрегирования адресов. В этом случае используется та же технология CIDR, но уже не поставщиком услуг, а администратором корпоративной сети.

Помимо подробно рассмотренного выше глобального агрегируемого адреса, су­ществуют и другие разновидности индивидуального адреса.

□ Адрес обратной петли 0:0:0:0:0:0:0:1 играет в версии IPv6 ту же роль, что и адрес 127.0.0.1 в версии IPv4.

□ Неопределенный адрес, состоящий из одних нулей, является аналогом адре­са 0.0.0.0 протокола IPv4. Этот адрес может появляться в IP-пакетах только в качестве адреса источника, и это означает, что пакет послан до того, как узел изучил свой IP-адрес (например, до получения его от DHCP-сервера).

Предполагается, что довольно большое время будут сосуществовать островки Интернета, работающие по протоколу IPv6, и остальная часть Интернета, рабо­тающая на версии IPv4. Для того чтобы узлы, поддерживающие версию IPv6, могли использовать технику передачи пакетов IPv6 через сеть IPv4 в автомаги­ческом режиме, разработан специальный подтип адресов, которые переносят 1Ру4-адрес в младших 4-х байтах 1Ру6-адреса, а в старших 12 байтах адреса со­держат нули (рис. 18.22). Такие индивидуальные адреса делают очень простой процедуру преобразования адресов между двумя версиями протокола IP и назы­ваются 1Ру4-совместимыми 1Ру6-адресами.

1Ру4-адрес (4 байта)

, 1----------- —т~

- ': jt' i л


00000000000...0000000000000

-------- V----------------------------------------

12 байт

V-------------------------------------------------------

Исходный 1Ру6-адрес (16 байт) (1Ру4-совместимый 1Ру6-адрес)

Рис. 18.22. Преобразование IPv6 в IPv4

Для решения обратной задачи — передачи 1Ру4-пакетов через части Интернета, работающие по протоколу IPv6, — предназначен 1Ру4-отображенный 1Ру6-адрес. Этот тип адреса по-прежнему содержит в 4-х младших байтах 1Ру4-адрес, в стар­ших 10-ти байтах — нули, а в 5-м и 6-м байтах 1Ру6-адреса — единицы, которые показывают, что узел поддерживает только 4-ю версию протокола IP (рис. 18.23).

Работа по детализации подтипов 1Ру6-адресов еще далека от завершения. Сего­дня определено назначение только 15 % адресного пространства IPv6, а остав­шаяся часть адресов еще ждет своей очереди, чтобы найти применение для реше­ния одной из многочисленных проблем Интернета.

IPv6 (16 байт) (^4-отображенный IPv6-aflpec)
Г'          
0000,   11111.. .11111   ' -г-

—у ; 6 байт 5 байт

10 байт!



Исходный IPv4-aflpec (4 байта) Рис. 18.23. Преобразование IPv4 в IPv6


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: