- •7.1 Технология mpls – эффективное решение проблем модернизации транспортных сетей провайдеров
- •7.2 Базовые идеи технологии mpls
- •7.3 Принцип коммутации
- •7.4 Элементы архитектуры
- •7.4.1 Метки и способы маркировки
- •7.4.2 Стек меток
- •Инкапсуляция меток
- •Коммутируемый путь lsp
- •7.4.5 Привязка и распределение меток
- •7.4.6 Построение коммутируемого маршрута
Инкапсуляция меток
Слово «многопротокольная» в названии технологии MPLS подчеркивает возможность использовать эту технологию с самыми разными протоколами уровней 2 и 3. MPLS образует уровень, который «вставляется» между сетевым уровнем и уровнем звена данных и позволяет разнообразным протоколам как того, так и другого уровня функционировать совместно.
При использовании протоколов коммутации на уровне звена данных, таких как ATM и Frame Relay, верхняя MPLS-метка вписывается в поле идентификаторов виртуальных каналов этих протоколов. Далее будет показано, как при использовании ATM для размещения MPLS-метки используется поле VPI/VCI, а при использовании Frame Relay — поле DLCI. В тех случаях, когда MPLS обеспечивает пересылку IP-пакетов сетевого уровня и когда технология уровня звена данных не поддерживает собственное поле меток, MPLS-заголовок должен инкапсулироваться между заголовками уровня звена данных и сетевого уровня.
Общая модель инкапсуляции представлена на рис. 4.4, где подразумевается, что инкапсуляция MPLS может быть использована с любой технологией уровня 2. Метка MPLS может быть помещена в существующий формат заголовка уровня 2, как в случае ATM или FR, или вписана в специальный заголовок MPLS, как в случае Ethernet или РРР. Во всех случаях любые дополнительные метки находятся между верхней меткой стека и IP-заголовком уровня 3.
Показанный на рис. 7.4 заголовок MPLS часто называют shim header (заголовком-клином), подчеркивая в метафорической форме тот факт, что этот заголовок «уровня 2.5» вклинивается в пакете между заголовками уровня звена данных и сетевого уровня.
Рисунок 7.4 Принцип инкапсуляции заголовка MPLS
Одной из самых сильных сторон технологии MPLS (и потому отраженной в ее названии) является то, что она может использоваться совместно с различными протоколами уровня 2. Среди этих протоколов — ATM, Frame Relay, PPP, Ethernet, FDDI и другие, предусмотренные документами по MPLS.
Покажем, как метка может вписываться в заголовок уровня звена данных (VCI/VPI для сети ATM, DLCI для сети Frame Relay и т.п.) или «вставляться» между заголовками уровня звена данных и сетевого уровня. С самого начала рабочая группа IETF MPLS решила, что во всех случаях, когда это возможно, MPLS должна использовать имеющиеся форматы. По этой причине информация метки MPLS может передаваться в пакете несколькими разными методами:
как часть заголовка второго уровня ATM, когда информация метки передается в идентификаторах виртуального канала VCI и виртуального пути VPI, что показано на рис.4.5;
как часть кадра AAL5 уровня адаптации ATM (ATM Adaptation Layer 5) перед сегментацией и сборкой SAR (Segmentation and Reassembly), что выполняется в ATM-окружении в случае, когда эта информация содержит данные о стеке меток (несколько полей MPLS-меток);
как часть заголовка второго уровня Frame Relay, когда информация метки передается в идентификаторах DLCI (Data Link Connection Identifier), что изображено на рис. 4.6;
как новая 4-байтовая метка, называемая клином или прокладкой (shim), которая вставляется между заголовками второго и третьего уровней, что показано на рис. 7.7, — во всех остальных случаях.
Размещение метки MPLS в заголовке ATM представлено на рис. 7.5.
Рисунок 7.5 Размещение метки MPLS в заголовке ATM
Заголовок ATM (5 байтов) содержит поля:
GFC - поле общего управления потоком (4 бита) для передачи информации о перегрузке;
VCI - поле идентификатора виртуального канала (16 битов);
VPI - поле идентификатора виртуального тракта (8 битов);
PTI - поле идентификатора типа полезной нагрузки (3 бита): пользовательские данные
или трафик техобслуживания;
CLP - поле приоритета ячейки (1 бит): низкий или высокий приоритет;
НЕС - поле контроля ошибок в заголовке (8 битов) для исправления единичных ошибок
или обнаружения множественных ошибок в заголовке ячейки.
Использование MPLS поверх ATM сейчас довольно распространено, особенно для транспортировки по сетям ATM трафика IP. ATM-коммутаторы, которые конфигурированы для поддержки MPLS (ATM-LSR), выполняют протоколы маршрутизации TCP/IP и используют пересылку данных в ячейках ATM фиксированной длины 53 байта. При этом верхняя метка MPLS помещается в поля VCI/VPI заголовка ячейки ATM, а данные о стеке меток MPLS помещаются в поле данных ячеек ATM.
Поддержка MPLS в сетях Frame Relay (FR) была развернута рядом крупных поставщиков услуг и до сих пор широко используется. Подобно ATM, FR-коммутаторы, поддерживающие MPLS, используют протоколы маршрутизации TCP/IP для пересылки данных под управлением FR. При использовании FR текущая метка помещается в поле идентификатора канала звена данных DLCI в заголовке FR. Любые дополнительные записи в стек меток MPLS помещаются после заголовка FR, но до заголовка сетевого уровня, содержащегося в поле данных кадра FR. Стандарт MPLS позволяет FR использовать адрес Q.922 длиной либо 2 октета, либо 4 октета. Формат представлен на рис. 7.6.
Рис. 7.6 Размещение метки MPLS в кадре FR
Примечание: Длина поля DLCI может составлять 10,16 или 24 бита
В отношении ячеек ATM и кадров Frame Relay договорились использовать для MPLS имеющиеся форматы заголовков, а во всех остальных случаях — собственную метку MPLS — «прокладку» между заголовками второго и третьего уровней. Отсюда видно, что MPLS позволяет создавать новые форматы меток без изменения протоколов маршрутизации, а потому распространение этой технологии на вновь появляющиеся виды оптического транспорта, такие как компактное мультиплексирование с разделением по длине волны DWDM (Dense Wave Division Multiplexing) и оптическая коммутация, представляет собой относительно простую задачу.
Принцип, представленный на рис. 7.7, подходит для каналов типа «точка-точка» (Point-to-Point — РРР) и для локальных сетей Ethernet (всех типов). Подобным методом можно передать одну MPLS-метку или стек меток.
Протокол РРР фактически представляет собой семейство родственных протоколов IETF, используемое для передачи многопротокольных дейтаграмм по двухточечным каналам связи. РРР определяет метод инкапсуляции дейтаграмм разных протоколов сетевого уровня, протокола управления звеном данных LCP и набора протоколов управления сетью NCR
Рис. 7.7 Формат для введения MPLS-метки в пакет РРР и в кадр Ethernet
Когда пакеты MPLS передаются по Ethernet, в каждом кадре Ethernet переносится только один снабженный меткой пакет. Метка помещается между заголовком уровня звена данных и заголовком сетевого уровня. Использование MPLS в сетях Ethernet, особенно, в городских сетях, является еще одной перспективной возможностью MPLS. В стандарт Ethernet вносятся изменения, позволяющие увеличить скорость и дальность передачи Ethernet-пакетов. В настоящее время начинают использоваться Ethernet-интерфейсы на скоростях 10 Гбит/с, а в скором времени появятся Ethernet-интерфейсы и на еще больших скоростях.
Значения поля Ethertype в заголовке Ethernet — шестнадцатеричное 8847 для одноадресной передачи и шестнадцатеричное 8848 для многоадресной рассылки. Эти значения могут использоваться либо со стандартным форматом Ethernet, либо с форматом 802.3 LLC/SNAP.
Итак, метка может быть помещена в пакет разными способами — вписываться в специальный заголовок, помещаемый между заголовками уровня 2 и уровня 3, либо в свободное и доступное поле заголовка одного из этих двух уровней, если, конечно, таковое имеется. Очевидно, что вопрос о том, куда следует помещать заголовок, содержащий метку, должен согласовываться между объектами, ее использующими.