MultiProtocol Label Switching Олифер Виктор Олифер Наталья 30 часов Рига - 2001 Программа курса Тема 1. Общая характеристика MPLS •Причины появления MPLS •Гибридные технологии ускоренной маршрутизации – предшественницы MPLS: NHRP, IP Switching, Tag switching •Принципы работы MPLS •Основные области применения MPLS: ускоренная маршрутизация, интеграция IP c ATM и FR, конструирование трафика, ремаршрутизация при отказах, обеспечение QoS, VPN, общая плоскость сигнализации для оптического ядра сети Программа курса Тема 2. Архитектура MPLS, основные компоненты и протоколы •Классы эквивалентности продвижения - FEC •LSP, LSR, edge LSR •Плоскость продвижения, формат заголовка MPLS •Плоскость сигнализации - RSVP - LDP - BGP •Плоскость маршрутизации – расширение протоколов OSPF и IS-IS •Иерархия путей LSP •Процесс стандартизации MPLS Программа курса Тема 3. MPLS для ускорения маршрутизации – MPLS IGP •Определение FEC •Распространение меток с помощью протокола LPD •Особенности работы MPLS поверх ATM и FR •Конфигурирование MPLS IGP в маршрутизаторах Cisco Программа курса Тема 4. MPLS Traffic Engineering (TE) и Fast ReRouting (FRR) •Расширения протокола OSPF (CSPF) •Сигнализация с помощью RSVP ext и CR-LDP •Примеры конфигурирования путей MPLS TE Программа курса Тема 5. Поддержка качества обслуживания с помощью MPLS •MPLS DiffServ •DiffServ Aware MPLS TE •Функция AutoBandwidth компании Cisco Программа курса Тема 6. MPLS VPN •Провайдерские VPN на основе протокола BGP •MPLS VPN для протоколов канального уровня Программа курса Тема 7. Развитие MPLS - прокладка путей в сетях SDH и DWDM (Generalized MPLS) •Цели GMPLS •Архитектура GMPLS •Расширения RSVP и CR-LDP для поддержки SDH и DWDM Миссия MPLS Наделение классической технологии IP новыми свойствами: •Контроль над путями следования трафика – ручной и автоматический •Поддержка дифференцированного качества обслуживания для устойчивых путей •Повышение общей производительности сети •Поддержка виртуальных частных сетей (VPN) Технология MPLS - стандартизация техники виртуальных каналов в IP-сетях Цели разработчиков технологии: •Улучшить соотношение цена/производительность маршрутизации на сетевом уровне - ускорить маршрутизацию за счет замены ее на коммутацию на определенных участках сети •Улучшить масштабируемость сетевого уровня - иерархический выбор пути: между AS, между крупными сетями, внутри сети •Создать технологию коммутации, способную работать с любой технологией канального уровня •Повысить гибкость предоставления новых сервисов маршрутизации Основные задачи MPLS Ускорить продвижение пакетов за счет замены маршрутизации коммутацией - пути остаются прежними (IGP) Traffic Engineering – баланс нагрузки в целях максимизации общей производительности сети QoS для индивидуальных потоков (желательно DiffServ aware – согласованно с DiffServ классами) VPN – максимальная изоляция потоков разных абонентов, качество обслуживания Отказоустойчивость – автоматический и быстрый переход на резервные пути Поддержка групповой адресации (multicast) Тесная интеграция с АТМ и FR Интеграция всех транспортных сервисов Соотношение коммутации и маршрутизации – проверка базовых знаний •Опишите алгоритм коммутации в сетях с широковещанием •Опишите алгоритм коммутации в сетях с виртуальными каналами (PVC и SVC) Задача на прокладку пути в сетях с виртуальными каналами Использовать метки из S2 2 2 S1 4 1 3 диапазона 101-105 3 5 2 S4 4 S3 1 2 3 3 1 4 4 1 5 S1 S4 S3 Pвх Lвх Pвых Lвых 1 101 4 101 Pвх Lвх Pвых Lвых 1 102 3 102 1 101 2 101 2 101 4 102 2 101 1 101 3 102 1 102 2 102 4 101 4 101 1 101 3 101 5 101 4 102 2 101 4 101 2 102 ? ? ? ? 5 101 3 101 Pвх Lвх Pвых Lвых Зачем нужна маршрутизация? Чем отличается таблица маршрутизации от таблицы коммутации? Конфигурирование подсетей IP при работе через сети с коммутацией 2-го уровня ATM-облако Какое минимальное количество IP-сетей можно определить на данной топологии связей? Конфигурирование подсетей IP при работе через сети с коммутацией 2-го уровня 4 сети Пример традиционного взаимодействия сетевого и канального уровней – 2 варианта 192.40.15.4 R1 Как повлияет на таблицу маршрутизации R1 ликвидация виртуального канала Опишите действия маршрутизатора R1 по отправке пакета от хоста 192.40.15.4 хосту 201.100.10.10 201.100.10.10 Сеть АТМ 195.10.200.0 198.10.203.0 196.10.201.0 197.10.202.0 Как влияет на работу маршрутизаторов поддержка сетью SVC? 202.200.10.10 В каких случаях следует выбирать маршрутизацию, а в каких коммутацию? Сравнение коммутаторов и маршрутизаторов Свойства Скорость Защита от «шторма» Топология Работа в гетерогенной среде Фильтрация Контроль над трафиком Коммутаторы локальных сетей Маршрути сетей с поддержкой заторы виртуальных каналов + + - - + + + + + + - Разделение процессов продвижения и управления в маршрутизаторах Управление Routing updates RIP, OSPF Routing protocol Routing updates RIP, OSPF Routing table Interface Входящие пакеты IP-forwarding Продвижение Какие возможности дает эта схема? Interface Исходящие пакеты Тема 2. Архитектура MPLS, основные компоненты и протоколы Базовые концепции MPLS MPLS – связующее звено между канальным и сетевым уровнем Обобщение техники виртуальных каналов Устранение избыточности при работе через виртуальные каналы (2 раза сетевой уровень, в АТМ: PNNI+Q.2931) Базовые концепции MPLS Использование сильных сторон каждой технологии: IP • автоматический выбор маршрута по топологии и состоянию сети • предварительная настройка сети на передачу потоков канальных технологий • скорость • контроль на путями следования трафика (PVC) Элементы домена MPLS LSP (Label Switching Path) – путь коммутации меток, однонаправленный LSR3 Router LER1 LER9 Router LER5 LSR2 LSR4 LSR8 LSR7 Edge LSR (LER) – пограничный LSR LER6 Домен MPLS Router LSR (Label Switching Router) – маршрутизатор IP с поддержкой MPLS Router Элементы домена MPLS Как устройство узнает, что оно является LER? Router LSR3 Router LER1 LER9 LER5 LSR2 LSR8 LSR4 LSR7 LER6 Router Router Домен MPLS – это непрерывный набор устройств, поддерживающих MPLS и находящихся под одним административным контролем Основные понятия и определения LSR (Label Switching Router) – маршрутизатор IP с поддержкой MPLS LSP (Label Switching Path) – путь коммутации меток Edge LSR (LER) – пограничный LSR для какого-либо пути (входной и выходной) FEC (Forwarding Equivalence Class) – класс эквивалентности продвижения FEC (Forwarding Equivalence Class) – класс эквивалентности продвижения •FEC - группа IP-пакетов, предъявляющих одни и те же требования к условиям транспортировки (транспортному сервису) •Все пакеты, принадлежащие к данному FEC, продвигаются через сеть MPLS по одному виртуальному пути LSP FEC (Forwarding Equivalence Class) – класс эквивалентности продвижения Классификация осуществляется в LER Оператор сети конфигурирует классификатор LER в соответствии с конкретными задачами, решаемыми MPLS: •Ускоренная маршрутизация - на основании IP-адреса назначения (традиционные пути hop-by-hop IGP) •Баланс нагрузки сети - (IP Source, IP Destination, Port Source, Port Destination, входной интерфейс) •В соответствии с требованиями QoS каждого потока приложения •В соответствии с требованиями VPN - принадлежность к определенной VPN клиента •По типам приложениям – весь трафик IP-телефонии (RTP) по отдельному пути FEC (Forwarding Equivalence Class) – класс эквивалентности продвижения После принятия решения о принадлежности пакета к определенному классу FEC, пакету назначается метка – Label – и пакет становится неразличим в домене MPLS от других пакетов класса, все они продвигаются по одному и тому же пути внутри домена! Преимущества техники продвижения MPLS по сравнению со стандартным продвижением IP по адресу назначения: •Можно различать потоки трафика по признакам, недоступным обычной IP-маршрутизации: •Интерфейс, с которого получен пакет •LER, который получил пакет – в разных LER могут существовать разные пути для продвижения пакетов с одними и теми же признаками в заголовках •LER получил явное описание пути – explicit rout •Сложная настройка и конфигурирование выполняется только в LER Метки (labels) MPLS 0 1 2 3 01234567890123456789012345678901 Label | CoS|S| TTL Label = 20 бит CoS (Experimental), 3 бита S = дно стека меток, 1бит TTL = Time to live, 8 бит Вводятся новые значения кода протокола MPLS в полях Ethertypes/PPP PIDs/LLC/SNAP и др. Допускается использование в одном пакете более чем одной метки – стек меток MPLS LSRs always forward packets based on the value of the label at the top of the stack Форматы меток PPP Header(Packet over SONET/SDH) Ethernet Frame Relay ATM Cell Header GFC PPP Header Shim Header Layer 3 Header Ethernet Hdr Shim Header Layer 3 Header FR HdrL Shim Header Layer 3 Header VPI VCI PTI CLP HEC Shim H DATA VCI PTI CLP HEC Shim HDATA Label Subsequent cells GFC VPI Label Формат пакета MPLS в FR 0 (Octets)0 n 1 (Octets) +-----------------------+-----------------------+ | | / Q.922 Address / / (length 'n' equals 2 or 4) / | | +-----------------------+-----------------------+ | . | / . / / MPLS packet / | . | +-----------------------+-----------------------+ 7 6 5 4 3 2 1 0 (bit order) (octet) 0 1 +-----+-----+-----+-----+-----+-----+-----+-----+ | DLCI(high order) | 0 | 0 | +-----+-----+-----+-----+-----+-----+-----+-----+ | DLCI(low order) | 0 | 0 | 0 | 1 | +-----+-----+-----+-----+-----+-----+-----+-----+ DLCI = Label, Shim – остальные метки стека Функциональные компоненты LER Протоколы маршрутизации класса «состояние связей» - OSPF, IS-IS (1).Сбор топологической информации (2).Выбор путей (3).Прокладка пути Протоколы маршрутизации Блок принятия решений Traffic Engineering, QoS, VPN Протоколы сигнализации – LDP, CRLDP, RSVP, BGP (4).Продвижение вдоль установленного пути Блок коммутации на основе таблицы NHLFE 1. Сбор и распространение информации о топологии и состоянии элементов сети Топологическая информация – о физических связях – потенциально возможных путях Используется для выбора путей трафика в сети Каждый LSR и LER должен обладать информацией о топологии сети состоянии каналов и других LSR: работоспособен/нет •пропускная способность (Traffic Engineering) •загруженность (длина очереди и т.п.) (Traffic Engineering) Реализуется стандартными протоколами маршрутизации + расширения (в зависимости от типа задачи MPLS) •IS-IS - дополнительные типы TLV (Type Length Value) •OSPF - Opaque LSA LSR3 Router LER1 LER9 LER5 LSR2 LSR8 LSR4 LSR7 LER6 Router Link: LSR7-LER6 State: up Bandwidth = 155 Unreserved = 103 Router Топологическая база LSR 3 1 9 5 2 4 8 7 6 2. Выбор путей •Путь описывается последовательностью идентификаторов LSR: 1-3-5-8 •Выполняется на основании топологической базы •Выбор пути происходит вручную (статически) или автоматически (динамически) блоками выбора пути, соответствующих разным постановкам задачи (IGP, TE, VPN, QoS) •Осуществляется либо одним маршрутизатором, либо всеми маршрутизаторами MPLS-домена •Результат передается блоку сигнализации для прокладки путей Пример выбора для задачи TE Нужно проложить путь от 1 к 6 для потока с суммарной скоростью 4 Мбит/с 3 1 9 5 2 4 8 7 6 Путь LSP: 1-2-8-4-7-6 Типы путей LSP (Label Switching Path) 1. Hop-by-hop route - каждый LSR вычисляет путь независимо, как это всегда делают IP-маршрутизаторы – для ускоренной маршрутизации. Часто называют IGP-путем 2. Explicit route - явный путь (маршрутизация от источника) Пограничный маршрутизатор LER вычисляет путь, который затем устанавливается в сети Явные пути - мощный инструмент для решения многих задач Traffic Engineering и QoS Явный путь может быть задан строго (strict) или свободно (loose) Строгие и свободные явные пути 3 1 9 5 2 4 8 7 6 Строгий (strict) путь LSP: 1-2-8-4-7-6 Свободный (loose) путь: 1-7-6 Как выбирается путь между опорными LSR? Выбор явного пути может быть сделан: • динамически (on-line) •статически (off-line) Динамически - с помощью Constrained Routing Protocol (например, OSPF с расширениями - CSPF) + эвристический алгоритм выбора множества путей с максимизацией общей целевой функции Статически - методы оптимизации и моделирования, результаты вводятся вручную в LER 3. Сигнализация «Протокол сигнализации» - «Протокол распределения меток» (Label Distribution Protocol) - синонимы Протокол сигнализации необходим для: •уведомлении маршрутизаторов LSR вдоль пути о необходимости настройки меток •согласования значения меток – чтобы они относились к одному и тому же пути в разных LSR Технология MPLS допускает использование различных протоколов сигнализации: •LDP (Label Distribution Protocol) - специальный протокол для MPLS IGP •расширение RSVP – Traffic Engineering •CR-LDP - расширение LDP - Traffic Engineering •расширение BGP - VPN Проложенный путь 201 Ingress LER 3 1 2 4 217 146 9 5 156 8 Egress LER 7 null 6 Метки расставляются в обратном порядке – от последнего LSR (egress LER) к первому (ingress LER) Downstream assigned «Соседи» по сети LSR9 LSR3 LSR7 Для LSR9 относительно потока, направленного сети 192.100.0.0/16 по IGP: •LSR7 – downstream neighbour 192.100.0.0/16 •LSR3 – upstream neighbour Соседей LSR узнает по протоколам распределения меток (сигнализации) MPLS, При MPLS IGP downstream neighbour – это Next Hop Договоренность о привязывании метки LSR9 LSR7 LSR3 FEC: 192.100.0.0/16 L = 123 Назначил LSR9 Outgoing label для LSR3 Incoming label для LSR9 Методы распределения меток On Demand - распределение по запросу. Downstream LSR получает запрос от Upstream LSR и назначает метку запрошенному FEC • Downstream •Downstream Unsolicited - распределение без запроса в нисходящем направлении. Downstream LSR назначает метку FEC без предварительного запроса и передает ее Upstream LSR. Выбор метода зависит от задачи, решаемой MPLS (IGP, Traffic Engineering и т.п.) Режимы управления распределением меток 2 режима (mode) управления распределением: •Независимый - Independent Label Distribution Control Каждый LSR может выполнить назначение и распространение метки, не дожидаясь получения метки от нисходящего LSR - обычно, при обнаружении нового маршрута (по протоколу маршрутизации) - при методе Downstream On Demand - не дожидаясь, когда нисходящий LSR ответит на запрос - при методе Downstream Unsolicited - в любой момент, когда данный LSR готов объявить о привязке метки к FEC •Упорядоченный - Ordered Label Distribution Control Начать процесс назначения метки может только последний LSR на пути (egress LSR) Применяется при Constraint-based Routing - путь выбирается не только по адресу назначения Таблицы LSR – создаются при работе протоколов распределения меток Таблица FEC-To-NHLFE, FTN: Признаки FEC Метка 123.20.0.0 255.255.0.0 106 194.20.0.0 255.255.255.0 107 Используется в ingress LER для непомеченных пакетов, которые нужно пометить для передачи вдоль пути LSP Таблицы LSR – создаются при работе протоколов распределения меток Таблица продвижения Next Hop Label Forwarding Entry (NHLFE) Входной порт Входная метка Next Hop (порт, MAC) Действие (сменить метку, удалить метку, вставить метку…) Serial 1 - Serial 1 Push 245 Serial 1 - Serial 2 Pop Serial 2 106 Serial 3 Swap 107 Несколько входов в NHLF для одной метки Входной порт Входная метка Next Hop (порт, MAC) Действие (сменить метку, удалить метку, вставить метку…) Serial 1 106 Serial 1 Swap 215 Serial 1 106 Serial 2 Swap 345 Serial 1 106 Serial 3 Swap 124 Цели: баланс нагрузки, отказоустойчивость Вопрос: Может ли быть задан в качестве Next Hop тот же LSR, который выполняет продвижение пакета на основе метки? Как задать такую операцию? Какое действие можно задать для нее? 4. Продвижение пакетов •Коммутация на основе заранее проложенных путей – таблиц FTN и NHFLE •При входе в домен MPLS первый LSR (LER) вставляет заголовок Shim между заголовками канального и сетевого уровня и назначает первую метку по таблице FTN •Заголовок IP-уровня не анализируется в промежуточных LSR •При выходе из домена MPLS выходной LSR удаляет Shim-заголовок и продвигает пакет на основе IP-адреса Функциональная схема LSR Блок выбора пути Traffic Engineering IGP-выбор маршрута Стандартная база топологической информации Сбор и распространение информации. IP IP(FEC) Таблица маршрутизации База топологической информацииTraffic Engineering Сигнали зация RSVP Сигнали зация LDP Протоколы маршрутизации OSPF, IS-IS, BGP Блок продвижения IP Блок продвижения MPLS Таблица NHLFE Трансформация пакета вдоль пути LSP Предпоследний LSR (penultimate LSR) может: 1. Выполнить операцию «swap null» (показано на рис.) 2. Или операцию pop – удалив метку вместо egress LSR Вопрос: Какой вариант поведения предпоследнего LSR предпочтительнее для ускорения операций продвижения? Вопрос: Что должен делать LSR, если получен пакет с меткой, которой нет ни в одной записи NHFLE? Поле TTL Назначение: •Борьба с зацикливанием в петлях •Ограничение области действия пакета (scope), например, при групповом вещании Можно применять только в случае полноценного заголовка MPLS-пакета: •PPP, Ethernet Для АТМ и FR использовать нельзя – поля в заголовке ATM/FR нет! Борьба с зацикливанием пакетов в доменах MPLS-ATM/FR Первый LSR домена non-TTL оценивает длительность передачи пакета по этом домену в хопах и отбрасывает пакет, если количество хопов оказывается больше или равно TTL во входящем пакете Если хопов меньше, чем значение TTL, то производится декремент TTL на количество хопов и пакет направляется downstream LSR. Оценка TTL – из сообщений протокола распределения меток