logo search
адресация сетей

4.2.4 Бесклассовая междоменная маршрутизация

Концепция бесклассовой междоменной маршрутизации ( CIDR ) была официально документирована в сентябре 1993 года ( RFC 1517, RFC 1518, RFC 1519 и RFC 1520). Ее появление было инспирировано участившимися кризисами в Интернете. Из-за несовершенства протоколов маршрутизации трафик, вызванный сообщениями об обновлении таблиц маршрутизации, приводил к сбоям магистральных маршрутизаторов. Это было связано с полным задействованием их ресурсов на обработку большого объема служебной информации. Так, в 1994 году таблицы маршрутизации магистральных маршрутизаторов Интернета содержали до 70 000 маршрутов. Внедрение технологии CIDR сократило число записей маршрутов до 30 000. Кроме того, дополнительной предпосылкой для внедрения технологии CIDR явилась реальная опасность нехватки адресного пространства при дальнейшем расширении Интернета. Эта технология позволяет реализовать новые, не поддерживавшиеся ранее возможности.

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

- Объединение маршрутов. Здесь одна запись в таблице маршрутизации может представлять сотни адресов. Это позволяет контролировать количество маршрутной информации в магистральных маршрутизаторах Интернета.

Метод адресации CIDR по своему замыслу во многом напоминает метод VLSM . В настоящее время метод CIDR используется для назначения адресов открытой сети в связи с нехваткой свободных открытых IP -адресов. При использовании метода CIDR практически игнорируется принцип распределения сетевых адресов по классам и применяются пространства адресов, которые определены только с помощью маски.

Технологии CIDR и VLSM позволяют рекурсивно делить порции адресного пространства на небольшие части. Основное различие между ними в том, что при использовании маски подсети переменной длины рекурсия выполняется на адресном пространстве, выделенном организации ранее. При этом схема деления пространства остается спрятана внутри организации (то есть, например, для пользователей в сети Интернет подобная схема разделения остается прозрачной и незаметной).

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

Например, если организация заключает с провайдером Internet соглашение об аренде линии Т1, ей может быть передан для использования блок общедоступных IP -адресов. При этом количество адресов в блоке может находиться в пределах от 2 до 64, в зависимости от потребностей организации. Организация может также запросить (за дополнительную плату) еще один блок общедоступных адресов и добавить его к ранее полученному блоку, если в этом возникнет необходимость.

Принцип осуществления метода CIDR является очень простым. Провайдер Internet после получения заявки от организации, которой, допустим, требуется 25 открытых IP -адресов, просматривает имеющиеся в его распоряжении пространство адресов. Предположим, что он обнаруживает, что адреса в диапазоне от 64.90.1.32 до 64.90.1.63 не заняты. В этом случае провайдер выделяет организации адрес сети 64.90.1.32/27. В этом блоке адресов организация получает 30 действительных IP -адресов от 64.90.1.33 до 64.90.1.62. Это — адрес сети класса А, но организация не получает весь диапазон адресов этого класса, поскольку им по-прежнему владеет провайдер Internet . Организации просто предоставляется часть пространства адресов этой сети, которое она может использовать до тех пор, пока не перейдет к другому провайдеру Internet .

Основной принцип метода CIDR состоит в том, что понятие класса уже не применяется. Но при использовании этого метода следует помнить, что после получения от провайдера Internet адреса и маски (скажем, длиной 22 бита) организация не имеет права уменьшить длину этой маски (использовать в ней меньше битов), даже если полученный IP -адрес сети относится к классу А. Организации не передается в использование весь этот класс, ей только предоставляется возможность применять определенную часть пространства адресов, переданного в ее распоряжение. Но организация может увеличивать длину маски (включать в нее больше битов) и разбивать свою часть пространства адресов на подсети в соответствии со своими потребностями. Но при этом необходимо тщательно следить за тем, чтобы использовались только адреса из назначенного диапазона.

Предположим, что провайдеру был выделен адрес 206.0.64.0 с сетевым префиксом /18. Тогда для задания индивидуальных адресов остается 14 бит, что позволяет поддерживать до 16 384 (2 14) хостов. В случае использования классов адресов достижение той же цели требует от провайдера выделения 64 адресов класса С.

Если клиенту, которого обслуживает данный провайдер, для своей сети требуется 800 адресов хостов, то провайдер может выделить ему адресный блок 206.0.68.0/22, то есть блок из 1024 (2 10) адресов хостов. При таком выделении клиент получает в свое распоряжение 224 дополнительных адреса. Если следовать классовой адресной схеме, то клиенту потребовалось бы выделить или один адрес класса В, или четыре адреса класса С. При предоставлении одного адреса класса В клиент получает более 64 000 дополнительных адресов. При выделении четырех адресов класса С клиент имеет приемлемое количество адресов, но заодно увеличивается размер таблиц маршрутизации (добавляются четыре записи).

Рассмотрим на практике работу с технологией CIDR . Для этого выберем адресный блок 192.168.168.0/21. На первом этапе запишем индивидуальные номера сетей для этого блока.

В двоичном виде блок представляется следующим образом:

192.168.168.0/21 - 11000000.10101000.10101000.00000000.

Маска, определяемая префиксом /21, на три бита меньше, чем традиционная маска для сети класса С (/24). А это означает, что рассматриваемый блок CIDR идентифицирует блок из 8 (2 3) последовательных (упорядоченных) сетей с префиксом /24:

11000000.10101000.10101000.00000000 - 192.168.168.0

11000000.10101000.10101001.00000000 - 192.168.169.0

11000000.10101000.10101010.00000000 - 192.168.170.0

11000000.10101000.10101011.00000000 - 192.168.171.0

11000000.10101000.10101100.00000000 - 192.168.172.0

11000000.10101000.10101101.00000000 - 192.168.173.0

11000000.10101000.10101110.00000000 - 192.168.174.0

11000000.10101000.10101111.00000000 - 192.168.175.0

Другой пример. Требуется объединить набор следующих четырех адресов с префиксом /24 в максимально вместительный адрес:

192.168.146.0/24

192.168.147.0/24

192.168.148.0/24

192.168.149.0/24

Вначале запишем эти адреса в двоичной форме:

192.168.146.0/24 11000000.10101000.10010010.00000000

192.168.147.0/24 11000000.10101000.10010011.00000000

192.168.148.0/24 11000000.10101000.10010100.00000000

192.168.149.0/24 11000000.10101000.10010101.00000000

Следует обратить внимание на то, что рассматриваемый набор из четырех сетей нельзя объединить в один адрес с префиксом /23. Учитывая это, объединение CIDR будет следующим:

192.168.146.0/23

192.168.148.0/23

Если две сети с префиксом /23 нужно объединить в сеть с префиксом /22, то они должны соответственно «помещаться» в один адресный блок /22. Однако раз каждая из полученных сетей с префиксом /23 является членом различных блоков /22, то они не могут быть объединены в блоке /22, хотя объединение в 192.168.144/21 формально действительно. Но такое объединение включало бы четыре адреса сети, которых не было в исходных сетях. Учитывая все вышеизложенное, отметим, что объединение, состоящее из минимального количества адресных блоков (два) будет иметь префикс /23.

В конце 1992 года сообщество Интернет для решения проблем адресного пространства и ряда смежных задач разработало три проекта протоколов: “TCP and UDP with Bigger Addresses (TUBA)”; “Common Architecture for the Internet (CatnIP)” и “Simple Internet Protocol Plus (SIPP). После анализа всех этих предложений был принят новый протокол IPv6 с IP-адресами в 128 бит вместо 32 для IPv4. Внедрение этого нового протокола представляет отдельную серьезную проблему, так как этот процесс не предполагает замены всего программного обеспечения во всем мире одновременно.

Адресное пространство IPv6 будет распределяться IANA(Internet Assigned Numbers Authority - комиссия по стандартным числам в Интернет [RFC-1881]). В качестве советников будут выступать IAB ( I nternet architecture board - совет по архитектуре Интернет) и IESG (Internet Engineering Steering Group - инженерная группа управления Интернет).

IANA будет делегировать права выдачи IP-адресов региональным сервис-провайдерам, субрегиональным структурам и организациям. Отдельные лица и организации могут получить адреса непосредственно от регионального распределителя или сервис провайдера.

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

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

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

Следует избегать монополизации и любых злоупотреблений при распределении IP-v6 адресов. IANA разработает план первичного распределения IPv6 адресов, включая автоматическое выделение адресов индивидуальным пользователям.

IPv6 представляет собой новую версию протокола Интернет (RFC-1883), являющуюся преемницей версии 4 (IPv4; RFC-791). Изменения IPv6 по отношению к IPv4 можно поделить на следующие группы:

Расширение адресации

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

Спецификация формата заголовков

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

Улучшенная поддержка расширений и опций

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

Возможность пометки потоков данных

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

Идентификация и защита частных обменов

В IPv6 введена спецификация идентификации сетевых объектов или субъектов, для обеспечения целостности данных и при желании защиты частной информации.

Формат и семантика адресов IPv6 описаны в документе RFC-1884. Версия ICMP IPv6 рассмотрена в RFC-1885.

Таблица 4.4 Терминология

Узел

Оборудование, использующее IPv6.

Маршрутизатор

Узел, который переадресует пакеты ipv6, которые не адресованы ему непосредственно.

хост

Любой узел, который не является маршрутизатором.

Верхний уровень

Протокольный уровень, расположенный непосредственно поверх. В качестве примеров можно привести транспортные протоколы TCP и UDP, протокол управления ICMP, маршрутные протоколы типа OSPF (RFC-2740), а также интернетовские или другие протоколы нижнего уровня инкапсулированные в IPv6, например, IPX, Appletalk, или сам IPv6.

Канал

Средство коммуникации или среда, через которую узлы могут взаимодействовать друг с другом на связном уровне, т.е., уровень непосредственно под IPv6. Примерами могут служить Ethernet; PPP; X.25, Frame Relay, или ATM; а также Интернет "туннели", такие как туннели поверх IPv4 или IPv6.

Соседи

Узлы, подключенные к общему каналу.

Интерфейс

Средство подключения узла к каналу.

Адрес

Идентификатор IPv6-уровня для интерфейса или набора интерфейсов.

Пакет

Заголовок и поле данных IPv6.

MTU канала

Максимальный размер пакета в канале

MTU пути

Минимальный MTU канала для пути от узла источника до получателя.

Эникастный адрес

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

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

4.3.1 Формат заголовка IPv6

Рис. 4.16.Формат заголовка пакета IPv6

Версия

4-битный код номера версии Интернет протокола (версия Интернет протокола для IPv6= 6)

Приоритет

4-битный код приоритета

Метка потока

24-битный код метки потока (для мультимедиа)

Размер поля данных

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

Следующий заголовок

8-битовый разделитель. Идентифицирует тип заголовка, который следует непосредственно за IPv6 заголовком. Использует те же значения, что и протокол IPv4 [RFC-1700].

Предельное число шагов

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

Адрес отправителя

128-битовый адрес отправителя пакета. См. RFC-1884.

Адрес получателя

128-битовый адрес получателя пакета (возможно не конечный получатель, если присутствует маршрутный заголовок). См. RFC-1884.

В документе RFC-2460, который появился спустя три года после RFC-1883, поле приоритет заменено на поле класс трафика. Это поле имеет 8 бит (против 4 в поле приоритет). При этом размер поля метка потока сократился до 20 бит. Это было продиктовано требованиями документа RFC-2474 "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", ориентированного на решение задач управления QoS.

4.3.2 IP v 6 : архитектуры адресации

Существует три типа адресов:

unicast:

Идентификатор одиночного интерфейса. Пакет, посланный по уникастному адресу, доставляется интерфейсу, указанному в адресе.

anycast:

Идентификатор набора интерфейсов (принадлежащих разным узлам). Пакет, посланный по эникастному адресу, доставляется одному из интерфейсов, указанному в адресе (ближайший, в соответствии с мерой, определенной протоколом маршрутизации).

multicast:

Идентификатор набора интерфейсов (обычно принадлежащих разным узлам). Пакет, посланный по мультикастинг-адресу, доставляется всем интерфейсам, заданным этим адресом.

В IPv6 не существует широковещательных адресов, их функции переданы мультикастинг-адресам.

В IPv6, все нули и все единицы являются допустимыми кодами для любых полей, если не оговорено исключение.

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

IPv6 уникастный адрес соотносится только с одним интерфейсом. Одному интерфейсу могут соответствовать много IPv6 адресов различного типа (уникастные, эникастные и мультикстные). Существует два исключения из этого правила:

- Одиночный адрес может приписываться нескольким физическим интерфейсам, если приложение рассматривает эти несколько интерфейсов как единое целое при представлении его на уровне Интернет.

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

IPv6 соответствует модели IPv4, где субсеть ассоциируется с каналом. Одному каналу могут соответствовать несколько субсетей.

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

Существует три стандартные формы для представления ipv6 адресов в виде текстовых строк:

- Основная форма имеет вид x:x:x:x:x:x:x:x, где 'x' шестнадцатеричные 16-битовые числа.

Примеры :

fedc:ba98:7654:3210:FEDC:BA98:7654:3210

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

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

- Из-за метода записи некоторых типов IPv6 адресов, они часто содержат длинные последовательности нулевых бит. Для того чтобы сделать запись адресов, содержащих нулевые биты, более удобной, имеется специальный синтаксис для удаления лишних нулей. Использование записи "::" указывает на наличие групп из 16 нулевых бит. Комбинация "::" может появляться только при записи адреса. Последовательность "::" может также использоваться для удаления из записи начальных или завершающих нулей в адресе. Например:

1080:0:0:0:8:800:200c:417a

уникаст-адрес

ff01:0:0:0:0:0:0:43

мультикаст адрес

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

адрес обратной связи

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

неспецифицированный адрес

- может быть представлено в виде:

1080::8:800:200c:417a

уникаст-адрес

ff01::43

мультикаст адрес

::1

адрес обратной связи

::

не специфицированный адрес

- Альтернативной формой записи, которая более удобна при работе с ipv4 и IPv6, является x:x:x:x:x:x:d.d.d.d, где 'x' шестнадцатеричные 16-битовые коды адреса, а 'd' десятичные 8-битовые, составляющие младшую часть адреса (стандартное IPv4 представление). Например:

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

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

или в сжатом виде:

::13.1.68.3

::FFFF:129.144.52.38

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

Специфический тип IPv6 адресов идентифицируется лидирующими битами адреса. Поле переменной длины, содержащее эти лидирующие биты, называется префиксом формата (Format Prefix - FP). Исходное назначение этих префиксов следующее (табл. 4. 5 ):

Таблица 4. 5

Назначение

Префикс (двоичный)

Часть адресного пространства

Зарезервировано

0000 0000

1/256

Не определено

0000 0001

1/256

Зарезервировано для NSAP

0000 001

1/128

Зарезервировано для IPX

0000 010

1/128

Не определено

0000 011

1/128

Не определено

0000 1

1/32

Не определено

0001

1/16

Не определено

001

1/8

Провайдерские уникаст-адреса

010

1/8

Не определено

011

1/8

Зарезервировано для географических уникаст-адресов

100

1/8

Не определено

101

1/8

Не определено

110

1/8

Не определено

1110

1/16

Не определено

1111 0

1/32

Не определено

1111 10

1/64

Не определено

1111 110

1/128

Не определено

1111 1110 0

1/512

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

1111 1110 10

1/1024

Локальные адреса (site)

1111 1110 11

1/1024

Мультикаст-адреса

1111 1111

1/256

Замечание : Не специфицированные адреса, адреса обратной связи и IPv6 адреса со встроенными IPv4 адресами, определены вне “0000 0000” префиксного пространства.

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

Уникастные адреса отличаются от мультикастных значением старшего октета: значение FF (11111111) идентифицирует мультикастинг-адрес; любые другие значения говорят о том, что адрес уникастный. Эникастные (anycast) адреса берутся из уникастного пространства, и синтаксически неотличимы от них.

Уникастные адреса