Автор: Пользователь скрыл имя, 13 Февраля 2013 в 18:20, контрольная работа
Сети MPLS VPN привлекают сегодня всеобщее внимание. Количество ведущих поставщиков услуг, предлагающих своим клиентам воспользоваться новым видом сервиса для экономичного построения своих внутренних и внешних сетей, постоянно растет, делая сети MPLS VPN доступными для пользователей все большего числа стран и регионов. От других технологий построения виртуальных частных сетей, таких как VPN на базе ATM/FR или IPSec, технологию MPLS VPN выгодно отличает хорошая масштабируемость, возможность автоматического конфигурирования и естественная интеграция с другими сервисами протокола IP, которые сегодня входят в обязательный набор любого успешного поставщика услуг, включая доступ в Интернет, WWW и почтовые службы, хостинг.
Особенность протокола BGP и
его расширений заключается в
том, что он получает и передает свои
маршрутные объявления не всем непосредственно
связанным с ним
Вопрос о том, кому отправлять маршрутные объявления, а кому нет, целиком зависит от топологии виртуальных частных сетей, поддерживаемых данным поставщиком услуг. Так, на рис. 2 маршрутизатор PE1 передает маршруты из таблицы VRF сайта 1, относящегося к сети VPN A, маршрутизаторам PE2, PE3, PE5, к которым подключены остальные сайты 2, 3 и 4 той же сети VPN A. Полученные маршруты заносятся в таблицы VRF соответствующих сайтов.
Итак, помимо маршрутов, поступающих от непосредственно подсоединенных к устройству PE сайтов, каждая таблица VRF дополняется маршрутами, получаемыми от других сайтов данной сети VPN по протоколу MP-BGP. Таким путем создаются таблицы, описывающие маршруты в рамках отдельной сети VPN.
Независимость адресных пространств
Если некоторое множество узлов никогда ни при каких условиях не получает маршрутную информацию от другого множества узлов, то адресация узлов в пределах каждого из этих множеств может выполняться независимо.
Ограничение области распространения
маршрутной информации пределами отдельных
сетей VPN изолирует адресные пространства
каждой сети VPN, позволяя применять
в ее пределах как публичные адреса
Интернета, так и частные адреса,
зарезервированные в
Почему же в таком случае
не сделать выбор адресов в
пределах VPN совершенно произвольным и
ограниченным только общими правилами
адресации стека TCP/IP? Дело в том,
что во многих случаях клиенты
не хотят полной изоляции VPN: в частности,
они нуждаются в выходе в Интернет.
Независимое же (не согласованное
с регламентирующими органами Интернета)
назначение адресов узлам 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 байт и состоит из трех полей.
Рис. 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 имеет следующий набор
Пусть, например, маршрутизатор PE1 получает с сайта 1 сети VPN A по протоколу класса IGP следующее объявление о маршруте в формате IPv4 (см. рис. 4):
Net = 10.1.0.0
NextHop = CE1
На основании этого объявления в таблицу VRF 1 A заносится соответствующая запись. Протокол BGP периодически просматривает таблицу VRF 1 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
Теперь, когда мы обсудили
схему распространения
Пусть, например, с сайта 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).