Тема 4 . MPLS Traffic Engineering (TE)

Preview:

DESCRIPTION

Тема 4 . MPLS Traffic Engineering (TE). Постановка задачи Поиск пути с помощью протоколов класса Constraint-based Routing - OSPF и IS-IS с расширениями Сигнализация с помощью RSVP ext и CR - LDP Примеры конфигурирования туннелей MPLS TE. Постановка задачи TE. - PowerPoint PPT Presentation

Citation preview

ТемаТема 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 – статические записи

Recommended