- •7.1 Технология mpls – эффективное решение проблем модернизации транспортных сетей провайдеров
- •7.2 Базовые идеи технологии mpls
- •7.3 Принцип коммутации
- •7.4 Элементы архитектуры
- •7.4.1 Метки и способы маркировки
- •7.4.2 Стек меток
- •Инкапсуляция меток
- •Коммутируемый путь lsp
- •7.4.5 Привязка и распределение меток
- •7.4.6 Построение коммутируемого маршрута
7.4 Элементы архитектуры
7.4.1 Метки и способы маркировки
Метка представляет собой короткий идентификатор фиксированной длины, используемый для локальной идентификации FEC. По значению метки пакета определяется его принадлежность к определенному классу эквивалентной пересылки на каждом из участков коммутируемого маршрута.
Ее функция эквивалентна идентификатору виртуального пути (Virtual Path Identifier, VPI) или идентификатору виртуального соединения (Virtual Circuit Identifier, VCI) в ячейках ATM. Граничный маршрутизатор LER (Label Edge Router, LSR-EDGE) может вставить метку в заголовок пакета, превращая обычный пакет в маркированный. Структура метки MPLS представлена на рис. 4.2
Длина метки составляет 32 бита (4 байта): 12 битов – заголовок и 20 битов – значение метки.
Метка – 20-битовое значение метки, по которой и осуществляется коммутация. Это может быть любое число в диапазоне от 0 до 2 - 1, за исключением резервных значений (определением резервных значений занимается рабочая группа MPLS в составе комитета IETF ).
EXP - 3 бита поля экспериментальных битов зарезервированы для дальнейших исследований и экспериментов. При предоставлении дифференцированных услуг MPLS-сети это поле может описывать класс обслуживания IP-пакета (CoS), аналогичный классам DiffServ.
TTL (8 бит) – time-to-live - аналог поля TTL IP-пакета. Это поле является механизмом, позволяющим предотвратить возможность бесконечной циркуляции пакетов по IP-сети вследствие образования закольцованных маршрутов.
Для обеспечения структурирования потоков в пакете создается стек меток, каждая из которых имеет свою зону действия. Бит S - флаг- указатель дна стека меток.
Метка часто задается на основании адреса назначения и впоследствии динамически заменяется различными маршрутизаторами LSR. Каждый LSR формирует таблицу продвижения меток, устанавливая соответствие между входящими и исходящими метками (см. рис. 4.1).
Как уже отмечалось, метка должна быть уникальной лишь в пределах соединения между каждой парой логически соседних LSR. Поэтому одно и то же ее значение может использоваться LSR для связи с различными соседними маршрутизаторами, если только имеется возможность определить, от какого из них пришел пакет с данной меткой. Другими словами, в соединениях “точка—точка” допускается применять один набор меток на интерфейс, а для сред с множественным доступом необходим один набор меток на модуль или все устройство. В реальных условиях угроза исчерпания пространства меток очень маловероятна.
Метка может быть помещена в пакет разными способами – вписываться между загололвками уровня 2 и уровня 3 либо помещаться в свободное и доступное поле заголовка одного из этих уровней.
7.4.2 Стек меток
Архитектура MPLS предусматривает передачу в пакете не одной метки, а целого их стека. Операции добавления/изъятия метки определены как операции на стеке (push/pop). Эти операции могут использоваться для слияния и разветвления информационных потоков.
Спецификация кодирования стека меток MPLS определена документом RFC 3032 «MPLS Label Stack Encoding», опубликованным в 2001 г. Формат стека меток и размещение меток в стеке представлены на рис. 7.2 и рис.7.3 соответственно.
Рисунок 7.2 Формат стека меток
Рисунок 7.3 Размещение меток в стеке
Стек состоит из произвольного числа элементов. Каждая запись в стеке занимает 4 байта. Коммутация осуществляется лишь по верхней метке стека, нижние метки при этом передаются прозрачно до операции удаления верхней. Такой подход позволяет создавать иерархию потоков в сети MPLS и организовывать туннельные передачи. каждый из которых имеет длину 32 бита: