Upload
cisco-russia
View
138
Download
6
Embed Size (px)
DESCRIPTION
Segment routing- возможность задать на источнике (Ingress PE) путь прохождения пакетов по сети, с помощью последовательности сегментов в заголовке самих пакетов
Citation preview
Дмитрий ДементьевСистемный инженер, SP Russia
Архитектура Segment Routing
MPLS – простой или сложный?Простой Data Plane
Label/Label stack + 3 операции (push/pop/swap)
Сложный Control PlaneIGP + 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 Alo0: 172.16.12.1/32
Node-SID: 64
Node-SID (глобальный) Доставить пакет до узла по SPT
Adj-SID (локальный) Передать пакет через интерфейс
Prefix-SID (глобальный) Доставить пакет до префикса по SPT
Anycast-SID (глобальный) Передать пакет по подмножеству узлов
Adj-SID: 1100
Node Alo0: 172.16.12.1/32
1.1.1.1/32
Prefix-SID: 1111
Segment routing и IGPСтандартизация
Простое расширение ISIS/OSPF Cisco/Juniper/ALU/Ericson
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
65Packet
to Z
65Packet
to Z
65Packet
to Z
Пакет с label 65 передается к узлу “Z”по кратчайшему пути
Adjacency Segment
B C
Pop 90039001 передать через 1-ый интерфейс
9002 передать через 2-ой интерфейс
9003 балансировать по группе интерфейсов
Pop 9001
Pop 9002
Pop 9003
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”
Комбинируем сегменты
Возможность совмещать TE и ECMP Всего один протокол (IGP + extension)
A B C
M N O
Z
D
P
Pop 9003
Packet to Z
659003
Packet to Z
65
Packet to Z
Packet to Z
65
Packet to Z
659003
72
Packet to Z
659003
72
7272
65
65
Таблица 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 Intf1L2 L2 Intf1… … …L8 L8 Intf4L9 Pop Intf2
L10 Pop Intf2… … …Ln Pop Intf5
идентификаторыNode Segment
идентификаторыAdjacency Segment
Таблица коммутации остается неизменной
draft-previdi-isis-segment-routing-extensionsdraft-psenak-ospf-segment-routing-extensions
Segment Routing и сервисы MPLS
Эффективное использование приемущества пакетных сетей (ecmp-aware shortest-path) : node segment!
Упрощение работы сети: одним работающим протоколом
меньше отсутствует LDP/ISIS
синхронизация
A B
M N
PE2PE1
Все сущестующие 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 в любой топологии
поддержка ассиметричных метрикОтсутствует необходимость в directed LDP сесии для P node
RLFAДля симметричных топологий:
Отсутствие дополнительных вычислений Простой стек меток для восстановления Node segment to P node Adjacency segment from P to Q
Backbone
C1 C2
E1 E4
E3E21000
Node segment to P node
Default metric: 10
Оптимальный расчет FRR маршрута
Сравнение технологий для рачета FRR
Применение Segment Routing в SDN
Расчитанный путь - ABCOPZ. Требуемая полоса принята во
внимание. Обходим перегрузки в сети.
Перегрузка66
6568
Для путь A-Z стек меток{66, 68, 65}
Сеть проста, программируема и способна реагировать на возникающие события
2Gb/s от A до Z плиз
BGP-LS, Netconf, SNMP
Нет per-tunnel state на mid-point можно перейти к tunnel per-applicationECMP + Explicit routing позволяет уменьшить количество TE tunnelsНе нужно программировать mid-point проще контролировать сеть
18
Расширение PCE для Segment Routing
PCEPSegment List:: 10,20,30,40
Stateful PCE
Топология сети
StatefulPCC
In Out IntL1 L1 Intf1… … …L7 L7 Int3L8 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
Критика 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)
A
B
D
ZAS1
AS2
AS3
AS4E
C
http://tools.ietf.org/html/draft-filsfils-spring-segment-routing-central-epe-01Cisco, Facebook, Yandex
PeerNode SID - Передать пакет через заданный пирам
PeerAdj SID - Передать пакет через заданный интерфейс
PeerSet SID - Балансировать трафик по группе пиров
Определяем точку выхода из AS на ingress router
Реализация Segment Routing на платформе ASR9K
Функционал Segment Routing: фазы IS-IS IPV4 MPLS nodal segment
Allow to express dynamic path IS-IS IPv4 Segment Routing chip in the nigth with LDP deployement IS-IS IPv4 LFA and rLFA FRR
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 Alaternat Fast ReRoute OSPFv2 Nodal segment
XR 5.2.2
router isis ABCis-type level-2-onlynet 49.0000.1720.1625.5001.00address-family ipv4 unicastmetric-style widesegment-routing mpls
!interface Loopback0passiveaddress-family ipv4 unicastprefix-sid absolute 16001
!!interface TenGigE0/0/2/0point-to-pointaddress-family ipv4 unicast!interface TenGigE0/0/3/0address-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
RP/0/0/CPU0:iosxrv-2#show isis database verbose iosxrv-2.00-00IS-IS 1 (Level-1) Link State DatabaseLSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OLxrvr-2.00-00 0x00000007 0x3c0a 671 0/0/0Area Address: 49.1111NLPID: 0xccHostname: xrvr-2IP Address: 1.0.0.2Router Cap: 1.0.0.2, D:0, S:0Segment Routing: I:1 V:0, SRGB Base: 16000 Range: 8000
Metric: 10 IS-Extended xrvr-1.00Interface IP Address: 10.0.128.6Neighbor IP Address: 10.0.128.5ADJ-SID: F:0 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24000
Metric: 10 IS-Extended xrvr-3.00Interface IP Address: 10.0.0.1Neighbor IP Address: 10.0.0.2ADJ-SID: F:0 B:0 V:1 L:1 S:0 weight:0 Adjacency-sid:24001
Metric: 0 IP-Extended 1.0.0.2/32Prefix-SID Index: 2, R:0 N:0 P:0 E:0 V:0 L:0
Metric: 10 IP-Extended 10.0.0.0/30Metric: 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,999
I:1 ipv4V:0 no ipv6
Adj SID 24,000F:0 ipv4
V: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 SID
P:0 PHP onE:0 no explicit-Null label
V:0 indexL:0 global significance
Проверка IS-IS Database
Segment Routing вместе с LDP
Приоритет использования меток (SR или же LDP) может быть явно задан при конфигурации IS-IS
По умолчанию используем LDP
router isis 1address-family ipv4 unicastsegment-routing mpls sr-prefer
RP/0/RSP0/CPU0:asr9000-p1#show mpls interfaces Mon Oct 7 07:14:32.151 PDTInterface LDP Tunnel Static Enabled -------------------------- -------- -------- -------- --------Loopback0 No No No YesTenGigE0/0/2/0 No No No YesTenGigE0/0/2/1 No No No YesGigabitEthernet0/0/0/0 No No No YesGigabitEthernet0/0/0/1 No No No YesRP/0/RSP0/CPU0:asr9000-p1#
Проверка интерфейсов для MPLS Forwarding
Interfaces enabled for MPLS forwarding
No interfaces enabled for LDP or
RSVP-TE
Отображение MPLS ForwardingRP/0/RSP0/CPU0:asr9000-pe1#show mpls forwarding Tue Oct 8 10:48:21.387 UTCLocal Outgoing Prefix Outgoing Next Hop Bytes Label Label or 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
Segment Routing – сбалансированный подход
BalanceDistribution-only Centralized-only
RSVP-TEНе оптимальный и
сложный в эксплуатации
OpenFlowМасштабируемость?
Быстрые сроки развертывания?
Segment RoutingDistribution: Simple, Prefix Segments, TILFACentralization: Swift & optimum Tactical TE
Активная работа в IETF Работа в рамках SPRING WG 15 IETF drafts released
Развитие технологии
www.segment-routing.netПолный перечень материалов
Orange, Deutche Telecom, British Telecom, Comcast, Google, Facebook, Yandex,
Alcatel-Lucent, Ericson, Juniper, Huawei
CiscoRu Cisco CiscoRussia
Ждем ваших сообщений с хештегом#CiscoConnectRu
Пожалуйста, используйте код для оценки доклада
2248Ваше мнение очень важно для нас
Спасибо за внимание!
24.11.2014 © 2014 Cisco and/or its affiliates. All rights reserved.
Дементьев Дмитрий[email protected]