VPN (Virtual Private Network) - это виртуальная частная сеть или логическая сеть, которая создается поверх незащищённых сетей (сетей оператора связи или сервис-провайдера Интернет). VPN – это технология, которая обеспечивает защиту данных при передаче их по незащищенным сетям. Виртуальная частная сеть позволяет организовать туннель в незащищённых сетях (между двумя точками сети), например в ATM, FR или IP-сетях.

С помощью VPN можно осуществить соединения: сеть-сеть, узел-сеть или узел-узел. Такие свойства технологии VPN предоставляют возможность объединить территориально удаленные друг от друга локальные сети офисов компании в единую корпоративную информационную сеть. Необходимо отметить, что корпоративные вычислительные сети (КВС) можно организовывать и на базе выделенных (частных или арендованных) каналов связи. Такие средства организации используются для небольших КВС (предприятий с компактно расположенными офисами) с неизменяющимся во времени трафиком.

Известны основные виды VPN и их комбинации:

  • Intranet VPN (внутрикорпоративные VPN);
  • Extranet VPN (межкорпоративные VPN);
  • Remote Access VPN (VPN с удаленным доступом);
  • Client/Server VPN (VPN между двумя узлами корпоративной сети).

В настоящее время для построения корпоративных территориально распределенных сетей в разделяемой инфраструктуре сервис-провайдеров и операторов связи применяются следующие технологий:

  • IP-туннели с использованием технологий GRE или IPSec VPN;
  • SSL, к которой относятся OpenVPN и SSL VPN (SSL/TLS VPN) для организации безопасных каналов связи;
  • MPLS в сети оператора (L3 VPN) или VPN в сети BGP/MPLS;
  • Metro Ethernet VPN в сети оператора (L2 VPN). Наиболее перспективная технология, используемая в Metro Ethernet VPN, - это VPN на базе MPLS (MPLS L2 VPN) или VPLS.

Что касается применения выделенных линий и технологий Frame Relay, ATM для организации корпоративных территориально распределенных сетей, то они уже для этих целей практически не применяются. Сегодня, как правило, КВС строятся на основе оверлейных сетей (клиент-серверных и одноранговых сетей), которые работают в разделяемой инфраструктуре операторов, и являются «надстройками» над классическими сетевыми протоколами.

Для организации территориально распределенных корпоративных сетей провайдеры предоставляют заказчикам следующие основные модели VPN в среде Интернет:

  • модель IP VPN (GRE, IPSec VPN, OpenVPN) через WAN сеть, в которой настройка VPN обеспечивается заказчиком;
  • модель L 3 VPN или MPLS L3 VPN через WAN сеть, в которой настройка VPN обеспечивается сервис-провайдером или оператором связи;
  • модель L2 VPN через MAN сеть, в которой настройка VPN обеспечивается провайдером или оператором связи:
    • point-to-point (AToM, 802.1Q, L2TPv3);
    • multipoint (VPLS и H-VPLS).

Технологии VPN можно классифицировать и по способам их реализации с помощью протоколов: аутентификации, туннелирования и шифрования IP-пакетов. Например, VPN (IPSec, OpenVPN, PPTP) основаны на шифровании данных заказчиков, VPN (L2TP и MPLS) базируются на разделении потоков данных между заказчиками VPN, а SSL VPN основана на криптографии и аутентификации трафика. Но, как правило, VPN используют смешанные варианты, когда совместно используются технологии: аутентификации, туннелирования и шифрования. В основном организация VPN-сетей осуществляется на основе протоколов канального и сетевого уровней модели OSI.

Необходимо отметить, что для мобильных удаленных пользователей была разработана технология SSL VPN (Secure Socket Layer - уровень защищенных сокетов), которая основана на ином принципе передачи частных данных (данных пользователей) через Интернет. Для организации SSL VPN используется протокол прикладного уровня HTTPS. Для HTTPS используется порт 443, по которому устанавливается соединение с использованием TLS (Transport Layer Security - безопасность транспортного уровня).

TLS и SSL (TLS и SSL- протоколы 6 уровня модели OSI) - это криптографические протоколы, которые обеспечивают надежную защиту данных прикладного уровня, так как используют асимметричную криптографию, симметричное шифрование и коды аутентичности сообщений. Но поскольку в стеке TCP/IP определены 4 уровня, т.е. отсутствуют сеансовый и представительский уровни, то эти протоколы работают над транспортным уровнем в стеке TCP/IP, обеспечивая безопасность передачи данных между узлами сети Интернет.

Модель IP VPN, в которой настройка VPN обеспечивается заказчиком

Модель IP VPN может быть реализована на базе стандарта IPSec или других протоколов VPN (PPTP, L2TP, OpenVPN). В этой модели взаимодействие между маршрутизаторами заказчика устанавливается через WAN сеть сервис-провайдера. В этом случае провайдер не участвует в настройке VPN, а только предоставляет свои незащищённые сети для передачи трафика заказчика. Сети провайдеров предназначены только для инкапсулированного или наложенного (прозрачного) соединения VPN между офисами заказчика.

Настройка VPN осуществляется телекоммуникационными средствами заказчика, т.е. заказчик сам управляет маршрутизацией трафика. VPN соединение – это соединение поверх незащищённой сети типа точка-точка: «VPN шлюз - VPN шлюз» для объединения удаленных локальных сетей офисов, «VPN пользователь - VPN шлюз» для подключения удаленных сотрудников к центральному офису.

Для организации VPN-сети в каждый офис компании устанавливается маршрутизатор, который обеспечивает взаимодействие сети офиса с VPN-сетью. На маршрутизаторы устанавливается программное обеспечение для построения защищённых VPN, например, бесплатный популярный пакет OpenVPN (в этом случае пакет OpenVPN надо сконфигурировать для работы в режиме маршрутизации). Технология OpenVPN основана на SSL стандарте для осуществления безопасных коммуникаций через Интернет.

OpenVPN обеспечивает безопасные соединения на основе 2-го и 3-го уровней OSI. Если OpenVPN сконфигурировать для работы в режиме моста - он обеспечивает безопасные соединения на основе 2 уровня OSI, если в режиме маршрутизации - на основе 3-го уровня. OpenVPN в отличие от SSL VPN не поддерживает доступ к VPN-сети через web-браузер. Для OpenVPN требуется дополнительное приложение (VPN-клиент).

Маршрутизатор головного офиса компании настраивается в качестве VPN-сервера, а маршрутизаторы удаленных офисов в качестве VPN-клиентов. Маршрутизаторы VPN-сервер и VPN-клиенты подключаются к Интернету через сети провайдера. Кроме того, к главному офису можно подключить ПК удаленного пользователя, настроив на ПК программу VPN-клиента. В итоге получаем модель IP VPN (скриншот представлен на рис. 1).

Рис. 1. Модель сети IP VPN (Intranet VPN + Remote Access VPN)

Модель MPLS L3 VPN или L3 VPN, в которой настройка VPN обеспечивается сервис-провайдером или оператором связи (поставщиком услуг)

Рассмотрим процесс организации VPN-сети для трех удаленных локальных сетей офисов заказчика услуг (например, корпорации SC-3), размещенных в различных городах, с помощью магистральной сети MPLS VPN поставщика услуг, построенной на базе технологии MPLS L3 VPN. Кроме того, к сети корпорации SC-3 подключен ПК удаленного рабочего места и ноутбук мобильного пользователя. В модели MPLS L3 VPN оборудование провайдера участвует в маршрутизации клиентского трафика через сеть WAN.

В этом случае доставка клиентского трафика от локальных сетей офисов заказчика услуг к магистральной сети MPLS VPN поставщика услуг осуществляется с помощью технологии IP. Для организации VPN-сети в каждый офис компании устанавливается периферийный или пограничный CE-маршрутизатор (Customer Edge router), который соединяется физическим каналом с одним из пограничных РЕ-маршрутизаторов (Provider Edge router) сети MPLS провайдера (оператора). При этом на физическом канале, соединяющем CE и PE маршрутизаторы, может работать один из протоколов канального уровня (PPP, Ethernet, FDDI, FR, ATM и т.д.).

Сеть поставщика услуг (сервис-провайдера или оператора связи) состоит из периферийных РЕ-маршрутизаторов и опорной сети (ядра сети) с коммутирующими по меткам магистральными маршрутизаторами P (Provider router). Таким образом, MPLS L3 VPN состоит из офисных локальных IP-сетей заказчика и магистральной сети MPLS провайдера (домена MPLS), которая объединяет распределенные локальные сети офисов заказчика в единую сеть.

Удаленные локальные сети офисов заказчика обмениваются IP-пакетами через сеть провайдера MPLS, в которой образуются туннели MPLS для передачи клиентского трафика по опорной сети поставщика. Скриншот модели сети MPLS L3 VPN (Intranet VPN + Remote Access VPN) представлен на рис. 2. С целью упрощения схемы сети приняты следующие начальные условия: все ЛВС офисов относятся к одной VPN, а опорная (магистральная) сеть является доменом MPLS (MPLS domain), находящаяся под единым управлением национального сервис-провайдера (оператора связи).

Необходимо отметить, что MPLS L3 VPN может быть организована с помощью нескольких доменов MPLS разных сервис-провайдеров. На рисунке 2 представлена полносвязная топология VPN.


Рис. 2. Модель сети MPLS L3 VPN (Intranet VPN + Remote Access VPN)

Функционирование PE-маршрутизаторов

Периферийные маршрутизаторы CE и PE (заказчика и провайдера) обмениваются друг с другом маршрутной информацией одним из внутренних протоколов маршрутизации IGP (RIP, OSPF или IS-IS). В результате обмена маршрутной информацией каждый РЕ-маршрутизатор создает свою отдельную (внешнюю) таблицу маршрутизации VRF (VPN Routing and Forwarding) для локальной сети офиса заказчика, подключенной к нему через CE-маршрутизатор. Таким образом, маршрутная информация, полученная от CE, фиксируется в VRF-таблице PE.

Таблица VRF называется виртуальной таблицей маршрутизации и продвижения. Только РЕ-маршрутизаторы знают о том, что в сети MPLS организована VPN для заказчика. Из модели сети MPLS L3 VPN следует, что между CE-маршрутизаторами заказчика не осуществляется обмен маршрутной информацией, поэтому заказчик не участвует в маршрутизации трафика через магистраль MPLS, настройку VPN (РЕ-маршрутизаторов и Р-маршрутизаторов) осуществляет провайдер (оператор).

К РЕ-маршрутизатору могут быть подключены несколько VPN-сетей разных заказчиков (рис.3). В этом случае на каждый интерфейс (int1, int2 и т.д.) PE-маршрутизатора, к которому подключена локальная сеть офиса заказчика, устанавливается отдельный протокол маршрутизации. Для каждого интерфейса РЕ-маршрутизатора один из протоколов IGP создает таблицу маршрутизации VRF, а каждая таблица маршрутизации VRF соответствует VPN-маршрутам для каждого заказчика.

Например, для заказчика SC-3 и его сети LAN0 (главного офиса), подключенной через CE0 к PE0, на PE0 будет сформирована таблица VRF1 SC-3, для LAN1 заказчика SC-3 на PE1 будет создана VRF2 SC-3, для LAN2 на PE2 - VRF3 SC-3 и т.д., а принадлежат они одной VPN SC3. Таблица VRF1 SC-3 является общей для маршрутной информации CE0 и CE4. Необходимо отметить, что таблицы VRF пополняются информацией об адресах локальных сетей всех других офисов данного заказчика с помощью протокола MP-BGP (multiprotocol BGP). Протокол MP-BGP используется для обмена маршрутами непосредственно между РЕ-маршрутизаторами и может переносить в маршрутной информации адреса VPN-IPv4.

Адреса VPN-IPv4 состоят из исходных адресов IPv4 и префикса RD (Route Distinguisher) или различителя маршрутов, который идентифицирует конкретную VPN. В итоге на маршрутизаторах РЕ будут созданы VRF-таблицы с идентичными маршрутами для одной сети VPN. Только те РЕ-маршрутизаторы, которые участвуют в организации одной и той же VPN-сети заказчика, обмениваются между собой маршрутной информацией по протоколу MP-BGP. Префикс RD конфигурируется для каждой VRF-таблицы.

Маршрутная информация, которой обмениваются РЕ-маршрутизаторы по протоколу MP-BGP через глобальный или внутренний интерфейс:

  • Адрес сети назначения (VPN-IPv4);
  • Адрес следующего маршрутизатора для протокола (next hop);
  • Метка Lvpn – определяется номером интерфейса (int) РЕ-маршрутизатора, к которому подключена одна из ЛВС офиса заказчика;
  • Атрибут сообщения RT (route-target) – это атрибут VPN, который идентифицирует все ЛВС офисов, принадлежащие одной корпоративной сети заказчика или одной VPN.

Рис. 3. РЕ-маршрутизатор

Кроме того, каждый РЕ-маршрутизатор обменивается маршрутной информацией с магистральными P-маршрутизаторами одним из внутренних протоколов маршрутизации (OSPF или IS-IS) и создает также отдельную (внутреннюю) глобальную таблицу маршрутизации (ГТМ) для магистральной сети MPLS. Внешняя (VRF) таблица и внутренняя (ГТМ) глобальная таблицы маршрутизации в РЕ-маршрутизаторах изолированы друг от друга. P-маршрутизаторы обмениваются маршрутной информацией между собой и PЕ-маршрутизаторами с помощью традиционных протоколов внутренней IP-маршрутизации (IGP), например OSPF или IS-IS, и создают свои таблицы маршрутизации.

На основе таблиц маршрутизации с помощью протоколов распределения меток LDP или протоколов RSVP на основе технологии Traffic Engineering строятся таблицы коммутации меток на всех маршрутизаторах P (на PE создаются FTN), образующих определенный маршрут LSP (Label Switched Paths). В результате формируются маршруты с коммутацией по меткам LSP, по которым IP-пакеты продвигаются на основе значений меток заголовка MPLS и локальных таблиц коммутации, а не IP-адресов и таблиц маршрутизации.

Заголовок MPLS добавляется к каждому IP-пакету, поступающему на входной PE-маршрутизатор, и удаляется выходным PE-маршрутизатором, когда пакеты покидают сеть MPLS. В заголовке MPLS используется не метка, а стек из двух меток, т.е. входной PE назначает пакету две метки. Одна из них внешняя L, другая внутренняя Lvpn. Внешняя метка или метка верхнего уровня стека используется непосредственно для коммутации пакета по LSP от входного до выходного PE.

Необходимо отметить, что PE направляет входной трафик в определенный виртуальный путь LSP на основании FEC (Forwarding Equivalence Class – класса эквивалентности продвижения). FEC – это группа пакетов к условиям, транспортировки которых предъявляются одни и те же требования. Пакеты, принадлежащие одному FEC, перемещаются по одному LSP. Классификация FEC может осуществляться различными способами, например: по IP-адресу сети (префиксу сети) назначения, типу трафика, требованиям инжиниринга и т.д.

Если использовать классификацию по IP-адресу сети назначения, то для каждого префикса сети назначения создается отдельный класс. В этом случае протокол LDP полностью автоматизирует процесс создание классов и назначение им значений меток (табл. 1). Каждому входящему пакету, который направляется маршрутизатором PE на определенный IP-адрес сети офиса, назначается определенная метка на основании таблицы FTN.

Таблица 1. FTN (FEC To Next hop) на маршрутизаторе PE1

Из таблицы 1 следует, что значение внешней метки назначает входной маршрутизатор PE1 на основании IP-адреса локальной сети офиса. Внутренняя метка или метка нижнего уровня стека в процессе коммутации пакета по LSP от входного до выходного PE не участвует, а она определяет VRF или интерфейс на выходном PE, к которому присоединена ЛВС офиса заказчика.

Обмен информацией о маршрутах VPN по протоколу MP-BGP

Маршрутная информация (информация о маршрутах VPN), которую передает маршрутизатор PE1 маршрутизатору PE2 по протоколу BGP (красные линии):

  • Адрес VPN-IPv4: 46.115.25.1:106:192.168.1.0;
  • Next Hop = 46.115.25.1;
  • Lvpn=3;
  • RT= SC-3.

Различитель маршрутов RD=46.115.25.1:106 добавляется к IPv4-адресу сети LAN1 регионального офиса 1. Где 46.115.25.1 – это IP-адрес глобального интерфейса маршрутизатора PE1, через который PE1 взаимодействует с P-маршрутизаторами. Для данного маршрута VPN SC-3 администратор сети провайдера в маршрутизаторе PE1 или PE1 назначает метку (номер), например 106.

Когда маршрутизатор PE2 получает от PE1 адрес сети назначения VPN-IPv4, он отбрасывает разграничитель маршрутов RD, помещает адрес 192.168.1.0 в таблицу VRF3 SC-3 и отмечает, что запись была сделана протоколом BGP. Кроме того, он объявляет этот маршрут, подключенному к нему маршрутизатору заказчика CE2 для данной VPN SC-3.

Таблица VRF3 SC-3 также пополняется протоколом MP-BGP – об адресах сетей других ЛВС офисов данной VPN SC-3. Маршрутизатор PE1 направляет по протоколу MP-BGP маршрутную информация также другим маршрутизаторам: PE0 и PE3. В итоге, все маршруты в таблицах VRF маршрутизаторов (PE0, PE1, PE2 и PE3) содержат адреса всех сетей ЛВС офисов данного заказчика в формате IPv4.

Рис. 4. Таблицы VRF маршрутизаторов (PE0, PE1, PE2 и PE3)

Маршрутная информация, которую передает маршрутизатор PE2 маршрутизатору PE1 по протоколу MP-BGP (красные линии):

  • Адрес VPN-IPv4: 46.115.25.2:116:192.168.2.0;
  • Next Hop = 46.115.25.2;
  • Lvpn=5;
  • RT=SC-3.
Передача данных между ПК в корпоративной сети организованной на базе технологии MPLS L3 VPN

Рассмотрим, как происходит обмен данными между ПК 2 (IP: 192.168.1.2) сети LAN1 и ПК 1 (IP: 192.168.3.1) сети LAN. Для доступа к файлам, размещенным в директориях или логических дисках ПК 1 (LAN) с общим доступом, необходимо на ПК 2 (LAN1) в строке "Найти программы и файлы" (для ОС Win 7) ввести \\192.168.3.1 и нажать клавишу Enter. В результате на экране ПК 2 будут отображены директории с общим доступом ("расшаренные" директории или папки), которые размещены на ПК 1. Как это происходит?

При нажатии клавишу Enter в ПК 2 (LAN1) на сетевом уровне сформировался пакет с IP-адресом назначения 192.168.3.1. В первую очередь пакет поступает на маршрутизатор CE1 (рис. 5), который направляет его в соответствии с таблицей маршрутизацией на интерфейс int3 маршрутизатора PE1, так как он является следующим маршрутизатором для доступа к сети 192.168.3.0/24, в которой находятся ПК 1 (LAN ГО) с IP-адресом 192.168.3.1. С интерфейсом int3 связана таблица маршрутизации VRF2 SC-3, поэтому дальнейшее продвижение пакета осуществляется на основе ее параметров.

Как следует из таблицы VRF2 SC-3, следующим маршрутизатором для продвижения пакета к сети 192.168.3/24 является PE0 и эта запись была выполнена протоколом BGP. Кроме того, в таблице указано значение метки Lvpn=2, которая определяет интерфейс выходного маршрутизатора PE0. Отсюда следует, что дальнейшее продвижение пакета к сети 192.168.3/24 определяется параметрами глобальной таблицы маршрутизации ГТМ PE1.

Рис. 5. Передача данных между ПК2 (192.168.1.2) и ПК1 (192.168.3.1) сетей LAN1 и LAN главного офиса КС SC-3

В глобальной таблице (ГТМ PE1) адресу следующего маршрутизатора (NH - Next Hop) PE0 соответствует начальное значение внешней метки L=105, которая определяет путь LSP до PE0. Продвижение пакета по LSP происходит на основании L-метки верхнего уровня стека (L=105). Когда пакет проходит через маршрутизатор P3, а затем через маршрутизатор P1, метка L анализируется и заменяется новыми значениями. После достижения пакетом конечной точки LSP, маршрутизатор PE0 удаляет внешнюю метку L из стека MPLS.

Затем маршрутизатор PE0 извлекает из стека метку нижнего уровня стека Lvpn=2, которая определяет интерфейс int2, к которому присоединен маршрутизатор CE0 локальной сети главного офиса заказчика (LAN ГО). Далее из таблицы (VRF1 SC-3), содержащей все маршруты VPN SC3, маршрутизатор PE0 извлекает запись о значении метки Lvpn=2 и о связанном с ней маршруте к сети 192.168.3/24, который указывает на CE0 в качестве следующего маршрутизатора. Из таблицы следует, что запись о маршруте была помещена в таблицу VRF1 SC-3 протоколом IGP, поэтому путь движения пакета от PE0 до CE0 осуществляется по IP-протоколу.

Дальнейшее движение пакета от CE0 к ПК 1 с IP-адресом 192.168.3.1 осуществляется по MAC-адресу, так как CE0 и ПК 1 (192.168.3.1) находятся в одной ЛВС. После получения пакета-запроса от ПК 2 операционная система компьютера ПК 1 отправит копии своих директорий с общим доступом для ПК 2. Операционная система ПК 2, получив копии директорий с общим доступом от ПК 1, отображает их на экране монитора. Таким образом, через общественные сети MPLS провайдера по виртуальным каналам LSP осуществляется обмен данными между двумя ПК, принадлежащим разным ЛВС офисов одного заказчика.

Что касается подключения удаленного мобильного пользователя к ресурсам территориально распределенной корпоративной сети, то его можно реализовать с помощью одной из технологий Remote Access VPN (Remote Access IPSec VPN и SSL VPN). Необходимо отметить, что технология SSL VPN поддерживает два типа доступа: полный сетевой доступ и clientless. Технология clientless SSL VPN обеспечивает удаленный доступ к сети через стандартный веб-браузер, но в этом случае доступны только сетевые приложения с web-интерфейсом. Технология SSL VPN с полным сетевым доступом, после установки на ПК дополнительного приложения (VPN-клиента) обеспечивает доступ ко всем ресурсам территориально распределенной корпоративной сети.

Как правило, подключение удалённого пользователя к MPLS L3 VPN производится посредством сервера удаленного доступа (RAS), который подключается к одному из PE-маршрутизаторов MPLS сети. В нашем случае мобильный пользователь через сеть доступа (Интернет) подключен с помощью Remote Access IPSec VPN к RAS, который соединен с маршрутизатором PE0. Таким образом, мобильный пользователь через IPSec VPN подключается к своей корпоративной сети (корпорации SC-3), организованной на основе MPLS L3 VPN.

Модель MPLS L2 VPN, в которой настройка VPN обеспечивается провайдером или оператором связи (поставщиком услуг)

Организовать единое информационное пространство в трех офисах (например, корпорации SC-3), расположенных в пределах одного города можно на базе широкополосной Metro Ethernet сети оператора связи (L2 VPN). Одной из услуг сетей Metro Ethernet является организация корпоративных сетей через магистральные сети MAN (сети оператора связи в масштабах города). Для организации Metro Ethernet VPN (L2 VPN) используются различные технологии, например AToM (в основном EoMPLS), 802.1Q, L2TPv3 и так далее, но наиболее перспективной является технология MPLS L2 VPN или VPLS. В этом случае доставка клиентского трафика от локальных сетей офисов заказчика услуг к опорной сети MPLS VPN поставщика услуг осуществляется с помощью технологии второго уровня (Ethernet, Frame Relay или ATM).

Операторы связи предоставляют два типа услуг Ethernet сетей для организации виртуальных частных сетей на втором уровне модели OSI, которые формируются на базе технологии MPLS - это VPWS (Virtual Private Wire Services) и VPLS (Virtual Private LAN Services). Эти VPN строятся на базе псевдоканалов (pseudowire), которые связывают пограничные PE-маршрутизаторы сети провайдера (MPLS domain). Туннели LSP или логические каналы создаются при помощи меток, внутри которых прокладываются псевдоканалы (эмулированные VC) и по этим псевдоканалам передаются пакеты MPLS. VPWS основана на Ethernet over MPLS (EoMPLS). Но в VPLS в отличие от сетей point-to-point (P2P) VPWS организация псевдоканалов осуществляется с помощью многоточечных соединений (P2M).

В VPLS существует два способа установления псевдоканалов между любыми двумя PE, которые входят в состав данной VPLS (с помощью протокола BGP и протокола рассылки меток LDP). Расширенный протокол BGP (MP-BGP) обеспечивает автоматическое определения PE, которые взаимодействуют при построении территориально распределенной ЛВС на основе сервиса VPLS, и сигнализацию меток (vc-labels) виртуальных каналов. Для сигнализации vc-labels можно использовать и расширенный протокол LDP. В этом случае выявление всех PE-маршрутизаторов, которые входят в состав данной VPLS, осуществляется в режиме ручной настройки.

Можно также использовать системы управления, которые автоматизируют поиск и настройку PE устройств для организации VPLS сервисов. Для передачи кадров использует стек меток, верхняя метка предназначена для туннелей LSP, которая используется для достижения выходного PE. Нижняя метка - это метка VC Label, которая используется для демультиплексирования виртуальных каналов (pseudowires), передаваемых внутри одного туннеля. В одном туннеле может быть проложено множество псевдоканалов для разных экземпляров VPLS.

Для каждого экземпляра VPLS на PE создаются отдельные виртуальные коммутаторы VSI. Коммутаторы VSI изучают MAC-адреса и строят таблицы продвижения MPLS-пакетов. На основании данных таблицы продвижения коммутаторы VSI, получив кадры, инкапсулированные в пакеты MPLS, направляют их в псевдоканалы ведущие к пограничным PE, к которым подключены пограничные коммутаторы CE сегментов ЛВС офисов заказчика.

На базе VPWS (point-to-point) можно объединить две подсети офисов корпорации в одиную сеть, с единой сквозной IP-адресацией. VPLS – это технология, которая обеспечивает многоточечные соединения поверх пакетной сетевой инфраструктуры IP/MPLS. VPLS позволяет объединить несколько территориально распределенных локальных сетей офисов корпорации в единую локальную сеть. В этом случае магистральная сеть MPLS сервис-провайдера представляет собой виртуальный Ethernet-коммутатор (L2-коммутатор), который пересылает Ethernet-фреймы между сегментами ЛВС отдельных офисов заказчика. Схема территориально распределенной (в пределах города) локальной сети корпорации представлена на рис. 6.

Рис. 6. Схема территориально распределенной (в пределах города) локальной сети корпорации

Суть концепции VPLS заключается в прозрачной передаче Ethernet-фреймов ПК локальных сетей офисов (сегментов сетей офисов заказчика) заказчика по магистральной сети MPLS провайдера. Пограничными устройствами на стороне заказчика VPLS 1 служат коммутаторы CE0, CE1, CE2, которые соединены с устройствами PE0, PE1, PE2. PE-маршрутизаторы взаимодействуют друг с другом, с целью выявления всех PE, подключенных к VPLS 1. Устройства PE и P строят таблицы маршрутизации, на основе которых создаются каналы LSP и псевдоканалы.

В качестве протоколов сигнализации могут использоваться как BGP, так и LDP. Виртуальные коммутаторы VSI 1 устройств PE0, PE1, PE2 строят таблицы продвижения MPLS-пакетов. Например, VSI 1 устройства PE0 формирует таблицу коммутации, представленную на рис. 6. При поступлении Ethernet-фрейма c одного из ПК сети LAN главного офиса на вход устройства PE0 он инкапсулирует Ethernet-фрейм в MPLS пакет и, используя таблицу коммутации, направляет его в туннель, по которому пакет поступает на выходное устройство PE1.

Для продвижения пакета через MPLS сеть (через псевдоканалы в туннелях LSP) используется стек меток, который состоит из метки туннеля LSP и метки псевдоканала VC Label, например, 15. На выходном устройстве PE1 пакеты MPLS преобразуются в Ethernet-фреймы и направляются на коммутатор С1, к которому подключен ПК назначения с MAC-адресом 90:5C:E7:C8:56:93. В документах RFC 4761 и RFC 4762 подробно изложены методы сигнализации на базе протоколов BGP и LDP для локальных сетей организованных с помощью услуг VPLS.

Список источников информации:

1. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 4-е изд. / В.Г. Олифер, Н.А. Олифер –СПб. Питер, 2010. – 944 с.

2. Олвейн, Вивек. Структура и реализация современной технологии MPLS.: Пер. с англ. – М. : Издательский дом «Вильямс», 2004. – 480 с.

Многие из тех, кто постоянно работает с сетями Internet, наверняка слышали о такой замечательной технологии как MPLS.
MPLS открывает нам такие новые возможности как AToM (Any Transport over Mpls),Traffic Engineering и пр.
AToM позволяет передавать поверх сети IP/MPLS трафик таких протоколов второго уровня как ATM, Frame Relay, Ethernet, PPP, и HDLC.
В данной статье я бы хотел остановиться на технологии EoMPLS.

Немного теории

MPLS - (англ. Multiprotocol Label Switching) - мультипротокольная коммутация по меткам.
В модели OSI теоретически можно расположить между вторым и третьим уровнями.

В соответствии с технологией MPLS, пакетам присваиваются метки для их передачи по сети. Метки включаются в заголовок MPLS, вставляемый в пакет данных.

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

MPLS объединяет в себе все лучшее от IP-маршрутизации 3-го уровня и коммутации 2-го уровня.
В то время как маршрутизаторам требуется интеллект сетевого уровня, чтобы определить, куда передавать трафик, коммутаторам нужно только передать данные на следующий транзитный участок, а это естественно проще, быстрее и дешевле. MPLS полагается на традиционные протоколы маршрутизации IP, чтобы объявить и установить сетевую топологию. Затем MPLS накладывается поверх этой топологии. MPLS предопределяет путь распространения данных по сети и кодирует эту информацию в виде метки, которую понимают маршрутизаторы сети.
Поскольку планирование маршрута происходит в начальный момент времени и на краю сети (где состыковываются сети потребителя и провайдера услуг), MPLS-помеченные данные требуют меньше вычислительных возможностей от маршрутизаторов, чтобы пересечь ядро сети провайдера услуг.

AToM
Для создания VPN Layer 2 по схеме точка-точка (point-to-point) разработана технология Any Transport Over MPLS (AToM), обеспечивающая передачу Layer 2 фреймов через MPLS сеть. AToM – это интегральная технология, включающая Frame Relay over MPLS, ATM over MPLS, Ethernet over MPLS.

EoMPLS инкапсулирует Ethernet фреймы в MPLS пакеты и использует стек меток для продвижения через MPLS сеть.

Канал, построенный на технологии EoMPLS, для потребителя услуг провайдера выглядит как виртуальный патчкорд.

Итак, поехали… Как же создать VPN Layer 2 с использованием EoMPLS?

Представим, что у нас есть очень важный клиент, которому необходимо объединить два филиала (Москва и Владивосток) в один сегмент сети, с единой сквозной IP-адресацией. Здесь и приходит на помощь AToM.
Как это видит клиент
Как это видит провайдер

Перед непосредственной настройкой VPN необходимо обеспечить работу MPLS.

Настроить его намного проще, чем кажется на первый взгляд (мы говорим о минимальной базовой настройке).
  1. Для начала включим IP CEF и MPLS в глобальной настройке нашего маршрутизатора.
    MSK-1#conf t
    MSK-1(config)#ip cef
    MSK-1(config)#mpls ip

    Если такую команду маршрутизатор отказывается понимать, то либо текущая версия IOS, либо само оборудование не поддерживает MPLS.
  2. Создаем loopback интерфейс, через который и будет работать наш MPLS.
    MSK-1#conf t
    MSK-1(config)#int lo1
    MSK-1(config-if)#ip address 1.1.1.1 255.255.255.255

    Технически может работать и непосредственно на интерфейсах, обеспечивающих связь между двумя маршрутизаторами. Но такая схема создает только лишь дополнительные трудности. Например, смена IP-адресации на участке между маршрутизаторами.
  3. Настраиваем роутинг для обеспечения связи маршрутизаторов через loopback интерфейсы.
    Можно использовать либо статические маршруты, либо динамические протоколы маршрутизации. Возьмем к примеру, OSPF.
    MSK-1#conf t
    MSK-1(config)#router ospf 100
    MSK-1(config-router)#log-adjacency-changes
    MSK-1(config-router)#network 1.1.1.1 0.0.0.0 area 0
    MSK-1(config-router)#network 1.0.0.0 0.0.0.3 area 0
    MSK-1(config-router)#

    В качестве network указывается loopback-интерфейс и сети интерфейсов для связи между маршрутизаторами.

    Проверяем командой ping, что все работает.

    MSK-1#ping 1.1.1.3
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 1.1.1.3, timeout is 2 seconds:
    ! ! ! ! !
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms
    MSK-1#
  4. Укажем нашему роутеру, что в качестве «router-id» будет использоваться loopback интерфейс.
    MSK-1#conf t
    MSK-1(config)#mpls ldp router-id Loopback1 force
  5. Включаем MPLS на интерфейсах, которые связывают маршрутизаторы между собой.
    MSK-1#conf t
    MSK-1(config)#int gi0/2
    MSK-1(config-if)#mpls ip
  6. Смотрим, что связь по MPLS установлена.
    MSK-1#sh mpls ldp neighbor Peer LDP Ident: 1.1.1.2:0; Local LDP Ident 1.1.1.1:0 TCP connection: 1.1.1.2.12817 - 1.1.1.1.646 State: Oper; Msgs sent/rcvd: 36243/37084; Downstream Up time: 01:39:49 LDP discovery sources: Targeted Hello 1.1.1.1 -> 1.1.1.2, active, passive GigabitEthernet0/2, Src IP addr: 1.0.0.2 Addresses bound to peer LDP Ident: 1.1.1.2 1.0.0.2 1.1.1.6 Peer LDP Ident: 1.1.1.3:0; Local LDP Ident 1.1.1.1:0 TCP connection: 1.1.1.3.48545 - 1.1.1.1.646 State: Oper; Msgs sent/rcvd: 347/127; Downstream Up time: 01:39:49 LDP discovery sources: Targeted Hello 1.1.1.1 -> 1.1.1.3, active, passive Addresses bound to peer LDP Ident: 1.0.0.5 1.1.1.3 MSK-1#

Основная настройка MPLS на этом закончена.
Здесь я представил настройку лишь одного маршрутизатора. В самом конце статьи можно посмотреть конфиги всех маршрутизаторов.

Переходим к настройке канала EoMPLS для нашего воображаемого клиента.

Вся настройка сводится к созданию sub-интерфейсов на обоих маршрутизаторах.

С одной стороны:

MSK-1#conf t
MSK-1(config)int gi0/1.100
MSK-1(config-subif)#encapsulation dot1Q 100
MSK-1(config-subif)#xconnect 1.1.1.3 123456789 encapsulation mpls

С другой стороны:

Vladi-1#conf t
Vladi-1(config)int gi0/1.40
Vladi-1(config-subif)#encapsulation dot1Q 40
Vladi-1(config-subif)#xconnect 1.1.1.1 123456789 encapsulation mpls

Некоторые моменты поподробнее:
encapsulation dot1Q 100 - указываем тег dot1Q. Если проще - номер VLAN, по которому будет ходить трафик клиента от маршрутизатора до его порта на коммутаторе. На другом маршрутизаторе это значение может отличаться. Что позволяет нам объединить два совершено разных VLANа.
xconnect 1.1.1.3 - создаем иксконнект до необходимого маршрутизатора. Туда, куда включена вторая точка нашего клиента.
123456789 - Значение Virtual Circuit. Должно быть одинаковым на обоих маршрутизаторах. Именно это значение идентифицирует наш канал. Значние VC может быть в диапазоне от 1 до 4294967295.

Теперь остается лишь проверить, что наш канал заработал, и радоваться жизни.
MSK-1#sh mpls l2transport vc 123456789 Local intf Local circuit Dest address VC ID Status Gi0/1.100 Eth VLAN 100 1.1.1.3 123456789 UP MSK-1#

И детальная информация:

MSK-1#sh mpls l2transport vc 123456789 detail Local interface: Gi0/1.100 up, line protocol up, Eth VLAN 100 up Destination address: 1.1.1.3, VC ID: 123456789, VC status: up Next hop: 1.0.0.2 Output interface: Gi0/2, imposed label stack {599 17} Create time: 02:33:18, last status change time: 02:33:14 Signaling protocol: LDP, peer 1.1.1.3:0 up MPLS VC labels: local 140, remote 17 Group ID: local 0, remote 0 MTU: local 1500, remote 1500 Remote interface description: Sequencing: receive disabled, send disabled VC statistics: packet totals: receive 1391338893, send 1676515662 byte totals: receive 2765021070, send 3317727319 packet drops: receive 0, send 0 MSK-1#

Проблемы с MTU

Необходимо помнить, что при работе MPLS, к пакету Ethernet дополнительно добавляется 12 байт.
Чтобы избежать фрагментации пакетов, на интерфейсах можно указать «mpls mtu 1512». Но в данном случае, все устройства, находящие на пути следования, должны поддерживать пропускание пакетов с размером MTU, больше чем 1500.

P.S. Конфиги всех роутеров как и обещал.

Москва
#mpls ip

#router ospf 100
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 1.0.0.0 0.0.0.3 area 0

#interface GigabitEthernet0/2
ip address 1.0.0.1 255.255.255.252
mpls ip

#interface Loopback1
ip address 1.1.1.1 255.255.255.255

#interface GigabitEthernet0/1.100
encapsulation dot1Q 100
xconnect 1.1.1.3 123456789 encapsulation mpls


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










Введение

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

Вопрос. Что такое многопротокольная коммутация по меткам (MPLS)?

Ответ. Многопротокольная коммутация по меткам (MPLS) - это технология переадресации пакетов, которая использует метки для принятия решений о перенаправлении данных. С помощью MPLS проводится однократный анализ заголовка третьего уровня (при поступлении пакета в домен MPLS). Анализ метки приводит к дальнейшей переадресации пакета. MPLS предлагает следующие удобные приложения:

  • Virtual Private Networking (VPN)
  • Traffic Engineering (TE)
  • Quality of Service (QoS)
  • Any Transport over MPLS (AToM)

Кроме того, эта технология уменьшает время перенаправления пакета на основных маршрутизаторах. Технологии MPLS применимы к любым протоколам сетевого уровня.

Вопрос. Что такое метка? Какова структура метки?

Ответ. Метка имеет небольшой размер, равный четырем байтам, фиксированную длину и устанавливается локально, что используется для идентификации класса эквивалентной переадресации (FEC). Метка, присвоенная определенному пакету, содержит данные о FEC, которому назначен этот пакет.

  • Label - значение метки (неструктурированно), 20 бит
  • Exp - экспериментальное использование, 3 бита; в текущий момент используется в качестве поля Class of Service (CoS).
  • S - нижняя граница стека, 1 бит
  • TTL - время жизни, 8 бит

Вопрос. В какой части пакета устанавливается метка?

Ответ. Метка устанавливается между заголовком уровня канала данных (второй уровень) и заголовком сетевого уровня (третий уровень). Верхняя граница стека меток отображается первой в пакете, а нижняя - последней. Пакет сетевого уровня непосредственно следует последней метке из стека меток.

Вопрос. Что такое класс эквивалентной переадресации (FEC)?

Ответ. Класс эквивалентной переадресации FEC является группой IP-пакетов, которые переадресуются одинаковым образом по одному и тому же маршруту и с одной и той же обработкой переадресации. FEC может соответствовать адресу IP-подсети назначения, кроме того, FEC может соответствовать любому классу трафика, который Edge-LSR рассматривает в качестве важного. Например, весь трафик с определенным значением IP-приоритета может служить основой для FEC.

Вопрос. Что такое восходящий маршрутизатор коммутирующий по меткам (LSR)? Что такое нисходящий маршрутизатор коммутирующий по меткам?

Ответ. Восходящий и нисходящий являются относительными понятиями для MPLS. Они всегда обращаются к префиксу (правильнее говорить о FEC). Это объясняется в следующем примере.

Для FEC 10.1.1.0/24, R1 является "нисходящим" маршрутизатором коммутирующим по меткам в R2.

Для FEC 10.1.1.0/24, R2 является "восходящим" маршрутизатором коммутирующим по меткам в R1?

Для FEC 10.1.1.0/24, R1 является "нисходящим" маршрутизатором коммутирующим по меткам в R2. А R2 является "нисходящим" маршрутизатором коммутирующим по меткам в R3.

Для FEC 10.1.1.0/24, R1 является "нисходящим" маршрутизатором коммутирующим по меткам в R2. Для FEC 10.2.2.0/24, R2 является "нисходящим" маршрутизатором коммутирующим по меткам в R1.

Для достижения этой сети данные передаются от восходящего к нисходящему маршрутизатору.

В таблице маршрутизации R4 содержатся данные о R1 и R2, как о следующих сетевых сегментах для достижения 10.1.1.0/24.

Вопрос. Является ли R3 "нисходящим" маршрутизатором коммутирующим по меткам в R4 для 10.1.1.0/24?

Ответ. Нет. Данные передаются от восходящего к нисходящему маршрутизатору.

Вопрос. Что означают термины "входящий", "исходящий", "локальный" и "удаленный" применительно к меткам?

Ответ. В данной топологии рассмотрим маршрутизаторы R2 и R3. R2 распределяет метку L для FEC F в R3. R3 использует метку L при перенаправлении данных к FEC-F (так как R2 является его нисходящим маршрутизатором коммутирующим по меткам для FEC-F). В данном примере:

  • L является входящей меткой для F на R2.
  • L является исходящей меткой для FEC-F на R3.
  • L является локальным значением для FEC-F на R2.
  • L является удаленной меткой для FEC-F на R3.

Вопрос. Может ли маршрутизатор коммутирующий по меткам использоваться для отправки и (или) получения на MPLS-интерфейс собственного IP-пакета (не MPLS)?

Ответ. Да, если на интерфейсе может использоваться IP-протокол. Собственные пакеты передаются и принимаются как обычно. IP - это всего лишь другой протокол. Пакеты MPLS имеют другую кодировку второго уровня. Принимающий маршрутизатор коммутирующий по меткам распознает пакет MPLS, основанный на кодировке второго уровня.

Вопрос. Может ли маршрутизатор коммутирующий по меткам использоваться для отправки и (или) получения помеченных пакетов на интерфейс отличный от MPLS?

Ответ. Нет. Пакеты никогда не передаются на интерфейс, который не допускает использование этого протокола. MPLS обладает определенным типом кодировки Ether, связанным с многопротокольной коммутацией по меткам (точно так же, как IP, IPX и Appletalk обладают уникальными типами Ether). При получении маршрутизатором Cisco пакета с типом Ether, которые не может использоваться на интерфейсе, происходит отклонение такого пакета. Например, если маршрутизатор получает пакет Appletalk на интерфейсе, который не может обрабатывать пакеты Appletalk, то происходит отклонение пакета. Аналогично этому, если пакет MPLS получен на интерфейсе, который не может его обработать, то этот пакет отклоняется.

Вопрос. Какие платформы и операционные системы Cisco IOS поддерживают работу с многопротокольной коммутацией по меткам (MPLS)?

Ответ. Многопротокольную коммутацию по меткам могут использовать Cisco Series 2691, 3640, 3660, 3725, 3745, 6400-NRP-1, 6400-NRP-2SV, 6400-NSP, Catalyst 5000 с модулем маршрутизации коммутатора (RSM), 7200, 7301, 7400, 7500, Catalyst 6500/Cisco 7600 Series с WS-SUP720-3B и WS-SUP720-3BXL, Gigabit Switch Router (GSR), Route Processor Module (RPM), Universal Broadband Router (UBR) 7200, AS5350 и IGX8400-URM.

Эти платформы поддерживают Cisco TDP-протокол в качестве протокола распределения меток.

Сведения о LDP-протоколе, RSVP-протоколе и BGP-протоколе могут быть найдены с помощью служебной программы (только для пользователей ). Software Advisor предоставляет сведения о полном списке наборов функций, поддерживаемых в различных версиях Cisco IOS и на различных платформах.

Вопрос. GRE-туннель использует служебные данные размером 24 байта. Какой размер служебных данных соответствует туннелю MPLS LSP?

Ответ. Туннель MPLS LSP имеет одну метку (четыре байта) или две метки (например, при использовании переадресации быстрого защищенного канала) в области служебных данных. В отличии от туннеля GRE, туннель MPLS не может изменять заголовки IP-пакетов. Вместо этого, стек меток применяется к пакету проходящему по пути туннеля.

Вопрос. Как маршрутизатор коммутирующий по меткам определяет какая метка из стека меток считается верхней, нижней или средней?

Ответ. Метка, расположенная сразу после заголовка второго уровня, является верхней меткой, а метка с битом S = 1 является нижней меткой. Средние метки не считываются и не идентифицируются маршрутизатором коммутирующим по меткам. При этом метка будет средней меткой, если она не находится вверху стека и бит S = 0.

Вопрос. Каков диапазон значений метки? Какие значения метки могут быть получены? Что означают полученные значения?

Ответ. Эти значения также могут быть найдены в документе RFC3032 - MPLS Label Stack Encoding (RFC3032 - кодировка меток стека MPLS) .

Теоретически диапазон значений от 0 до (2 20 -1). Значения меток 0-15 зарезервированы, а значения 4-15 зарезервированы для последующего использования. Значения 0-3 определяются следующим образом:

  • Значение 0 соответствует "IPv4 Explicit NULL Label". Эта метка указывает на то, что пакет должен быть извлечен из стека меток, а переадресация пакета должна быть основана на основе IP-заголовка версии 4. Это помогает сохранить бит Exp неизменным до выхода из маршрутизатора. Он используется в QoS на основе MPLS.
  • Значение 1 соответствует "Router Alert Label". Если полученный пакет содержит это значение метки вверху стека меток, то пакет доставляется модулю локального программного обеспечения для обработки. Фактическая переадресация пакета определяется его меткой в стеке. Однако если пакет переадресуется далее, то метка Router Alert Label должна быть возвращена обратно в стек меток перед выполнением переадресации. Использование этой метки аналогично использованию метки "Router Alert Option" в IP-пакетах (например, проверка связи с параметром записи маршрутизатора)
  • Значение 2 соответствует "IPv6 Explicit NULL Label". Эта метка указывает на то, что пакет должен быть извлечен из стека меток, а переадресация пакета должна быть основана на основе IP-заголовка версии 6.
  • Значение 3 соответствует "Implicit NULL Label". Это метка, которую маршрутизатор коммутирующий по меткам может назначать и распределять. Однако она никогда не отображается в инкапсуляции. Это указывает на то, что маршрутизатор коммутирующий по меткам выталкивает верхнюю метку из стека и направляет оставшуюся часть пакета (с меткой или без) через исходящий интерфейс (для каждой записи Lfib). Хотя это значение может никогда не отображаться в инкапсуляции, необходимо задать LDP-протокол так, чтобы зарезервировать значение.

Вопрос. Какой протокол и номер порта позволяют использовать протоколы LDP и TDP для распределения меток в узлах LDP/TDP?

Ответ. LDP-протокол использует TCP-порт 646, а TDP-протокол использует TCP-протокол 711. Эти порты открыты на интерфейсе маршрутизатора только когда mpls ip настраивается на этот интерфейс. Использование TCP в качестве транспортного протокола приводит к надежной доставке данных LDP/TDP с помощью надежных механизмов управления потоком и обработки перегрузок.

Вопрос. Какие ограничения на использование MPLS существуют для маршрутизаторов Catalyst 6500 и 7600 Optical Services (OSR)?

Ответ. Интерфейс, связанный с доменом MPLS, должен использовать один из оптических служебных модулей (OSM) (например, любой модуль, который использует комплекс Parallel Express Forwarding (PXF)) или интерфейс в модуле FlexWAN. Те же самые ограничения существуют и для многопротокольной коммутации по меткам третьего уровня VPN. Именно поэтому IP-кадр должен поступать на WAN-интерфейс, который может быть либо оптическим служебным модулем, либо интерфейсом в модуле FlexWAN. Эти ограничения не распространяются на Supervisor 720.

, я же начну с примера и по ходу повествования буду пояснять непонятные вещи:).
Представим себя, ненадолго, провайдером. У нас имеется в распоряжении группа роутеров расположенных на определенной территории, между которыми настроено сетевое взаимодействие. К нам обратились два клиента и попросили организовать связь между их подразделениями, находящимися на приличном удалении друг от друга. Причем оказалось, что у этих клиентов существует уже настроенная IP – адресация, от которой они не хотят отказываться и, мало того, она пересекается.
Для реализации такой задачи простыми методами не обойтись. Вот тут и появляются нам на помощь технологии VRF и MPLS (конечно же, можно использовать и другие способы, например, IPsec VPN, но это уже темы других постов). По большому счету, технология VRF близка к понятию VPN. Но VPN – это принцип объединения узлов клиента, находящихся под единым административным подчинением, через публичную сеть оператора, а VRF – это больше описание VPN в приделах одного устройства, которое включает в себя атрибуты и правила распространения маршрутной информации, отдельную таблицу маршрутизации и так далее. Другими словами, VRF-ы делят один физический роутер, на определенное количество виртуальных роутеров, которые работают независимо друг от друга. Таким образом получается, что сколько у нас будет запланировано VPN-ов, столько VRF-ов нам необходимо будет создать на устройстве.
Собравшись с мыслями, обдумав, как решить такую задачу, появилось вот такое решение, которое я и предлагаю вам сегодня реализовать:


    Что мы имеем:
  • Router_1 и Router_5 – Customer Edge (CE) роутеры, к которым подключены клиентские сети.
  • Router_2 и Router_4 – роутеры на границе MPLS домена (ELSR – Edge Label Switch Router или PE – Provider Edge router).
  • Router_3 – роутер, находящийся внутри домена MPLS (LSR – Label Switch Router или P – Provider router).
  • Host_1 – пользователь для проверки от клиента №1 (IP – 192.168.1.10/24).
  • Host_2 – пользователь для проверки от клиента №2 (IP – 172.16.1.10/24).
Клиент №1 имеет у себя сети с адресацией из следующих диапазонов: 172.16.1.0/24 и 192.168.2.0/24. Клиент №2 имеет у себя сети с адресацией из следующих диапазонов: 172.16.1.0/24 и 192.168.2.0/24. Для сетей клиентов мы будем использовать sub – интерфейсы на CE роутерах. Клиент №1 будет относиться к VRF_A, клиент №2 будет относиться к VRF_B. На CE роутерах прописаны default маршруты в сторону ELSR-ов (на ELSR роутерах прописаны статические маршруты в обратную сторону к сетям клиентов).
Для организации сетевой доступности внутри MPLS домена используется протокол маршрутизации OSPF. Для обмена маршрутной информацией VRF-ов между ELSR-ми используется протокол MP-BGP.
Зачем же нужен MPLS, спросите вы? А он нам понадобится для того, чтобы перенести данные протокола BGP, работающего между ELSR-ми.
Рассмотрим следующую ситуацию. Нам нужно добраться из сети 192.168.1.0/24 в сеть 172.16.1.0/24 (сети клиента №1, VRF_A). Согласно статическому маршруту на Router_1 пакет долетит до Router_2, который, в свою очередь, согласно информации от протокола BGP, отправит его в сторону Router_4. По внутреннему протоколу маршрутизации (OSPF) Router_2 знает, что его сосед по BGP Router_4 находится за роутером Router_3. И тут произойдет следующее, Router_3, приняв пакет, просто отбросит его, так как он не знает о сети 172.16.1.0/24. Почему так произойдет? А потому, что Router_3 не участвует в процессе BGP. Чтобы этого не случилось, на нем тоже надо включать этот протокол (об этом можно посмотреть в моем посте по настройке протокола BGP , я затрагивал там эту тему в общих чертах). Это в наши планы не входит (это только тут у нас один роутер, а в реальной сети их может быть очень много и включать на каждом роутере BGP как то не хочется).
Вот тут то и приходит нам на помощь MPLS. Именно организовав MPLS домен, мы сможем обеспечить быстрый проброс информации BGP между нужными нам точками без включения самого протокола на всех роутерах.
Как будет работать пример выше после того, как мы настроим MPLS? Теперь, приняв пакет, Router_2 (ELSR) поймет, что он относится к VRF_A, пометит его 2-мя метками и отправит дальше. Первая метка будет использоваться для коммутации этого пакета при прохождении его по MPLS домену. Вторая метка, будет использоваться либо для идентификации нужного VRF, либо для идентификации интерфейса, куда надо будет послать пакет дальше на конечном ELSR (Router_4). При настроенном PHP (Penultimate Hop Popping) первая метка будет снята с пакета на последнем роутере, стоящем перед ELSR (в нашем случае на Router_3). Таким образом, Router_4 примет пакет уже с одной меткой, которая поможет ему определить, куда отправить пакет. В итоге, пакет благополучно дойдет до адресата.
Надеюсь, немного разобрались. Перейдем непосредственно к настройкам. Как всегда, начнем с организации обычной сетевой доступности.
Настроим сначала CE роутеры Router_1 и Router_5.
Router_1:

R1>en
R1#conf t
R1(config)#hostname Router_1
Router_1(config)#int loopback 0
Router_1(config-if)#ip address 10.10.10.10 255.255.255.255
Router_1(config-if)#exit
Router_1(config)#int fa 0/0.3
Router_1(config-subif)#encapsulation dot1Q 3 – создаем sub-интерфейс ;
Router_1(config-subif)#ip address 192.168.1.1 255.255.255.0
Router_1(config-subif)#exit
Router_1(config)#int fa 0/0
Router_1(config-if)#no sh
Router_1(config-if)#no shutdown
Router_1(config-if)#exit
Router_1(config)#int fa 1/0
Router_1(config-if)#ip address 1.1.1.2 255.255.255.252
Router_1(config-if)#exit
Router_1(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.1 – прописываем маршрут по умолчанию ;
Router_1(config)#exit
Router_1#wr
Router_1#
Router_5:

R5>en
R5#conf t
R5(config)#hostname Router_5
Router_5(config)#int loopback 0
Router_5(config-if)#ip address 50.50.50.50 255.255.255.255
Router_5(config-if)#exit
Router_5(config)#int fa 0/0.4
Router_5(config-subif)#encapsulation dot1Q 4
Router_5(config-subif)#ip address 172.16.1.1 255.255.255.0
Router_5(config-subif)#exit
Router_5(config)#int fa 0/0

Router_5(config-if)#exit
Router_5(config)#int fa 1/0
Router_5(config-if)#ip address 4.4.4.2 255.255.255.252
Router_5(config-if)#no shutdown
Router_5(config-if)#exit
Router_5(config)#ip route 0.0.0.0 0.0.0.0 4.4.4.1
Router_5(config)#exit
Router_5#wr
Router_5#
Теперь перейдем к роутерам, которые, впоследствии, будут подключены к MPLS домену.
Router_2:

R2>en
R2#conf t
R2(config)#hostname Router_2
Router_2(config)#int loopback 0
Router_2(config-if)#ip address 20.20.20.20 255.255.255.255
Router_2(config-if)#exit
Router_2(config)#int fa 0/0
Router_2(config-if)#ip address 1.1.1.1 255.255.255.252

Router_2(config-if)#exit
Router_2(config)#int fa 1/0
Router_2(config-if)#ip address 2.2.2.1 255.255.255.252
Router_2(config-if)#no shutdown
Router_2(config-if)#exit
Router_2(config)#int fa 2/0

Router_2(config-if)#no shutdown
Router_2(config-if)#exit
Router_2(config)#router ospf 1 – настраиваем внутренний протокол маршрутизации (OSPF) ;
Router_2(config-router)#passive-interface default
Router_2(config-router)#no passive-interface fa 1/0
Router_2(config-router)#network 20.20.20.20 0.0.0.0 area 0
Router_2(config-router)#network 2.2.2.0 0.0.0.3 area 0
Router_2(config-router)#exit
Router_2(config)#ip route 192.168.1.0 255.255.255.0 1.1.1.2
Router_2(config)#exit
Router_2#wr
Router_2#
Router_3:

R3>en
R3#conf t
R3(config)#hostname Router_3
Router_3(config)#int loopback 0
Router_3(config-if)#ip address 30.30.30.30 255.255.255.255
Router_3(config-if)#exit
Router_3(config)#int fa 0/0
Router_3(config-if)#ip address 2.2.2.2 255.255.255.252

Router_3(config-if)#exit
Router_3(config)#int fa 1/0
Router_3(config-if)#ip address 3.3.3.2 255.255.255.252
Router_3(config-if)#no shutdown
Router_3(config-if)#exit
Router_3(config)#router ospf 1
Router_3(config-router)#network 30.30.30.30 0.0.0.0 area 0
Router_3(config-router)#network 2.2.2.0 0.0.0.3 area 0
Router_3(config-router)#network 3.3.3.0 0.0.0.3 area 0
Router_3(config-router)#exit
Router_3(config)#exit
Router_3#wr
Router_3#
Router_4:

R4>en
R4#conf t
R4(config)#hostname Router_4
Router_4(config)#int loopback 0
Router_4(config-if)#ip address 40.40.40.40 255.255.255.255
Router_4(config-if)#exit
Router_4(config)#int fa 0/0
Router_4(config-if)#ip address 3.3.3.1 255.255.255.252

Router_4(config-if)#exit
Router_4(config)#int fa 1/0

Router_4(config-if)#no shutdown
Router_4(config-if)#exit
Router_4(config)#int fa 2/0

Router_4(config-if)#no shutdown
Router_4(config-if)#exit
Router_4(config)#router ospf 1
Router_4(config-router)#passive-interface default
Router_4(config-router)#no passive-interface fa 0/0
Router_4(config-router)#network 40.40.40.40 0.0.0.0 area 0
Router_4(config-router)#network 3.3.3.0 0.0.0.3 area 0
Router_4(config-router)#exit
Router_4(config)#ip route 172.16.1.0 255.255.255.0 4.4.4.2 – не волнуйтесь насчет этого маршрута, он немного будет немного переделан при настройке VFR-ов, сейчас он нужен чисто для вида ;
Router_4(config)#exit
Router_4#wr
Router_4#
Остановимся и посмотрим, что мы имеем на данный момент. Зайдем на Router_2:


Видим, что OSPF работает. Сетевая доступность присутствует. Сеть 172.16.1.0/24 пока не доступна.
Посмотрим, куда может «достучаться» Host_1:


Шлюз доступен (1), доступен IP – адрес, смотрящий в сторону Router_3, сеть 172.16.1.0/24 так же пока не доступна (3).
Двигаемся дальше. Так как VRF-ы настраиваются локально на устройстве, то их надо настроить только на роутерах Router_2 и Router_4. Возвращаемся на Router_2:

Router_2#conf t
Router_2(config)#ip vrf VRF_A – создаем первый VRF ;
Router_2(config-vrf)#rd 1:1 – задаем уникальный идентификатор, который будет использоваться для определения принадлежности маршрутной информации тому или иному VPN-у. Он может задаваться двумя способами: 16-bit номер: 32-bit номер (пример, 1:3 ) или 32-bit IP адрес: 16-bit номер (пример, 172.16.1.1:1 ) ;
Router_2(config-vrf)#route-target export 1:1 – определяем идентификатор, описывающий правила экспорта маршрутов (сети, которые будут выходить из данного VRF (можно настроить передачу сетей между VRF-ми)) ;
Router_2(config-vrf)#route-target import 1:1 – определяем идентификатор, описывающий правила импорта маршрутов (сети, которые будут входить в данный VRF (можно настроить передачу сетей между VRF-ми)) ;
Router_2(config-vrf)#exit
Router_2(config)#ip vrf VRF_B
Router_2(config-vrf)#rd 2:1
Router_2(config-vrf)#route-target export 2:1
Router_2(config-vrf)#route-target import 2:1
Router_2(config-vrf)#exit
Router_2(config)#int fa 0/0
Router_2(config-if)#ip vrf forwarding VRF_A – назначаем принадлежность интерфейса нужному VRF-у ;
% Interface FastEthernet0/0 IP address 1.1.1.1 removed due to enabling VRF VRF_A – при назначении интерфейса в VRF с него снимается IP-адрес (если он был настроен) ;
Router_2(config-if)#ip address 1.1.1.1 255.255.255.252 – заново назначаем IP-адрес на интерфейсе ;
Router_2(config-if)#exit
Router_2(config)#int fa 2/0
Router_2(config-if)#ip vrf forwarding VRF_B
% Interface FastEthernet2/0 IP address 192.168.2.1 removed due to enabling VRF VRF_B
Router_2(config-if)#ip address 192.168.2.1 255.255.255.0
Router_2(config-if)#exit
Router_2(config)#no ip route 192.168.1.0 255.255.255.0 1.1.1.2 –убираем статический маршрут из общей конфигурации ;
Router_2(config)#ip route vrf VRF_A 192.168.1.0 255.255.255.0 1.1.1.2 –добавляем этот маршрут в нужный VRF ;
Router_2(config)#exit
Router_2#wr
Router_2#
Теперь Router_4:

Router_4>en
Router_4#conf t
Router_4(config)#ip vrf VRF_A
Router_4(config-vrf)#rd 1:1
Router_4(config-vrf)#route-target both 1:1 – вместо двух команд (смотри выше), можно использовать одну. Результат один и тот же ;
Router_4(config-vrf)#exit
Router_4(config)#ip vrf VRF_B
Router_4(config-vrf)#rd 2:1
Router_4(config-vrf)#route-target both 2:1
Router_4(config-vrf)#exit
Router_4(config)#int fa 1/0
Router_4(config-if)#ip vrf forwarding VRF_B
Router_4(config-if)#ip address 4.4.4.1 255.255.255.252
Router_4(config-if)#exit
Router_4(config)#int fa 2/0
Router_4(config-if)#ip vrf forwarding VRF_A
Router_4(config-if)#ip address 172.16.1.1 255.255.255.0
Router_4(config-if)#exit
Router_4(config)#no ip route 172.16.1.0 255.255.255.0 4.4.4.2
Router_4(config)#ip route vrf VRF_B 172.16.1.0 255.255.255.0 4.4.4.2
Router_4(config)#exit
Router_4#wr
Router_4#
Итак, VRF-ы настроены. Теперь, для того чтобы выполнить команду ping с этих роутеров, нужно добавлять параметр VRF. Выглядит это так: ping vrf VRF_A 192.168.1.1 .
Двигаемся дальше. Теперь настроим BGP соседство между этими роутерами и определим сети, которыми они должны обмениваться (определим политику редистрибуции). Если со статическими маршрутами все понятно, то для сетей 192.168.2.0/24 (Router_2) и 17216.1.0/24 VRF_A (Router_4), которые являются directly connected, следует создать route-map, согласно которому в BGP будут попадать только они (так как помимо них есть еще и другие directly connected сети). Так же в этом блоке настроим связку BGP и VRF.
Снова возвращаемся на Router_2:

Router_2#conf t
Router_2(config)#ip access-list extended FOR_BGP – создаем список доступа, согласно которому пропускаться будет только нужная нам сеть ;
Router_2(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any –определяем эту сеть ;
Router_2(config-ext-nacl)#deny ip any any – запрещаем все остальное ;
Router_2(config-ext-nacl)#exit
Router_2(config)#route-map PERMIT_CONNECTED permit 10 – создаем «пропускающую» route-map ;
Router_2(config-route-map)#match ip address FOR_BGP – привязываем к ней список доступа ;
Router_2(config-route-map)#exit
Router_2(config)#router bgp 6500 – включаем процесс BGP и определяем номер AS ;
Router_2(config-router)#no auto-summary – выключаем автоматическое суммирование маршрутов (если включено) ;
Router_2(config-router)#no synchronization – выключаем синхронизацию (если включена) ;
Router_2(config-router)#neighbor 40.40.40.40 remote-as 6500 –прописываем IP-адрес соседа, находящегося в этой же AS ;
Router_2(config-router)#neighbor 40.40.40.40 update-source loopback 0 –указываем, что в качестве источника обновлений информации будет выступать IP-адрес loopback 0 интерфейса ;
Router_2(config-router)#bgp router-id 20.20.20.20 – определяем ID роутера в процессе BGP ;
Router_2(config-router)#address-family vpnv4 – переходим в режим конфигурирования VPN ;
Router_2(config-router-af)#neighbor 40.40.40.40 activate – активируем ранее указанного «соседа» (разрешаем обмен информацией) ;
Router_2(config-router-af)#neighbor 40.40.40.40 send-community extended – включаем рассылку расширенных атрибутов BGP ;
выходим из этого режима ;
Router_2(config-router)#address-family ipv4 vrf VRF_A – определяем семейство адресов для данного VRF-а ;
Router_2(config-router-af)#redistribute static – указываем, что для данного VRF-а для объявления использовать адреса сетей, полученные через редистрибуцию статических маршрутов ;
Router_2(config-router-af)#exit-address-family
Router_2(config-router)#address-family ipv4 vrf VRF_B
Router_2(config-router-af)#redistribute connected route-map PERMIT_CONNECTED – указываем, что для данного VRF-а для объявления использовать адреса сетей, полученные через редистрибуцию connected маршрутов, соответствующих ранее настроенной route-map ;
Router_2(config-router-af)#exit-address-family
Router_2(config-router)#exit
Router_2(config)#exit
Router_2#wr
Router_2#
Теперь Router_4:

Router_4#conf t
Router_4(config)#ip access-list extended FOR_BGP
Router_4(config-ext-nacl)#permit ip 172.16.1.0 0.0.0.255 any
Router_4(config-ext-nacl)#deny ip any any
Router_4(config-ext-nacl)#exit
Router_4(config)#route-map PERMIT_CONNECTED permit 10
Router_4(config-route-map)#match ip address FOR_BGP
Router_4(config-route-map)#exit
Router_4(config)#router bgp 6500
Router_4(config-router)#no auto-summary
Router_4(config-router)#no synchronization
Router_4(config-router)#neighbor 20.20.20.20 remote-as 6500
Router_4(config-router)#neighbor 20.20.20.20 update-source loopback 0
Router_4(config-router)#bgp router-id 40.40.40.40
*Mar 1 05:29:56.526: %BGP-5-ADJCHANGE: neighbor 20.20.20.20 Up
Router_4(config-router)#address-family vpnv4
Router_4(config-router-af)#neighbor 20.20.20.20 activate
*Mar 1 05:31:24.206: %BGP-5-ADJCHANGE: neighbor 20.20.20.20 Down Address family activated
*Mar 1 05:31:26.342: %BGP-5-ADJCHANGE: neighbor 20.20.20.20 Up –соседство установилось ;
Router_4(config-router-af)#neighbor 20.20.20.20 send-community extended

Router_4(config-router)#address-family ipv4 vrf VRF_A
Router_4(config-router-af)#redistribute connected route-map PERMIT_CONNECTED
Router_4(config-router-af)#exit-address-family
Router_4(config-router)#address-family ipv4 vrf VRF_B
Router_4(config-router-af)#redistribute static
Router_4(config-router-af)#exit-address-family
Router_4(config-router)#exit
Router_4(config)#exit
Router_4#wr
Router_4#
Проверим, что у нас есть на данный момент. Зайдем на Router_2:


Как видно из рисунка, на роутере присутствуют две разные таблицы маршрутизации для соответствующих VRF-ов. «Сосед» по BGP тот, который нужен. Но помимо этих двух таблиц, существует и третья общая таблица (не относящаяся ни к одному из VRF). Она сформирована с использованием протокола OSPF, и по ней видно, как добраться до роутера Router_4 (40.40.40.40):


Видно, что путь к Router_4 лежит через Router_3. По идее, должно все работать, но если вы попробуете сделать команду ping с Host_1 на адрес удаленной сети 172.16.1.1/24:


то у вас ничего не получиться (2). Напомню, это происходит из-за того, что Router_2 не знает о сети 172.16.1.0/24 (да и о других сетях тоже). Из рисунка также можно проследить работу VRF. Ping на IP-адрес Router_2 (1), находящийся в VRF_A, проходит, а вот на IP-адрес, находящийся в VRF_B (3), роутер возвращает ответ, что он не знает о такой сети («Заданный узел недоступен»).
Теперь перейдем к окончательной настройке нашей сети. Настроим MPLS на роутерах провайдера. Начнем с Router_2:

Router_2#conf t
Router_2(config)#mpls ip – глобально включаем MPLS ;
Router_2(config)#mpls label protocol ldp – определяем протокол для обмена метками ;
Router_2(config)#mpls ldp router-id loopback 0 – указываем ID роутера для использования в MPLS домене ;
Router_2(config)#int fa 1/0
Router_2(config-if)#mpls ip – включаем MPLS на интерфейсе ;
Router_2(config-if)#mpls mtu 1512 – увеличиваем размер mtu для MPLS ;
Router_2(config-if)#exit
Router_2(config)#exit
Router_2#wr
Router_2#
Теперь Router_3:

Router_3#conf t
Router_3(config)#mpls ip
Router_3(config)#mpls label protocol ldp
Router_3(config)#mpls ldp router-id loopback 0
Router_3(config)#int fa 0/0
Router_3(config-if)#mpls ip
*Mar 1 02:35:28.639: %LDP-5-NBRCHG: LDP Neighbor 20.20.20.20:0 (1) is UP – соседство по протоколу LDP установилось ;

Router_3(config-if)#exit
Router_3(config)#int fa 1/0
Router_3(config-if)#mpls ip
Router_3(config-if)#mpls mtu 1512
Router_3(config-if)#exit
Router_3(config)#exit
Router_3#wr
Router_3#
И Router_4:

Router_4#conf t
Router_4(config)#mpls ip
Router_4(config)#mpls label protocol ldp
Router_4(config)#mpls ldp router-id loopback 0
Router_4(config)#int fa 0/0
Router_4(config-if)#mpls ip
*Mar 1 02:37:52.559: %LDP-5-NBRCHG: LDP Neighbor 30.30.30.30:0 (1) is UP
Router_4(config-if)#mpls mtu 1512
Router_4(config-if)#exit
Router_4(config)#exit
Router_4#wr
Router_4#

Ну вот, вроде и все:). Теперь давайте все проверим. Сделаем ping с конечных хостов, посмотрим, что твориться на роутерах и отловим парочку пакетов:).
Host_1 и Host_2:


Видно, что Host_2 успешно ping-ует удаленную сеть (1) (192168.2.0/24), которая относится, как и он сам, к VRF_B. Ping на IP-адрес из другого VRF_A не проходит (2). Host_1 успешно «достукивается» до сети 172.16.1.0/24 (3) и не может попасть в сеть, где находится Host_2 (4), так как это уже другой VRF (хоть IP - адресация в этой сети такая же).
Что есть на Router_2 и Router_4:


Как видно из рисунка, все работает. MPLS пометила нужные маршруты (в графе «Outgoing» видны сети, которые относятся к VFR-ам, помеченные символом «V»; параметр «Untaged» означает, что данная сеть доступна через НЕ MPLS интерфейс и пакет, адресованный ей, после снятия метки будет отправлен основываясь на обычной таблице маршрутизации (FIB), «Aggregate» означает, что сеть появилась через редистрибуцию directly connected сетей), видны таблицы маршрутизации BGP для каждого VRF-а. Так же, обычные таблицы маршрутизации VRF_A и VRF_B содержат нужные маршруты.
Теперь посмотрим на содержимое пакетов. Отловим пакет ICMP request от Host_1 в сторону 172.16.1.1 на интерфейсе Router_2 (Int Fa 1/0), смотрящем в сторону Router_3:


Присутствуют две метки. №17 (1) – метка, используемая для доставки пакета по MPLS домену. №21 (1) – метка, используемая для идентификации VRF-а (или интерфейса, через который далее отправлять пакет). Если вы посмотрите на предыдущий рисунок, то в таблице LFIB роутера Router_4 заметите, что метке №21 соответствует directly connected сеть 172.16.1.0/24.
Посмотрим на тот же пакет уже на входе в роутер Router_4 (Int Fa 0/0):


Видно, что метка №17 уже снята и осталась только метка с №21. Согласно таблице LFIB у нее стоит параметр «Aggregate», это означает, что данная сеть попала через редистрибуцию directly connected сетей в BGP. Router_4 снимет эту метку, определит, что она относится к VRF_A и отправит пакет по месту назначения.
ICMP reply обрабатывается таким же образом, только в другую сторону. На Router_4 навешиваются две метки (одна для продвижения пакета по MPLS домену, вторая для идентификации VRF-а на другой стороне и так далее).
Для сравнения, давайте еще посмотрим на пакет ICMP reply от Router_2, идущий обратно на ICMP request от Host_2 на роутере Router_4 (Int Fa 0/0):


Видно, что метка уже имеет значение №22. Теперь Router_4, согласно своей таблице LFIB видит, что пакет соответствует VRF_B и, после снятия метки, его следует отправить через интерфейс Int Fa 1/0 (next hop 4.4.4.2).
Ну что же, осилили:). Поздравляю вас!!! Все работает.
На этом, я хочу закончить этот пост. Как всегда надеюсь, что он был для вас познавательным, не скучным и информативным.

Cisco https://cdn..png

Использование технологии MPLS (Implementing Cisco MPLS)

Даты ближайших онлайн-курсов

  • Дневная группа с 11 июля (это четверг), ведёт Руслан Карманов - зарегистрироваться на занятие

Краткое описание курса MPLS (версия MPLS 2.3)

В данном курсе рассматриваются вопросы проектирования сетевых решений, внедрения и поддержки MPLS-сетей и технологий, использующих MPLS. Курс фокусируется на технологических проблемах VPN в MPLS с точки зрения сервис-провайдеров. Курс предоставляет базовые сведения по продвинутым возможностям и функциям Traffic Engineering, Fast Reroute и Any Transport over MPLS (AToM), которые представлены на уровне концепции.

Мы углубляем материал наших курсов, добавляя практические работы, заменяя демонстрации на лабораторные работы, рассказывая дополнительные темы - поэтому наш курс MPLS 2.3 лучше подходит для подготовки к экзаменам, чем стандартный "минималистичный" авторизованный MPLS.

Ruslan V. Karmanov

Нужен для получения статусов

  • Сертификация CCIP - Cisco Certified Internetwork Professional

Подготавливает к сдаче сертификационных экзаменов

  • Экзамен 642-611

Стоимость участия в курсе MPLS 2.3

Стоимость курса для обладателей подписки Knowledge Assurance - 5400 руб., в случае отсутствия - 9200 руб.

Для корпоративных участников цена составит 8650 руб. в случае, если организация участвует в программе Knowledge Assurance , либо 13900 руб., если нет.

Если вы планируете обучать более одного человека от организации - для уточнения скидки.84 USD

Программа курса MPLS 2.3

Модуль №1 - Концепции MPLS

  • Введение в базовые концепции MPLS. Терминология и архитектура MPLS.
  • Введение в метки MPLS и стеки меток. Добавление меток. Стекирование меток MPLS
  • Сервисы MPLS. Маршрутизация и MPLS. Что такое MPLS VPN. Задачи MPLS:TE (Traffic Engineering)
  • Обработка и реализация QoS в MPLS. Any Transport over MPLS - AToM. Взаимодействие различных MPLS-технологий

Модуль №2 - Назначение и распределение меток

  • Как работают Label Distribution - протоколы. Установка LDP-сессии. Обнаружение LDP-соседей. Управление LDP-сессиями.
  • Распределение информации о метках по всей сети. Label Switched Paths. Технология PHP. Как влияет IP-процессинг на LSP. Назначение меток в MPLS-сетях. Распределение и анонсирование меток. Поиск петель в MPLS.
  • Что такое MPLS Steady-State. Сходимость протоколов динамической маршрутизации после отказа MPLS-туннеля.

Модуль №3 - Реализация кадрового режима MPLS на платформе Cisco IOS 15.х

  • Что такое Cisco Express Forwarding. Механизмы экспресс-коммутации. Кэширование и ip route-cache cef.
  • Настройка кадрового режима MPLS на Cisco IOS. MPLS ID маршрутизатора, настройка MPLS на интерфейсе, настройка MTU для MPLS, управление IP TTL и условное распределение LDP-меток
  • Мониторинг кадрового режима MPLS на платформе Cisco IOS (show mpls ldp parameters, interfaces, discovery; show mpls ldp neighbor, bindings; show mpls forwarding-table, show ip cef detail)
  • Отладка кадрового режима MPLS на платформе Cisco IOS. Типовые проблемы установки LDP-сессии, распределения меток, передачи кадра и CEF.

Модуль №4 - Технология MPLS VPN

  • Введение в MPLS VPNs. Модели Overlay VPN и Peer-to-Peer VPN. Плюсы и минусы MPLS VPN
  • Архитектура MPLS VPN. Что такое Route Distinguisher"ы и Route Target"ы.
  • Работа маршрутизации MPLS VPN. Поддержка интернет-маршрутизации. Как работают FIB-таблицы на PE-роутерах. Логика сквозного обмена обновлениями маршрутной информации (end-to-end routing update flow)
  • Продвижение пакетов в сети MPLS VPN. End-to-End VPN Forwarding. Что такое Penultimate Hop Popping. Обмен стекированными VPN-метками между PE-роутерами. Влияние MPLS VPN на обмен метками и передачу пакетов данных.

Модуль №5 - Реализация MPLS VPN

  • Применение механизмов MPLS VPN на платформах Cisco IOS
  • Конфигурация VRF-таблиц
  • Конфигурация сессии MP-BGP между PE-маршрутизаторами
  • Конфигурация маломасштабируемых протоколов маршрутизации между устройствами PE и CE
  • Мониторинг работы MPLS VPN
  • Конфигурация OSPF в качестве протокола маршрутизации между устройствами PE и CE
  • Конфигурация BGP в качестве протокола маршрутизации между устройствами PE и CE
  • Отладка MPLS VPN

Модуль №6 - Сложные MPLS VPN

  • Применение продвинутых функций импорта и экспорта из VRF
  • Введение в перекрывающиеся VPN
  • Введение в VPN с центральными сервисами
  • Введение в сервис управляемого CE

Модуль №7 - MPLS VPN и предоставление доступа в интернет

  • Введение в топологии доступа в Интернет при MPLS VPN
  • Внедрение разделенных услуг MPLS VPN и доступа в интернет
  • Внедрение доступа в Интернет как выделенная VPN

Модуль №8 - Обзор MPLS TE

  • Введение в концепцию TE
  • Понимание компонент MPLS TE
  • Конфигурация MPLS TE на платформах Cisco IOS
  • Мониторинг базовых настроек Basic MPLS TE на платформах Cisco IOS

Продолжительность курса

Ограничение участия

Ограничений участия (например, наличия активной на дату начала подписки Knowledge Assurance) нет.

Предварительная подготовка

Наличие необходимой подготовки важно для эффективного изучения материала. Чтобы обучаться на курсе MPLS 2.3, надо полностью знать материал.