Независимость адресных пространств

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

Ограничение области распространения маршрутной информации пределами от­дельных сетей VPN изолирует адресные пространства каждой сети VPN, позво­ляя применять в ее пределах как публичные адреса Интернета, так и частные ад­реса, зарезервированные в соответствии со спецификацией RFC 1819.

Почему же в таком случае не сделать выбор адресов в пределах VPN совершенно произвольным и ограниченным только общими правилами адресации стека TCP/IP? Дело в том, что во многих случаях клиенты не хотят полной изоляции VPN: в частности, они нуждаются в выходе в Интернет. Независимое же (не со­гласованное с регламентирующими органами Интернета) назначение адресов узлам VPN может привести к совпадению внутренних адресов сайтов с уже ис­пользованными в Интернете публичными адресами, в результате чего связь с Интернетом станет невозможной. При применении зарезервированных частных адресов проблема связи клиентов VPN с внешним миром решается с помощью стандартной техники трансляции адресов (NAT)[45]. В любом случае должно со­блюдаться требование уникальности адресов в пределах VPN.

Однако использование в разных сетях VPN одного и того же адресного про­странства создает проблему для маршрутизаторов РЕ. Протокол BGP изначаль­но был разработан в предположении, что все адреса, которыми он манипулирует, во-первых, относятся к семейству адресов IPv4 и, во-вторых, однозначно иден­тифицируют узлы сети, то есть являются глобально уникальными в пределах всей составной сети. Ориентация на глобальную уникальность адресов выража­ется в том, что, получив очередное маршрутное объявление, протокол BGP ана­лизирует его, не обращая внимания на то, какой сети VPN принадлежит этот маршрут. Если на вход BGP поступают описания маршрутов к узлам разных се­тей VPN, но с совпадающими адресами IPv4, то протокол BGP считает, что все они ведут к одному и тому же узлу, а, следовательно, как и предусмотрено в ал­горитме его работы, он помещает в соответствующую таблицу VRF только один лучший (в соответствии с правилами выбора BGP) маршрут.

Эта проблема была решена в MPLS VPN применением вместо потенциально не­однозначных адресов IPv4 расширенных и однозначных адресов нового типа, а именно адресов VPN-IPv4, получаемых путем преобразования исходных адре­сов IPv4. Преобразование заключается в том, что ко всем адресам IPv4, состав­ляющим адресное пространство той или иной сети VPN, добавляется префикс, называемый различителем маршрутов (Route Distinguisher, RD), который уни­кально идентифицирует эту сегь. В результате на маршрутизаторе РЕ все адреса, относящиеся к разным сетям VPN, обязательно будут отличаться друг от друга, даже если они имеют совпадающую часть — адрес IPv4.

Именно здесь оказалась полезной способность расширенною протокола MP-BGP переносить в маршрутных объявлениях адреса разных типов, в том числе IPv6, IPX, а главное, — VPN-IPv4. Адреса VPN-IPv4 используются только для мар­шрутов, которыми маршрутизаторы РЕ обмениваются по протоколу BGP. Пре­жде чем передать своему напарнику некоторый маршрут, входной маршрутиза­тор РЕ добавляет к его адресу назначения IPv4 префикс RD для данной VPN, тем самым преобразуя его в адрес VPN-IPv4.

Как уже было отмечено, префиксы RD должны гарантированно уникально иден­тифицировать VPN, чтобы избежать дублирования адресов. Упростить выбор RD, не создавая для этих целей дополнительных централизованных процедур (на­пример, распределения RD органами Интернета подобно распределению адресов IPv4), предлагается за счет использования в качестве основы для RD заведомо уникальных чисел — либо номеров автономных систем, либо глобальных адре­сов интерфейсов РЕ со стороны магистральной сети поставщика.

RD имеет длину 8 байт и состоит из трех полей.

□ Первое поле типа длиной 2 байт определяет тип и разрядность второго поля.

□ Второе поле называется полем администратора и однозначно идентифици­рует поставщика. Значение 0 в поле типа говорит о том, что в поле админист­ратора указан IP-адрес интерфейса маршрутизатора РЕ, и длина данного поля составляет, естественно, 4 байт. Если же значение поля типа равно 1, то в ка­честве идентификатора поставщика выбрано значение номера его автономной системы, так что длина поля администратора составит уже 2 байт.

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

Рисунок 24.20 иллюстрирует сложный процесс обмена маршрутными объяв­лениями в сети MPLS VPN. Этот процесс включает преобразование адресов из формата IPv4 в формат VPN-lPv4, фильтрацию маршрутных объявлений (опе­рации экспорта-импорта) и добавление к объявлениям меток VPN. Мы последо­вательно будем рассматривать эти вопросы, поэтому читатель должен быть го­тов, что не все на этом рисунке ему будет нужно и понятно с самого начала.

 

Итак, на рис. 24.20 показан пример преобразования адресов формата IPv4 с це­лью обеспечения уникальности адресов в рамках всех сетей VPN одного постав­щика услуг. При формировании RD для каждой из сетей VPN администратор сети сначала выбирает глобальный адрес одного из внешних интерфейсов мар­шрутизатора РЕ1 (на рисунке это адрес 123.45.67.89), затем добавляет к нему че­рез двоеточие 1, получая значение RD, равное 123.45.67.89:1. Формат RD пред­ставлен в табл. 24.1.

Указанное значение RD администратор назначает для сети VPN А. При конфи­гурировании маршрутизаторов РЕ администратор указывает это значение для всех таблиц VRF, которые соответствуют сети VPN А. В частности, он задает это значение при создании VRF 1А, так что для протокола MP-BGP все адреса фор­мата IPv4, которые находятся в таблице VRF1A, будут иметь RD 123.45.67:1, в том числе все адреса с префиксом 10.1/16, которые РЕ1 получает от маршрути­затора СЕ1 сайта 1 в сети VPN А.

Таблица 24.1. Формат RD
Поле типа (2 байта) Поле администратора (4 байта) Поле назначенного номе­ра (2 байта)
123.45.67.89

 

Аналогично, администратор выбирает для сетей VPN В значение RD равное 123.45.67.89:2, которое он указывает при конфигурировании VRF 1В на маршру­тизаторе РЕ1. Это значение RD будет добавляться ко всем адресам IPv4, храня­щимся в таблицах VRF 1В, при обработке их протоколом MP-BGP.

ПРИМЕЧАНИЕ -----------------------------------------------------------------------------------------------------------------------------------------

Все маршруты в таблицах VRF содержат адреса в формате IPv4.

Сформированные маршруты в формате VPN-IPv4 маршрутизатор РЕ1 передает по протоколу MP-BGP на маршрутизатор РЕ2, к которому подключен сайт 2 сети VPN В. Только благодаря добавлениям RD протоколы BGP, работающие на удаленных маршрутизаторах РЕ, различают маршруты с совпадающими адреса­ми IPv4, относящимися к разным сетям VPN.

return false">ссылка скрыта

Документ RFC 2547bis не требует, чтобы все маршруты внутри одной сети VPN индексировались одним и тем же значением RD. Более того, один и тот же сай г, подключенный к разным интерфейсам одного маршрутизатора РЕ или к разным маршрутизаторам РЕ, может иметь различающиеся значения RD. Благодаря это­му путь к одному и тому же узлу может описываться разными маршрутами, что дает возможность выбора того или иного маршрута для различных пакетов. Од­нако принципиально важно, чтобы значения RD разных сетей VPN не совпа­дали.