Класс эквивалентности пересылки FEC
FEC – это форма представления группы пакетов с одинаковыми требованиями к передаче. Как говорилось ранее, в заголовке IP-пакета содержится гораздо больше информации, чем требуется для выбора следующего маршрутизатора. Этот выбор можно организовать путем выполнения следующих двух групп функций в маршрутизаторе:
относит пакет к определенному классу FEC; ставит в соответствие каждому FEC следующий шаг маршрутизации.
При традиционной IP-маршрутизации конкретный маршрутизатор тоже может считать, что два пакета принадлежат одному и тому же условному классу эквивалентности, если в его таблицах маршрутизации используется некий адресный префикс, идентифицирующий направление, в котором предполагаемые маршруты транспортировки этих двух пакетов совпадают наиболее долго. По мере продвижения пакета по сети каждый следующий маршрутизатор анализирует его заголовок и приписывает этот пакет к тому из собственных, принадлежащих только этому маршрутизатору классов эквивалентности, который соответствует тому же направлению. В отличие от традиционной маршрутизации, при использовании многопротокольной коммутации на основе меток пакет ставится в соответствие определенному классу FEC только один раз на входе в сеть MPLS. Этому FEC присваивается метка, передаваемая затем вместе с пакетом при его пересылке к следующему маршрутизатору. В остальных маршрутизаторах заголовок пакета не анализируется. Определение FECs реализуется на основе требований к обслуживанию данной совокупности пакетов или просто адресного префикса.
Таким образом, подводя итог вышесказанного, можно дать следующее определение FEC. Класс эквивалентности пересылки FEC – это форма представления группы пакетов с одинаковыми требованиями к их передаче, т.е. все пакеты такой группы обрабатываются одинаково на пути их следования к пункту назначения.
Примером FEC могут служить все IP-пакеты с адресами пунктов назначения, соответствующими некоторому префиксу, например 212.18.6. Возможны также FEC на основе префикса адреса и еще какого-нибудь поля IP-заголовка, например тип обслуживания (ToS).
Каждый маршрутизатор сети MPLS создает таблицу, с помощью которой определяет, каким образом должен пересылаться пакет. Эта таблица, которая называется информационной базой LIB, содержит используемое множество меток и для каждой из них – привязку "FEC-метка". Метки, используемые маршрутизатором LSR при привязке "FEC-метка", подразделяются на следующие категории:
на платформенной основе, когда значения меток уникальны по всему тракту LSP; метки выбираются из общего пула меток, и никакие две метки, распределяемые по разным интерфейсам, не имеют одинаковых значений; на интерфейсной основе, когда значения меток связаны с интерфейсами: для каждого интерфейса определяется отдельный пул меток, из которого для этого интерфейса и выбираются метки. При этом метки, назначаемые для разных интерфейсов, могут быть одинаковыми.
Класс FEC представляет собой набор FEC-элементов, каждый из которых идентифицируется определенной меткой. На сегодняшний день существует всего два FEC-элемента: Address Prefix и Host Address.
При соотнесении пакетов по различным FEC большую роль играют IP-адреса, приоритеты обслуживания и другие параметры трафика. Каждый FEC обрабатывается отдельно, что позволяет поддерживать требуемое качество обслуживания в сети MPLS.
Метод пересылки пакетов на основе пар "FEC-метка", принятый в MPLS, имеет ряд преимуществ перед методами, основанными на анализе заголовка блоков сетевого уровня. В частности, пересылку по методу MPLS могут выполнять маршрутизаторы, которые способны читать и заменять метки, но при этом либо вообще не способны анализировать заголовки блоков сетевого уровня, либо не способны делать это достаточно быстро.
Коммутируемый по меткам тракт LSP
Коммутируемый по меткам тракт – это последовательность MPLS-маршрутизаторов. Набор пакетов, передаваемый по LSP, относится к одному FEC, и каждый маршрутизатор LSR в LSP-туннеле назначает для него свою метку. LSP-туннель создается внутри LSP-тракта. Следует отметить, что зачастую начало и конец туннеля не совпадают с началом и концом LSP-тракта. Как правило, туннель короче. Для каждого туннеля подсчитывается число пропущенных пакетов и байт. Иногда поток данных может быть настолько велик, что для него создается несколько LSP-туннелей между отправителем и получателем. В одном LSP может быть создано несколько LSP-туннелей с различными точками приема и передачи, а в каждом туннеле могут быть созданы LSP-туннели другого уровня. В этом проявляется иерархичность структуры MPLS. Возможны два варианта создания туннелей: по принципу hop-by-hop, который предполагает, что каждый маршрутизатор самостоятельно выбирает дальнейший путь следования пакета, или по принципу явной маршрутизации, в котором маршрутизаторы передают пакет в соответствии с указаниями, полученными от верхнего в данном тракте LSR. Таким образом, в первом случае маршрут следования пакетов определяется случайным образом, а в случае явной маршрутизации он известен заранее. В сети MPLS может существовать набор маршрутизаторов, которые являются входными для конкретного FEC, тогда считается, что для этого FEC существует LSP-туннель с разными точками входа и выхода. Если для некоторых из этих LSP выходным является один и тот же LER, то можно говорить о дереве LSP, корнем которого служит данный выходной маршрутизатор. LSP можно рассматривать как тракт, создаваемый путем сцепления одного и более участков маршрута, который позволяет пересылать пакет, заменяя на каждом узле сети MPLS входящую метку исходящей меткой (так называемый алгоритм перестановки меток). Таким образом, тракт сети MPLS можно рассматривать как туннель, для создания которого в IP-пакет вставляется заголовок – метка, о котором речь шла ранее. LSP устанавливаются либо перед передачей данных (с управлением от программы), либо при обнаружении определенного потока данных (управляемые данными LSP).
На сегодняшний день применение туннелирования реализовано во многих технологиях. Образование в виртуальном тракте туннелей, по которым проходят другие виртуальные тракты, основывается на инкапсуляции передаваемых пакетов в пакеты, следующие по этому тракту к данному адресу назначения.
Основные понятия (таблица 9.1)
FEC – Forwarding Equivalence Class –класс эквивалентности пересылки | Множество пакетов, которые пересылаются одинаково, например, с целью обеспечить заданное QoS |
Label – метка | Короткий идентификатор фиксированной длины, определяющий принадлежность пакета тому или иному FEC |
Label swapping – замена меток | Замена метки принятого узлом сети MPLS пакета новой меткой, связанной с тем же FEC, при пересылке этого пакета к нижестоящему узлу |
LER – MPLS edge router – пограничный узел сети MPLS | Пограничный узел сети MPLS, который соединяет домен MPLS с узлом, находящимся вне этого домена |
Loop detection - выявление закольцованных маршрутов | Метод выявления и устранения закольцованных маршрутов |
Loop prevention – предотвращение образования закольцованных маршрутов | Метод, позволяющий обнаружить, что пакет прошел через узел более одного раза |
LSP – Label Switched Path – коммутируемый по меткам тракт | Приходящий через один или более LSR тракт, по которому следуют пакеты одного и того же FEC |
ER–LSP – explicitly routed LSP – LSP с явно заданным маршрутом | Тракт LSP, который организован способом, отличным от традиционной маршрутизации пакетов IP |
LSR – label switching router – маршрутизатор коммутации по меткам | Маршутизатор, способный пересылать пакеты по технологии MPLS |
MPLS domain – домен MPLS | Совокупность узлов MPLS, между которыми существуют непрерывные LSP |
MPLS egress node – выходной узел сети MPLS | Последний MPLS-узел в LSP, направляющий исходный пакет к адресату, который находится вне MPLS-сети |
MPLS ingress node | Первый MPLS-узел в LSP, принимающий исходный пакет и помещающий в него метку MPLS |
Метки
Метка – это идентификатор фиксированной длины, определяющий класс эквивалентности пересылки FEC. Метки имеют локальное значение, т.е. привязка метки к FEC используется только для пары маршрутизаторов. Метка используется для пересылки пакетов от верхнего маршрутизатора к нижнему, где, являясь входящей, заменяется на исходящую метку, имеющую также локальное значение на следующем участке пути. Метка передается в составе любого пакета, при этом ее место в пакете зависит от используемой технологии канального уровня.
Протокол MPLS поддерживает различные типы меток: это может быть 4-байтовая метка, которая вставляется между заголовками канального и сетевого уровня. Являясь протокольно независимой, она может использоваться для инкапсуляции пакетов любого протокола сетевого уровня. Это может быть метка идентификаторов виртуального канала и виртуального пути (VCI/VPI) или метка идентификатора соединения канального уровня (DLCI).
Размер метки составляет 4 байта. Идентификатор самой метки занимает первые 20 бит. Информация об уровне качества обслуживания в сети MPLS передается в поле CoS, занимающем следующие три бита в поле метки.
Подробнее поля метки будут рассмотрены в следующей лекции.
Принцип работы
Рассмотренные более подробно опишем функционирование сети MPLS.
Любой IP-пакет на входе в сеть MPLS, независимо от того, поступает этот пакет от отправителя или же он пришел из смежной сети, которая может быть MPLS-сетью более высокого уровня, относится к определенному классу эквивалентной пересылки FEC (Forwarding Equivalence Class). Напомним, что анализ заголовка IP-пакета и назначение FEC производится только один раз на входе в сеть (рис. 9.2).
Рис. 9.2. Фрагмент MPLS-сети
Этап 1. Сеть автоматически формирует таблицы маршрутизации. В этом процессе участвуют маршрутизаторы или коммутаторы IP+ATM, установленные в сети сервис-провайдера. При этом применяются внутренние протоколы маршрутизации, такие как OSPF или IS-IS.
Этап 2. Протокол распределения меток (Label Distribution Protocol — LDP) использует отраженную в таблицах топологию маршрутизации для определения значений меток, указывающих на соседние устройства. В результате этой операции формируются маршруты с коммутацией по меткам (Label Switched Paths – LSP).Автоматическое присвоение меток MPLS выгодно отличает эту технологию от технологии частных виртуальных каналов ATM PVC, требующих ручного присвоения VCI/VPI.
Этап 3. Входящий пакет поступает на пограничный Label Switch Router (LSR), который определяет, какие услуги 3-го уровня необходимы этому пакету (например QoS или управление полосой пропускания). На основе учета всех требований маршрутизации и правил высокого уровня (policies), пограничный LSR выбирает и присваивает метку, которая записывается в заголовок пакета, после чего пакет передается дальше.
Этап 4. Устройство LSR, находящееся в опорной сети, считывает метки каждого пакета, заменяет старые метки новыми (новые метки определяются по локальной таблице) и передает пакет дальше. Эта операция повторяется в каждой точке передачи пакета по опорной сети.
Этап 5. На выходе пакет попадает в пограничный LSR, который удаляет метку, считывает заголовок пакета и передает его по месту назначения. В магистральных LSR метка MPLS сравнивается с заранее рассчитанными таблицами коммутации и содержит информацию 3-го уровня. Это позволяет каждому устройству LSR автоматически оказывать каждому пакету необходимые IP-услуги. Таблицы рассчитываются заранее, что снимает необходимость повторной обработки пакетов в каждой точке передачи. Такая схема не только позволяет разделить разные типы трафика (например, отделить неприоритетный трафик от критически важного); она делает решения MPLS хорошо масштабируемыми. Поскольку для присвоения меток технология MPLS использует разные наборы правил (policy mechanisms), она отделяет передачу пакетов от содержания заголовков IP. Метки имеют только локальное значение и многократно переиспользуются в крупных сетях, поэтому исчерпать запас меток практически невозможно. В рамках предоставления корпоративных IP-услуг самое главное преимущество MPLS заключается в способности присваивать метки, имеющие специальное значение. Наборы меток определяют не только место назначения, но и тип приложения и класс обслуживания.
Стек меток
Пакет, передаваемый по сети MPLS, как правило, содержит не одну, а несколько меток. Такой набор меток образует стек. Основное назначение стека меток – поддержание древовидности множества трактов LSP, заканчивающихся в одном входном LSR, а, кроме того, в том, чтобы использовать метки при создании так называемых LSP- туннелей.
Стек меток будет рассмотрен подробнее в следующей лекции.
Введение в MPLS
Многопротокольная коммутация меток MPLS – технология, разработанная рабочей группой по созданию интегрированных услуг IETF. Это новая архитектура построения магистральных сетей, которая значительно расширяет имеющиеся перспективы масштабирования, повышает скорость обработки трафика и предоставляет огромные возможности для организации дополнительных услуг.
Технология MPLS сочетает в себе возможности управления трафиком, присущие технологиям канального уровня, и масштабируемость и гибкость протоколов, характерные для сетевого уровня. Являясь результатом слияния механизмов разных компаний, она впитала в себя наиболее эффективные решения каждой. MPLS соединила в себе надежность ATM, удобные и мощные средства доставки и обеспечения гарантированного качества обслуживания IP-сетей, — такая интеграция сетей позволяет получить дополнительную выгоду из совместного использования протоколов IP и ATM.
Главная особенность технологии MPLS – отделение процесса коммутации пакета от анализа IP-адреса в его заголовке, что позволяет осуществлять коммутацию пакетов значительно быстрее. В соответствии с протоколом MPLS маршрутизаторы и коммутаторы присваивают на каждой точке входа в таблицу маршрутизации особую метку и сообщают эту метку соседним устройствам.
Наличие таких меток позволяет маршрутизаторам и коммутаторам, поддерживающим технологию MPLS, определять следующий шаг в маршруте пакета без выполнения процедуры поиска адреса. На сегодняшний день существуют три основные области применения MPLS:
управление трафиком;поддержка классов обслуживания (CoS);организация виртуальных частных сетей (VPN).
Расположение технологии MPLS в семиуровневой модели ВОС показано на рис. 9.1.
Рис. 9.1. Плоскости MPLS
Сетевой уровень – это комплексный уровень, который обеспечивает возможность соединения и выбор маршрута между двумя конечными системами, подключенными к разным "подсетям", которые могут находиться в разных географических пунктах. В данном случае "подсеть" – это, по сути, независимый сетевой кабель (иногда называемый сегментом).
Так как две конечные системы, желающие организовать связь, может разделять значительное географическое расстояние и множество подсетей, сетевой уровень является доменом маршрутизации. Протоколы маршрутизации выбирают оптимальные маршруты через последовательность соединенных между собой подсетей. Традиционные протоколы сетевого уровня передают информацию вдоль этих маршрутов.
Канальный уровень (формально называемый информационно-канальным уровнем) обеспечивает надежный транзит данных через физический канал. Выполняя эту задачу, канальный уровень решает вопросы физической адресации (в противоположность сетевой или логической адресации), топологии сети, линейной дисциплины (каким образом конечной системе использовать сетевой канал), уведомления о неисправностях, а также вопросы упорядоченной доставки блоков данных и управления потоком информации.
Физический уровень определяет электротехнические, механические, процедурные и функциональные характеристики активации, поддержания и дезактивации физического канала между конечными системами. Спецификации физического уровня определяют такие характеристики, как уровни напряжений, синхронизацию изменения напряжений, скорость передачи физической информации, максимальные расстояния передачи информации, физические соединители и другие аналогичные характеристики.
"Multiprotocol" в названии технологии означает "многопротокольный". Это говорит о том, что технология MPLS применима к любому протоколу сетевого уровня, т.е. MPLS – это своего рода инкапсулирующий протокол, способный транспонировать информацию множества других протоколов высших уровней модели OSI. Таким образом, технология MPLS остается независимой от протоколов уровней 2 и 3 в сетях IP, ATM и Frame Relay, а также взаимодействует с существующими протоколами маршрутизации, такими как протокол резервирования ресурсов RSVP или сетевой протокол преимущественного выбора кратчайших маршрутов OSPF.
Представленная на рис. 9.1 плоскость пересылки данных MPLS не образует полноценного уровня, она "вклинивается" в сети IP, ATM или Frame Relay между 2-м и 3-м уровнями модели OSI, оставаясь независимой от этих уровней.Можно сказать, что одновременное функционирование MPLS на сетевом уровне и на уровне звена данных приводит к образованию так называемого уровня 2.5, где, собственно, и выполняется коммутация по меткам.
Основные понятия
Комитет IETF определил три основных элемента технологии MPLS:
метка;FEC – класс эквивалентности пересылки;LSP – коммутируемый по меткам тракт;
Рассмотрим каждый из них подробно.