Открыть сервис

Многопротокольная коммутация по меткам

Многопротокольная коммутация по меткам (MPLS, от англ. Multiprotocol Label Switching) — это механизм передачи данных в телекоммуникационных сетях, основанный на использовании коротких меток (лейблов) для принятия решений о маршрутизации и коммутации пакетов. В отличие от традиционной IP-маршрутизации, где каждый пакет анализируется на основе IP-адреса назначения на каждом узле, MPLS создаёт виртуальные пути (LSP, Label Switched Path) между сетевыми узлами, что позволяет повысить скорость передачи, обеспечить качество обслуживания (QoS) и организовать виртуальные частные сети (VPN). MPLS является технологией второго уровня (L2) модели OSI, работающей поверх канального уровня, но при этом способной обрабатывать трафик различных протоколов сетевого уровня (IP, IPv6, IPX, ATM и других), что и отражено в её названии.

История

Разработка MPLS началась в конце 1990-х годов как эволюция технологий коммутации меток, таких как IP-коммутация (IP Switching) от компании Ipsilon и Tag Switching от Cisco Systems. Основной целью было преодоление ограничений традиционной IP-маршрутизации, которая требовала анализа заголовков пакетов на каждом маршрутизаторе, что приводило к задержкам и снижению производительности в крупных сетях. В 1997 году Инженерный совет Интернета (IETF) сформировал рабочую группу MPLS, которая стандартизировала технологию в серии документов RFC (Request for Comments). Первые спецификации, включая RFC 3031 (архитектура MPLS) и RFC 3032 (кодирование меток), были опубликованы в 2001 году. С тех пор MPLS получила широкое распространение в магистральных сетях провайдеров, корпоративных сетях и сетях операторов связи, став основой для построения современных транспортных сетей.

Архитектура и принцип работы

Основные компоненты

Архитектура MPLS включает несколько ключевых элементов:

  • LSR (Label Switching Router)маршрутизатор, поддерживающий MPLS, который выполняет коммутацию пакетов на основе меток. LSR может быть как пограничным (LER, Label Edge Router), так и транзитным.
  • LER (Label Edge Router) — пограничный маршрутизатор, расположенный на границе сети MPLS. Он выполняет функции добавления (push), удаления (pop) и замены (swap) меток при входе и выходе трафика из MPLS-домена.
  • LSP (Label Switched Path) — виртуальный путь, по которому передаются пакеты с одинаковыми метками. LSP может быть однонаправленным и устанавливается на основе протоколов распределения меток.
  • FEC (Forwarding Equivalence Class) — класс эквивалентности пересылки, который объединяет пакеты с одинаковыми требованиями к маршрутизации (например, одинаковый IP-адрес назначения или класс обслуживания). Все пакеты одного FEC получают одинаковую метку и обрабатываются одинаково.

Процесс передачи данных

Процесс передачи данных в MPLS можно разделить на несколько этапов:

  1. Установка LSP: Перед началом передачи данных между LER устанавливается LSP. Для этого используется протокол распределения меток (LDP, Label Distribution Protocol) или расширения протоколов маршрутизации, таких как RSVP-TE (Resource Reservation Protocol with Traffic Engineering) или BGP (Border Gateway Protocol) с MPLS-расширениями.
  2. Вход в MPLS-домен: Когда пакет поступает на входной LER, он анализирует IP-заголовок, определяет FEC и добавляет (push) к пакету стек меток. Метка представляет собой 20-битное число, которое определяет следующий шаг обработки.
  3. Коммутация по меткам: Внутри MPLS-домена каждый транзитный LSR анализирует только метку верхнего уровня стека. На основе таблицы коммутации (LFIB, Label Forwarding Information Base) он заменяет (swap) старую метку на новую и передаёт пакет на следующий узел. Это позволяет избежать анализа IP-заголовка на каждом узле, что ускоряет обработку.
  4. Выход из MPLS-домена: На выходном LER метка удаляется (pop), и пакет передаётся в традиционную IP-сеть или другой протокол. Если стек меток содержит несколько уровней, может потребоваться последовательное удаление меток.

Стек меток

MPLS поддерживает многоуровневый стек меток, что позволяет реализовывать сложные топологии, такие как иерархические VPN или туннелирование. Каждая метка состоит из 32 бит:

  • Метка (Label): 20 бит — значение метки.
  • Экспериментальные биты (Exp): 3 бита — используются для управления качеством обслуживания (QoS).
  • Бит дна стека (S): 1 бит — указывает, является ли метка последней в стеке (1 — последняя, 0 — не последняя).
  • Время жизни (TTL): 8 бит — аналогично полю TTL в IP-заголовке, используется для предотвращения зацикливания пакетов.

Классификация и виды MPLS

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

По способу установки LSP

  • MPLS с LDP (Label Distribution Protocol): Наиболее распространённый режим, при котором LSP устанавливаются автоматически на основе информации о маршрутизации из протоколов IGP (OSPF, IS-IS). LDP обменивается метками между LSR, создавая пути по кратчайшим маршрутам.
  • MPLS-TE (Traffic Engineering): Расширение MPLS, которое позволяет управлять трафиком путём явного задания LSP с учётом требований к пропускной способности, задержкам и другим параметрам. Для этого используется протокол RSVP-TE.
  • MPLS с BGP: Используется в основном для организации VPN, когда BGP распространяет информацию о маршрутах вместе с метками, что позволяет создавать LSP между удалёнными LER.

По применению

  • MPLS VPN: Технология для построения виртуальных частных сетей на основе MPLS. Различают Layer 3 MPLS VPN (RFC 4364), где маршрутизация между сайтами осуществляется на уровне IP, и Layer 2 MPLS VPN (например, VPLS, Virtual Private LAN Service), где эмулируется канальный уровень.
  • MPLS-TP (Transport Profile): Упрощённая версия MPLS, ориентированная на транспортные сети операторов связи. MPLS-TP не требует использования IP-маршрутизации и LDP, что делает её более подходящей для сетей с фиксированной топологией.
  • GMPLS (Generalized MPLS): Расширение MPLS для управления не только пакетными, но и оптическими, временными (TDM) и пространственными (SDH) коммутаторами. GMPLS позволяет создавать LSP через различные типы сетей.

Применение и значение

MPLS широко используется в современных телекоммуникационных сетях благодаря своим преимуществам:

  • Повышение производительности: Коммутация по меткам выполняется быстрее, чем IP-маршрутизация, особенно на высокоскоростных магистралях.
  • Качество обслуживания (QoS): MPLS позволяет назначать приоритеты трафику, что критично для голосовых и видеосервисов.
  • Виртуальные частные сети (VPN): MPLS является основой для построения масштабируемых и безопасных корпоративных сетей, соединяющих удалённые офисы.
  • Трафик-инжиниринг (TE): MPLS-TE позволяет эффективно распределять нагрузку по сети, избегая перегрузок и оптимизируя использование каналов связи.
  • Мультипротокольность: MPLS может работать с различными протоколами сетевого уровня, что упрощает интеграцию разнородных сетей.

В России MPLS активно применяется операторами связи, такими как ПАО «Ростелеком», ПАО «МТС», ПАО «ВымпелКом» и другими, для построения магистральных сетей и предоставления услуг VPN корпоративным клиентам. Технология также используется в сетях передачи данных государственных учреждений и научных организаций.

Критика и ограничения

Несмотря на широкое распространение, MPLS имеет ряд недостатков:

  • Сложность конфигурации и управления: Настройка MPLS требует высокой квалификации сетевых инженеров, особенно при использовании MPLS-TE и VPN.
  • Зависимость от протоколов маршрутизации: MPLS полагается на стабильную работу IGP и LDP, что может создавать проблемы в случае сбоев.
  • Стоимость оборудования: Оборудование, поддерживающее MPLS, обычно дороже традиционных маршрутизаторов.
  • Ограниченная масштабируемость в некоторых сценариях: В больших сетях с множеством LSP может возникать проблема с объёмом таблиц коммутации.

С развитием технологий, таких как Segment Routing (SR-MPLS) и программно-конфигурируемые сети (SDN), MPLS постепенно эволюционирует, упрощая управление и повышая гибкость. Segment Routing, в частности, позволяет задавать пути без использования LDP, что снижает сложность и повышает масштабируемость.

Интересные факты

  • Название «многопротокольная» отражает способность MPLS работать с различными протоколами сетевого уровня, включая IPv4, IPv6, IPX и даже ATM.
  • MPLS является основой для технологии MPLS L3VPN, которая используется для построения крупнейших корпоративных сетей, таких как сети банков и государственных структур.
  • В России MPLS активно применяется в сетях «Ростелекома» для предоставления услуг «Виртуальная частная сеть» (VPN) и «IP-телефония».

Источники

  • RFC 3031 — Multiprotocol Label Switching Architecture
  • RFC 3032 — MPLS Label Stack Encoding
  • RFC 4364 — BGP/MPLS IP Virtual Private Networks (VPNs)
  • RFC 3209 — RSVP-TE: Extensions to RSVP for LSP Tunnels
  • Куроуз Дж., Росс К. — «Компьютерные сети: нисходящий подход» (глава 4: MPLS)
  • Документация Cisco Systems — «MPLS Fundamentals»

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →