ТемаТема 44. MPLS Traffic . MPLS Traffic Engineering (TE)Engineering (TE)
•Постановка задачи
•Поиск пути с помощью протоколов класса Constraint-based Routing - OSPF и IS-IS с расширениями
•Сигнализация с помощью RSVP ext и CR-LDP
•Примеры конфигурирования туннелей MPLS TE
Постановка задачи TE
Две группы целей Traffic Engineering:
1. Ориентированные на улучшение характеристик трафика:
Минимизации процента потерь пакетов
Минимизации задержек в очередях
Максимизации передаваемых всплесков трафика
Рассматриваются относительно всего набора потоков трафика, например: min (max Pi), где Pi – потери i-го потока
2. Ориентированные на улучшение коэффициента использования ресурсов:
• максимизация загрузки каждого устройства и канала
• максимизация общей производительности сети (пакеты в сек)
Обе группы целей достигаются при снижении уровня заторов (congestion) в сети
Затор – появление большой очереди пакетов в определенной точке сети (порт, внутренний буфер устройства), приводит к длительному ожиданию пакетов и потерям при превышении очереди емкости буфера
Влияние заторов
Заторы приводят к:
•Снижение качественных характеристик передаваемого трафика – большие задержки, высокий процент потерь при постоянных заторах в какой-либо части сети (если средняя интенсивность трафика постоянно превышает среднюю пропускную способность канала или устройства)
•Неэффективному использованию ресурсов – остальные (кроме перегруженных) ресурсы недоиспользуются, так как к ним поступает меньше пакетов (из-за потерь)
Причины появления заторов
1. Сетевых ресурсов недостаточно для обслуживания предложенной нагрузки (offered load)
2. Потоки трафика неэффективно распределены по инфраструктуре сети
Устранение заторов
1. Недостаток ресурсов устраняется:
Увеличением емкости ресурсов – замена каналов и устройств на более производительные
Применением классической техники борьбы с заторами:
ограничение интенсивности входных потоков (rate limit)
управление очередями для перераспределения ресурса в пользу привилегированного трафика (приоритеты)
Устранение заторов (2)
2. Неэффективность распределения потоков трафика устраняется методами Traffic Engineering – предложенная нагрузка более сбалансировано заполняет имеющиеся каналы и устройства.
Пути следования трафика по сети выбираются в общем случае отличными от путей, выбираемых IGP
Предложенная нагрузка
12
25
13
50 308
Распределение нагрузки по сети – выбор путей следования трафика
25
13
308
50
12
155
R1
25
7510
10010020
50
100
4050 50
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
Критерий оптимального распределения нагрузки
Min (max Ki),
где Ki – коэффициент использования i-го ресурса
Ресурс – входной и выходной интерфейсы каждого маршрутизатора
Какой коэффициент использования входного интерфейса маршрутизатора R1?
Какой интерфейс в сети имеет максимальный коэффициент использования?
Как лучше проложить путь для нового потока R2-R6 с интенсивностью 10?
Распространение топологической информации
Необходим протокол маршрутизации состояния связей
IS-IS or OSPF
Это требование должно соблюдаться только для задач MPLS-TE!
Не для VPN или IGP
Почему протокол состояния связейПример сети:
- все связи имеют стоимость 10- путь от RtrA до RtrE: A->B->E, стоимость 20- весь трафик от A к {E,F,G} идет по пути A->B->E
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
Что видит протокол класса DV
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F B 30
G B 30
RtrA не видит все связи
RtrA знает только об одном кратчайшем пути
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
Что видит протокол состояния связей
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F B 30
G B 30
RtrA видит все связиRtrA вычисляет кратчайший путь
Таблица маршрутизации получается та же!
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
Проблема кратчайшего пути
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F B 30
G B 30
Некоторые связи DS3, а некоторые - OC3
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
OC3
OC3
DS3
DS3
DS3
OC3
OC3
• RtrA передает 40Mb для RtrF, 40Mb - для RtrG
• Огромные (44%) потери пакетов на связи RtrB->RtrE!
• Изменение пути на A->C->D->E не помогает
Решение с помощью MPLS TE
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F Tunnel0 30
G Tunnel1 30
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
OC3
OC3
DS3
DS3
DS3
OC3
OC3
RtrA видит все связиRtrA вычисляет кратчайший путь на основе других критериев, отличных от просто крачайшего путиЗаторов нет!
Что такое туннель TE?
R1
R2
R3
R4
R5
R6
R7
R8
R9
R11
R10
Туннель – это путь между двумя LSR сети, заданный:
точно (strict) вручную (R3-R10-R11-R6)
свободно (loose) – (R3-R6)
Резервирует определенную пропускную способность для трафика (bandwidth)
Что такое туннель TE?
R1
R2
R3
R4
R5
R6
R7
R8
R9
R11
R10
Свободное задание туннеля (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)
Обычный SPF находит кратчайший путь по всем связям сети
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
“каковы кратчайшие пути ко всем маршрутизаторам?”
Вычисление пути
Решение – дерево кратчайших путей
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
“каковы кратчайшие пути ко всем маршрутизаторам?”
Вычисление пути
Обычный SPF
Constrained SPF – найти кратчайший путь к специфическому узлу
Принять во внимание ограничения!
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
“каков кратчайший путь к маршрутизатору F, на котором имеется 40 Мб полосы пропускания?”
OC3
OC3
DS3
DS3
DS3
OC3
OC3
Вычисление пути - CSPF
Решение
Совпало с решением обычного OSPF – в чем разница?
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
“каков кратчайший путь к маршрутизатору F, на котором имеется 40 Мб полосы пропускания?”
OC3
OC3
DS3
DS3
DS3
OC3
OC3
Вычисление пути - CSPF
Разница – при прокладке следующего пути 40 Мб
Изменилась доступная полоса
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
“каков кратчайший путь к маршрутизатору F, на котором имеется 40 Мб полосы пропускания?”
OC3
OC3
DS3
DS3
DS3
OC3
OC3
Вычисление пути - CSPF
5
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F Tunnel0 30
G Tunnel1 30
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
OC3
OC3
DS3
DS3
DS3
OC3
OC3
Конечный результат :- Пропускная способность
сети используется эффективно!
Вычисление пути - CSPF
А если имеется более чем один путь, удовлетворяющий условиям условиям требуемой пропускной способности?Алгоритм Алгоритм PCALCPCALC:
1. Найти все пути, удовлетворяющие ограничению bandwidth, с минимальной метрикой IGP (Дийкстра)
2. Выбрать путь с наибольшей минимальной полосой вдоль пути
3. Если он не один, то выбрать путь с наименьшим количеством хопов
4. Если он не один, то выбрать один случайным образом
Вычисление пути - CSPF
Алгоритм PCALC
Все связи {10,100M}Все связи {5,50M}
{cost, BW}
RtrA RtrZ
{8,90M}
{8,90M}
{4,90M}
{10,100M}
{8,80M}
Каков наилучший путь от A до Z
с BW 20M?
Путь имеет стоимость 25, не минимальную!
Алгоритм PCALC
Все связи {10,100M}Все связи {5,50M}
{cost, BW}
RtrA RtrZ
{8,90M}
{8,90M}
{4,90M}
{8,80M}
Каков наилучший путь от A до Z
с BW 20M?
Минимальная BW меньше, чем у других
путей!
Алгоритм PCALC
Все связи {10,100M}Все связи {5,50M}
{cost, BW}
RtrA RtrZ
{8,90M}
{8,90M}
{4,90M}
Каков наилучший путь от A до Z
с BW 20M?
Число хопов 5, а у других
путей 4!
Алгоритм PCALC
Все связи {10,100M}Все связи {5,50M}
{cost, BW}
RtrA RtrZ
{8,90M}
{8,90M}
Каков наилучший путь от A до Z
с BW 20M? Выбираем случайным
образом
Алгоритм PCALC
Все связи {10,100M}Все связи {5,50M}
{cost, BW}
RtrA RtrZ
{8,90M}
Каков наилучший путь от A до Z
с BW 20M?
Установление пути
Протоколы RSVP или CR-LDP
Cisco и Juniper поддерживают только RSVP
RFC2205 + draft-ietf-mpls-rsvp-lsp-tunnel
После выбора пути результат передается RSVP
RSVP использует сообщения PATH (downstream) и RESV (upstream) для расстановки меток и резервирования пропускной способности для туннеля
Установление пути
PATH : “Можно зарезервировать 40Mb вдоль данного пути?”RESV: “Да, и вот метка для этого пути”В каждом LSR формируется таблица продвижения NHLFE
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
= PATH messages
= RESV messages
Установление пути
Направление трафика в туннель
Три способа направления трафика (Cisco)
Autoroute
Static routes
Policy routing
AutorouteAutoroute - это использование туннеля как одного из следующих хопов в обычной таблице маршрутизации
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F Tunnel0 30
G Tunnel1 30
Autoroute
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
Физическая топология сети
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrI
AutorouteЛогическая топология сети в
маршрутизаторе RtrA
Остальные маршрутизаторы туннеля не видят!
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
Tunnel1
RtrI
Autoroute
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
Tunnel1
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F B 30
G Tunnel1 30
H Tunnel1 40
I Tunnel1 40
Таблица маршрутизации RtrA, сформированная после применения команд autoroute.
Все сети, находящиеся за туннелем, достигаются через туннель
RtrI
Статические маршруты
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
RtrA(config)#ip route H.H.H.H 255.255.255.255 Tunnel1
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
RtrI
Tunnel1
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrHRtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
RtrI
Node Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F B 30
G B 30
H Tunnel1 40
I B 40
Маршрут к RtrH известен через туннель
Маршруты к RtrG не используют туннель, хотя он и является конечной точкой туннеля!
Tunnel1
Статические маршруты
Policy routing (PBR)
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
RtrI
Tunnel1
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
Policy routingNode Next-Hop Cost
B B 10
C C 10
D C 20
E B 20
F B 30
G B 30
H B 40
I B 40
Таблица маршрутизации остается неизменной – сведений о туннелях в ней нет
Требуется IOS 12.0(16)ST or 12.2T или выше для поддержки команды‘set int Tunnel’
RtrA
RtrB
RtrC
RtrE
RtrD
RtrF
RtrG
RtrH
RtrI
Tunnel1
Рекомендации по применению методов направления трафика в туннель (Cisco)
Можно использовать любую комбинацию методов of autoroute, static routes или PBR.
Проще всего использовать autoroute, а для задания BGP Next-hop – статические записи
Top Related