490 likes | 917 Views
Тема 4 . MPLS Traffic Engineering (TE). Постановка задачи Поиск пути с помощью протоколов класса Constraint-based Routing - OSPF и IS-IS с расширениями Сигнализация с помощью RSVP ext и CR - LDP Примеры конфигурирования туннелей MPLS TE. Постановка задачи TE.
E N D
Тема4. MPLS Traffic Engineering (TE) Постановка задачи Поиск пути с помощью протоколов класса Constraint-based Routing - OSPF и IS-IS с расширениями Сигнализация с помощью RSVP ext и CR-LDP Примеры конфигурирования туннелей MPLS TE
Постановка задачи TE • Две группы целей Traffic Engineering: • Ориентированные на улучшение характеристик трафика: • Минимизации процента потерь пакетов • Минимизации задержек в очередях • Максимизации передаваемых всплесков трафика Рассматриваются относительно всего набора потоков трафика, например: min (max Pi), где Pi – потери i-гопотока
Ориентированные на улучшение коэффициента использования ресурсов: • максимизация загрузки каждого устройства и канала • максимизация общей производительности сети (пакеты в сек) Обе группы целей достигаются при снижении уровня заторов (congestion) в сети Затор – появление большой очереди пакетов в определенной точке сети (порт, внутренний буфер устройства), приводит к длительному ожиданию пакетов и потерям при превышении очереди емкости буфера
Влияние заторов • Заторы приводят к: • Снижение качественных характеристикпередаваемого трафика – большие задержки, высокий процент потерь при постоянных заторах в какой-либо части сети (если средняя интенсивность трафика постоянно превышает среднюю пропускную способность канала или устройства) • Неэффективному использованию ресурсов – остальные (кроме перегруженных) ресурсы недоиспользуются, так как к ним поступает меньше пакетов (из-за потерь)
Причины появления заторов • Сетевых ресурсов недостаточно для обслуживания предложенной нагрузки (offered load) • Потоки трафика неэффективно распределены по инфраструктуре сети
Устранение заторов • 1. Недостаток ресурсов устраняется: • Увеличением емкости ресурсов – замена каналов и устройств на более производительные • Применением классической техники борьбы с заторами: • ограничение интенсивности входных потоков (rate limit) • управление очередями для перераспределения ресурса в пользу привилегированного трафика (приоритеты)
Устранение заторов (2) 2. Неэффективность распределения потоков трафика устраняется методами Traffic Engineering – предложенная нагрузка более сбалансировано заполняет имеющиеся каналы и устройства. Пути следования трафика по сети выбираются в общем случае отличными от путей, выбираемых IGP
Предложенная нагрузка 25 13 12 8 50 30
Распределение нагрузки по сети – выбор путей следования трафика R3 R2 50 25 R4 50 40 50 R9 R7 30 12 8 100 13 R10 20 100 R1 50 R8 100 R11 R5 25 155 10 75 R6
Критерий оптимального распределения нагрузки Min (max Ki), где Ki – коэффициент использования i-го ресурса Ресурс – входной и выходной интерфейсы каждого маршрутизатора Какой коэффициент использования входного интерфейса маршрутизатора R1? Какой интерфейс в сети имеет максимальный коэффициент использования? Как лучше проложить путь для нового потока R2-R6 с интенсивностью 10?
Распространение топологической информации • Необходим протокол маршрутизации состояния связей • IS-IS or OSPF • Это требование должно соблюдаться только для задач MPLS-TE! • Не для VPN или IGP
RtrA RtrB RtrE RtrF RtrG RtrC RtrD Почему протокол состояния связей Пример сети: - все связи имеют стоимость 10 - путь от RtrA до RtrE: A->B->E, стоимость 20 - весь трафик от A к {E,F,G} идет по пути A->B->E
RtrA RtrB RtrE RtrF RtrG RtrC RtrD Что видит протокол класса DV • RtrA не видит все связи • RtrA знает только об одном кратчайшем пути
RtrA RtrB RtrE RtrF RtrG RtrC RtrD Что видит протокол состояния связей • RtrA видит все связи • RtrA вычисляет кратчайший путь • Таблица маршрутизации получается та же!
RtrA RtrB RtrE RtrF RtrG OC3 OC3 DS3 OC3 OC3 DS3 RtrC DS3 RtrD Проблема кратчайшего пути • Некоторые связи DS3, а некоторые - OC3 • RtrA передает 40Mb для RtrF, 40Mb - для RtrG • Огромные (44%) потери пакетов на связи RtrB->RtrE! • Изменение пути на A->C->D->E не помогает 35Mb теряются! 80Mb
RtrA RtrB RtrE RtrF RtrG RtrC RtrD Решение с помощью MPLS TE • RtrA видит все связи • RtrA вычисляет кратчайший путь на основе других критериев, отличных от просто крачайшего пути • Заторов нет! OC3 OC3 40Mb DS3 40Mb OC3 OC3 DS3 DS3
Что такое туннель TE? R3 R2 R4 R9 R7 R10 R1 R8 R11 R5 R6 • Туннель – это путь между двумя LSR сети, заданный: • точно (strict) вручную (R3-R10-R11-R6) • свободно (loose) – (R3-R6) • Резервирует определенную пропускную способность для трафика (bandwidth)
Что такое туннель TE? R3 R2 R4 R9 R7 R10 R1 R8 R11 R5 R6 Свободное задание туннеля (dynamic у Cisco) – это автоматический способ определения точного пути между двумя LSR сети, как правило являющимися конечными точками приложения нагрузки
Конфигурирование туннеля1. Статическое (точное) задание interface Tunnel158 ip unnumbered Loopback0 tunnel destination 10.10.10.4 tunnel mode mpls traffic-eng tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng priority 2 2 tunnel mpls traffic-eng bandwidth 158 tunnel mpls traffic-eng path-option 1 explicit name aabbcc ip explicit-path name aabbcc enable next-address 10.1.1.21 next-address 10.1.1.10 next-address 10.1.1.1 next-address 10.1.1.14
Конфигурирование туннеля2. Динамическое (свободное) задание interface Tunnel1 ip unnumbered Loopback0 tunnel destination 10.10.10.6 tunnel mode mpls traffic-eng tunnel mpls traffic-eng autoroute announce tunnel mpls traffic-eng priority 5 5 tunnel mpls traffic-eng bandwidth 25 tunnel mpls traffic-eng path-option 2 dynamic Точный путь будет вычисляться автоматически
Как работает MPLS-TE • Information Distribution • Path Calculation • Path Setup • Forwarding Traffic Down A Tunnel
Расширения протокола OSPF Новый тип LSA (Link State Attribute) TLV: 1 - Link type (1 octet) 2 - Link ID (4 octets) 3 - Local interface IP address (4 octets) 4 - Remote interface IP address (4 octets)
Расширения протокола OSPF (продолжение) Новый тип LSA (Link State Attribute) TLV: 5 - Traffic engineering metric (4 octets) Может отличаться от метрики IGP: 6 - Maximum bandwidth (4 octets) 7 - Maximum reservable bandwidth (4 octets) 8 - Unreserved bandwidth (32 octets) - для каждого из 8 классов COS 9 - Resource class/color (4 octets)
Вычисление пути • Модифицированный алгоритм Дийкстры в первом LSR туннеля • Носит также название Constrained SPF, CSPF • Находит маршрут с минимальной метрикой, удовлетворяющий ограничению bandwidth для туннеля • Или алгоритм PCALC (path calculation)
RtrA RtrB RtrE RtrF RtrG RtrC RtrD Вычисление пути • Обычный SPF находит кратчайший путь по всем связям сети “каковы кратчайшие пути ко всем маршрутизаторам?”
RtrA RtrB RtrE RtrF RtrG RtrC RtrD • Обычный SPF Вычисление пути • Решение – дерево кратчайших путей “каковы кратчайшие пути ко всем маршрутизаторам?”
RtrA RtrB RtrE RtrF RtrG OC3 OC3 DS3 OC3 OC3 DS3 RtrC DS3 RtrD Вычисление пути - CSPF “каков кратчайший путь к маршрутизатору F, на котором имеется 40 Мб полосы пропускания?” • Constrained SPF – найти кратчайший путь к специфическому узлу • Принять во внимание ограничения!
RtrA RtrB RtrE RtrF RtrG OC3 OC3 DS3 OC3 OC3 DS3 RtrC DS3 RtrD Вычисление пути - CSPF “каков кратчайший путь к маршрутизатору F, на котором имеется 40 Мб полосы пропускания?” • Решение • Совпало с решением обычного OSPF – в чем разница?
RtrA RtrB RtrE RtrF RtrG OC3 OC3 DS3 OC3 OC3 DS3 RtrC DS3 RtrD Вычисление пути - CSPF “каков кратчайший путь к маршрутизатору F, на котором имеется 40 Мб полосы пропускания?” • Разница – при прокладке следующего пути 40 Мб • Изменилась доступная полоса 5
RtrA RtrB RtrE RtrF RtrG RtrC RtrD Вычисление пути - CSPF • Конечный результат : • Пропускная способность сети используется эффективно! OC3 OC3 40Mb DS3 40Mb OC3 OC3 DS3 DS3
Вычисление пути - CSPF • А если имеется более чем один путь, удовлетворяющий условиям условиям требуемой пропускной способности? • Алгоритм PCALC: • Найти все пути, удовлетворяющие ограничению bandwidth, с минимальной метрикой IGP (Дийкстра) • Выбрать путь с наибольшей минимальной полосой вдоль пути • Если он не один, то выбрать путь с наименьшим количеством хопов • Если он не один, то выбрать один случайным образом
{cost, BW} Каков наилучший путь от A до Z с BW 20M? Путь имеет стоимость 25, не минимальную! {10,100M} {8,80M} RtrA RtrZ {4,90M} {8,90M} {8,90M} Алгоритм PCALC Все связи {10,100M} Все связи {5,50M}
Минимальная BW меньше, чем у других путей! {8,80M} {4,90M} {8,90M} {8,90M} Алгоритм PCALC {cost, BW} Каков наилучший путь от A до Z с BW 20M? RtrA RtrZ Все связи {10,100M} Все связи {5,50M}
Число хопов 5, а у других путей 4! {4,90M} {8,90M} {8,90M} Алгоритм PCALC {cost, BW} Каков наилучший путь от A до Z с BW 20M? RtrA RtrZ Все связи {10,100M} Все связи {5,50M}
Выбираем случайным образом {8,90M} {8,90M} Алгоритм PCALC {cost, BW} Каков наилучший путь от A до Z с BW 20M? RtrA RtrZ Все связи {10,100M} Все связи {5,50M}
{8,90M} Алгоритм PCALC {cost, BW} Каков наилучший путь от A до Z с BW 20M? RtrA RtrZ Все связи {10,100M} Все связи {5,50M}
Установление пути • Протоколы RSVP или CR-LDP • Cisco и Juniper поддерживают только RSVP • RFC2205 + draft-ietf-mpls-rsvp-lsp-tunnel
Установление пути • После выбора пути результат передается RSVP • RSVP использует сообщения PATH (downstream) и RESV (upstream) для расстановки меток и резервирования пропускной способности для туннеля
RtrA = PATH messages = RESV messages RtrB RtrE RtrF RtrG RtrC RtrD Установление пути • PATH : “Можно зарезервировать 40Mb вдоль данного пути?” • RESV: “Да, и вот метка для этого пути” • В каждом LSR формируется таблица продвижения NHLFE
Направление трафика в туннель • Три способа направления трафика (Cisco) Autoroute Static routes Policy routing
Autoroute • Autoroute - это использование туннеля как одного из следующих хопов в обычной таблице маршрутизации
RtrA RtrA RtrH RtrB RtrI RtrB RtrE RtrF RtrE RtrG RtrG RtrF RtrC RtrC RtrD RtrD Autoroute Физическая топология сети
RtrA RtrB RtrI RtrE RtrF RtrG RtrC RtrD Autoroute Логическая топология сети в маршрутизаторе RtrA Остальные маршрутизаторы туннеля не видят! RtrH Tunnel1
Таблица маршрутизации RtrA, сформированная после применения команд autoroute. Все сети, находящиеся за туннелем, достигаются через туннель RtrA RtrB RtrI RtrE RtrF RtrG Tunnel1 RtrC RtrD Autoroute RtrH
RtrA RtrA RtrH RtrB RtrI RtrH RtrB RtrF RtrE RtrE RtrG RtrG RtrF Tunnel1 RtrC RtrC RtrD RtrD Статические маршруты RtrA(config)#ip route H.H.H.H 255.255.255.255 Tunnel1
Маршрут к RtrH известен через туннель Маршруты к RtrG не используют туннель, хотя он и является конечной точкой туннеля! RtrA RtrA RtrI RtrH RtrH RtrB RtrB RtrG RtrE RtrG RtrE RtrF RtrF Tunnel1 RtrC RtrC RtrD RtrD Статические маршруты
RtrA RtrB RtrE RtrF RtrG RtrH Tunnel1 RtrI RtrC RtrD Policy routing (PBR) RtrA(config-if)#ip policy route-map set-tunnel RtrA(config)#route-map set-tunnel RtrA(config-route-map)#match ip address 101.0.0.0 RtrA(config-route-map)#set interface Tunnel1
Таблица маршрутизации остается неизменной – сведений о туннелях в ней нет Требуется IOS 12.0(16)ST or 12.2T или выше для поддержки команды‘set int Tunnel’ RtrA RtrB RtrE RtrF RtrG RtrH Tunnel1 RtrI RtrC RtrD Policy routing
Рекомендации по применению методов направления трафика в туннель (Cisco) • Можно использовать любую комбинацию методов of autoroute, static routes или PBR. • Проще всего использовать autoroute, а для задания BGP Next-hop – статические записи