Теория:Протоколы:MPLS

Материал из MikroTik Wiki

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

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

История

В 1996 году группа инженеров из фирмы «Ipsilon Networks» разработала «Протокол управления потоком».

Основанная на этом протоколе технология «коммутации IP-пакетов» (IP switching), работающая только поверх упрощенной сети ATM, не получила коммерческого успеха. Фирма «Cisco Systems» разработала похожую технологию «коммутации на основе тегов» , не ограниченную передачей поверх сети ATM.

Данная технология, впоследствии переименованная в «коммутацию на основе меток» , была закрытой разработкой фирмы «Cisco». Позднее она была передана в специальную комиссию интернет-разработок (IETF) для открытой стандартизации.

Достоинства

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

Технология позволяет инкапсулировать различные протоколы передачи данных.

Основным преимуществом MPLS являются

  • независимость от особенностей технологий канального уровня, таких как ATM, Frame Relay, SONET/SDH или Ethernet;
  • отсутствие необходимости поддержания нескольких сетей второго уровня, необходимых для передачи различного рода трафика. По виду коммутации MPLS относится к сетям с коммутацией пакетов.

Технология MPLS была разработана для организации единого протокола передачи данных как для приложений с коммутацией каналов, так и приложений с коммутацией пакетов (подразумеваются приложения с датаграммной передачей пакетов). MPLS может быть использован для передачи различного вида трафика, включая IP-пакеты, ячейки ATM, фреймы SONET/SDH и кадры Ethernet.

Для решения идентичных задач ранее были разработаны такие технологии, как Frame Relay и ATM. Многие инженеры считали, что технология ATM будет заменена другими протоколами с меньшими накладными расходами на передачу данных и при этом обеспечивающими передачу пакетов данных переменной длины с установлением соединения между узлами сети. Технология MPLS разрабатывалась с учётом сильных и слабых сторон ATM. В настоящее время оборудование с поддержкой MPLS заменяет на рынке оборудование с поддержкой вышеупомянутых технологий. Вероятно, что в будущем MPLS полностью вытеснит данные технологии.

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

В то же время в MPLS попытались сохранить механизмы оптимизации и управления трафиком (traffic engineering) и управления отдельно от передаваемого потока данных, которые сделали технологии Frame relay и ATM привлекательными для внедрения в больших сетях передачи данных.

Несмотря на то, что переход на MPLS даёт преимущества управления потоками данных (улучшение надёжности и повышение производительности сети), существует проблема потери контроля потоков данных, проходящих через сеть MPLS, со стороны обычных IP-приложений.

Принцип работы

Технология MPLS основана на обработке заголовка MPLS, добавляемого к каждому пакету данных. Заголовок MPLS может состоять из одной или нескольких «меток». Несколько записей (меток) в заголовке MPLS называются стеком меток.

Формат записи в стеке меток
32 бита
20 бит 3 бита 1 бит 8 бит
Label TC S TTL


Каждая запись в стеке меток состоит из следующих четырёх полей:

  • значение метки (label); занимает 20 бит;
  • поле «класс трафика» (traffic class); используется для реализации механизмов качества обслуживания (QoS) и явного уведомления о перегрузке (explicit congestion notification, ECN) (до RFC 5462 это поле называлось Exp (experimental use)); занимает 3 бита;
  • флаг «дно стека» (bottom of stack); если флаг установлен в 1, то это означает, что текущая метка последняя в стеке; занимает 1 бит;
  • поле TTL (time to live); используется для предотвращения петель MPLS коммутации; занимает 8 бит.

В MPLS-маршрутизаторе пакет с MPLS-меткой коммутируется на следующий порт после поиска метки в таблице коммутации вместо поиска по таблице маршрутизации. При разработке MPLS поиск меток и коммутация по меткам выполнялись быстрее, чем поиск по таблице маршрутизации или RIB (routing information base — информационная база маршрутизации), так как коммутация может быть выполнена непосредственно на коммутационной фабрике вместо центрального процессора. Маршрутизаторы, расположенные на входе или выходе MPLS-сети, называются LER (label edge router — граничный маршрутизатор меток). LER на входе в MPLS-сеть добавляют метку MPLS к пакету данных, а LER на выходе из MPLS-сети удаляет метку MPLS из пакета данных. Маршрутизаторы, выполняющие маршрутизацию пакетов данных, основываясь только на значении метки, называются LSR (label switching router — коммутирующий метки маршрутизатор). В некоторых случаях пакет данных, поступивший на порт LER, уже может содержать метку, тогда новый LER добавляет вторую метку в пакет данных. Метки между LER и LSR распределяются с помощью LDP (label distribution protocol — протокол распределения меток). Для того, чтобы получить полную картину MPLS-сети, LSR постоянно обмениваются метками и информацией о каждом соседнем узле, используя стандартную процедуру. Виртуальные каналы (туннели), называемые LSP (label switch path — пути коммутации меток), устанавливаются провайдерами для решения различных задач, например, для организации VPN или для передачи трафика через сеть MPLS по указанному туннелю. Во многом LSP ничем не отличается от PVC в сетях ATM или Frame relay, за исключением того, что LSP не зависят от особенностей технологий канального уровня. При описании виртуальных частных сетей, основанных на технологии MPLS, LER, расположенные на входе или выходе сети, обычно называются PE-машрутизаторами (provider edge — маршрутизаторы на границе сети провайдера), а узлы, работающие как транзитные маршрутизаторы, называются P-маршрутизаторами (provider — маршрутизаторы провайдера).

Пространство значений меток

Поле значения метки в MPLS заголовке занимает 20 бит, таким образом максимально возможное значение метки равно 1048575.

Следующие номера меток зарезервированы для различных целей:

  • метка с номером 0 может использоваться только как последняя метка в стеке. Наличие метки 0 означает, что заголовок MPLS должен быть удалён, и последующая маршрутизация пакета должна основываться на значении заголовка IPv4;
  • метка с номером 1 имеет особое название — «router alert label» (router alert label — метка оповещения маршрутизатора). Использование метки 1 аналогично использованию опции «Router alert option» при передаче в IP-пакетах. Метка 1 не может использоваться как последняя метка в стеке;
  • метка с номером 2 может использоваться только как последняя метка в стеке. Наличие метки 2 означает, что заголовок MPLS должен быть удалён, и последующая маршрутизация пакета должна основываться на значении заголовка IPv6;
  • метка с номером 3 имеет особое название — «implicit NULL label» (implicit NULL label — неявная нулевая метка). Метку 3 может присваивать и рассылать LSR, но метка, в действительности, никогда не может использоваться в стеке меток. Если LSR встретит данную метку в стеке меток, то вместо замены одной метки на другую LSR удалит весь стек меток. Хотя в действительности метка 3 не может появиться в стеке меток, она должна быть указана в LDP;
  • метки с номерами от 4 до 15 зарезервированы.

Установка и удаление туннелей

Для сети MPLS существует два стандартных протокола управления туннелями:

  • LDP (label distribution protocol — протокол распределения меток);
  • RSVP-TE (resource reservation protocol — протокола резервирования сетевых ресурсов) — расширение протокола RSVP для оптимизации и управления трафиком.

Также существуют расширения протокола BGP, способные управлять виртуальными каналами в сети MPLS.

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

Сравнение MPLS и IP

MPLS как протокол некорректно сравнивать с протоколом IP, поскольку MPLS работает совместно с IP и протоколами маршрутизации (IGP).

Основные преимущества технологии IP/MPLS:

  • более высокая скорость продвижения IP-пакетов по сети за счёт сокращения времени обработки маршрутной информации;
  • возможность организации информационных потоков в каналах связи. С помощью меток каждому информационному потоку (например, несущему телефонный трафик) может назначаться требуемый класс обслуживания (CoS). Потоки с более высоким CoS получают приоритет перед всеми другими потоками. Таким образом, с помощью MPLS обеспечивается качество обслуживания (QoS), присущее сетям SDH и ATM;
  • полное обособление друг от друга виртуальных корпоративных сетей за счёт создания для каждой из них своеобразных туннелей;
  • прозрачный пропуск через ядро IP/MPLS трафика протоколов Ethernet, Frame relay или ATM, что позволяет подключать пользователей, использующих все эти разнообразные протоколы.

Построение сетей

Технология MPLS используется для построения IP-сетей.

На практике MPLS используется для передачи трафика IP и Ethernet.

Основными областями применения MPLS являются:

  • оптимизация и управление трафиком (traffic engineering);
  • организация виртуальных частных сетей (VPN).

Альтернативы

На уровне транспортной сети с MPLS конкурируют такие технологии, как PBB и MPLS-TP. С помощью этих технологий так же возможно предоставлять услуги L2 VPN и L3 VPN. Также в качестве конкурентной MPLS технологии предлагается использование протокола L2TPv3, однако он не популярен для решения задач, характерных для MPLS.