Segment Routing: фундамент для построения SDN Routing: фундамент для построения сетей SDN Дмитрий Дементьев Системный
Post on 18-Apr-2018
257 Views
Preview:
Transcript
Segment Routing: фундамент для построения сетей SDN
Дмитрий Дементьев Системный инженер, SP Russia ddementi@cisco.com
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved.
Содержание:
• Основы Segment Routing • Сценарии использования • Конфигурация оборудования
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 2
Что такое 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
Идентификаторы IGP Segment
q Имеет глобальное значение внутри домена SR
q Передача трафика c использованием shortest-path tree
q Может быть задан как абсолютная величина, так и как индекс
q Используется зарезервированный блок меток (SR Global Block или SRGB)
q Имеет локальное значение внутри node
q Передача трафика на основе adjacency
q Задается как абсолютная величина
B C
N O
Z
D
P
A
9101 9105
9107
9103
9105
B C
N O
Z
D
P
A
65
65
65 65
Prefix/Node SID Adjacency SID
D (php)
Segment Routing Forwarding Plane
A
B
C
D
E 103
103
Payload Payload
201 202
Payload
202 201 202
Payload
202
Payload Payload
C
D
A
B
E
202
202
201
102 202
Payload
A
B 102
C
D
E
202
Payload
202
Payload
C E C D E B C D (php)
E B
Prefix/Node Path Adjacency Path Combined Path
Автоматическая балансировка трафика в случае Node/Prefix SID
q ECMP q Трафик предназначенный для узла O и имеющий SID 16078 автоматически разбалансируется по всем доступным ECMP путям
q Не требует дополнительных настроек
A B C
M N O
Z
D
P
16078
Pop 9003
q 9001 передать через 1ый интерфейс
q 9002 передать через 2ой интерфейс
q 9003 балансировать по группе интерфейсов
Pop 9001
Pop 9002
Pop 9003
Балансировка трафика для Adjacency Segment (Anycast Adjacency segment)
A B
Anycast Node segment для Dual Core
§ Используем Node-SID [65] Передаем трафик до узла “Z” используя ECMP в обеих плоскостях
§ Используем Anycast-SID + Node-SID [111, 65]
§ Передаем трафик до узла “Z” используя ECMP только в одной плоскости
ECMP-awareness!
Таблица LFIB с Segment Routing
q LFIB наполняется при помощи IGP (ISIS / OSPF)
q Таблица коммутации постоянна (Nodes + Adjacencies) вне зависимости от числа возможных путей
q Другие протоколы (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
Segment Routing и сервисы MPLS
Эффективное использование приемущества пакетных сетей (ecmp-aware shortest-path) :
q node segment!
Упрощение работы сети: q одним работающим протоколом меньше
q отсутствует LDP/ISIS синхронизация
A B
M N
PE2 PE1
Все сущестующие VPN сервисы возможно
реализовать поверх node segment для PE2
Сценарии использования технологии Segment Routing
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 11
MPLS dataplane monitoring
B C
N O
A
9101 9105
9107
9104
9101
9105
9107
9108
9104
9105
Nanog57, Feb 2013
9108 9105 9108
9102
9108
9102
draft-geib-spring-oam-usecase-02
OAM
1000
Topology Independent LFA FRR Пример TI-LFA – Zero-Segment
q TI-LFA защита для линка R1R2 на R1 q Расчитаем LFA(s) q Расчитаем post-convergence SPT q Определим LFA узел для post-convergence
SPT
Packet to Z
Default metric:10
R5
R2 R1
A Z
R3
Packet to Z
R4
R5
Packet to Z
prefix-SID(Z)
Segment Routing позволяет гарантировать LFA FRR в любой топологии:
q TI-LFA защита для линка R1R2 на R1
q Расчитаем P и Q области q Они пересекаются в нашем случае
q Расчитаем post-convergence SPT q Определим PQ узел для post-
convergence SPT q R1 добавит prefix-SID R4 для создания backup path
Q-space
P-space
Packet to Z
prefix-SID(Z)
Packet to Z
Packet to Z
prefix-SID(Z)
prefix-SID(R4)
Default metric:10
R5
R2 R1
A Z
R3
Packet to Z
R4
Segment Routing позволяет гарантировать LFA FRR в любой топологии:
Topology Independent LFA FRR Пример TI-LFA – Single-Segment
q TI-LFA защита для линка R1R2 на R1
q Расчитаем P и Q области q Расчитаем post-convergence SPT q Определим Q узел и соседний с ним P узел для post-convergence SPT
q R1 добавит prefix-SID R4 и adj-SID R3-R4 линка для создания backup path
P-space Q-space
1000
Packet to Z
prefix-SID(Z)
Packet to Z
Packet to Z
prefix-SID(Z)
adj-SID(R4-R3)
prefix-SID(R4)
Packet to Z
prefix-SID(Z)
adj-SID(R4-R3) Default metric:10
R5
R2 R1
A Z
R3 R4 R3 R4
Packet to Z
Topology Independent LFA FRR Пример TI-LFA – Double-Segment
Segment Routing позволяет гарантировать LFA FRR в любой топологии:
Отказоустойчивость узлов сети § Несколько устройств анонсируют одинаковый Segment Identifier (anycast segment) в дополнении к их SID
§ Трафик передается к ближайшему устройству на основе IGP best path
A C
B O
Z
SN1
SN2
Packet sent to SN1 or SN2
1001
SN2 : SID 102
SN1 or SN2: Anycast SID 1001
SN1: SID 101
§ Если основное устройство сломается, то трафик перенаправится к другому устройству с тем же anycast segment
§ Эффективный механизм отказоустойчивости на транспортном уровне, не требует дополнительных технологий
Failure
Резервирование Dual-Homing включений § NID не требует поддержки SR
control plane § NID является частью SR domain и имеет статический SR UNI label (65)
§ Оба N1 и N2 анонсируют одинаковый UNI label для NID в рамках SR domain
A C
B O
NID
N1
N2
Packet sent to N1 or N2
65
65
N1 advertises 65 for NID
N2 advertises 65 for NID
Failure
§ Трафик передается к ближайшему устройству на основе IGP best path (anycast concept)
§ Эффективный механизм отказоустойчивости на транспортном уровне, не требует дополнительных технологий
Latency TE Service
«Данные» из Токио в Брюссель § IGP shortest-path через США, широкие и дешевые каналы § PrefixSID of Brussels
«Голос» из Токио в Брюссель § SRTE политика добавляет один дополнительный сегмент “Russia Anycast” § Low-latency path
Приемущества § ECMP § Отказойстойчивость при использовании anycast segment § Отсутствие hop-by-hop сигнализации load и delay § Отказ от midpoint state
Node segment to Brussels
Node segment to Russia
Brussels pkt
Data
Brussels pkt
Russia
Voice
Применение 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 à можно перейти к tunnel per-application ECMP + Explicit routing à позволяет уменьшить количество TE tunnels Не нужно программировать mid-point à проще контролировать сеть
Inter-domain Transport Architecture BGP free option: SDN controlled – Without Redistribution
§ SR label stack: {local GW, remote GW, remote node} ß изолированные IGP домены, без редистрибьюции, просто, масштабируемо
§ Внешний SDN controller может быть использован для назначения SR label stack § SDN controller изучает SR label stack при помощи BGP-LS, либо настроен заранее § BGP Free option: не нужно использовать Hierarchical transport LSP’s – RFC 3107
13
42
CE
AnycastSRlabel:5001
DC
Core
SDNController
AnycastSRlabel:1001
CE1Cloudedge
1 34 2
134 2
CE2
CE3CPEvCPE
AnycastSRlabel:2001
AB
CE SDNController
GW1 GW2
SRlabelstack
AàB:{GW1,GW2,B}={1001,2001,2}
SRNodelabel:1
SRNodelabel:2
IGP island IGP island SDN controlled cross-domain
SRlabelstack:[localGW,remoteGW,remotenode]
Еще один важный слайд
MPLS-метки лишены собственной семантики Сегмент может выражать любую инструкцию
q Service q Context q IGP-based forwarding construct q BGP-based forwarding construct q Locator
SR и управление внешней связностью (Egress peering engineering)
A
B
D
ZAS1
AS2
AS3
AS4 E
C
http://tools.ietf.org/html/draft-filsfils-spring-segment-routing-central-epe-01 Cisco, Facebook, Yandex
q PeerNode SID - Передать пакет через заданный пирам
q PeerAdj SID - Передать пакет через заданный интерфейс
q PeerSet SID - Балансировать трафик по группе пиров
Определяем точку выхода из AS на ingress router
AS1
AS2
AS3
Прохождение трафика через несколько AS до внешнего пира
AS4
B
C
D
E
Payload
9.9.9.9/32
Payload
PeeringSID(E)
PrefixSID (C)
Engineered Path
TE Policy installed by Controller
Payload
PrefixSID(B) Payload
Лучший BGP и IGP путь
Payload
PeeringSID(E)
Engineered Path
ISIS/SR-based WAN
A
SR-based MSDC MPLS dataplane BGP control-plane
§ Нет LDP, Нет RSVP-TE § Автоматический TI-FRR
— отсутствие ручной конфигурации Eдиный SRGB на каждом коммутаторе SRTE WAN Optimization Controller applicable to DC fabric
eBGP ipv4 labeled-unicast
eBGP ipv4 unicast
https://www.nanog.org/meetings/nanog55/presentations/Monday/Lapukhov.pdf https://www.nanog.org/sites/default/files/wed.general.brainslug.lapukhov.20.pdf
BGP Prefix SID Аналогичные приемущества IGP Prefix SID
§ ECMP § Automated FRR (BGP PIC) § Необходимые элементы для Traffic Engineering
Policy
Data center fabric
§ Цепочка сервисов задается стэком из меток
§ Concept only § Требуется поддержка label/SR на каждом сервисном узле
§ Возможности: расположение сервисных узлов не привязано к IP маршрутам и топологии
§ Проблема: где назначать стек меток? § На входе в сеть § На уровне сервисов (e.g. the FW or VIP
itself) § Используя комбинацию
Цепочка Сервисов
18002
Payload
18002
18001
Payload
18002 18001
Payload
Payload
Единая политика передачи трафика
vPEF
App
App
ToR Leaf Spine DCE BR LSR
BR
BR
Определяем flow и
присваевыем SR segment
list
SR DC SR WAN
Верхний сегмент
предоставляет ECMP-маршрут к выбранному DCI
Следующие сегменты определяют WAN Policy:
Cost vs Latency, Disjointness,
Select egress BR
Последний сегмент выбирает
egress peer
Единая политика передачи трафика
Leaf Spine DCE BR LSR
BR
BR
SR DC SR WAN
Политика end-to-end для приложения: • Два сервисных узла в DC • Low-latency маршрут в WAN • Точка выхода в Internet до потребителя
ToR
Реализация Segment Routing на платформах IOS XR
23.11.15 © 2015 Cisco and/or its affiliates. All rights reserved. 29
Модель применения – с чего начать? Same SRGB [ 16,000 – 23,999 ] on all SR nodes
Настройка по умолчанию начиная с IOS XR 5.2.2 router isis 1 segment-routing global-block 18000 19999 address-family ipv4 unicast segment-routing mpls ! !
Configure a non-default SRGB 18,000 – 19,999
router ospf 1 segment-routing global-block 18000 19999 segment-routing forwarding mpls segment-routing mpls ! Configure a non-default SRGB
18,000 – 19,999
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|index} {<SID value>|<SID index>} ! interface TenGigE0/0/2/0 point-to-point address-family ipv4 unicast ! interface TenGigE0/0/3/0 point-to-point 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
Prefix-SID может быть задан как конкретное значение внутри SRGB,либо как index (offset) от нижней границы SRGB.
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
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
LSP ID
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
Проверка IS-IS Database
router isis DEFAULT net 49.0001.1720.1625.5001.00 address-family ipv4 unicast metric-style wide segment-routing mpls ! interface Loopback0 passive address-family ipv4 unicast prefix-sid absolute 16041 ! ! interface GigabitEthernet0/0/0/0 address-family ipv4 unicast fast-reroute per-prefix fast-reroute per-prefix ti-lfa ! ! !
Активация Topology Independent Fast Reroute для IPv4
33
Enable TI-LFA for IPv4 prefixes on interface GigabitEthernet0/0/0/0
Segment Routing: взаимодействие с LDP
Приоритет использования меток (SR или же LDP) может быть явно задан при конфигурации IS-IS
§ По умолчанию используем LDP
router isis 1 address-family ipv4 unicast segment-routing mpls sr-prefer
RP/0/RSP0/CPU0:asr9000-p1#show mpls interfaces Mon Oct 7 07:14:32.151 PDT Interface LDP Tunnel Static Enabled -------------------------- -------- -------- -------- -------- Loopback0 No No No Yes TenGigE0/0/2/0 No No No Yes TenGigE0/0/2/1 No No No Yes GigabitEthernet0/0/0/0 No No No Yes GigabitEthernet0/0/0/1 No No No Yes RP/0/RSP0/CPU0:asr9000-p1#
Проверка интерфейсов для MPLS Forwarding
Interfaces enabled for MPLS forwarding
No interfaces enabled for LDP or
RSVP-TE
От LDP к SR – простой путь Узел А хочет передать трафик на узел Z, но узел Z и часть промежуточных узлов не является LDP capable.
§ отсутствует LDP outgoing label В этом случае LDP LSP подключается к prefix segment LSP Узел C инсталирует следущую запись LDP-to-SR FIB:
§ incoming label: label назначенный LDP для FEC Z
§ outgoing label: prefix segment для достижения узла Z
§ outgoing interface: интерфейс в сторону узла D
A
C B D
Z
16066
LDP SR
Input Label (LDP)
Out Label (SID), Interface
32 16066, 1
Prefix Out Label (LDP), Interface
Z 16, 0
Связность двух различных доменов происходит автоматичеси и не требует ручной настройки
От SR к LDP – требуется уточнение Узлу А требуется передать трафик для узла Z, но узел Z и часть промежуточных узлов не поддерживают SR:
§ Отсутствует SR outgoing label, Z не поддежривает SR, Z не может объявить никакого prefix-SID
à Какой label следует использовать узлу A для передачи трафика?
A
C B D
Z
16068
SR LDP
Input Label (SID)
Out Label (LDP), Interface
? 16, 1
Prefix Out Label (SID), Interface
Z ?, ?
В этом случае необходимо подключить prefix segment LSP к LDP LSP вручную
Любой пограничный узел с поддержкой SR/LDP должен создать запись SR-to-LDP FIB
Функционал Mapping Server используется для объявления SID mappings для узлов не поддерживающих SR
§ Например, узел С объявляет что узел Z имеет SID 16068
Узлы A и B инсталируют нормальный SR prefix segment 16068 для узла Z C понимает что его next hop для SPT в направлении Z не поддерживает SR, поэтому C добаляет запись SR-to-LDP FIB
§ incoming label: prefix-SID bound to Z (16068)
§ outgoing label: LDP binding from D for FEC Z
Узел A посылает трафик для узла Z с single label: 16068
A
C B D
Z Z(16068)
Input Label (SID)
Out Label (LDP), Interface
16068 16, 1
Prefix Out Label (SID), Interface
Z 16068, 0
От SR к LDP – функционал Mapping Server
SR LDP
router isis DEFAULT net 49.0001.1720.1625.5001.00 address-family ipv4 unicast metric-style wide segment-routing mpls segment-routing prefix-sid-map receive segment-routing prefix-sid-map advertise-local ! ... ! segment-routing address-family ipv4 prefix-sid-map 172.16.255.1/32 4041 range 8 ! ! !
Конфигурация Mapping Server для взаимодействия SR и LDP
Local prefix-to-SID mapping policy 172.16.255.1/32 – 4041
: 172.16.255.8/32 - 4048
Construct active mapping policy using remotely learned and locally configured mappings (mapping
client)
Advertise local mapping policy (mapping server)
Взаимодействие SR и LDP
Payload Payload
LDP/SRout*
LDP/SR LDP/SR
Payload
LDPlocal
Payload
LDPout
Payload
SRlocal
Payload
SRout
Homogenous
IP
LDP
SR
Payload Payload
LDPout
LDP/SR LDP
Payload
LDPlocal
Payload
LDPout
Payload
SRlocal
Payload
LDPout
to LDP
Payload Payload
SRout
LDP/SR SR
Payload
LDPlocal
Payload
SRout
Payload
SRlocal
Payload
SRout
to SR
LDP|SRlocal : local LDP|SR label LDP|SRout : outgoing LDP|SR label
*В зависимости от настроек preference
Сравнение SR от существующей модели MPLS
SR-based MPLS Classic MPLS Базовый mpls транспорт IGP IGP + LDP IGP/LDP синхронизация N/A Необходима настройка
50msec FRR IGP IGP + RSVP-TE Extra TE states to support FRR No extra state Extra states to manage
Оптимальный backup маршрут Yes (IP post-convergence) No (SDH-alike)
ECMP-capability for TE Yes No TE state only at headend Yes No (n^2 problem at
midpoint) Engineered for SDN Yes No
Подводя итоги – нам уже 2 года!!! Orange, Deutche Telecom, British
Telecom, Comcast, Google, Facebook,
Yandex, Alcatel-Lucent, Ericsson, Juniper
www.segment-routing.net Полный перечень материалов
q Активная работа в IETF q Работа в рамках SPRING WG q 25 IETF drafts released
CiscoRu Cisco CiscoRussia
Ждем ваших сообщений с хештегом #CiscoConnectRu
CiscoRu
Пожалуйста заполните анкеты, Ваше мнение очень важно для нас и лично для меня ;-) Дмитрий Дементьев Системный инженер, SP Russia ddementi@cisco.com
© 2015 Cisco and/or its affiliates. All rights reserved.
Спасибо за внимание
top related