Введение-в-MPLS

Введение в MPLS

В этой статье рассмотрим, для чего нужен протокол MPLS, и как он решает проблемы, характерные для других технологий. Это позволит лучше понять, почему MPLS становится важным компонентом современных сетей. Во второй части статьи подробно разберем, что такое MPLS и как он работает.

Примечание: для изучения MPLS необходимо ознакомиться со следующими темами:

Содержание:

  1. Для чего нужен протокол MPLS
    1. Топология
      1. Настройки маршрутизатора R1
      2. Настройки маршрутизатора R2
      3. Настройки маршрутизатора R3
      4. Настройки маршрутизатора R4
      5. Настройки маршрутизатора R5
    2. Конфигурация протокола OSPF
    3. Конфигурация протокола eBGP
    4. Настройка туннеля GRE
    5. Конфигурация протокола iBGP
    6. Проверка работы
  2. Что такое MPLS
    1. Конфигурация протокола iBGP
    2. Конфигурация протокола MPLS
    3. Проверка работы
  3. Выводы

Для чего нужен протокол MPLS

Рассмотрим следующий пример топологии:

 

Introduction to MPLS example 1

 

Предположим, есть интернет-провайдер (ISP), обслуживающий двух клиентов: Customer A и Customer B. Каждый клиент хочет соединить свои филиалы (site) через инфраструктуру ISP.

Для достижения этой цели ISP использует eBGP между CE (Customer Edge, клиентским оборудованием) и PE (Provider Edge, пограничным оборудованием провайдера) для обмена маршрутами. Внутри сети провайдера (Provider, P-маршрутизаторы) работает iBGP для передачи маршрутов. Проблема в том, что каждый маршрутизатор внутри ISP должен знать обо всех маршрутах клиентов.

На сегодняшний день таблица маршрутов в интернет-маршрутизации содержит около 1 500 000 префиксов. Для сети ISP из 8 маршрутизаторов потребуется настроить 28 iBGP соединений. Это создает значительную нагрузку на маршрутизаторы и усложняет управление сетью.

Для оптимизации маршрутизации можно создать туннели между PE-маршрутизаторами. Таким образом, внутренняя сеть провайдера (P-маршрутизаторы) не будет участвовать в маршрутизации клиентских данных.

Рассмотрим пример:

 

Introduction to MPLS example 2

 

  • Туннели GRE соединяют PE-маршрутизаторы, обслуживающие клиентов A и B.
  • Внутри туннелей настраивается iBGP только между PE-маршрутизаторами и eBGP между маршрутизаторами PE и CE.

Это решение позволяет создать ядро сети без BGP, где только PE-маршрутизаторы знают маршруты клиентов.

Топология

Исследуемая топология состоит из пяти маршрутизаторов (Cisco 1941 с образом Cisco IOS Version 15.9(3)M6). Допускается использование маршрутизаторов других моделей, а также других версий операционной системы Cisco IOS. В зависимости от модели устройства и версии Cisco IOS, доступные команды и результаты их выполнения могут отличаться от тех, которые показаны в этой статье.

Схема топологии следующая:

 

Introduction to MPLS

 

Топология представляет собой упрощенную версию более сложной сети, использованной ранее. В данном случае рассматривается сеть провайдера (ISP), которая обслуживает только одного клиента. Для упрощения настройки и исключения необходимости использования iBGP на маршрутизаторе R3, между R2 и R4 будет настроен туннель GRE.

Настройки маршрутизатора R1

Настройки маршрутизатора R2

Настройки маршрутизатора R3

Настройки маршрутизатора R4

Настройки маршрутизатора R5

Конфигурация протокола OSPF

Сначала настроим OSPF на всех маршрутизаторах провайдера (ISP), чтобы маршрутизаторы R2 и R4 имели связь друг с другом. Для обеспечения внутренней маршрутизации в ISP ранее были настроены интерфейсы loopback на маршрутизаторах провайдера.

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

 

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

 

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

 

Это обеспечивает всю внутреннюю маршрутизацию для ISP.

Конфигурация протокола eBGP

Далее настроим eBGP между маршрутизаторами R1/R5 и R2/R4 соответственно. На маршрутизаторах R1 и R5 будет объявлена проверка связности (loopback reachability). Этот шаг обеспечивает корректную работу eBGP:

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

 

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

 

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

 

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

 

Это обеспечивает работу eBGP.

Настройка туннеля GRE

Теперь можно настроить туннель GRE между маршрутизаторами R2 и R4. В качестве источника и адресата для туннеля будут использованы их loopback-интерфейсы. Для туннельных интерфейсов будет использоваться подсеть 192.168.24.0/24:

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

 

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

 

После выполнения этого этапа туннель GRE становится рабочим.

Конфигурация протокола iBGP

С использованием туннеля GRE будет настроен iBGP между R2 и R4. Маршрутизаторы установят iBGP-соединение, используя IP-адреса, назначенные туннельным интерфейсам:

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

 

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

 

Также можно настроить iBGP между loopback-интерфейсами маршрутизаторов R2 и R4 вместо IP-адресов туннельных интерфейсов. Преимущество такого подхода заключается в том, что трафик BGP между R2 и R4 не будет инкапсулирован в GRE. Однако это потребует использования route-map, чтобы изменить IP-адрес следующего перехода (next-hop) всех префиксов, полученных через BGP, на IP-адреса туннельных интерфейсов.

После завершения всех этапов конфигурации необходимо проверить, работает ли созданная сеть.

Проверка работы

Для проверки работы сети выполним трассировку маршрута от R1 к R5:

 

MPLS R1 traceroute

 

Результаты трассировки показывают, что маршрутизация успешно работает. Таким образом, провайдер (ISP) смог организовать ядро сети без участия BGP:

 

Введение в MPLS

 

В процессе передачи пакета от R1 до R5 маршрутизаторы внутри ядра видят следующий IP-заголовок:

  • Адрес источника: 2.2.2.2 (loopback R2)
  • Адрес назначения: 4.4.4.4 (loopback R4)

Маршрутизаторы провайдера могут маршрутизировать эти адреса, так как они были получены через OSPF. Таким образом, туннель GRE обеспечивает прохождение трафика без необходимости использования BGP в ядре сети.

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

Далее рассмотрим, как MPLS упрощает управление сетью, снижает сложность настройки и обеспечивает масштабируемость для современных сетей.

Что такое MPLS

MPLS (Multiprotocol Label Switching, многопротокольная коммутация меток) — это технология, которая используется в телекоммуникационных сетях для передачи данных между узлами сети, используя метки вместо IP-адресов. Основные принципы MPLS:

  • Многопротокольность. MPLS подходит для различных типов трафика (например, IP, IPv6, Ethernet, PPP).
  • Коммутация меток. Передача данных осуществляется на основе меток, а не по таблице маршрутизации.

MPLS заменяет туннели и упрощает управление сетью. Преимущества MPLS:

  • Снижение нагрузки на маршрутизаторы. MPLS устраняет необходимость передачи всех клиентских маршрутов через ядро сети. Это освобождает маршрутизаторы в ядре от избыточных вычислений.
  • Универсальность. MPLS поддерживает разные протоколы и приложения, включая голос, видео и данные, обеспечивая высокую гибкость.
  • Качество обслуживания (QoS). MPLS позволяет задавать приоритеты для различных типов трафика, что особенно важно для приложений, которые работают в режиме реального времени.
  • Упрощение управления. Использование MPLS упрощает создание и управление виртуальными сетями, уменьшая сложность настройки туннелей.
  • Масштабируемость. MPLS эффективно работает в больших сетях, уменьшая количество iBGP-соединений между маршрутизаторами.
  • Безопасность. MPLS изолирует трафик разных клиентов, создавая виртуальные частные сети (VPN) внутри одной физической инфраструктуры.

Для замены туннеля GRE на MPLS в сети, шаги, указанные выше, показывают ключевые изменения в настройках.

Сначала нужно удалить конфигурации туннеля GRE и BGP-соседей, настроенных через туннель:

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

 

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

 

После этих команд GRE-туннель будет удален, а соседство iBGP, настроенное через туннель, больше не будет активно.

Конфигурация протокола iBGP

Для построения соседства iBGP на основе MPLS используется loopback-интерфейс каждого маршрутизатора (R2 и R4). Конфигурация включает использование update-source loopback для указания того, что соседство должно устанавливаться с loopback-интерфейса, и команду next-hop-self, чтобы маршрутизатор заменял адрес следующего перехода на свой собственный:

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

 

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

Конфигурация протокола MPLS

Для включения MPLS на интерфейсах маршрутизаторов используется простая команда mpls ip. Она активирует MPLS для обработки трафика на данных интерфейсах. Активируем MPLS на всех интерфейсах, соединяющих маршрутизаторы R2, R3 и R4:

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

 

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

 

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

 

Эта команда включит MPLS в ядре сети.

Проверка работы

Давайте проверим связь между R1 и R5 утилитой ping:

 

Введение в MPLS

 

Успех подтверждается получением ответов ICMP, что говорит о правильной настройке MPLS.

Несмотря на то, что на R3 отсутствует iBGP, и он не знает маршрутов к конечным узлам, MPLS использует метки для туннелирования пакетов:

 

Обычно такой трафик должен быть отброшен, так как маршрутизатор не знает, как добраться до адреса 5.5.5.5. Однако, поскольку был активирован MPLS, теперь для принятия решений о пересылке используются метки.

Давайте посмотрим следующий вывод команды на R2:

 

Для достижения адреса 5.5.5.5 необходимо использовать 4.4.4.4 в качестве адреса следующего перехода.

Теперь вместо проверки таблицы маршрутизации давайте посмотрим на таблицу пересылки MPLS на R2:

 

Введение в MPLS

 

В таблице отображаются метки, которые маршрутизатор использует для достижения определенных префиксов. Для передачи пакета к 4.4.4.4 маршрутизатор добавляет метку 17 к IP-пакету и пересылает его через интерфейс GigabitEthernet 0/1 (в направлении маршрутизатора R3). Быстрый способ узнать, какие метки используются для различных префиксов — посмотреть таблицу CEF.

Таблица CEF маршрутизатора R2 показывает использование метки:

 

Cтрока label 17-(local:17) означает следующее:

  • label 17 — это метка MPLS, которую маршрутизатор R2 присваивает (label out), когда пересылает пакеты к адресу 5.5.5.5 через адрес следующего перехода (192.168.23.3).
  • (local:17) — это локальная метка, зарегистрированная на этом маршрутизаторе (R2), которую он может использовать для идентификации входящих MPLS-пакетов, если сам будет получать пакеты с меткой 17.

На R1 выполним команду traceroute 5.5.5.5 source 1.1.1.1, тем самым сгенерировав трафик, чтобы посмотреть захват IP-пакета, который R2 отправляет на маршрутизатор R3:

 

Введение в MPLS

 

Обратите внимание, что заголовок MPLS вставлен между заголовками Ethernet и IP.

Итак, что происходит, когда маршрутизатор R3 получает этот IP-пакет? Так как он использует MPLS для принятия решений о пересылке, следует изучить, какие метки используются:

 

Если маршрутизатор R3 получает пакет с меткой 17, то он должен быть отправлен к 4.4.4.4. Выходной меткой является «pop label», что означает удаление метки.

Маршрутизатор R4 получит обычный IP-пакет (без метки) с назначением 5.5.5.5 и пересылка будет выполнена на основе таблицы маршрутизации в сторону R5.

Когда R5 получит пакет, он сформирует ICMP-ответ (echo reply), который вернется на R4. Далее R4 выполнит следующие действия:

 

Маршрутизатор R4 знает, что для доставки IP-пакета к 1.1.1.1 необходимо использовать адрес следующего перехода 2.2.2.2. Далее на R4 можно проверить, какая метка используется для доставки к 2.2.2.2:

 

R4 добавит метку 16 к IP-пакету и отправит его через интерфейс GigabitEthernet 0/0 в сторону маршрутизатора R3. Быстрый способ определить метку для целевого префикса — посмотреть таблицу CEF на R4:

 

Введение в MPLS

 

Маршрутизатор R4 передаст пакет маршрутизатору R3. Далее можно определить, что маршрутизатор R3сделает с этим пакетом:

 

Маршрутизатор R3 определяет, что пакеты с меткой 16 должны быть пересланы через интерфейс GigabitEthernet 0/0. Он удалит метку и передаст пакет маршрутизатору R2.

Далее R2 передаст IP-пакет (уже без метки) в сторону R1, используя свою таблицу маршрутизации.

Таким образом, MPLS используется для туннелирования трафика между маршрутизаторами R2/R4, создавая ядро без использования BGP.

Выводы

Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете больше о протоколе MPLS.

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню