Кодирование маркеров потоков
С целью транспортировки набора маркеров совместно с IP-пакетом, к которому и относится этот набор маркеров, необходимо определить конкретное кодирование набора маркеров. MPLS-архитектура включает несколько различных способов кодирования. Выбор определённого способа зависит от соответствующего типа устройства, используемого для доставки помеченных IP-пакетов.
ПАК (или программный комплекс) для MPLS-коммутации
Если ПАК (или программный комплекс) для MPLS-коммутации обеспечивает доставку помеченных IP-пакетов, то наиболее приемлемым способом кодирования набора маркеров является использование «вставки» (рис. 33.5, shim[1]) между заголовками канального и сетевого уровней. Такой способ мог быть описан независимым протоколом, а сама вставка могла использоваться на любом сетевом уровне. В последующем будет использоваться термин «универсальная MPLS-вставка» (generic MPLS encapsulation).
В свою очередь, само размещение универсальной MPLS-вставки могло бы осуществляться на канальном уровне. Использование универсальной MPLS-вставки представлено в стандарте RFC-3032.
Флаг |
Последний заголовок канального уровня |
Набор маркеров |
Первый заголовок сетевого уровня |
Данные |
Флаг |
Рис. 33.5. Расположение набора маркеров
АТМ-коммутаторы как LSR-маршрутизаторы
Следует отметить, что процедуры MPLS-доставки аналогичны тем существующим коммутаторам, которые реализуют процедуры «смены маркеров» (label swapping), например, АТМ-коммутаторы. Последние используют входной физический интерфейс и значение входного идентификатора VPI/VCI (идентификатор виртуального соединения/маршрута) в качестве индекса в таблице связности (cross-connect), по которой они определяют выходной физический интерфейс и значение выходного идентификатора VPI/VCI. Более того, если один или более маркеров могут быть непосредственно закодированы в полях заголовков протокольных сообщений, и которые будут доступны для обработки ныне существующими коммутаторами, то последние (с необходимым программным обеспечением) могут использоваться в качестве LSR-маршрутизаторов. В дальнейшем такие ПАК будут именоваться ATM/LSR-маршрутизаторы (ATM-LSR).
Существуют три очевидных способов кодирования маркеров в заголовке АТМ-ячейки (ATM cell header), полагая использование АТМ-уровня адаптации «AAL5», а именно:
1. кодирование коммутируемого виртуального соединения (SVC encoding). Этот способ предусматривает использование VPI/VCI-поля для кодирования маркера, который является самым верхним в наборе маркеров. Такой способ может использоваться в любой сети. При использовании этого способа кодирования каждый LSP-маршрут представляет собой АТМ/SVC-соединение, а протоколом доставки (распределения) маркеров выступает протокол ATM-сигнализации (signaling). Если используется этот способ, то ATM/LSR-маршрутизаторы не могут реализовать функции «проталкивания» или «удаления» (выталкивания) набора маркеров;
2. кодирование коммутируемого виртуального маршрута (SVP encoding). Этот способ предусматривает использование VPI-поля для кодирования маркера, который является самым верхним в наборе маркеров и VCI-поля для кодирования второго маркера из набора, если конечно он представлен. Этот способ имеет ряд преимуществ по сравнению с первым, рассмотренным выше, в частности, он позволяет использовать коммутацию виртуального АТМ-маршрута. Т.е. LSP-маршруты настраиваются как коммутируемые виртуальные АТМ-маршруты на основе применения протокола доставки (распределения) маркеров, а именно протокола ATM-сигнализации.
Тем не менее, этот способ нельзя использовать всегда. Если сеть включает виртуальный АТМ-маршрут, проходящий через АТМ-сеть, в которой отдельный сегмент этой сети не применяет MPLS-коммутацию, то VPI-поле использовать для MPLS-коммутации бесполезно.
Если этот способ кодирования используется, то ATM/LSR-маршрутизатор на выходе виртуального маршрута способен эффективно осуществлять процедуру «удаления» (выталкивания) маркера;
3. многоузловое кодирование коммутируемого виртуального маршрута (SVP multipoint encoding). Этот способ предусматривает использование VPI-поля для кодирования маркера, который является самым верхним в наборе маркеров, VCI-поля для кодирования второго маркера из набора, если конечно он представлен, и оставшуюся часть VCI-поля для идентификации начала LSP-маршрута. Если используется данный способ, то стандартные свойства коммутируемых виртуальных АТМ-маршрутов могут применяться для многоузловых виртуальных маршрутов. Ячейки, формируемые на основе заголовков различных IP-пакетов, будут включать различные значения VCI-идентификаторов. Как мы увидим в дальнейшем, такой подход позволяет осуществлять процедуру слияния маркеров АТМ-коммутаторами (причём без каких-либо проблем, связанных с «чередованием» ячеек), которые могут поддерживать многоузловые виртуальные маршруты, но которые не способны совмещать виртуальные соединения.
Данный способ зависит от наличия процедуры присвоения 16-битового значения VCI-идентификатора каждому АТМ-коммутатору, причём такого, чтобы ни одно такое значение не было присвоено двум разным коммутаторам. (Если требуемого числа таких идентификаторов не достаточно для присвоения каждому коммутатору, то можно использовать значение VCI-идентификатора в качестве второго маркера в наборе.)
Если на практике используется гораздо больше маркеров в наборе, чем можно закодировать с использованием АТМ-заголовка, то АТМ-кодирование должно дополняться (или комбинироваться с) универсальной MPLS-вставкой.
Обеспечение функциональной совместимости способов кодирования
Если < R1, R2, R3 > представляет собой участок LSP-маршрута, то существует возможность того, что R1 будет использовать один способ кодирования набора маркеров при передаче IP-пакета P R2, в то время как R2 будет использовать другой способ кодирования при передаче IP-пакета P R3. Вообще, MPLS-архитектура рассматривает LSP-маршруты с различными способами кодирования наборов маркеров, используемыми на разных РУ. Более того, когда рассматриваются процедуры обработки помеченного IP-пакета, то используются абстрактные термины для описания применения набора маркеров при доставке IP-пакета. После получения помеченного IP-пакета LSR-маршрутизатор должен декодировать его, чтобы определить текущее значение набора маркеров, затем он должен обработать сам набор маркеров, чтобы определить новое значение набора, и затем закодировать соответствующим образом новое значение, и только после этого отправить помеченный IP-пакет на его следующий РУ.
К сожалению, АТМ-коммутаторы не способны преобразовывать один способ кодирования в другой. Более того, MPLS-архитектура требует, чтобы два АТМ-коммутатора, там, где возможно, корректно выполняли функции LSR-маршрутизаторов по доставке некоторого IP-пакета по LSP-маршруту с уровнем m, также необходимо, чтобы эти два АТМ-коммутатора применяли один и тот же способ кодирования.
Естественно, что будут существовать MPLS-сети, которые будут сочетать в себе АТМ-коммутаторы, функционирующие как LSR-маршрутизаторы, и другие LSR-маршрутизаторы, которые функционируют на основе использования заголовка с универсальной MPLS-вставкой. В таких сетях может быть несколько LSR-маршрутизаторов, имеющих АТМ-адаптеры (АТМ-интерфейсы), а также адаптеры/интерфейсы для обработки заголовков с универсальной MPLS-вставкой («MPLS shim» interfaces). Это является одним из примеров LSR-маршрутизатора, который функционирует с различными способами кодирования набора меток на разных РУ. Такой LSR-маршрутизатор может удалить набор маркеров с кодированием для АТМ-коммутации на входном интерфейсе, а на выходном интерфейсе может заменить его на заголовок с универсальной MPLS-вставкой, содержащей набор маркеров.
Дата добавления: 2016-01-03; просмотров: 632;