close

Вход

Забыли?

вход по аккаунту

- Cisco Connect

код для вставкиСкачать
Архитектура
Segment Routing
Дмитрий Дементьев
Системный инженер, SP Russia
MPLS – простой или сложный?
Простой Data Plane
Label/Label stack + 3 операции (push/pop/swap)
Сложный Control Plane
IGP + LDP + RSVP + Service Plane (LDP/BGP)
Требуется синхронизация протоколов
Легко сделать ошибку
Сложно отлаживать
Большая нагрузка на Control Plane
Что хочется сделать?
 Сохранить и использовать MPLS Data Plane
 Сохранить и использовать все MPLS-сервисы

VPLS, VPNv4/v6, VPLS, FRR, L2VPN и другие
 Создать более удобный Control Plane для forwarding



Меньше протоколов
Меньше настроек
Меньше нагрузки на CPU
 Сохранить возможность совместной работы с LDP и RSVP
Что такое Segment routing?
Source Routing – возможность задать на источнике (Ingress PE) путь
прохождения пакетов по сети, с помощью последовательности
сегментов в заголовке самих пакетов
Сегмент = Инструкция (например, «доставить трафик до узла N
кратчайшим путем»)
MPLS forwarding plane Сегмент = Label
IPv6 forwarding plane
 Тема нашего разговора
Сегмент = extension header
The state is no longer in the network but in the packet
Segment routing и IGP
Node A
lo0: 172.16.12.1/32
Node A
lo0: 172.16.12.1/32
Adj-SID: 1100
1.1.1.1/32
Node-SID: 64
Prefix-SID: 1111
Node-SID (глобальный)
Доставить пакет до узла по SPT
Adj-SID (локальный)
Передать пакет через интерфейс
Prefix-SID (глобальный) Доставить пакет до префикса по SPT
Anycast-SID (глобальный)
Передать пакет по подмножеству узлов
Segment routing и IGP
Стандартизация
 Простое расширение ISIS/OSPF
 Cisco/Juniper/ALU/Ericson
Node Segment (пример)
FEC Z
push 65
A
Packet
to Z
swap 65
to 65
swap 65
to 65
pop 65
C
B
D
65
65
65
Packet
to Z
Packet
to Z
Packet
to Z
Z
Packet
to Z
65
Пакет с label 65
передается к узлу “Z”
по кратчайшему пути
 Узел Z анонсирует node-SID 65

IGP sub-TLV extension
 Все узлы инсталлируют node-SID в MPLS Data Plane
Adjacency Segment
Pop 9003
9001 передать через 1-ый интерфейс
Pop 9001
B
C
Pop 9002
Pop 9003
9002 передать через 2-ой интерфейс
9003 балансировать по группе
интерфейсов
Adjacency Segment (пример)
A
B
C
D
Pop
9003
M
N
O
Z
P
65
На узле “C” пакет с меткой
9003 должен быть передан
по каналу “C-O”
 Узел “C” анонсирует adj-SID по IGP
 Только узел “C” инсталлирует adj-SID в MPLS Data Plane
Комбинируем сегменты
72
72
9003
9003
65
9003
65
Packet
to Z
Packet
to Z
Packet
to Z
A
72
65
72
C
B
D
Pop
9003
M
O
N
Z 65
P
Packet
to Z
65
65
65
Packet
to Z
Packet
to Z
 Возможность совмещать TE и ECMP
 Всего один протокол (IGP + extension)
Таблица LFIB с Segment Routing
 LFIB наполняется при помощи IGP
(ISIS / OSPF)
 Таблица коммутации постоянна
(Nodes + Adjacencies) вне
зависимости от числа возможных
путей
 Другие протоколы (LDP, RSVP,
BGP) по прежнему могут
программировать LFIB
идентификаторы
Node Segment
идентификаторы
Adjacency Segment
draft-previdi-isis-segment-routing-extensions
draft-psenak-ospf-segment-routing-extensions
PE
PE
PE
PE
PE
PE
P
PE
PE
In
Label
Out
Label
Out
Interface
L1
L1
Intf1
L2
L2
Intf1
…
…
…
L8
L8
Intf4
L9
Pop
Intf2
L10
Pop
Intf2
…
…
…
Ln
Pop
Intf5
Таблица коммутации
остается неизменной
Segment Routing и сервисы MPLS
Эффективное использование
приемущества пакетных сетей
(ecmp-aware shortest-path) :
 node segment!
Упрощение работы сети:
 одним работающим протоколом
меньше
 отсутствует LDP/ISIS
синхронизация
A
B
PE2
PE1
M
N
Все сущестующие VPN
сервисы возможно
реализовать поверх node
segment для PE2
Anycast segment для Dual Core
Используем Node-SID [65]
Передаем трафик до узла “Z” используя
ECMP в обеих плоскостях
Используем Anycast-SID +
Node-SID [111, 65]
Передаем трафик до узла “Z”
используя ECMP только в одной
плоскости
ECMP-awareness!
Основные отличия SR от существующей модели MPLS
Простой Control Plane (не требуется LDP и RSVP)

Если требуется Segment routing может работать параллельно с
LDP/RSVP
— draft-filsfils-spring-segment-routing-ldp-interop-00
Per-tunnel forwarding state только на ingress узле.

Нет per-tunnel states на mid-point (как в RSVP MPLS TE)
Возможность сочетать ECMP и explicit-routing
Простой Control Plane
(только IGP + extension)
Поддержка ECMP
помогает масштабироваться
Topology Independent LFA FRR
Segment Routing позволяет гарантироватьLFA
FRR в любой топологии
Backbone
 поддержка ассиметричных метрик
C1
C2
Отсутствует необходимость в directed LDP
сесии для P node
 RLFA
Для симметричных топологий:




Отсутствие дополнительных вычислений
Простой стек меток для восстановления
Node segment to P node
Adjacency segment from P to Q
E1
E4
1000
E2
E3
Node segment
to P node
Default metric: 10
Оптимальный расчет FRR маршрута
Сравнение технологий для рачета FRR
Применение Segment Routing в SDN
Для путь A-Z стек меток
{66, 68, 65}
2Gb/s от A до Z плиз
BGP-LS, Netconf, SNMP
66
Перегрузка
68
65
Расчитанный путь - ABCOPZ.
Требуемая полоса принята во
внимание. Обходим перегрузки в
сети.
Нет per-tunnel state на mid-point  можно перейти к tunnel per-application
ECMP + Explicit routing  позволяет уменьшить количество TE tunnels
Не нужно программировать mid-point  проще контролировать сеть
Сеть проста, программируема и способна реагировать на
возникающие события
18
Расширение PCE для Segment Routing
 Segment Routing позволяет задать маршрут на
базе SR IDs распространяемых IGP
Stateful PCE
База маршрутов
(LSP)
Приложение
 PCE расчитывает и задает маршрут в виде
Запрос
маршрута
последовательности SR IDs (меток)
 PCC коммутирует трафик добавляя список SR IDs
к пакетам
 Предварительная сигнализация пути не
Топология сети
PCEP
Segment List:: 10,20,30,40
Stateful
PCC
производиться
 Размерность таблиц коммутации постоянная и
минимальная
 Возможность визуализации путей
 Состояния маршрутов на P-устройствах
отсутствует – вся информация в пакете
draft-sivabalan-pce-segment-routing
идентификаторы
Node Segment
идентификаторы
Adjacency
Segment
19
In
Out
Int
L1
L1
Intf1
…
…
…
L7
L7
Int3
L8
Pop
Intf3
…
…
…
L9
Pop
Intf5
Размер таблиц
коммутации
постояннен
Критика Segment Routing
Проблема: HW ограничения глубины стека
В большинстве случаев для TE достаточно 2-3 сегмента
Для NG NPU глубина стека >10 лейблов
Проблема: Segment routing TE не учитывает ресурсы
Это так, но для этого есть контроллер
Еще один важный слайд
MPLS-метки лишены собственной семантики
Сегмент может выражать любую инструкцию
•
•
•
•
•
Service
Context
IGP-based forwarding construct
BGP-based forwarding construct
Locator
SR и управление внешней связностью
(Egress peering engineering)
http://tools.ietf.org/html/draft-filsfils-spring-segment-routing-central-epe-01
Cisco, Facebook, Yandex
Определяем точку
выхода из AS на
ingress router
D
AS2
A
C
B
Z
AS1
AS4
E
AS3
PeerNode SID - Передать пакет через заданный пирам
PeerAdj SID
- Передать пакет через заданный интерфейс
PeerSet SID
- Балансировать трафик по группе пиров
Реализация Segment Routing на
платформе ASR9K
Функционал Segment Routing: фазы
 IS-IS IPV4 MPLS nodal segment
 Allow to express dynamic path
XR 5.2.0
 IS-IS IPv4 Segment Routing chip in the nigth with LDP deployement
 IS-IS IPv4 LFA and rLFA FRR
 IS-IS MPLS Nodal and Adjacency segment
 Allows to express dynamic and explicit path
XR 5.2.2
 IS-IS Segment Routing interworking with LDP
 IS-IS IPv4/IPv6 Topology Independent Loop Free Alaternat Fast ReRoute
 OSPFv2 Nodal segment
Пример конфигурации для IS-IS
router isis ABC
is-type level-2-only
net 49.0000.1720.1625.5001.00
address-family ipv4 unicast
metric-style wide
segment-routing mpls
!
interface Loopback0
passive
address-family ipv4 unicast
prefix-sid absolute 16001
!
!
interface TenGigE0/0/2/0
point-to-point
address-family ipv4 unicast
!
interface TenGigE0/0/3/0
address-family ipv4 unicast
Wide metrics
enable SR on all ipv4 interfaces in
this IS-IS instance
Ipv4 Prefix-SID value for
loopback0
Adjacency-SIDs will automatically
be allocated for all adjacencies
Проверка IS-IS Database
RP/0/0/CPU0:iosxrv-2#show isis database verbose iosxrv-2.00-00
IS-IS 1 (Level-1) Link State Database
LSPID
LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL
xrvr-2.00-00
0x00000007
0x3c0a
671
0/0/0
Area Address: 49.1111
NLPID:
0xcc
Hostname:
xrvr-2
IP Address:
1.0.0.2
Router Cap:
1.0.0.2, D:0, S:0
Segment Routing: I:1 V:0, SRGB Base: 16000 Range: 8000
Metric: 10
IS-Extended xrvr-1.00
Interface IP Address: 10.0.128.6
Neighbor IP Address: 10.0.128.5
ADJ-SID: F:0 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24000
Metric: 10
IS-Extended xrvr-3.00
Interface IP Address: 10.0.0.1
Neighbor IP Address: 10.0.0.2
ADJ-SID: F:0 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24001
Metric: 0
IP-Extended 1.0.0.2/32
Prefix-SID Index: 2, R:0 N:0 P:0 E:0 V:0 L:0
Metric: 10
IP-Extended 10.0.0.0/30
Metric: 10
IP-Extended 10.0.128.4/30
Total Level-1 LSP count: 1
Local Level-1 LSP count: 0
LSP ID
SRGB
starts at 16,000 and ends at 23,999
I:1 ipv4
V:0 no ipv6
Adj SID 24,000
F:0 ipv4
V:1 value, not index
L:1 local significance
Prefix-SID index “2” for 1.0.0.2/32
R:0 not propagated
N:0 not a node SID
P:0 PHP on
E:0 no explicit-Null label
V:0 index
L:0 global significance
Segment Routing вместе с LDP
Приоритет использования меток (SR или же LDP) может быть явно задан при
конфигурации IS-IS
 По умолчанию используем LDP
router isis 1
address-family ipv4 unicast
segment-routing mpls sr-prefer
Проверка интерфейсов для MPLS Forwarding
RP/0/RSP0/CPU0:asr9000-p1#show mpls
Mon Oct 7 07:14:32.151 PDT
Interface
LDP
-------------------------- -------Loopback0
No
TenGigE0/0/2/0
No
TenGigE0/0/2/1
No
GigabitEthernet0/0/0/0
No
GigabitEthernet0/0/0/1
No
RP/0/RSP0/CPU0:asr9000-p1#
interfaces
Tunnel
-------No
No
No
No
No
Static
-------No
No
No
No
No
Enabled
-------Yes
Yes
Yes
Yes
Yes
Interfaces enabled for
MPLS forwarding
No interfaces
enabled for LDP or
RSVP-TE
Отображение MPLS Forwarding
RP/0/RSP0/CPU0:asr9000-pe1#show mpls forwarding
Tue Oct 8 10:48:21.387 UTC
Local Outgoing
Prefix
Outgoing
Label Label
or ID
Interface
------ ----------- ------------------ -----------16000 Pop
No ID
Te0/0/2/1
16001 Pop
No ID
Te0/0/2/0
16002 Aggregate
RED: Per-VRF Aggr[V]
\
RED
225465 Aggregate
No ID
default
225466 Pop
No ID
Te0/0/2/0
225467 225467
No ID
Te0/0/2/1
225565 Pop
No ID
Te0/0/2/1
225566 225566
No ID
Te0/0/2/0
225566
No ID
Te0/0/2/1
RP/0/RSP0/CPU0:asr9000-pe1#
Next Hop
Bytes
Switched
--------------- -----------172.16.0.3
0
172.16.0.0
0
172.16.0.0
172.16.0.3
172.16.0.3
172.16.0.0
172.16.0.3
0
0
0
0
0
0
0
Adjacency SIDs
Prefix (node) SIDs
Segment Routing – сбалансированный подход
Segment Routing
Distribution: Simple, Prefix Segments, TILFA
Centralization: Swift & optimum Tactical TE
Distribution-only
RSVP-TE
Не оптимальный и
сложный в эксплуатации
Balance
Centralized-only
OpenFlow
Масштабируемость?
Быстрые сроки
развертывания?
Развитие технологии
 Активная работа в IETF
 Работа в рамках SPRING WG
 15 IETF drafts released
Orange, Deutche Telecom,
British Telecom, Comcast,
Google, Facebook, Yandex,
Alcatel-Lucent, Ericson,
Juniper, Huawei
www.segment-routing.net
Полный перечень материалов
Ждем ваших сообщений с хештегом
#CiscoConnectRu
Спасибо за внимание!
Пожалуйста, используйте код для
оценки доклада
2248
Ваше мнение очень важно для нас
Дементьев Дмитрий
[email protected]
CiscoRu
24.11.2014
Cisco
© 2014 Cisco and/or its affiliates. All rights reserved.
CiscoRussia
1/--страниц
Пожаловаться на содержимое документа