Segment routing- возможность задать на источнике (Ingress PE) путь прохождения пакетов по сети, с помощью последовательности сегментов в заголовке самих пакетов
2. MPLS –простой или сложный?
Простой Data Plane
Label/Labelstack+3операции(push/pop/swap)
Сложный Control Plane
IGP + LDP + RSVP + Service Plane (LDP/BGP)
Требуется синхронизация протоколов
Легко сделать ошибку
Сложно отлаживать
Большая нагрузка на Control Plane
3. Что хочется сделать?
Сохранить и использовать MPLS Data Plane
Сохранить и использовать все MPLS-сервисы
VPLS, VPNv4/v6, VPLS, FRR, L2VPN и другие
Создать более удобныйControl Planeдля forwarding
Меньше протоколов
Меньше настроек
Меньше нагрузки на CPU
Сохранить возможность совместной работы с LDP и RSVP
4. Что такое Segment routing?
SourceRouting–возможность задать на источнике (Ingress PE) путь прохождения пакетов по сети, с помощью последовательности сегментов в заголовке самих пакетов
Сегмент= Инструкция (например,«доставить трафик до узла N кратчайшим путем»)
MPLSforwarding plane Сегмент = Label
IPv6 forwarding plane Сегмент = extension header
Тема нашего разговора
The state is no longer in the network but in the packet
5. Segment routing и IGP
Node A
lo0: 172.16.12.1/32
Node-SID: 64
Node-SID (глобальный) Доставить пакет до узла по SPT
Adj-SID (локальный)Передать пакет через интерфейс
Prefix-SID (глобальный)Доставить пакет до префикса по SPT
Anycast-SID (глобальный)Передать пакет по подмножеству узлов
Adj-SID: 1100
Node A
lo0: 172.16.12.1/32
1.1.1.1/32
Prefix-SID: 1111
6. Segment routing и IGPСтандартизация
Простое расширениеISIS/OSPF
Cisco/Juniper/ALU/Ericson
7. Node Segment(пример)
Узел Z анонсирует node-SID 65
IGP sub-TLV extension
Все узлыинсталлируют node-SID в MPLS Data Plane
A
B
C
Z
D
65
FEC Z push 65
swap 65 to 65
swap 65 to 65
pop 65
Packet to Z
Packet to Z
65
Packet to Z
65
Packet to Z
65
Packet to Z
Пакет с label 65 передается к узлу “Z” по кратчайшему пути
8. Adjacency Segment
B
C
Pop 9003
9001передать через 1-ый интерфейс
9002передать через 2-ой интерфейс
9003балансировать по группе интерфейсов
Pop 9001
Pop 9002
Pop 9003
9. Adjacency Segment(пример)
Узел “C” анонсирует adj-SID по IGP
Только узел “C” инсталлирует adj-SID в MPLS Data Plane
A
B
C
M
N
O
Z
D
P
Pop 9003
65
На узле “C” пакет с меткой 9003 должен быть передан по каналу “C-O”
10. Комбинируем сегменты
Возможность совмещать TE и ECMP
Всего один протокол (IGP + extension)
A
B
C
M
N
O
Z
D
P
Pop 9003
Packet to Z
65
9003
Packet to Z
65
Packet to Z
Packet to Z
65
Packet to Z
65
9003
72
Packet to Z
65
9003
72
72
72
65
65
11. Таблица LFIB сSegment Routing
LFIB наполняется при помощи IGP (ISIS / OSPF)
Таблица коммутации постоянна(Nodes + Adjacencies) вне зависимости от числа возможных путей
Другие протоколы (LDP, RSVP, BGP) по прежнему могут программироватьLFIB
PE
PE
PE
PE
PE
PE
PE
PE
P
In Label
Out Label
Out Interface
L1
L1
Intf1
L2
L2
Intf1
…
…
…
L8
L8
Intf4
L9
Pop
Intf2
L10
Pop
Intf2
…
…
…
Ln
Pop
Intf5
идентификаторы
Node Segment
идентификаторы
Adjacency Segment
Таблица коммутации остаетсянеизменной
draft-previdi-isis-segment-routing-extensions
draft-psenak-ospf-segment-routing-extensions
12. Segment Routing и сервисы MPLS
Эффективное использование приемущества пакетных сетей (ecmp-aware shortest-path) :
node segment!
Упрощение работы сети:
одним работающим протоколом меньше
отсутствуетLDP/ISIS синхронизация
A
B
M
N
PE2
PE1
Всесущестующие VPN сервисы возможно реализовать поверхnode segmentдляPE2
14. Основные отличия 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
помогает масштабироваться
15. Topology Independent LFA FRR
Segment Routing позволяет гарантироватьLFA FRR в любой топологии
поддержка ассиметричных метрик
Отсутствует необходимость в directed LDP сесии дляP node
RLFA
Для симметричных топологий:
Отсутствие дополнительных вычислений
Простой стек меток для восстановления
Node segment to P node
Adjacency segment from P to Q
Backbone
C1
C2
E1
E4
E3
E2
1000
Node segment
to P node
Default metric: 10
18. Применение Segment Routing в SDN
Расчитанный путь -ABCOPZ. Требуемая полоса принята во внимание. Обходим перегрузки в сети.
Перегрузка
66
65
68
Для путьA-Zстек меток{66, 68, 65}
Сеть проста, программируемаиспособна реагироватьна возникающие события
2Gb/s от A доZ плиз
BGP-LS, Netconf, SNMP
Нет per-tunnel state на mid-pointможно перейти кtunnelper-application
ECMP + Explicit routing позволяет уменьшить количество TE tunnels
Не нужно программировать mid-point проще контролировать сеть
18
19. Расширение PCEдля Segment Routing
PCEP
Segment List:: 10,20,30,40
StatefulPCE
Топологиясети
StatefulPCC
In
Out
Int
L1
L1
Intf1
…
…
…
L7
L7
Int3
L8
Pop
Intf3
…
…
…
L9
Pop
Intf5
Приложение
Запрос
маршрута
draft-sivabalan-pce-segment-routing
Segment Routing позволяет задать маршрут на базе SR IDs распространяемых IGP
PCE расчитывает и задает маршрут в виде последовательности SR IDs (меток)
PCC коммутирует трафик добавляя список SR IDs к пакетам
Предварительная сигнализация пути не производиться
Размерность таблиц коммутации постоянная и минимальная
Возможность визуализации путей
Состояния маршрутов на P-устройствах отсутствует –вся информация в пакете
идентификаторы
Node Segment
идентификаторы
Adjacency Segment
Размер таблицкоммутации постояннен
База маршрутов
(LSP)
19
20. Критика Segment Routing
Проблема: HW ограничения глубины стека
В большинстве случаев для TE достаточно 2-3 сегмента
Для NG NPU глубина стека >10 лейблов
Проблема: Segment routing TE не учитывает ресурсы
Это так, но для этого есть контроллер
21. Еще один важный слайд
MPLS-метки лишены собственной семантики
Сегмент может выражать любую инструкцию
•
Service
•
Context
•
IGP-based forwarding construct
•
BGP-based forwarding construct
•
Locator
22. SR и управление внешней связностью(Egress peering engineering)
A
B
D
Z
AS1
AS2
AS3
AS4
E
C
http://tools.ietf.org/html/draft-filsfils-spring-segment-routing-central-epe-01
Cisco, Facebook, Yandex
PeerNodeSID-Передать пакет через заданный пирам
PeerAdjSID-Передать пакет через заданный интерфейс
PeerSetSID-Балансировать трафик по группе пиров
Определяем точку выхода из AS на ingress router
24. ФункционалSegment Routing: фазы
IS-IS IPV4MPLSnodal segment
Allow to express dynamic path
IS-IS IPv4Segment Routing chip in the nigthwith LDPdeployement
IS-IS IPv4LFAand rLFAFRR
XR 5.2.0
IS-IS MPLS Nodal and Adjacency segment
Allows to express dynamic and explicit path
IS-IS Segment Routing interworking with LDP
IS-IS IPv4/IPv6 Topology Independent Loop Free AlaternatFast ReRoute
OSPFv2Nodal segment
XR 5.2.2
25. router isisABC
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-sidabsolute 16001
!
!
interface TenGigE0/0/2/0
point-to-point
address-family ipv4 unicast
!
interface TenGigE0/0/3/0
address-family ipv4 unicast
Ipv4 Prefix-SID value for loopback0
Wide metrics
enable SR on all ipv4 interfaces in this IS-IS instance
Adjacency-SIDs will automatically be allocated for all adjacencies
Пример конфигурации для IS-IS
26. RP/0/0/CPU0:iosxrv-2#show isisdatabaseverboseiosxrv-2.00-00
IS-IS 1 (Level-1) Link State Database
LSPID LSP SeqNumLSP Checksum LSP HoldtimeATT/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
SRGB
starts at 16,000 and ends at 23,999I:1 ipv4V:0 no ipv6
AdjSID 24,000F:0 ipv4V:1 value, not indexL:1 local significance
LSP ID
Prefix-SID index “2” for 1.0.0.2/32R:0 not propagatedN:0 not a node SIDP:0 PHP on
E:0 no explicit-Null labelV:0 indexL:0 global significance
ПроверкаIS-IS Database
27. Segment Routing вместе с LDP
Приоритет использования меток (SR или жеLDP)может быть явно задан при конфигурации IS-IS
По умолчанию используемLDP
router isis1
address-family ipv4 unicast
segment-routing mplssr-prefer
28. RP/0/RSP0/CPU0:asr9000-p1#show mplsinterfaces
Mon Oct 7 07:14:32.151 PDT
Interface LDP Tunnel Static Enabled
----------------------------------------------------------
Loopback0 No NoNoYes
TenGigE0/0/2/0 No NoNoYes
TenGigE0/0/2/1 No NoNoYes
GigabitEthernet0/0/0/0 No NoNoYes
GigabitEthernet0/0/0/1 No NoNoYes
RP/0/RSP0/CPU0:asr9000-p1#
Проверка интерфейсов дляMPLS Forwarding
Interfaces enabled for MPLS forwarding
No interfaces enabled for LDP or RSVP-TE
29. ОтображениеMPLS Forwarding
RP/0/RSP0/CPU0:asr9000-pe1#show mplsforwarding
Tue Oct 8 10:48:21.387 UTC
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Labelor ID Interface Switched
--------------------------------------------------------------------------
16000 Pop No ID Te0/0/2/1 172.16.0.3 0
16001 Pop No ID Te0/0/2/0 172.16.0.0 0
16002 Aggregate RED: Per-VRF Aggr[V]
RED 0
225465 Aggregate No ID default 0
225466 Pop No ID Te0/0/2/0 172.16.0.0 0
225467 225467 No ID Te0/0/2/1 172.16.0.3 0
225565 Pop No ID Te0/0/2/1 172.16.0.3 0
225566 225566 No ID Te0/0/2/0 172.16.0.0 0
225566 No ID Te0/0/2/1 172.16.0.3 0
RP/0/RSP0/CPU0:asr9000-pe1#
Adjacency SIDs
Prefix (node) SIDs
30. Segment Routing –сбалансированный подход
Balance
Distribution-only
Centralized-only
RSVP-TE
Не оптимальныйи сложный в эксплуатации
OpenFlowМасштабируемость? Быстрые сроки развертывания?
Segment Routing
Distribution: Simple, Prefix Segments, TILFA
Centralization: Swift & optimum Tactical TE
31.
Активная работа в IETF
Работа в рамках SPRING WG
15 IETF drafts released
Развитие технологии
www.segment-routing.net
Полный перечень материалов
Orange, DeutcheTelecom, British Telecom, Comcast, Google, Facebook, Yandex, Alcatel-Lucent, Ericson, Juniper, Huawei