Технология MPLS L3VPN

Автор: Пользователь скрыл имя, 13 Февраля 2013 в 18:20, контрольная работа

Описание работы

Сети MPLS VPN привлекают сегодня всеобщее внимание. Количество ведущих поставщиков услуг, предлагающих своим клиентам воспользоваться новым видом сервиса для экономичного построения своих внутренних и внешних сетей, постоянно растет, делая сети MPLS VPN доступными для пользователей все большего числа стран и регионов. От других технологий построения виртуальных частных сетей, таких как VPN на базе ATM/FR или IPSec, технологию MPLS VPN выгодно отличает хорошая масштабируемость, возможность автоматического конфигурирования и естественная интеграция с другими сервисами протокола IP, которые сегодня входят в обязательный набор любого успешного поставщика услуг, включая доступ в Интернет, WWW и почтовые службы, хостинг.

Работа содержит 1 файл

Технология MPLS L3VPN.docx

— 103.84 Кб (Скачать)

Особенность протокола BGP и  его расширений заключается в  том, что он получает и передает свои маршрутные объявления не всем непосредственно  связанным с ним маршрутизаторам, как протоколы IGP, а только тем, которые  указаны в его конфигурационных параметрах в качестве соседей. Причем соседями могут быть «назначены» маршрутизаторы, находящиеся на расстоянии многих хопов. Маршрутизатор PE сконфигурирован так, что все получаемые от клиентских сайтов маршрутные объявления он с помощью MP-BGP пересылает только определенным в качестве соседей другим пограничным маршрутизаторам PE. Целенаправленное распространение маршрутов между маршрутизаторами PE обеспечивается надлежащим выбором атрибутов протокола MP-BGP (эти атрибуты описаны в документе «BGP Extended Communities Attribute», имеющем пока статус проекта стандарта Интернета).

Вопрос о том, кому отправлять маршрутные объявления, а кому нет, целиком зависит от топологии  виртуальных частных сетей, поддерживаемых данным поставщиком услуг. Так, на рис. 2 маршрутизатор PE1 передает маршруты из таблицы VRF сайта 1, относящегося к сети VPN A, маршрутизаторам PE2, PE3, PE5, к которым подключены остальные сайты 2, 3 и 4 той же сети VPN A. Полученные маршруты заносятся в таблицы VRF соответствующих сайтов.

Итак, помимо маршрутов, поступающих  от непосредственно подсоединенных к устройству PE сайтов, каждая таблица VRF дополняется маршрутами, получаемыми  от других сайтов данной сети VPN по протоколу MP-BGP. Таким путем создаются таблицы, описывающие маршруты в рамках отдельной  сети VPN.

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

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

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

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

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

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

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

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

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

  • Первое поле типа длиной 2 байта определяет тип и разрядность второго поля.
  • Второе поле называется полем администратора и однозначно идентифицирует поставщика. Значение 0 в поле типа говорит о том, что в поле администратора указан IP-адрес интерфейса маршрутизатора PE, и длина данного поля составляет, естественно, 4 байта. Если же значение поля типа равно 1, то в качестве идентификатора поставщика выбрано значение номера его автономной системы, так что длина поля администратора составит уже 2 байта.
  • Третье поле носит название поля назначенного номера, оно служит для обеспечения уникальности адресов VPN в пределах сети поставщика. Назначенные номера выбирает сам поставщик, это могут быть произвольные числа, главное, чтобы существовало однозначное соответствие между ними и VPN поставщика.

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

Рис. 4. Маршрутные объявления MP-BGP

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

Таблица 1. Формат RD

Поле типа (2 байта)

Поле администратора (4 байта)

Поле назначенного номера (2 байта)

0

123.45.67.89

1


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

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

ПРИМЕЧАНИЕ

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

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

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

Генерация маршрутных объявлений MP-BGP

При получении от сайта  клиента нового маршрута по протоколу  класса IGP, такому как RIP, OSPF или IS-IS, маршрутизатор PE заносит его в соответствующую  таблицу VRF и распространяет дальше между другими сайтами данной сети VPN. Обмен маршрутной информацией  между сайтами каждой отдельной  сети VPN выполняется под управлением  протокола MP-BGP. Маршрутное объявление MP-BGP имеет следующий набор атрибутов, расширенный по сравнению с протоколом BGP:

  • Адрес сети назначения в формате VPN-IPv4.
  • Адрес следующего маршрутизатора ( Next Hop). Протокол BGP указывает в данном случае адрес одного из внутренних (идущих к маршрутизаторам P) интерфейсов того маршрутизатора PE, на котором он работает.
  • Метка виртуальной частной сети (VPN Label, LVPN) уникально определяет внешний интерфейс маршрутизатора PE и подключенный к нему сайт клиента, куда ведет объявляемый маршрут. Она назначается маршруту входным маршрутизатором PE при получении им локального маршрута от присоединенного маршрутизатора CE.
  • Расширенные атрибуты сообщества (extended community attributes), один из которых — маршрутная цель (Route Target, RT) — является обязательным. Этот атрибут идентифицирует набор сайтов (VRF), входящих в данную сеть VPN, которым маршрутизатор PE должен посылать маршруты. Значение атрибута RT в объявлении о маршруте определяется политикой экспорта маршрутных объявлений, которая задается администратором при конфигурировании таблицы VRF, содержащей данный маршрут (о политике экспорта и импорта маршрутных объявлений рассказывается в разделе «Механизм формирования топологии VPN»).

Пусть, например, маршрутизатор PE1 получает с сайта 1 сети VPN A по протоколу класса IGP следующее объявление о маршруте в формате IPv4 (см. рис. 4):

Net = 10.1.0.0

NextHop = CE1

На основании этого  объявления в таблицу VRF 1 A заносится  соответствующая запись. Протокол BGP периодически просматривает таблицу VRF 1 A, и обнаружив новую запись, генерирует объявление о маршруте, для чего выполняет следующие  действия.

  • Добавляет к адресу сети назначения префикс RD (в данном случае он равен 123.45.67.89:1).
  • Переписывает значение поля NextHop, заменяя адрес внешнего интерфейса CE1 адресом внешнего интерфейса PE1, через который пролегает путь к адресу назначения (пусть в данном случае это будет 123.45.7.5).
  • Назначает метку LVPN, указывающую на таблицу VRF1А и интерфейс маршрутизатора PE1, к которому подключен сайт клиента, содержащий узел назначения (в данном случае значение метки равно 7, на рис. 4 этот интерфейс обозначен как int 7).
  • Задает атрибут RT (на рис. 4 значение атрибута RT условно обозначено как WHITE, что идентифицирует набор всех сайтов, входящих в сеть VPN A).

В результате получается такое  маршрутное объявление:

VPN - IPv 4: 123.45.67.89:1:10.1.0.0

Nexthop = 123.45.7.5

LVPN = 7

RT = WHITE

Это объявление протокол MP-BGP посылает всем своим соседям (на рисунке  объявление помещено внутрь широкой  стрелки).

Когда выходной маршрутизатор PE получает маршрут к сети VPN-IPv4, он делает обратное преобразование, отбрасывая префикс RD, и только потом помещает маршрут в таблицу VRF2 A и объявляет  о нем связанному с ним маршрутизатору заказчика CE3 из данной сети VPN A. В результате в таблице VRF2 A появляется новая запись:

Net = 10.1/16

Nexthop = 123.45.7.5 (BGP)

LVPN = 7

Перемещение пакета по сети MPLS VPN

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

Пусть, например, с сайта 2 сети VPN A узел с адресом 10.2.1.1/16 отправляет пакет узлу сайта 1 этой же сети VPN, имеющему адрес 10.1.0.3/16 (рис. 5). Стандартными транспортными средствами IP-пакет доставляется на пограничный маршрутизатор сайта CE3, в таблице которого для номера сети 10.1.0.0 в качестве следующего маршрутизатора указан маршрутизатор PE2. На маршрутизатор PE2 пакет поступает с интерфейса 2, поэтому для дальнейшего продвижения пакета он обращается к таблице VRF2А, связанной с данным интерфейсом.

Рис. 5. Путешествие пакета по сети MPLS VPN

В таблице VRF2A адресу 10.1.0.0 соответствует  запись протокола BGP, которая указывает, что следующим маршрутизатором ( next hop) для пакета определен маршрутизатор PE1. Поле метки содержит значение LVPN = 7, определяющее интерфейс выходного маршрутизатора PE1. Это значения должно быть присвоено пакету для того, чтобы он попал в нужную сеть VPN. Здесь также указывается, что запись была сделана протоколом BGP, а не IGP. На этом основании маршрутизатор PE2 «понимает», что очередной маршрутизатор не является непосредственным соседом, и путь к нему надо искать в глобальной таблице маршрутизации.

В глобальной таблице для  адреса PE1 указывается начальное  значение метки пути LSP, равное 3. Мы не будем останавливаться на способе  прокладки пути между маршрутизаторами PE1 и PE2 — этот вопрос мы обсуждали в главе 20 при изучении технологии MPLS.

В сетях MPLS VPN используются иерархические  свойства путей MPLS, за счет которых  пакет может быть снабжен несколькими  метками, помещаемыми в стек. На входе  во внутреннюю сеть поставщика, образуемую маршрутизаторами P, пакет будет  снабжен двумя метками LVPN = 7 и L = 3. Метка LVPN интерпретируется как метка нижнего уровня — оставаясь на дне стека, она не используется, пока пакет путешествует по туннелю PE1-PE2. Продвижение пакета происходит на основании метки верхнего уровня L. Каждый раз, когда пакет проходит очередной маршрутизатор P вдоль туннеля, метка L анализируется и заменяется новым значением. И только после достижения конечной точки туннеля — маршрутизатора PE1 — из стека извлекается метка LVPN. В зависимости от ее значения пакет направляется на тот или иной выходной интерфейс маршрутизатора PE1 (на рис. 4 этот интерфейс обозначен как int7).

Информация о работе Технология MPLS L3VPN