Многопротокольная коммутация по меткам ( MPLS ) — это метод маршрутизации в телекоммуникационных сетях , который направляет данные от одного узла к другому на основе меток, а не сетевых адресов. [1] В то время как сетевые адреса идентифицируют конечные точки , метки идентифицируют установленные пути между конечными точками. MPLS может инкапсулировать пакеты различных сетевых протоколов , отсюда и многопротокольный компонент названия. MPLS поддерживает ряд технологий доступа, включая T1 / E1 , ATM , Frame Relay и DSL .
В сети MPLS метки назначаются пакетам данных. Решения о пересылке пакетов принимаются исключительно на основе содержимого этой метки, без необходимости проверки самого пакета. Это позволяет создавать сквозные каналы через любой тип транспортной среды с использованием любого протокола. Основное преимущество заключается в устранении зависимости от конкретной технологии уровня канала передачи данных модели OSI (уровень 2) и устранении необходимости в нескольких сетях уровня 2 для удовлетворения различных типов трафика. Многопротокольная коммутация меток относится к семейству сетей с коммутацией пакетов .
MPLS работает на уровне, который обычно считается лежащим между традиционными определениями OSI Layer 2 ( уровень канала передачи данных ) и Layer 3 ( сетевой уровень ), и поэтому его часто называют протоколом уровня 2.5 . Он был разработан для предоставления унифицированной службы передачи данных как для клиентов на основе каналов , так и для клиентов с коммутацией пакетов, которые предоставляют модель обслуживания датаграмм . Его можно использовать для передачи различных видов трафика, включая IP- пакеты , а также собственный асинхронный режим передачи (ATM), Frame Relay , Synchronous Optical Networking (SONET) или Ethernet .
Ранее было развернуто несколько различных технологий с по сути идентичными целями, например Frame Relay и ATM. Frame Relay и ATM используют метки для перемещения кадров или ячеек по сети. Заголовок кадра Frame Relay и ячейки ATM относится к виртуальному каналу , в котором находится кадр или ячейка. Сходство между Frame Relay, ATM и MPLS заключается в том, что на каждом переходе по сети значение метки в заголовке изменяется. Это отличается от пересылки IP-пакетов . [2] Технологии MPLS развивались с учетом сильных и слабых сторон ATM. MPLS разработана с более низкими накладными расходами, чем ATM, при этом предоставляя ориентированные на соединение услуги для кадров переменной длины, и заменила большую часть использования ATM на рынке. [3] MPLS обходится без багажа коммутации ячеек и протоколов сигнализации ATM. MPLS признает, что небольшие ячейки ATM не нужны в ядре современных сетей, поскольку современные оптические сети достаточно быстры, так что даже пакеты полной длины в 1500 байт не вызывают значительных задержек в очереди в реальном времени. [a] В то же время MPLS пытается сохранить управление трафиком (TE) и внеполосное управление , которые сделали Frame Relay и ATM привлекательными для развертывания крупномасштабных сетей.
В 1996 году группа из Ipsilon Networks предложила протокол управления потоками . [6] Их технология IP-коммутации , которая была определена только для работы через ATM, не достигла доминирования на рынке. Cisco Systems представила связанное предложение, не ограниченное передачей ATM, под названием Tag Switching [7] с его протоколом распределения тегов (TDP). [8] Это было фирменное предложение Cisco, и оно было переименовано в Label Switching . Оно было передано в Internet Engineering Task Force (IETF) для открытой стандартизации. IETF сформировала рабочую группу MPLS в 1997 году. Работа включала предложения от других поставщиков и разработку консенсусного протокола, который объединял функции из работы нескольких поставщиков. [9]
Некоторое время спустя было признано, что работа над потоковыми индексами Гириша Чандраменона и Джорджа Варгезе изобрела идею использования меток для представления префиксов назначения, которая была центральной для переключения тегов. [10]
Одной из первоначальных мотиваций было создание простых высокоскоростных коммутаторов, поскольку в течение длительного времени считалось непрактичным полностью пересылать IP-пакеты на аппаратном уровне. Достижения в области VLSI и алгоритмов пересылки сделали аппаратную пересылку IP-пакетов возможной и распространенной. Текущие преимущества MPLS в первую очередь связаны с возможностью поддержки нескольких моделей обслуживания и управления трафиком. MPLS также предлагает надежную структуру восстановления [11] , которая выходит за рамки простых защитных колец синхронной оптической сети (SONET/SDH).
MPLS работает, добавляя к пакетам заголовок MPLS, содержащий одну или несколько меток. Это называется стеком меток .
Каждая запись в стеке меток содержит четыре поля:
Эти пакеты с метками MPLS коммутируются на основе метки, а не поиска в таблице маршрутизации IP . Когда MPLS был задуман, коммутация меток была быстрее, чем поиск в таблице маршрутизации, поскольку коммутация могла происходить непосредственно в коммутируемой фабрике и избегала участия ЦП и программного обеспечения.
Наличие такой метки должно быть указано коммутатору. В случае кадров Ethernet это делается с помощью значений EtherType 0x8847 и 0x8848 для одноадресных и многоадресных соединений соответственно. [13]
Маршрутизатор MPLS, который выполняет маршрутизацию только на основе метки, называется маршрутизатором-коммутатором меток ( LSR ) или транзитным маршрутизатором . Это тип маршрутизатора, расположенный в середине сети MPLS. Он отвечает за коммутацию меток, используемых для маршрутизации пакетов.
Когда LSR получает пакет, он использует метку, включенную в заголовок пакета, в качестве индекса для определения следующего перехода на пути с коммутацией меток (LSP) и соответствующей метки для пакета из базы данных меток . Затем старая метка удаляется из заголовка и заменяется новой меткой, прежде чем пакет будет направлен дальше.
Граничный маршрутизатор меток (LER, также известный как граничный LSR) — это маршрутизатор, который работает на границе сети MPLS и действует как точки входа и выхода для сети. LER помещают метку MPLS на входящий пакет [b] и выталкивают ее из исходящего пакета. В качестве альтернативы, при выталкивании предпоследнего перехода эта функция может выполняться LSR, напрямую подключенным к LER.
При пересылке IP-датаграммы в домен MPLS LER использует информацию о маршрутизации для определения соответствующей метки, которая должна быть прикреплена, маркирует пакет соответствующим образом, а затем пересылает маркированный пакет в домен MPLS. Аналогично, получив маркированный пакет, который должен выйти из домена MPLS, LER снимает метку и пересылает полученный IP-пакет, используя обычные правила пересылки IP.
В конкретном контексте виртуальной частной сети (VPN) на основе MPLS LER, которые функционируют как входящие или исходящие маршрутизаторы для VPN, часто называются маршрутизаторами провайдерской границы (PE). Устройства, которые функционируют только как транзитные маршрутизаторы, также называются маршрутизаторами провайдерской границы (P). [14] Работа маршрутизатора P значительно проще, чем работа маршрутизатора PE.
Метки могут быть распределены между LER и LSR с использованием протокола распределения меток (LDP) [15] или протокола резервирования ресурсов (RSVP). [16] LSR в сети MPLS регулярно обмениваются информацией о метках и достижимости друг с другом, используя стандартизированные процедуры, чтобы создать полную картину сети, чтобы затем использовать эту информацию для пересылки пакетов.
Пути с коммутацией меток (LSP) устанавливаются оператором сети для различных целей, например, для создания виртуальных частных сетей IP на основе сети или для маршрутизации трафика по указанным путям через сеть. Во многих отношениях LSP не отличаются от постоянных виртуальных каналов (PVC) в сетях ATM или Frame Relay, за исключением того, что они не зависят от конкретной технологии уровня 2.
Когда немаркированный пакет поступает на входной маршрутизатор и его необходимо передать в туннель MPLS , маршрутизатор сначала определяет класс эквивалентности пересылки (FEC) для пакета, а затем вставляет одну или несколько меток в недавно созданный заголовок MPLS пакета. Затем пакет передается на маршрутизатор следующего перехода для этого туннеля.
С точки зрения модели OSI заголовок MPLS добавляется между заголовком сетевого уровня и заголовком канального уровня . [17]
Когда маршрутизатор MPLS получает маркированный пакет, проверяется самая верхняя метка. На основе содержимого метки выполняется операция swap , push [c] или pop [d] в стеке меток пакета. Маршрутизаторы могут иметь предварительно созданные таблицы поиска, которые сообщают им, какой тип операции следует выполнить на основе самой верхней метки входящего пакета, чтобы они могли очень быстро обработать пакет.
Во время этих операций содержимое пакета ниже стека меток MPLS не проверяется. Действительно, транзитным маршрутизаторам обычно требуется проверять только самую верхнюю метку в стеке. Пересылка пакета выполняется на основе содержимого меток, что позволяет пересылать пакеты независимо от протокола, не обращаясь к зависимой от протокола таблице маршрутизации и избегая дорогостоящего сопоставления самого длинного префикса IP на каждом переходе.
На выходном маршрутизаторе, когда последняя метка выталкивается, остается только полезная нагрузка. Это может быть пакет IP или любой тип пакета. Таким образом, выходной маршрутизатор должен иметь информацию о маршрутизации для полезной нагрузки пакета, поскольку он должен пересылать ее без помощи таблиц поиска меток. Транзитный маршрутизатор MPLS не имеет такого требования.
Обычно [e] последняя метка выталкивается на предпоследнем переходе (переходе перед выходным маршрутизатором). Это называется выталкиванием предпоследнего перехода (PHP). Это полезно в случаях, когда выходной маршрутизатор имеет много пакетов, покидающих туннели MPLS, и, таким образом, тратит значительные ресурсы ЦП на эти переходы. Используя PHP, транзитные маршрутизаторы, подключенные напрямую к этому выходному маршрутизатору, эффективно разгружают его, выталкивая последнюю метку самостоятельно. В протоколах распределения меток это действие PHP выталкивания метки объявляется как значение метки 3 (неявный нуль) и никогда не встречается в метке, поскольку это означает, что метка должна быть вытолкнута.
Несколько услуг MPLS , включая сквозное управление QoS [18] и 6PE [19], требуют сохранения метки даже между предпоследним и последним маршрутизатором MPLS, при этом размещение метки всегда выполняется на последнем маршрутизаторе MPLS, конечное извлечение переходов (UHP). [20] [21] Некоторые конкретные значения меток были специально зарезервированы [22] [23] для этого использования. В этом сценарии оставшаяся запись стека меток передает информацию последнему переходу (например, его поле класса трафика для информации QoS), а также инструктирует последний переход извлечь стек меток, используя одно из следующих зарезервированных значений меток:
Заголовок MPLS не определяет тип данных, передаваемых внутри пути MPLS. Для передачи двух разных типов трафика между одними и теми же двумя маршрутизаторами с различной обработкой каждого типа основными маршрутизаторами требуется отдельный путь MPLS для каждого типа трафика.
Путь с коммутацией меток (LSP) — это путь через сеть MPLS, установленный NMS или протоколом сигнализации, таким как LDP , RSVP-TE , BGP (или ныне устаревший CR-LDP ). Путь устанавливается на основе критериев в FEC.
Путь начинается с LER, который принимает решение о том, какую метку добавить к пакету на основе соответствующего FEC. Затем он пересылает пакет следующему маршрутизатору на пути, который меняет внешнюю метку пакета на другую метку и пересылает его следующему маршрутизатору. Последний маршрутизатор на пути удаляет метку из пакета и пересылает пакет на основе заголовка следующего уровня, например IPv4 . Из-за того, что пересылка пакетов через LSP непрозрачна для более высоких сетевых уровней, LSP также иногда называют туннелем MPLS.
Маршрутизатор, который первым добавляет заголовок MPLS к пакету, называется входящим маршрутизатором . Последний маршрутизатор в LSP, который извлекает метку из пакета, называется исходящим маршрутизатором . Маршрутизаторы между ними, которым нужно только поменять метки, называются транзитными маршрутизаторами или маршрутизаторами с коммутацией меток (LSR).
Обратите внимание, что LSP являются однонаправленными; они позволяют пакету быть коммутированным по меткам через сеть MPLS от одной конечной точки к другой. Поскольку обычно желательна двунаправленная связь, вышеупомянутые динамические протоколы сигнализации могут автоматически устанавливать отдельный LSP в противоположном направлении.
При рассмотрении защиты канала LSP можно разделить на основные (рабочие), вторичные (резервные) и третичные (LSP последней инстанции).
Существует два стандартизированных протокола для управления путями MPLS: протокол распределения меток (LDP) и RSVP-TE , расширение протокола резервирования ресурсов (RSVP) для управления трафиком. [24] [25] Кроме того, существуют расширения протокола пограничного шлюза (BGP), которые можно использовать для управления путями MPLS. [14] [26] [27]
Многоадресная передача была, по большей части, запоздалой мыслью в дизайне MPLS. Она была введена точкой-многоточкой RSVP-TE. [28] Она была обусловлена требованиями поставщика услуг по передаче широкополосного видео по MPLS.
Многоточечный LSP типа «хаб и спица» ( HSMP LSP ) также был представлен IETF. HSMP LSP в основном используется для многоадресной рассылки, синхронизации времени и других целей.
MPLS работает совместно с интернет-протоколом (IP) и его протоколами маршрутизации, обычно внутренними протоколами шлюзов (IGP). MPLS LSP предоставляют динамические, прозрачные виртуальные сети с поддержкой проектирования трафика, возможностью транспортировки VPN уровня 3 (IP) с перекрывающимися адресными пространствами и поддержкой псевдопроводов уровня 2 с использованием эмуляции псевдопроводов Edge-to-Edge (PWE3) [29] , которые способны транспортировать различные транспортные полезные нагрузки ( IPv4 , IPv6 , ATM, Frame Relay и т. д.). Устройства с поддержкой MPLS называются LSR. Пути, известные LSR, могут быть определены с помощью явной конфигурации «прыжок за прыжком» или динамически маршрутизируются с помощью алгоритма Constrained Shortest Path First (CSPF), или настраиваются как свободный маршрут, который избегает определенного IP-адреса или который является частично явным и частично динамическим.
В чистой IP-сети выбирается кратчайший путь к месту назначения, даже если путь становится перегруженным. Между тем, в IP-сети с маршрутизацией MPLS Traffic Engineering CSPF можно также учитывать такие ограничения, как пропускная способность RSVP пройденных соединений, так что будет выбран кратчайший путь с доступной пропускной способностью. MPLS Traffic Engineering опирается на использование расширений TE для Open Shortest Path First (OSPF) или Intermediate System to Intermediate System (IS-IS) и RSVP. В дополнение к ограничению пропускной способности RSVP пользователи также могут определять свои собственные ограничения, указывая атрибуты соединения и специальные требования к туннелям для маршрутизации (или не маршрутизации) по соединениям с определенными атрибутами. [30]
Для конечных пользователей использование MPLS напрямую не видно, но его можно предположить при выполнении трассировки маршрута : в качестве переходов на пути отображаются только узлы, выполняющие полную IP-маршрутизацию, а не узлы MPLS, используемые между ними. Поэтому, когда вы видите, что пакет переходит между двумя очень удаленными узлами, а в сети (или AS ) этого провайдера почти не видно других переходов , весьма вероятно, что сеть использует MPLS.
В случае отказа сетевого элемента, когда механизмы восстановления используются на уровне IP, восстановление может занять несколько секунд, что может быть неприемлемо для приложений реального времени, таких как VoIP . [31] [32] [33] Напротив, локальная защита MPLS соответствует требованиям приложений реального времени со временем восстановления, сопоставимым с временем восстановления сетей с кратчайшим путем или колец SONET , менее 50 мс. [31] [33] [34]
MPLS может использовать существующую сеть ATM или инфраструктуру Frame Relay, поскольку ее маркированные потоки могут быть сопоставлены с идентификаторами виртуальных каналов ATM или Frame Relay, и наоборот.
Frame Relay был направлен на более эффективное использование существующих физических ресурсов, что допускает недостаточное предоставление услуг передачи данных телекоммуникационными компаниями (telcos) своим клиентам, поскольку клиенты вряд ли будут использовать услугу передачи данных 100 процентов времени. Следовательно, переподписка на емкость со стороны телекоммуникационных компаний, хотя и выгодна поставщику в финансовом отношении, может напрямую влиять на общую производительность.
Телекоммуникационные компании часто продавали Frame Relay предприятиям, которые искали более дешевую альтернативу выделенным линиям ; его использование в различных географических регионах во многом зависело от политики правительства и телекоммуникационных компаний.
Многие клиенты перешли с Frame Relay на MPLS через IP или Ethernet, что во многих случаях снизило затраты и улучшило управляемость и производительность их глобальных сетей. [35]
Хотя базовые протоколы и технологии различаются, и MPLS, и ATM предоставляют ориентированную на соединение услугу для передачи данных по компьютерным сетям. В обеих технологиях соединения сигнализируются между конечными точками, состояние соединения поддерживается на каждом узле на пути, а для передачи данных по соединению используются методы инкапсуляции. За исключением различий в протоколах сигнализации (RSVP/LDP для MPLS и PNNI для ATM), все еще остаются значительные различия в поведении технологий.
Наиболее существенное различие заключается в методах транспортировки и инкапсуляции. MPLS может работать с пакетами переменной длины, тогда как ATM использует ячейки фиксированной длины (53 байта). Пакеты должны быть сегментированы, транспортированы и повторно собраны по сети ATM с использованием уровня адаптации, что значительно усложняет и увеличивает накладные расходы на поток данных. MPLS, с другой стороны, просто добавляет метку в заголовок каждого пакета и передает его по сети.
Различия существуют также в природе соединений. Соединение MPLS (LSP) является однонаправленным, позволяя данным передаваться только в одном направлении между двумя конечными точками. Установление двусторонней связи между конечными точками требует установки пары LSP. Поскольку используются два LSP, данные, передаваемые в прямом направлении, могут использовать другой путь, чем данные, передаваемые в обратном направлении. С другой стороны, соединения ATM «точка-точка» (виртуальные каналы) являются двунаправленными , позволяя данным передаваться в обоих направлениях по одному и тому же пути. [f]
И ATM, и MPLS поддерживают туннелирование соединений внутри соединений. MPLS использует для этого стекирование меток, в то время как ATM использует виртуальные пути . MPLS может стекировать несколько меток для формирования туннелей внутри туннелей. Индикатор виртуального пути ATM (VPI) и индикатор виртуального канала (VCI) переносятся вместе в заголовке ячейки, ограничивая ATM одним уровнем туннелирования.
Наибольшее преимущество MPLS перед ATM заключается в том, что он изначально был разработан как дополнение к IP. Современные маршрутизаторы могут поддерживать как MPLS, так и IP изначально через общий интерфейс, что обеспечивает операторам сетей большую гибкость в проектировании и эксплуатации сети . Несовместимость ATM с IP требует сложной адаптации, что делает его сравнительно менее подходящим для современных сетей с преобладанием IP.
MPLS стандартизирован IETF в RFC 3031. Он развертывается для соединения всего двух объектов в очень больших развертываниях. На практике MPLS в основном используется для пересылки IP- протокольных блоков данных (PDU) и трафика Ethernet службы виртуальной частной локальной сети (VPLS). Основными приложениями MPLS являются проектирование телекоммуникационного трафика и MPLS VPN .
MPLS изначально предлагался для высокопроизводительной пересылки трафика и проектирования трафика в сетях IP. Однако он развился в обобщенный MPLS (GMPLS), чтобы также позволить создание LSP в неродных сетях IP, таких как сети SONET/SDH и оптические сети с коммутацией длин волн .
MPLS может существовать как в среде IPv4 , так и в среде IPv6 , используя соответствующие протоколы маршрутизации. Основной целью разработки MPLS было увеличение скорости маршрутизации. [37] Эта цель больше не актуальна [38] из-за использования новых методов коммутации, таких как коммутация на основе ASIC , TCAM и CAM, способных пересылать простой IPv4 так же быстро, как и пакеты с метками MPLS. [39] Теперь, таким образом, основным преимуществом [40] MPLS является реализация ограниченной инженерии трафика и VPN-сетей типа поставщика услуг уровня 3 или уровня 2 по сетям IPv4. [41]
{{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{cite web}}
: CS1 maint: несколько имен: список авторов ( ссылка ){{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )