Você está na página 1de 214

Departamento de Eletrônica – Escola Politécnica

Programa de Engenharia Elétrica – COPPE


Universidade Federal do Rio de Janeiro

Roteamento por Segmentos:


Conceitos, Desafios e
Aplicações Práticas
Antonio José Silvério, Miguel Elias M. Campista,
Luís Henrique M. K. Costa

http://www.gta.ufrj.br

1
Este trabalho contou com suporte da Embratel, CAPES, CNPq e FAPERJ
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


2
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


3
Introdução

• Operação e Configuração da Rede Backbone da Operadora


de Telecomunicações

Cenário Atual Cenário Futuro (desejado)

Matriz de Tráfego Baseado em análise do


Baseado em previsões
tráfego real

Ajuste da Rede Manual Automático

Tempo de
comercialização Meses Segundos

Granularidade de
Comprimento de onda (100G) Flexível (OM – 100G)
enlaces

4
Rede de Roteadores de Núcleo
da Operadora de Telecom.

• Exemplo de uma Operadora de Telecomunicações:


– Número de nós: 66
– Número de enlaces físicos: 2.130
– Banda Média por enlace: 3,24 Gbps
– Quantidade de túneis MPLS: 604
– Tempo para planejamento e implantação dos túneis
considerando alterações de nós e enlaces da rede : 6 meses
– Reconfiguração dos túneis caso ocorra falha (falhas
planejadas): 2 a 3 minutos de convergência

5
Rede de Roteadores de Núcleo
da Operadora de Telecom.

PROBLEMAS !

Operação e Administração complexas

Uso não otimizado de recursos da


rede

Possibilidade de perda de tráfego e


qualidade

6
Rede Atual de Roteadores de
Núcleo das Operadoras
• Baseada no protocolo MPLS (Multi Protocol Label Switching)
– Solução para o problema da escala das tabelas de roteamento
– Orientação a conexão e suporte de múltiplos protocolos
– Encaminhamento de pacotes eficiente através de comutadores
baseados em ASICs (Application Specific Integration Circuits)
– Comutação baseada em rótulos (Labels)

• Novas aplicações
– Engenharia de Tráfego (Traffic Engineering - TE)
– Qualidade de Serviço (QoS)
– Encaminhamento com restrições
– Redes Virtuais Privadas (Virtual Private Network - VPN)
7
Roteador de Núcleo IP/MPLS

• Formado por um plano de controle e de encaminhamento


rápido de pacotes baseado em circuitos ASIC

Gerência da Rede MPLS


Telnet, SSH, Web, SNMP

Lógica de Controle R
O
BGP OSPF IS-IS T
E
Driver Sistema Operacional (SO) A
D
Roteador IP/MPLS Barramento proprietário O
de Núcleo R
Hardware Dedicado

8
Rede Atual de Roteadores de
Núcleo das Operadoras

• Topologia em malha Malha “Lógica”


parcial ou completa de túneis

−Caminhos na rede
IP/MPLS são
denominados túneis
(unidirecionais)
−Túneis de proteção
(Backup Tunnel) ou
balanceamento de
tráfego por túnel
−Engenharia de
Tráfego e QoS
aplicadas aos túneis Roteadores de Borda
Roteadores Intermediários
Malha Lógica de Túneis e
Rede de Enlaces Físicos

A B A B

C D C D

Malha Lógica de Túneis Rede física de enlaces

A B
Túnel A-B
A B D
Túnel A-D

10
Cálculo de Túneis TE

A B Quantidade total de
Túneis Unidirecionais = n2  n

C D
Quantidade total de
Túneis Bidirecionais =
n2  n
Malha Lógica de Túneis 2
n = número de nós

Quantidade de túneis da ordem de n2

11
Exemplo de Cálculo de Túneis
TE com Balanceamento
• Utilizado pelas Operadoras para proteção dada por um plano
de controle e tráfego balanceando túneis em diferentes
enlaces físicos
A B
n = número de nós
k = número de Túneis para
túneis para balanceamento
balanceamentos
entre A e B
Rede física
de enlaces D
C
Quantidade de
Túneis Unidirecionais = k ( n 2  n)

Quantidade de túneis da ordem de k.n2


12
Desafios para as Operadoras

• Configuração de
túneis automática
• Ferramenta de
planejamento
“off-line”
• Não otimiza os
recursos da rede
em tempo real !

• Configuração de
túneis para proteção
não compartilham
capacidade da rede :
• Consumo de recursos
sem otimização para
proteção ! Roteadores de Borda
Roteadores Intermediários
Desafios para as Operadoras

• Malha de túneis lógica


desacoplada da rede física

FLA
Rede IP/MPLS
FLA
desacoplada da
Rede física RCE

SDR RCE
BSA
SDR
BSA
RPO BHE

Túnel Primário BHE

Túnel Backup RPO


RJO
RJO
SPO
SPO
CTA
CTA
PAE
PAE 14
Solução para os Desafios da
Rede da Operadora

Por acaso
é o Roteamento por
Segmentos ?

15
Propostas de Evolução da
Rede de Roteadores de Núcleo
PCE – PATH COMPUTATION ELEMENT • Roteamento por Segmentos +
SDN FLA Redes Definidas por Software
−Simplificação do roteamento,
RCE
configuração e manutenção dos
SDR
túneis
BSA
−Manutenção de estados apenas
BHE
nos Roteadores de borda da
RPO
rede
RJO
−Cálculo dos caminhos baseado
SPO em uma plataforma de Redes
Túnel Primário
CTA
Túnel Backup Definidas por Software
PAE
−Engenharia de tráfego otimizada
−Uso racional dos recursos da
rede 16
O que é o Roteamento por
Segmentos?
•Roteamento por Segmentos (Segment Routing - SR)
 É um protocolo de roteamento pela origem

O roteador de origem conhece o caminho até o destino


17
O que são Segmentos ?

• São identificadores do caminho completo ou de trechos do


caminho

Segmento A-E
Segmento E-F

Caminho A-F = Segmento A-E + Segmento E-F


18
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


19
Roteamento Atual de Redes
TCP/IP
• Encaminhamento de pacotes é feito salto a salto
• Cada roteador possui sua tabela de roteamento populada
com informações obtidas da análise do cabeçalho IP

20
Roteamento Atual de Redes
TCP/IP
• As rotas são calculadas por um protocolo de roteamento a
partir das informações das tabelas de roteamento
• As tabelas de roteamento precisam ser mantidas e
atualizadas, representando manutenção de estados destas
tabelas em todos os roteadores

21
Roteamento Atual de Redes
TCP/IP
• Como é o Roteamento atual das Redes TCP/IP ?
Tamanho da Tabela Decisão da rota é
de Roteamento é feita salto a salto
uma limitação ! (hop by hop)

Tabelas Maiores:
• Maior tempo de busca e seleção de rota
• Maior processamento
• Pouca escabilidade

22
Evolução do Roteamento
em Redes TCP/IP
• Roteamento na Internet
– Nos anos 90 forte crescimento das redes TCP/IP
– Baixo desempenho dos roteadores no núcleo da rede
• Encaminhamento de pacotes é baseado apenas no endereço de
destino
• Em todos os saltos da rede é realizada a inspeção na tabela de
roteamento (lookup)
• Roteadores com tabelas de roteamento completas (full routing)

23
Introdução às Redes IP/MPLS

• Motivação:
– Convergência da comunicação digital (voz, dados e vídeo)
– Integração com redes legadas como Frame Relay e ATM

• Capacidade de comutação rápida com hardware


proprietário (ASIC – Application Specific Integration Circuit)

• Possui Plano de Controle e de Encaminhamento de Pacotes


em cada nó de rede

24
Roteadores de Núcleo da Rede
IP/MPLS

• Formada por Roteadores de Borda e Roteadores


intermediários
– Roteadores de Borda: Tabela de Roteamento IP (Forwarding
Information Base - FIB) + Tabela de Rótulos (Label
Forwarding Information Base - LFIB)
– Roteadores Intermediários: apenas Tabela de Rótulos (Label
Forwarding Information Base - LFIB)

25
Roteadores de Borda do Núcleo
da Rede
Tabelas do MPLS

Plano de Controle
Protocolos de
Plano de Controle: Roteamento OSPF, BGP...
Troca de Informação
RIB (Routing com outros roteadores
Information Base) Tabela de Roteamento
(RIB)
LIB (Label Information
Base) Protocolo de Controle
MPLS para o roteamento
IP Troca de Informação
LDP (LIB) com outros roteadores

Entrada de pacotes MPLS Tabela de Rótulos ou Saída de pacotes MPLS


(IN) Labels (LFIB) (OUT)

Entrada de pacotes IP Tabela de Roteamento


(IN) (FEC) (FIB) Saída de pacotes IP
Tabelas do MPLS (OUT)
Plano de Encaminhamento
Plano de
Encaminhamento:
FIB (Forwarding
Information Base)
LFIB (Label Forwarding Roteador de Borda do Núcleo da Rede
Information Base) 26
Roteadores Intermediários do
Núcleo da Rede
Tabelas do MPLS
Plano de Controle:
RIB (Routing
Information Base) Protocolos de
Roteamento OSPF, BGP...
LIB (Label Information Troca de Informação

Plano de Controle
Base) Tabela de Roteamento
com outros roteadores

(RIB)

Protocolo de Controle
MPLS
para o roteamento IP
Troca de Informação
LDP (LIB)
com outros roteadores

Entrada de pacotes MPLS Saída de pacotes MPLS


(IN) (OUT)
Tabela de Rótulos ou
Tabelas do MPLS Labels (LFIB)
Plano de Plano de Encaminhamento
Encaminhamento:
FIB (Forwarding
Information Base)
LFIB (Label Forwarding
Information Base) Roteador Intermediário de Núcleo de Rede 27
Rótulo MPLS

• O pacote IP recebe um rótulo (Label) entre o cabeçalho IP


e o cabeçalho de camada inferior (camada 2), denominado
de cabeçalho de enchimento (Shim Header)
• Estrutura do rótulo MPLS de 32 bits:
– Os primeiros 20 bits representam o rótulo 220 = 1.048.575
diferentes rótulos
– Os 3 bits seguintes são EXP bits (Experimental Bits) usados
para classes de serviços
– 1 bit S (Bottom of Stack) indicando se o rótulo é o inferior na
pilha de rótulo (S = 1)
– 8 últimos bits para TTL (Time to Live) como no pacote IP

28
Estrutura do Rótulo MPLS

• Rótulos 0-15 : reservados


• Rótulos 16 a 1.048.575 são usados para identificar os
circuitos virtuais da rede MPLS denominados LSPs (Label
Switched Paths) 29
Empilhamento de Rótulos MPLS
(Label Stack)

Outer ou Top
Label (S=0) Inner ou Bottom
Label (S=1)

Implementação
de Serviços
com empilhamento
de rótulos

30
Rede IP/MPLS como Rede
Multiserviço
• Serviços de Rede IP/MPLS
– Serviços em Redes IP/MPLS usam empilhamento de rótulos:
• Redes Privativas Virtuais (Virtual Private Networks - VPN)
• Linhas Alugadas Virtuais (Virtual Leased Lines - VLL ou Virtual
Private LAN Service - VPLS)
• Engenharia da Tráfego, na identificação de túneis
• Transporte de outras tecnologias sobre MPLS (Any Transport
Over MPLS - AToM)
– Rede MPLS é considerada
uma Rede Multiserviço

31
Protocolos do Plano de Controle
da Rede IP/MPLS
• LDP (Label Distribution Protocol)
– Distribui e mantém os rótulos estáticos ou dinâmicos
• IGP (Interior Gateway Protocol)
– Faz a descoberta dos caminhos
– OSPF (Open Shortest Path First) e IS-IS (Intermediate System
to Intermediate System)
• RSVP (Resource Reservation Protocol)
– Requisita a reserva de um fluxo de dados com determinada
garantia/reserva de banda
• MP-BGP (Multiprotocol Border Gateway Protocol)
– Faz a relação entre a instância de roteamento e o rótulo para
um serviço VPN
32
Arquitetura da Rede IP/MPLS

• Composta de Roteadores Cliente e Roteadores de Núcleo da


Rede classificados em Roteadores de Borda e Roteadores
Intermediários
– Roteador Cliente
– Roteador de Borda
– Roteador Intermediário
• O caminho virtual formado pela sequência de rótulos é
denominado LSP (Label Switched Path), que é unidirecional

33
Roteador Cliente

• Denominado CE (Customer Edge)


• Roteador IP cliente da Rede MPLS (Ex.: em uma VPN)
• Não manipula rótulos, somente endereços IP

34
Roteador de Borda

• Denominado PE (Provider Edge) ou LER (Label Edge


Router)
• Insere e retira rótulos dos pacotes
• Mantém a tabela FIB (Forwarding Information Base) que
associa o endereço IP (Forwarding Equivalence Class -
FEC) de destino com um rótulo de entrada, preenchida por
um IGP (Ex.: OSPF)
• O protocolo LDP distribui os rótulos, trocando informações
da FEC e rótulos associados para os Roteadores de Borda e
Roteadores Intermediários

35
Roteador Intermediário

• Denominado P (Provider) ou LSR (Label Switch Router)


• Apenas comuta rótulos
• Mantém a tabela LFIB (Label Forwarding Information Base)
que associa os rótulos para encaminhamento dos pacotes
nas interfaces determinadas pelo caminho

36
Arquitetura de Rede IP/MPLS

Rede de Roteadores de Núcleo


IP/MPLS
LDP
Sistema Autônomo
LSP Operadora

LSR LSR

LER LER CE
CE LSR

LSR LSR

CE – Customer Edge
Pacote IP
LER – MPLS Label Edge Router ou PE – Provider Edge
LSR – MPLS Label Switch Router ou P – Provider Pacote MPLS
LSP – Label Switched Path Diferentes rótulos MPLS
Enlace de Fibra Óptica 37
Operações com Rótulos MPLS

• Alocação de rótulo
– Aloca um determinado rótulo para uma FEC, efetuado pelo
Roteador de Borda

38
Operações com Rótulos MPLS

• Imposição ou inserção do rótulo (Label Imposing ou Label


Push)
– Adiciona ao cabeçalho IP um rótulo MPLS, efetuado pelo
Roteador de Borda
• Troca de rótulo (Label Swap)
– Efetuado pelo Roteador Intermediário baseando-se na
informação da LFIB
• Retirada do Rótulo (Label Pop):
– Remove o rótulo mais externo (top label) da pilha MPLS
– Efetuado pelo Roteador de Borda

39
Operações com Rótulos MPLS
IPv4 Pacote IPv4
Lbl Lbl
IN Out L IPv4 Pacote MPLS
68 54 Ip Origem: 100.10.0.1
Label LSR Ip Destino: 200.20.0.1
Label
Label Swap
Swap Label
Push 1 2 Pop

200.20.0.1 78 200.20.0.1 43 200.20.0.1 57 200.20.0.1 200.20.0.1


2 1
1 2 1 3 1 2 3 1 2 1
LSP 200.20.0.1
100.10.0.1 CE LER CE
LER LSR LSR
IP dest Lbl Lbl Lbl Lbl Lbl Lbl IP dest Lbl Lbl
IN Out IN Out IN Out IN Out
200.20.0.1 - 78 78 43 43 57 200.20.0.1 57 -
100.10.0.1 34 54 34 32 68 100.10.0.1 - 32

IP Porta
dest LFIB IP Porta
FIB dest
100.10.0.1/24 local
100.10.0.1/24 1
200.20.0.1/24 1 FEC
200.20.0.1/24 local 40
Serviços de Rede IP/MPLS

• O principal serviço em redes IP/MPLS é a Rede Privativa


Virtual (Virtual Private Network - VPN)
• Topologias do tipo matriz-filial (hub and spoke) ou malha
parcial e completa
• Possui 2 tipos básicos: VPN L3 e VPN L2

41
Rede Privativa Virtual L3

• Permite troca de protocolo de roteamento entre o Roteador


Cliente (CE) e o Roteador de Borda (PE)

• Roteador Cliente utiliza protocolos de roteamento


tradicionais como OSPF, RIP e BGP

• Instância de roteamento virtual (Virtual Routing and


Forwarding Tables - VRF) faz a associação entre a VPN e as
portas físicas do Roteador de Borda (PE)

• Roteadores de Borda (PE) trocam informações de


roteamento aprendidas dos Roteadores Cliente (CE)
diretamente através do protocolo MP-BGP
42
Rede Privativa Virtual L3

• A Rede IP/MPLS funciona como uma rede dedicada para o


Roteador Cliente (CE), podendo ter o mesmo endereço IP
privado se estiverem em VRFs distintas

• Utiliza 2 rótulos:
• rótulo mais externo referente ao rótulo inserido pelo
Roteador de Borda (PE)
• rótulo mais interno referente à VPN do cliente

43
Rede Privativa Virtual L3

• Funcionalidade PHP (Penultimate Hop Popping) onde o


penúltimo Roteador de Borda retira o rótulo mais externo,
reduzindo o processamento de mais um rótulo além do
rótulo da VPN

• Funcionalidade PHP pode ser


• “Implicit Null”: identificada com rótulo especial 3, as
informações de QoS são perdidas
• “Explicit Null”: identificada com rótulo especial 0, as
informações de QoS são lidas pelo Roteador de Borda

44
Rede Privativa Virtual L3

Cliente A Cliente A
LSR

10.5.1.0/24
10.2.1.0/24 LER BGP
200.4.1.1
OSPF OSPF Cliente B
Cliente B LER
10.2.1.1
Rede IP/MPLS BGP
10.2.1.0/24 10.2.1.0
10.3.1.0/24
BGP 190.5.5.1
Cliente A

38 79 10.2.1.0
10.5.1.0/24 LSR
43 79 10.2.1.0
ESTÁTICA
CE LER FEC Next Hop Label
MP-BGP
10.2.1.0 190.5.1.1 79
190.5.5.1 38
IPv4 Pacote IPv4
VRF do cliente A
VRF do cliente B L L IPv4 Pacote MPLS com aplicação VPN
45
Rede Privativa Virtual L2

• Roteadores de Borda (PE) trocam informações de camada 2,


e as informações de camada 3 são trocadas entre os
Roteadores Cliente (CE)

• Podem ser ponto a ponto denominada VLL (Virtual Leased


Line) e ponto-multiponto denominada VPLS (Virtual Private
LAN Service)

• Transporte de quadros é feito por um circuito virtual (VC) e o


LSP (Label Switched Path) age como um “túnel”

• São usados 2 rótulos, o mais interno representa o VC e o


mais externo o túnel
46
Rede Privativa Virtual L2

BGP

LSR Pseudowire LSR

Cliente A
LER

IPv4
Rede IP/MPLS
LER

Cliente A CE

Eth IPv4 Quadro L2 Ethernet


LSR
IPv4 LSR T Rótulo do túnel (LSP)

VC Rótulo do pseudowire (VC)

47
QoS em Redes IP/MPLS

• Conjunto de mecanismos aplicado aos Roteadores Cliente


(CE), e nos Roteadores de Núcleo

• Classes de serviços indicam a prioridade do fluxo de dados

• Classes de serviço atendidas em filas

• Classes de serviço no IPv4: campo ToS (Type of Service)


– 3 bits mais significativos: IP Precedence
– 6 bits mais significativos: DSCP (Diffserv Code Point)

• Classes de serviço no MPLS: EXP Bits

48
QoS em Redes IP/MPLS

Version ToS
Byte Len ID Offset TTL Proto FCS IP SA IP DA Data
Length
Pacote IPv4

7 6 5 4 3 2 1 0
Standard IPv4
IP Precedence Type of Service
DiffServ Code Point (DSCP) IP ECN Extensões DiffServ

IPv4 Packet MPLS IPv4 Packet

DSCP EXP

49
Engenharia de Tráfego em
Redes IP/MPLS
• Desenvolvido para resolver problemas de
congestionamento, otimização de banda e convergência de
rede

• Sugere rotas diferentes do IGP

• Cálculo de caminhos baseados em restrições como banda


disponível, latência e perda de pacotes

• Cálculo de caminho realizado pelo PCE (Path Computation


Element) desempenhado pelo plano de controle dos
Roteadores de Núcleo

53
Engenharia de Tráfego:
MPLS-TE
• Conceito de aplicação de engenharia de tráfego no MPLS,
denominado MPLS-TE (Traffic Engineering)

• Implementação do caminho através de túneis unidirecionais


(Túnel TE)

• O túnel TE é iniciado no Roteador de Núcleo de origem


(Head End LSR) e terminado no Roteador de Núcleo de
destino (Tail End LSR)

54
Engenharia de Tráfego:
Reserva de Recursos
• Reserva de recursos feita pelo protocolo de reserva de
recursos RSVP-TE (Resource reSerVation Protocol - Traffic
Engineering)
– Mensagens de caminho (Path Messages) enviado pelo
Roteador de Núcleo de origem
– Mensagens de reserva (Resv Messages) pelo Roteador de
Núcleo de destino
– O RSVP-TE garante o QoS para cada fluxo de dados
– O RSVP-TE utiliza LSPs configurados de forma dinâmica ou
estática com o OSPF-TE (Open Shortest Path First - Traffic
Engineering)

55
Engenharia de Tráfego:
MPLS-TE
LER A

LER Z
Encontre o R1 R4
caminho mais
curto até R8 com LSR head
end 200 R7
80 Mbps 150
R8
R2
100
50
Path Msg
100
LSR tail
R3 100 Resv Msg
80 end
Túnel

Base de Dados
Topologia TE
R6
R5

LER A LER Z
R1 R5 R6 R7 R8
R2

IP L50 IP L26 L10 IP L26 L12 IP L26 L92 IP L26 L89 IP L26 L65 IP L52

LSP

Túnel
56
Engenharia de Tráfego:
MPLS-TE
LFIB: LFIB: LFIB: rótulos aprendidos pelo LDP
50 -> 26 26 -> 26 50 -> 26
push 10 10 -> 12 pop 12 rótulos do túnel

FIB: FIB: FIB: FIB: FIB:


10.0.0.0 -> 50 10.0.0.0 -> 26,10 10.0.0.0 -> 26,12 10.0.0.0 -> 52 10.0.0.0 -> pop

10.1.1.1/8

Path Msg LSP LDP

Head End Tail End


LSR Resv Msg LSR

57
Restauração em Redes IP/MPLS

• É um requisito da Engenharia de Tráfego o re-roteamento de


um túnel baseado em políticas administrativas
• Mecanismo de re-roteamento rápido FRR (Fast Re-route)
previne falhas de nós e enlaces
• Implementações:
– Configuração de forma manual ou automática um túnel
primário (Primary Tunnel) e um túnel de proteção (Backup
Tunnel) com caminhos disjuntos
– Túneis disjuntos com balanceamento de tráfego
– Os túneis primários e de proteção devem evitar utilizar o
mesmo recurso físico, denominado SRLG (Shared Risk Link
Group)
58
Restauração em Redes IP/MPLS

Roteador Roteador Roteador Roteador


A B D E

Roteador Roteador Roteador


X C Y
Túnel Primário
Túnel Backup
59
Shared Risk Link Group (SRLG)

Mesmo meio físico


SRLG 10

R2 R2 R4 SRLG 10
R4 R2-R4
R1 R5 R1 R2-R3
SLRG 20
SRLG 20
SLRG 30 R4-R3
R5
R4-R2
IP/MPLS IP/MPLS
R3 R3 SRLG30
R3-R2
R3-R4
Topologia lógica Topologia Física + Lógica
Malha de túneis Malha de túneis

60
Desafios para a Engenharia de
Tráfego e Restauração
• Estruturada em Rede de Transporte e Rede IP/MPLS sem
integração dos planos de controle

• Cada Rede tem uma camada específica, de configuração,


operação, administração e planejamento independente

• Operadora deseja integração multicamada (MultiLayer)


para otimização de recursos da rede, evitando restaurações
em múltiplas camadas e um uso eficiente da banda

• Rede de Roteadores de Núcleo IP/MPLS necessita de


configuração de SLRGs para evitar túneis disjuntos no
mesmo enlace físico
61
Desafios para a Engenharia de
Tráfego e Restauração
• Manutenção de tabelas de roteamento (FIB) e de rótulos
(LIB) nos Roteadores de Borda e Intermediários da Rede 
menor eficiência no encaminhamento de pacotes

• Protocolo LDP para manutenção dos estados

• Plano de controle independente em cada Roteador de Núcleo


com automação limitada por não possuir um controle
centralizado

• Engenharia de Tráfego de configuração complexa com


inúmeros protocolos, “full-mesh” de túneis

• Hardware proprietário 62
Exemplo de Configuração de
Túneis MPLS
• Ferramenta de Planejamento Cisco MATE

63
Desafios para a Engenharia de
Tráfego e Restauração
• Contexto da Rede de Transporte da Operadora:
– Camada Óptica: formada equipamentos DWDM (Dense
Wavelength Multiplex) e ROADM (Reconfigurable Add Drop
Multiplex) denotada na indústria de telecomunicações como
camada 0
– Camada OTN (Optical Transport Network): formada
comutadores OTN atuando na camada física, denotada na
indústria de telecomunicações como camada 1
– Plano de controle da Camada Óptica e OTN baseado no ASON
(Automatically Switched Optical Network) e GMPLS
(Generalized MPLS) atuando de forma independente da Rede
de Roteadores de Núcleo IP/MPLS

64
Desacoplamento entre as
Camadas de Rede
LSR LSR
LER L3 Túnel TE (enlaces lógicos)
LER
Enlaces físicos 10GE
N x 10G Enlaces físicos 
LSR N x 10G LSR (comprimento de onda)
N x 10G L1 / L2
N x 10G
 de 100G
 de 100G

L0
 de 100G Equipamento L3: roteadores P e PE
 de 100G Backbone IP/MPLS

Equipamento L1/L2: Switch OTN


e Carrier Ethernet

Equipamento L0: DWDM, ROADMs

65
Desacoplamento entre as
Camadas de Rede

Planos de controle LSR LSR


da Rede de LER L3
LER
Transporte e
IP/MPLS sem N x 10G
integração ! LSR N x 10G LSR
N x 10G L1 / L2
N x 10G
 de 100G
 de 100G

L0
Planejamento,  de 100G
administração,  de 100G
operação e Proteções,
configuração restaurações em
complexa: pouca múltiplas camadas:
automação ! desperdício de
recursos !
66
Como Vencer os Desafios ?

• Simplificação da configuração
de túneis e redução de número
de estados nos roteadores de
núcleo

Roteamento por
Segmentos

67
Como Vencer os Desafios ?

• Controle Centralizado
multicamada integrado :

Redes Definidas por


Software

68
Como Vencer os Desafios ?

• Roteamento por Segmentos pode ser implementado sem


Redes Definidas por Software e vice versa na Rede da
Operadora
• Roteamento por Segmentos simplifica a camada de Rede
IP/MPLS com menor quantidade de configurações de túneis,
trazendo eficiência no encaminhamento dos pacotes,
reduzindo a complexidade operacional
• Redes Definidas por Software permitem integração entre
múltiplas camadas (Rede de Transporte e IP/MPLS) da
Operadora permitindo mecanismos de restauração e uso
racional da capacidade através de um controle centralizado

69
Como Vencer os Desafios ?

• Roteamento por Segmentos se beneficia de Redes


Definidas por Software para construção de caminhos
diferentes do IGP
• Caminhos podem considerar integração entre diferentes
camadas de rede e critérios de operação da Operadora

70
Solução para os Desafios da
Rede da Operadora

Redes Definidas por


Roteamento por
Software
Segmentos
(SDN - Software
(SR – Segment Routing)
Defined Networks)
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


72
Conceitos de Redes Definidas
por Software

73
Arquitetura de Redes Definidas
por Software
• Desacoplamento do plano de controle e de encaminhamento
de dados
• Configuração da rede através de regras nos fluxos de dados,
restrito ao tamanho da tabela de fluxos através de APIs
aberta aos dispositivos de encaminhamento de dados (ex.:
Switch OpenFlow)
• Lógica de controle em uma entidade externa: controlador
SDN ou sistema operacional de rede (Network Operating
System – NOS)
• Programação da rede realizada por aplicações de rede que
interagem com o controlador através de APIs abertas

74
Arquitetura de Redes Definidas
por Software

Aplicações de Rede
1. Plano de controle e plano de
API aberta Northbound encaminhamento de dados
separados
Plataforma de Controle 2. Controle centralizado da rede
3. Introduz a capacidade de
API aberta Southbound
programação da rede através de APIs
abertas

Adaptado de “Diego Krautz et al,


Software-Defined Networking:
Infraestrutura de rede física A Comprehensive Survey” 75
Rede IP Tradicional x Rede
Definida por Software

Aplicações de Rede
Sistema de
Algoritmos Balanceadores
Aprendizado Detecção
de de carga
de MAC de intrusos
Roteamento
(IDS)
Controlador SDN
Rede Tradicional

Rede Definida por

Tabela de Fluxos
Software

Adaptado de “Diego Krautz et al,


Software-Defined Networking:
A Comprehensive Survey”
76
Rede IP Tradicional x Rede
Definida por Software
Difícil introdução de inovação Capacidade de programação e
tecnológica (ex. : IPv4 para IPv6) flexibilidade da rede abertas
Aplicações de Rede
Redes complexas e rígidas, Sistema de
Algoritmos Balanceadores
difíceis de gerenciar e configurar Aprendizado Detecção
de de carga
de MAC de intrusos
Roteamento
(IDS)
Controlador SDN

Centralização do controle da rede


Rede Tradicional

Rede Definida por

Tabela de Fluxos

Separação do plano de controle


Software

do plano de encaminhamento
de dados
Integração vertical:
Adaptado de “Diego Krautz et al,
Plano de controle e de dados Software-Defined Networking:
A Comprehensive Survey”
Implementados no dispositivo de rede 77
Visão da Arquitetura SDN
Completa
• Decomposta em planos e camadas:
Plano de Gerência Aplicações de rede

Depuração, teste e simulação

res de tráfego
Acesso (ACL)

Balanceado-
Roteamento

controle de
Lista de
Linguagens de programação
Aplicação
...
Aplicação
Linguagens baseadas em
virtualização
Plano de Controle Interface Northbound (NBI) Sistema Operacional
Sistema Operacional de Rede de Rede (NOS)
(NOS) e “Hypervisor”
“Hypervisor “
Plano de Dados Interface Southbound (SBI)
Infraestrutura de rede

Planos Camadas Arquitetura


Adaptado de “Diego Krautz et al, Software-Defined Networking:
A Comprehensive Survey”
78
Plano de Dados: Infraestrutura
de Redes

• Similar às redes IP tradicionais, com dispositivos que fazem


apenas o encaminhamento de dados
• Switches baseados em hardware x86 habilitado com
protocolo OpenFlow: OpenFlow Capable Switches (OFCS)

79
Plano de Dados: Interfaces
Southbound (SBI)
• Separação entre o plano de controle e o plano de
encaminhamento de dados

• Interface padronizada de programação

• Interfaces abertas: OpenFlow, NETCONF, BGP-LS (Border


Gateway Protocol - Link State), PCEP (Path Computation
Element Communication Protocol), OVSDB (Open vSwitch
Database), SNMP (Simple Network Management Protocol) e
CLI (Command Line Interface)

80
Interfaces Southbound:
NETCONF e YANG

• Protocolo NETCONF
– Protocolo de configuração e monitoramento de rede
– Evolução do SNMP, fruto do trabalho do IETF de reunir
requisitos de gerenciamento das Operadoras de
Telecomunicações
– Implementa cliente-servidor
– Utiliza o protocolo RPC (Remote Procedure Call )
– Dados codificados em XML
– Protocolo de transporte: TCP
– Protocolo de aplicação: HTTP ou HTTPS

81
Protocolo NETCONF

• Modelo Cliente-Servidor NETCONF Aplicação da configuração:


Corrente (Running)
Inicial (Startup)
Gerente NETCONF Candidatas (Candidate)
Configurações necessárias Aplicações
para sair do estado inicial Aplicações
Aplicações
para o operacional Repositório
de Dados
Cliente
Arquivo
XML

CLI através de NETCONF

CLI Cliente Servidor Servidor

Instrumentação Instrumentação
Dispositivo NETCONF Dispositivo NETCONF

82
Protocolo NETCONF

• Camadas do protocolo NETCONF

Camada Exemplo

Conteúdo Configuração de Dados

Operações <get-config>, <edit-config>, <notification>

RPC <rpc>, <rpc-reply>

Protocolo de Transporte BEEP, SSH, SSL, console

83
Protocolo NETCONF

• Mensagem de “Hello” para anúncio das capacidades do


protocolo e modelos de dados suportados em XML:

<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>
urn:ietf:params:xml:ns:netconf:base:1.1
</capability>
<capability>
urn:ietf:params:xml:ns:netconf:capability:startup:1.0
</capability>
<capability>
urn:ietf:params:xml:ns:yang:ietf-interfaces?
module=ietf-interfaces&amp;revision=2012-04-29
</capability>
</capabilities>
<session-id>4<session-id>
</hello>
84
Modelo YANG

• Modelo de dados YANG


– Linguagem formal de modelo de dados
– Construção de aplicações de fácil aprendizado
– Modelo de dados baseados em estruturas reutilizáveis com
regras bem definidas:
• Módulos
• Submódulos
• Versão
• Modelo de dados estruturado em árvore para cada estrutura
com propriedades que correspondem às funcionalidades do
dispositivo
– Traduzido em um arquivo XML ou JSON
85
Modelo YANG

Módulos
Gerência Módulos
YANG
de Módulos
YANG
Aplicações YANG

Netconf

Módulos Módulos Módulos


YANG YANG YANG

86
Modelo YANG

• Exemplo de Módulo YANG para inventário de redes

87
Modelo YANG - Exemplo

• Exemplo de Esquema do Modelo YANG para o roteador


CRS1000v da Cisco

A modelagem YANG permite


intercambiar parâmetros dos
dispositivos de diferentes
fabricantes

88
Modelo YANG - Exemplo

89
Interfaces Southbound: BGP-LS

• Formas básicas de obtenção da topologia da rede


– Protocolo de gerenciamento
– Protocolo de roteamento (IGP)

• Protocolo BGP-LS (Border Gateway Protocol - Link State)


– Responsável por obtenção da topologia da rede
– Agrega múltiplas áreas/níveis e diferentes ASes
– Controlador SDN pode usar BGP-LS para adquirir a topologia
da rede para um PCE (Path Computation Element ) para
cálculo de caminho com Engenharia de Tráfego

90
Protocolo BGP-LS

Controlador
Controlador SDN
SDN

BGP-LS
Southbound BGP-LS
Interface IGP
IGP Southbound RR
Interface
IGP

Domínio n
(Multiárea
Domínio 1
IS-IS) BGP-LS BGP-LS
(OSPF)
BGP-LS
Domínio 2
(IS-IS) Domínio 1 Domínio 2 Domínio n
(OSPF) (IS-IS) (Multiárea
IS-IS)

91
Protocolo PCEP (Path
Computation Element Protocol)
• Usado para comunicações entre o
PCC (Path Computation Client) e o Arquitetura PCE

PCS (Path Computation Server)


PCS

• Utiliza informações dos estados dos TED

enlaces LSDB (Link-State Database) PCE


PCEP
• Tipos de PCE usados no SDN
– PCE dinâmico (Stateful PCE) PCC
– PCE iniciado pelo LSP

• Extensões do PCEP ainda em


desenvolvimento pelo IETF
92
Interfaces Southbound:
OpenFlow
• Protocolo OpenFlow
– Protocolo de padrão aberto Switch

– Usa tabelas com regras para tratamento OpenFlow


Protocolo
OpenFlow
de pacotes Sw
Canal
Seguro
SSL
– As regras são baseadas em porta física, Tabela de
Controlador
Hw
endereço MAC, tipo de quadro, endereço Fluxos

IP, tipo de protocolo, tipo de serviço e


porta TCP/UDP (Origem/Destino)
– Dispositivos OpenFlow e Controlador SDN
são ligados através de um canal de
comunicação seguro TLS (Transport Layer
Security)

93
Tabela de Fluxos OpenFlow

• Cada regra possui ações: encaminhamento, descarte e


modificação em um fluxo de dados
Controlador SDN
Dispositivo SDN
Aplicação Aplicação
Comunicações

Comunicações
Controle de

Controle de

Sistema
Operacional
de Rede
(NOS) Tabela de
Fluxos

94
Versões do Protocolo OpenFlow

- Múltiplos canais entre switches e


- Múltiplas tabelas de fluxo controladores
- Grupo de tabelas - QoS
- MPLS e ECMP - Tabela de fluxos com entrada perdidas

OF 1.0 OF 1.1 OF 1.2 OF 1.3 OF 1.4


Dez/2009 Fev/2011 Dez/2011 Abr/2012 Ago/2013

-Tabela de Fluxos única - Múltiplos controladores - Informação de vagas na tabelas de


- IPv4 - IPv6 fluxos
- regras com TLV flexível - Portas Ópticas
- Opção de despejo

95
Plano de Controle: Arquitetura
de Virtualização
• Virtualização no contexto do SDN
– As aplicações de rede e o controlador SDN podem ou não ser
instalados em uma máquina com infraestrutura virtualizada
(Virtual Machine – VM)

• Virtualização no contexto do NFV (Network Functions


Virtualization)
– Especificado pelo ETSI no grupo ISG (Industry Specifications
Group )
– Funções da rede movidas para a nuvem (Cloud Computing)
– Uso de servidores comerciais COTS (Commercial Off-the-
Shelf) baseados em x86

96
Arquitetura de Virtualização:
Hypervisor e Orquestrador

Aplicações Ex. Segment Routing


Northbound Interface
Ex.: RESTful
Ex.: Cisco WAE
Orquestração (WAN Automation Engine)
Ex. : ONOS Ex.: Opendaylight
Controlador Controlador
Southbound Interface Southbound Interface
Ex.: NETCONF Ex.: OpenFlow
Servidor A
Rede sem fio Telco Datacenter
Ex.: roteador de borda do núcleo (PE)

VNF1

VNF2

VNF3
Ex. rede IP/MPLS ...
Armazenamento
Rede
WAN (Storage) ...
VM 1 VM 2
Ex.: vswitch
Rede de Rede do Telco Hipervisor
Servidor Ex.: VMWARE, KVM
Acesso Datacenter
Rede Óptica Armazenamento Servidor B
Virtual

VNF3
VNF2 ...
VN1

VM 1 VM 2 ...

Hipervisor
Servidor
99
Arquitetura de Virtualização:
SDN x NFV

• SDN x NFV
– Indústria reconhece que são conceitos complementares
– Serviços NFV podem ser configurados com ou sem SDN
– SDN pode ser implementado com ou sem infraestrutura de
virtualização

• Protocolos de tunelamento para sobreposição de soluções


de virtualização : SDN “overlay”
– VxLAN (Virtual eXtensible Local Area Network)
– NVGRE (Network Virtualization using GRE)
– STT (Stateless Transport Tunneling)

100
Elemento de Computação de
Caminho (PCE)
• O que é o PCE ?
– Calcula caminhos baseados em restrições a partir do
comportamento dos roteadores, do OSS (Operations Support
System) ou de outro PCE

– Requisições são feitas ao PCE através do protocolo PCEP

– Tem visão de todos os domínios da rede

– Constrói uma base de dados de topologia multidomínio


denominada TED (Traffic Engineering Database) a partir dos
LSAs do IGP (OSPF ou IS-IS) ou pelo BGP-LS

– Sessão estabelecida entre o PCC (Path Computation Client) e o


PCE (Path Computation Element), é sobre TCP 110
Operação do PCE

TED

PCS
Link-State Data
PCE

PCEP

Sinalização/
Requisição PCC Roteamento
do Serviço
WAN

Encaminhamento
Roteador
Head End

111
Tipos de PCE

• PCE de controle estático (Stateless PCE)


– Não possui conhecimento prévio dos caminhos pré-
estabelecidos
– Pouca otimização de recursos de rede
– Uso entre domínios MPLS, não aplicável ao SDN

• PCE de controle dinâmico (Stateful PCE)


– Tem um controle do cálculo do caminho ótimo
– Possui conhecimento da rede (estado do LSP, recursos,
políticas)
– Sincronizado com a base de LSDB (Link State Database)

112
Tipos de PCE

Stateless PCE Stateful PCE

LSP DB

PCEP
TED PCEP
TED

Stateless Stateful
PCC PCC

113
Stateful PCE

• Stateful PCE passivo PCE

– PCC inicia a configuração do Stateful


caminho Stateless
Ativo
– PCS aprende o estado do LSP para Passivo
otimização do caminho
Caminho iniciado Caminho iniciado
• Stateful PCE ativo Pelo PCC Pelo PCS
– Tanto o PCC quanto o PCS podem
iniciar a configuração do caminho
– LSP pode ser iniciado pelo PCS,
sendo mais integrado às demandas
Opções indicadas para
das aplicações
SDN
– O PCE pode fazer parte do
controlador SDN 114
Proposta de PCE com SDN

• PCE com SDN


– Solução ideal para Operadora de telecomunicações
– Construção de base de dados entre domínios
– 4 métodos para construção da base de dados multidomínio:
• Cálculo de caminho por domínio
• Cooperação entre PCEs
• Cálculo de caminho de forma recursiva
• PCE hieráquico
– Controle centralizado dos caminhos na rede IP/MPLS
– Usado em redes multicamadas: IP/MPLS + Óptica
– Permite a adoção em tempo real das políticas de OSS
(Operations Support System)
115
Cooperação entre PCEs

3. Como
2. Acho que
chegar até Y ?
saindo por “A” é o
melhor caminho...
5. A rota é 4. Acho que por
através de B “D” é o melhor
1. Pretendo caminho
chegar até Y, PCE PCE
qual o melhor
caminho ?
8. Rota de
6. Rota de 7. Desejo D até Y
X até B A chegar a Y !
C
X
Ingresso
do tráfego

Egresso
do tráfego
B D Y

116
PCE Antes do SDN

• O “olho que tudo vê”: um mito !

MPLS 2008 – 11th Annual Conference


117
PCE Depois do SDN

• PACE: Path Computation Element Architecture

SDN MPLS 2014 – Advanced PCE


118
Plano de Controle: Interface
Northbound

• APIs Northbound
– Ainda são objeto de esforço de padronização e pesquisa
– Controladores tem suas próprias APIs Nothbound (ex.:
Opendaylight e ONOS)
– API REST
• Utiliza HTTP ou HTTPS
• Simplicidade: utiliza mecanismos baseado em Web
• Flexível: não necessita de MIBs (Management Information
Base), componentes de configuração em URL
• Extensível: novos recursos não necessitam de recompilação
• Seguro: uso do protocolo HTTPS

119
Interface Northbound: REST

GET PORT STATS


Método URI (Uniform Resource Identifier) : /stats/port/<dpid> , onde dpid é Datapath ID

$ curl -X GET http://localhost:8080/stats/port/1

Resposta:
{
Exemplo de uso API REST
"1": [ para o controlador Ryu para
{
´´port_no’’: 1, informar o estado das portas de
´´rx_packets’’: 9,
"tx_packets": 6, um comutador:
"rx_bytes": 738,
"tx_bytes": 252,
"rx_dropped": 0,
"tx_dropped": 0,
"rx_errors": 0,
"tx_errors": 0,
"rx_frame_err": 0,
"rx_over_err": 0,
"rx_crc_err": 0,
"collisions": 0,
"duration_sec": 12,
"duration_nsec": 9.76e+08
},
{
:
:
}
]
120
}
Interface Northbound: REST

• APIs RESTful
– Baseada na arquitetura REST
– Serviço definido em uma URI (Uniform Resource Identifier)
– Utiliza métodos HTTP
– Representação do recurso no formato de arquivo JSON
Método URI Operação Tipo de
HTTP Operação
1 GET /UserService/users Obtém a lista de usuários Leitura
2 GET /UserService/users/1 Obtém o usuário com Id 1 Leitura
3 PUT /UserService/users/2 Insere o usuário com Id 2 completa
4 POST /UserService/users/2 Update User with Id 2 N/A
5 DELETE /UserService/users/1 Apaga o usuário com Id 1 completa
6 OPTIONS /UserService/users Lista as operações suportadas no serviço web Leitura

121
Interface Northbound:
RESTCONF e NETCONF
• APIs RESTCONF
– Baseada na arquitetura REST
– Dados definidos em modelos YANG
– Repositório de dados em NETCONF
– Utiliza porta 8080 para as requisições HTTP
– Utiliza métodos HTTP
– Representação do recurso no formato de arquivo JSON ou
XML

• APIs NETCONF
– Usa XML para passagem de dados e comandos

122
Plano de Gerenciamento:
Aplicações

• Aplicações de rede
– Engenharia de Tráfego (TE)
• Minimizar consumo de energia
• Maximizar a capacidade para agregação do tráfego
• Balancear e otimizar o tráfego
– Mobilidade e Redes sem fio
• Gerenciar o espectro e a alocação de recursos de rádio
• Requer mecanismos de handover
• Prover balanceamento eficiente de tráfego entre células
– Medição e Monitoramento
– Segurança
• Firewall, DPI (Deep Packet Inspection), detecção de anomalias
do tráfego 123
Plano de Gerenciamento:
Linguagens de Programação
• APIs para desenvolvedores de aplicação
– REST
– RESTCONF
– RESTful

• Linguagens de programação
– C
– C++
– Java
– Python

124
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


127
Roteamento pela Origem
(Source Routing)

• Permite que a origem envie os Estados mantidos


apenas
pacotes por uma rota em R1 e R5 !
parcialmente ou completamente
Host C
especificada a partir da origem
• Os roteadores da rede
R3 R6
determinam o caminho baseado R1
R5
no destino do pacote
• O Roteamento pela origem
habilita o nó de origem na Host A R2 R4
descoberta de todas as possíveis
Host B
rotas para um determinado
destino Host A-R1-R3-R2-R4-R5-Host B
128
Roteamento pela Origem
(Source Routing)

• Pode ser implementado no protocolo IP através de duas


extensões: Strict Source (SS) e Loose Source (LS)

• Não foi utilizado na Internet por problema de segurança,


pois se a origem provém de um ataque, os demais nós
respondem a este ataque

• Roteamento baseado em regras podem ser usados para


rotear pacotes pela origem

• As regras podem ser dirigidas por um controlador


centralizado, como por exemplo um controlador SDN
129
Roteamento pela Origem
(Source Routing)

• Exemplo de Loose Source Routing no IPv6

130
Benefícios do Roteamento pela
Origem

• O Roteamento pela origem reduz


o número de estados dos
roteadores intermediários da rede
– Diminui o tempo de convergência
e a eficiência no encaminhamento
dos pacotes
• Facilita a introdução do controle
de Redes Definidas por Software
(Software Defined Networks –
SDN) em Redes TCP/IP, para
cálculo do caminho, definido nas
políticas, a partir do nó origem
131
Roteamento por Segmentos:
Conceitos Preliminares
• Protocolo de roteamento pela origem
– A origem do fluxo de dados escolhe e codifica uma lista de
segmentos
– O segmento é um identificador genérico para designar uma
instrução
– Tipos de instrução: serviço, contexto, localizador ou caminho
baseado em um IGP (Interior Gateway Protocol)
– O segmento pode ser um índice local ou global
– Na Rede de Roteadores IP/MPLS uma lista de segmentos é
uma pilha de rótulos, no IPv6 é um ou mais endereços
especificados na extensão do cabeçalho para roteamento

132
Tipos de Segmentos

• Segmentos de Nó:
– SRGB (Segment Routing Global Block) no MPLS é formada por
uma faixa de rótulos reservada (16000 a 23999) somada a um
índice (prefixo), tem significado global e é único por nó.

• Segmentos de Adjacência:
– Fora da faixa do SRGB, tem significado local, e pode ser
instalado em outro nó

133
Tipos de Segmentos

• Segmento Local:
– Fora da faixa do SRGB, tem significado local e não pode ser
instalado em outro nó

• Rótulos especiais: 90000 a 99999 usados pelas extensões


do LDP, RSVP e BGP

134
Segmento de Nó
2 caminhos de mesmo custo
(Equal Cost Multipath Routing - ECMP)
A decisão da escolha do caminho
pode depender de restrições
Segmento de Nó
(ex.: latência e banda)

1 2
1 2 16004
16005 16005 16004 16004 5
16005
5 16004
16005
16005 3 4
3 4
16004

Interpretação: O caminho do nó 1 (origem) ao 5 usa o segmento 16005 *


O caminho do nó 3 (origem) ao 5 usa o segmento 16005 *
Segmento de Nó SID: 16000 (SRGB) + 5 (prefixo do nó)
* Caminho mais curto do nó de origem ao nó de destino calculado pelo IGP 135
Segmento de Adjacência

Segmento de Adjacência

24021
24025
1 2

24024 5

3 4

Interpretação: As adjacências do nó 2 aos nós 1, 5 e 4 utilizam os segmentos


24021, 24024, 24025.
Formação do segmento: por exemplo o rótulo 240xy, onde x é o nó de origem
e y o de destino, configurado manualmente

136
Segmento Local

Segmento Local

Serviço 1
9001
1 2

3 4
9002
Serviço 2

Interpretação: O serviço 1 do nó 2 utiliza o rótulo 9001 e não pode ser usado em


outro nó. O serviço 2 do nó 4 utiliza o rótulo 9002 e não pode ser usado em outro nó.

137
Combinação de Segmentos de
Nó e Adjacência
• Os Segmentos de Nó e Adjacência pode ser combinados
para direcionar o tráfego em qualquer caminho da rede:
16004
16004
24045
24045
Pacote
dest: 5 Pacote
dest: 5

Pacote
dest: 5 1 2
Pacote para o nó 5
Pacote
5 dest: 5

3 4
24045
24045
16004 Pacote
dest: 5
138
SR-Path: Segment Routing Path

• A cadeia de SIDs é chamada de caminho de Roteamento


por Segmentos (SRouting Path – SR Path)

– O cálculo do caminho é feito pelo IGP (por exemplo IS-IS ou


OSPF) ou ainda pelo controlador SDN

– A lista de segmentos é armazenada na SR-FIB (Segment


Routing-Forwarding Information Base)

– A quantidade de entradas na tabela SR-FIB de um nó


qualquer é N(S) + A, onde N(S) é o número de Segmentos de
Nó e A o número de Segmentos de Adjacência, contra N2
túneis na FIB dos Roteadores implementados com MPLS
tradicional
– N é o número de Roteadores de Núcleo 139
Quantidade de Entradas
SR-FIB x LFIB
• Exemplo de cálculo de complexidade no Roteamento por
Segmentos x Rede IP/MPLS tradicional
N = 2, M= 6 enlaces N = 2, M= 6 enlaces
N(S)t = N(S)nó + A = 2 N(T) = N2 = 4
Complexidade O(N(S)t) Complexidade O(N2)

1 2 1 2

3 4 3 4

Interpretação: O nó de origem 1 sabe como Interpretação: O nó de origem 1 para chegar


chegar ao nó de destino 4 com o segmento ao nó de destino 4 com os túneis 1-4, 1-2-4,
de adjacência com SID = 24014 1-3-4, 1-3-24
Estados mantidos apenas nos nós de origem Estados mantidos em todos os nós
e destino
140
Operações com Segmentos

• PUSH: inserção de um segmento na lista. No MPLS insere


um rótulo na pilha, equivale a operação de “Push” no MPLS

• NEXT: ativa o próximo segmento da lista. No MPLS remove


o rótulo mais externo, equivale a operação de “Pop” do
MPLS

• CONTINUE: continuação do segmento ativo. No MPLS


corresponde à operação de “swap”, mas no caso do
Roteamento por Segmentos, o rótulo é mantido

141
Operações com Segmentos

PUSH CONTINUE NEXT NEXT

Continue Pop
Nomenclatura Push 16004 16004 16004 16004
16004
Operações MPLS Pop
Push 24045 24045 24045 24045 24045
Pacote FEC dest 5 Pacote Pacote Pacote Pacote
dest: 5 dest: 5 dest: 5 dest: 5 dest: 5

1 2 4 5

16004 24005
Segmento ativo Segmento de Nó Segmento de Adjacência

142
Agrupamento (Bundle) de
Segmentos de Adjacência
• Permite agrupar múltiplos enlaces físicos permitindo o
balanceamento do tráfego

Pop
24245 24245
2 enlaces
físicos
Pop
24045 24045

Pacote
dest: 5
4 5

Pop
24145 24145

Pop
24245 24245
143
Roteamento por Segmentos x
Redes IP/MPLS Legadas
• Comparativo da Arquitetura de Roteamento por Segmentos
com a Arquitetura IP/MPLS
Rede MPLS baseada em SR Rede MPLS tradicional
Transporte MPLS básico IGP IGP + LDP
Sincronismo entre o LDP/IGP Não se aplica Difícil de gerenciar
Comutação FRR (Fast Reroute) IGP IGP + RSVP-TE
em 50 ms
Túneis TE adicionais para Não precisa Precisa
suportar FRR
Otimização de caminho Backup Sim Não
ECMP para criação de túneis TE Sim Não
Estados apenas no Headend do Sim Não, depende do número de nós
TE (complexidade n2 nos pontos
intermediários)
Interoperabilidade com a rede Sim Não se aplica
MPLS tradicional
Projetado para SDN Sim Não
144
Roteamento por Segmentos
com Plano de Dados MPLS
• O Segmento é representado por um rótulo (Label)

• A lista de Segmentos é representada pelo empilhamento de


rótulo (Label Stack)

• cadeia de SIDs é chamada de caminho de Roteamento por


Segmentos (Segment Routing Path – SR Path)

• Possui a funcionalidade PHP (Penultimate Hop Popping) e


rótulos Explicit–Null

145
Roteamento por Segmentos
com Plano de Dados MPLS
• Prefixo SID associado à interface de Loopback de cada
Roteador de Núcleo caso o protocolo LDP não esteja
habilitado

• A divulgação dos segmentos a partir das extensões dos


protocolos IGP, BGP, BGP-LS e PCEP e alternativamente
pelo LDP

146
Roteamento por Segmentos
com Plano de Dados MPLS
Anuncia via IGP
SID associado ao IP de
Segmento 16004 Loopback

Lo: 1.1.1.4/32
Lo: 1.1.1.1/32 Lo: 1.1.1.2/32 Lo: 1.1.1.3/32 Prefixo-SID: 16004
99.1.2.1 99.2.3.2 99.3.4.3
99.1.2.2 99.2.3.3 99.3.4.4 Rede
Push Swap Pop IP
LER LSR LSR LER
1 2 3 4 “x”
Expl.
16004 16004
Pacote Null
dest: 4 Pacote Pacote Pacote
dest: 4 dest: 4 dest: 4

IP Lbl Lbl Out Next PHP


dest IN Hop
Lbl IN Lbl Next
X - 16004 99.1.2.2 Out Hop
LIB
FIB 16004 - 99.3.4.4
Lbl IN Lbl Next
Out Hop
LIB Explicit Null
16004 16004 99.2.3.2
147
Serviço VPN L3 com
Roteamento por Segmentos

MP-BGP

LSR LSR

Gi 0 Gi 1 Gi 1
3 4 Gi 0
99.1.3.3 99.3.4.3 99.3.4.4 99.2.4.4 Lo: 1.1.1.2/32
Gi 0 Gi 0
Gi 2 99.1.3.1 99.2.4.2 Gi 2 8
2
7 1
CE 99.1.5.1 99.2.6.2Gi 1 CE
LER Gi 1 99.1.5.5 99.5.6.5 99.5.6.6 LER 10.0.0.0/30
VRF vermelha 99.2.6.6 Prefixo SID 16002
Gi 0 5 6 Gi 0
Gi 1 Gi 1 VRF vermelha
LSR LSR

148
Serviço VPN L3 com
Roteamento por Segmentos
• Exemplo de encaminhamento do Plano de Dados MPLS
para VPN L3
Resultado da linha de comando show mpls forwarding no roteador 3 seria:
RP/0/0/CPU0:roteador-3#show mpls forwarding

Local Outgoing Prefix Outgoing Next Hop


Label Label or ID Interface
-------- ----------- -------------------- ------------- ---------------
Segmentos de Nó
16001 Pop SR Pfx (idx 1) Gi0/0/0/0 99.1.3.1
Origem: Nó 3 Destino: Nó 1,2,4,5
16002 16002 SR Pfx (idx 2) Gi0/0/0/1 99.3.4.4 Temos apenas 1 caminhos de menor
16004 Pop SR Pfx (idx 4) Gi0/0/0/1 99.3.4.4 custo
16005 16005 SR Pfx (idx 5) Gi0/0/0/0 99.1.3.1 Segmentos de Nó
16006 16006 SR Pfx (idx 6) Gi0/0/0/0 99.1.3.1 Origem: Nó 3 Destino: Nó 6
16006 16006 SR Pfx (idx 6) Gi0/0/0/1 99.3.4.4 Temos 2 caminhos de menor custo
24031 Pop SR Adj (idx 1) Gi0/0/0/0 99.1.3.1
Segmentos de Adjacência
24034 Pop SR Adj (idx 4) Gi0/0/0/1 99.3.4.4
Nó 3-Nó 1 e Nó 3-Nó 4
149
Roteamento por Segmentos
com Plano de Dados IPv6
• O Segmento é representado por um endereço IPv6
codificado em uma extensão de cabeçalho denominada SRH
(Source Routing Header)

• A lista de Segmentos é construída através de um IGP


(OSPF, IS-IS) ou ainda através do BGP

• A divulgação dos segmentos é feita a partir das extensões


dos protocolos IGP, BGP, BGP-LS e PCEP

• O Roteamento por Segmentos em IPv6 é do tipo Loose


onde o roteador de origem sugere um ou mais saltos para a
composição da rota
150
Roteamento por Segmentos
com Plano de Dados IPv6

• Cabeçalho SRH (Source


Routing Header) do IPv6
– Segments Left: índice
da lista de segmentos.
Indica o segmento que
está sendo inspecionado
– First Segment: aponta
para o último Segmento
da lista
– Segment List[n]:
endereço IPv6 que
representa o Segmento

151
Roteamento por Segmentos
com Plano de Dados IPv6
• Roteamento por Segmentos no IPv6
– O Segmento ativo é aquele que está designado como
endereço MAC de destino no pacote, sendo atualizado em
cada ponto final do segmento

– Tipos de Nós:
• Nó de Roteamento por Segmentos habilitado (SR
Capable): capaz de criar a lista de segmentos ou recebê-
los de um controlador SDN
• Nós de Trânsito: com e sem Roteamento por Segmentos
presente (Intra Segment Nodes)
• Nós finais (Endpoint Nodes), onde são inspecionados os
segmentos
152
Exemplo de Roteamento por
Segmentos no IPv6

IPv6 Hdr : SA=x, DA = C


SR Hdr : SL= C, F, H, y IPv6 Hdr : SA=x, DA = F
Payload SR Hdr : SL= C, F, H, y
IPv6 Hdr : SA=x, DA = y Payload
Payload
B C D
Rede
Rede H “y”
A
“x”

E F G

IPv6 Hdr : SA=x, DA = C IPv6 Hdr : SA=x, DA = H


SR Hdr : SL= C, F, H, y SR Hdr : SL= C, F, H, y
Payload Payload

IPv6 – IPv6 Header


SR Hdr: Segment Routing Header Nó de Roteamento por Segmentos Habilitado (SR Capable): A
SL: Segment List Nós de Trânsito (Intra Segment Nodes): B, E e G
Nós finais (Endpoint Nodes): C, F e H

153
Bloco Global de Roteamento
por Segmentos (SRGB)
• Segment Routing Global Block (SRGB)
– É uma faixa de rótulos reservada para Segmentos de Nó ou
globais
– Tem valor absoluto em um domínio de Roteamento por
Segmentos (SR domain)
– O rótulo é formado um prefixo SID somado à base do SRGB
• Exemplo um nó com SID 65 o prefixo SID será 16000 +
65 = 16065
– Base SRGB padrão: rótulos alocados entre 16000 a 23999
– Base SRGB não padrão: rótulos alocados entre 16000 a
1048575

154
Alocação NÃO Recomendada de
SRGB
Loopback 1.1.1.1/32 Prefixo de Segmento de índice = 1

Lo: 1.1.1.1/32

16001 533336 16001 16001 1


4 3 2
Pacote dest: 1 Pacote dest: 1 Pacote dest: 1 Pacote dest: 1

16000 Index 0 16000 Index 0 16000 Index 0


SRGB

SRGB

SRGB
16001 Index 1 16001 Index 1 16001 Index 1
... ... ...
23999 Index 7999 533334 23999 Index 7999

24000 533335 Index 0


533336 Index 1 24000
... ...
541334 Index 7999 ...

541335
...
1.048.575 1.048.575 1.048.575

155
Alocação Recomendada de
SRGB
Loopback 1.1.1.1/32 Prefixo de Segmento de índice = 1

Lo: 1.1.1.1/32

16001 16001 16001 16001 1


4 3 2
Pacote dest: 1 Pacote dest: 1 Pacote dest: 1 Pacote dest: 1

16000 Index 0 16000 Index 0 16000 Index 0


16001 Index 1 16001 Index 1 16001 Index 1
... ... ...
23999 Index 7999 23999 Index 7999 23999 Index 7999
SRGB

SRGB

SRGB
24000 24000 24000
... ...
...

1.048.575 1.048.575 1.048.575

156
Alocação de Rótulos para o
MPLS e Roteam. Segmentos

Faixa de Rótulos Uso


0-15 Reservada para uso especial (Ex. Explicit e Implicit Null)
16-15999 Para rótulos MPLS estáticos
16000-23999 Para roteamento por segmentos
24000-1048575 Para roteamento dinâmico

157
Gerenciamento dos Segmentos

• Os rótulos do Segmentos de Nó (SRGB) são gerenciados por


uma base de comutação de rótulos denominada LSD (Label
Switching Database), preservando a faixa de 16000 a 23999
e alocando dinamicamente a partir de 24000

• Os rótulos dos Segmentos de Adjacência são obtidos pelo


IGP como o OSPF e IS-IS através de suas extensões para
Roteamento por Segmentos

158
Plano de Controle IGP para
Roteamento por Segmentos
• O IGP é responsável pela configuração e distribuição dos
segmentos em redes multiárea (OSPF) e multinível (IS-IS)

• Interfaces Loopback dos roteadores representadas por


Prefixo SID (Segmentos de Nó) e Segmentos de Adjacência
para identificar as adjacências do nó

• O anúncio dos Prefixos SID é feito pelo Servidor de


Mapeamento (Mapping Server)

• Utiliza extensões do protocolo IS-IS (draft-ietf-isis-segment-


routing-extensions-02) e do OSPF (draft-ietf-ospf-segment-
routing-extensions-05)
159
Extensões do OSPF para
Roteamento por Segmentos

• Adicionam nos anúncios de estado de enlace LSA (Link


State Advertisement) denominado de LSA opaco (Opaque
LSA)

• Novos tipos (Type) de Opaque LSA para suportar


Roteamento por Segmentos:
– Faixa de Rótulos: Opaque LSA Type 4
– SIDs de Segmentos de Nó: Opaque LSA Type 7
– Segmentos de Adjacência: Opaque LSA Type 8

160
Opaque LSA

161
Opaque LSA

• Informação dos Segmentos no LSA opaco


– LSA opaco anuncia o prefixo SID do Segmento de Nó

– LSA opaco pode anunciar SIDs do SRGB padrão e não padrão


em instâncias separadas do OSPF

– Em cada instância do OSPF pode ser configurado com faixas


de SRGB iguais (Overlapping SRGB) ou diferentes (Non-
Overlapping SRGB)

– Prefixo SID é configurado manualmente sendo um valor


absoluto ou índice atribuído à interface Loopback
162
Informações do Segmentos no
Opaque LSA
• Roteador originador anuncia as seguintes faixas de rótulos
(SRGB não padrão) Non-Overlapping :
– Faixa 1: [100, 199]
– Faixa 2: [1000, 1099]
– Faixa 3: [500, 599]

• Os roteadores de destino recebem as faixas concatenando-


os formando a SRGB não padrão: [100, 199], [500,
599],[1000, 1099]
– Os índices usam várias faixas:
• Índice 0: rótulo 100
• Índice 99: rótulo 199
• Índice 200: rótulo 500 163
Informações do Segmentos no
Opaque LSA

• Segmento de Adjacência tem significado local e é alocado


automaticamente para cada adjacência, descrito em
extensões do OSPF (Type-length-value - TLV e sub-TLV)
com flags para anúncio e propagação dos prefixos:
– Bit A ligado gera uma extensão para o prefixo SID
– Bit N ligado indica que o prefixo identifica o nó

164
Opaque LSA (TLV e sub-TLV)

• Detalhamento das Extensões do OSPF (TLV e sub-TLV)


Opaque LSA

TLV

Sub-TLV
Flag da TLV

Flag da sub-TLV

Configuração do Prefix SID Configuração SID


166
Segmento de Nó Segmento de Adjacência
Propagação de Prefixos entre
Áreas: Prefixo SID Anycast

• São anunciados a múltiplos nós de rede

• Prefixo SID Anycast tem o mesmo SRGB

• Divulgados pelos ASBRs (Autonomous System Boundary


Router)

• Em redes multiáreas os SIDs dos ASBRs são Anycast pois


são únicos em todo domínio

• No OSPF os prefixos SID (Segmento de Nó) são propagados


entre áreas, , mas os SID de adjacência (Segmento de
Adjacência) não são propagados
167
Propagação de Prefixos entre
Áreas: Prefixo SID Anycast
Fast Reroute
nativo

1002

72
72
Pacote dest: c
ASBR1-A ASBR2-A Pacote dest: c

SID SID
1001 1002
A Área Área Área
1 C
SID Backbone 2
1001
SID
SID 70 1002
B ASBR2-B
ASBR1-B SID 72

SID Anycast
SID 72
SID unique (dentro da área)

168
Propagação de Prefixos entre
Áreas: Prefixo SID Anycast
• Prefixos SID Anyscast – Propagação de prefixos e flags

Flags na Flags na
Área 0 Área 1
16003 16003 1.1.1.1/32 SID 16001 NP=0, E=0  NP=1, E=0
1.1.1.3 1.1.1.3 1.1.1.3
1.1.1.2/32 SID 16002 NP=0, E=0  NP=0, E=0

17002 2.2.2.2/32 SID 17002 NP=0, E=0  NP=0, E=0


1.1.1.2 1.1.1.2
SID
1.1.1.3/32 SID 16003 NP=1, E=0  NP=0, E=0
SID 17002
16002
Lo: 1.1.1.2/32 Lo: 2.2.2.2/32
Lo: 1.1.1.1/32 Lo: 1.1.1.3/32 Prefixos SID
R1 R2 R3
Anycast
SID SID propagados
16001 16003

Área 0 Área 1

ASBR 169
Roteamento por Segmentos
Interligados por uma LAN
• A LAN representa a adjacência entre os nós

• É criado um “pseudonó” representando a LAN com um


segmento de adjacência para cada nó
R2

R1 SID para R2

LAN

R3
PseudoNó

SID para R3

170
Coexistência com outros
protocolos legados
• Arquitetura IP/MPLS
– Permite coexistir com múltiplos protocolos
– Protocolos de coexistência: LDP, RSVP-TE e Roteamento por
Segmentos: plano de controle dual independente (Dual Plane)
– Estratégia: Roteamento por Segmentos reserva rótulos na
faixa do SRGB e o MPLS fora desta faixa
– Escolha do caminho pode ser feita selecionando-se o LDP ou o
Roteamento por Segmentos

171
Coexistência com outros
protocolos legados
• Duas formas de imposição de rótulos
– MPLS para IP e MPLS para MPLS: os rótulos são indexados na
FIB e LFIB dos roteadores de núcleo segundo a estratégia de
reserva de rótulos
– IP para MPLS: recebe o rótulo através do Roteamento por
Segmentos ou pelo LDP (LDP é o preferencial), não
simultâneamente

172
MPLS para IP ou
MPLS para MPLS
MPLS Roteamento por Segmentos + LDP IP
Lo: 1.1.1.5/32

1 2 3 4 5
Local/ Out Local/ Out Local/ Out Local/ Out
Label In Label Label In Label Label In Label Label In Label
SRGB

1600 1600 1600 1600


... ... ... ...
16005 16005 16005 24005 16005 24005 16005 Pop
... ... ... ...
23999 23999 23999 23999
24000 24000 24000 24000
... 24001 32011 ... ...
24002 24001 24005 16005 24003 Pop
...
32011 24003

104857 104857 104857 104857


5 5 5 5 173
IP para MPLS

Roteamento por Segmentos + LDP Lo: 1.1.1.5/32


IP MPLS
IP

1 2 3 4 5
Local/ Out Local/ Out Local/ Out Local/ Out
Label In Label Label In Label Label In Label Label In Label
SRGB

1600 1600 1600 1600


... ... ... ...
16005 16005 16005 24005 16005 24005 16005 Pop
... ... ... ...
23999 23999 23999 23999
IPv4:
Dest 24000 24000 24000 24000
1.1.1.5 ... 24001 32011 ... ...

Payload 24002 24001 24005 16005 24003 Pop


...
Qual rótulo a 32011 24003
ser inserido ?

1048575 1048575 1048575 1048575 174


Estratégia para Migração para
Roteamento por Segmentos
• Manter a execução de 2 planos de controle independentes
na Rede IP/MPLS legada com os seguintes passos:

– Atualização dos Roteadores de Núcleo para suportar


Roteamento por Segmentos

– Imposição de rótulos feita preferencialmente pelo Roteamento


por Segmentos

– Remover o LDP, simplificando a rede IP/MPLS

175
Servidor de Mapeamento

• Utilizado para interoperabilidade entre roteadores que


suportam Roteamento por Segmentos e roteadores que não
suportam

• Servidor onde os prefixos de rede e os SIDs são mapeados

• Servidor deve ser redundante

• Instância do IGP usado para calcular ou recalcular SIDs a


partir de regras

• Os nós que suportam Roteamento por Segmentos são


clientes do servidor de mapeamento
176
Servidor de Mapeamento

• Impede nós que não suportam Roteamento por Segmentos


enviem LSAs aos nós que suportam

• Anúncios do servidor de mapeamento utiliza as extensões


do OSPF e IS-IS

• Múltiplos servidores de mapeamento deve ter o


mapeamento de prefixos de rede e SID iguais para manter
a consistência

• Caso não haja consistência, o cliente escolhe a entrada que


não tem sobreposição com a política ativa

177
Arquitetura do Servidor de
Mapeamento

Calculadora Políticas
de Políticas Ativas
Verificador de
Políticas
políticas
Backup
RIB
locais Procura
Prefixo SID

Entradas de Entrada de
Configuração Mapeamento Mapeamento
local remota Analisador
Políticas Locais LSP/LSA
Políticas Locais

Gerador
Entrada de Mapeamento LSP/LSA
local do Gerenciador Cache Políticas Locais
de Mapeamento
Gerenciador de Mapeamento IGP Cliente de
Mapeamento
Servidor de Mapeamento

178
Interoperabilidade entre
Roteam. Segmentos/LDP

• Modelos de interoperabilidade:

– Roteamento por Segmentos para LDP

– LDP para Roteamento por Segmentos

– Roteamento por Segmentos sobre LDP

– LDP sobre Roteamento por Segmentos

179
Interoperabilidade entre
Roteam. Segmentos/LDP

180
Modelos de Interoperabilidade
Roteam. Segmentos/LDP
• Roteamento por Segmentos para LDP
– Anuncia os prefixos SID na tabela LFIB dos roteadores do
domínio LDP
– Realizado pelo Servidor de Mapeamento

• LDP para Roteamento por Segmentos


– Conecta um LSP criado no domínio do LDP ao prefixo SID do
domínio de Roteamento por Segmentos
– Realizado por uma entrada na LFIB em cada um dos domínios

181
Roteamento por Segmentos
para LDP
LDP FIB
SID: 16005 ? LDP 1.1.1.5/32
1.1.1.5/32 Lbl Impl
Lbl 90007 Null IP
Segmento LSP Lo: 1.1.1.5/32

1 2 3 4 5
Domínio SR Domínio LDP

Local/ Out Local/ Out Local/ Out Local/ Out


Label In Label Label In Label Label In Label Label In Label
1600 1600 1600 1600
Entrada do
16005 16005 16005 16005 16005 90090 ...
Servidor de
Mapeamento
... ... Cópia
... ...
90002 90090 90090 Pop
... ... ... ...

182
1048575 1048575 1048575 1048575
LDP para Roteamento por
Segmentos
LDP LDP SID: 16005
FIB 1.1.1.5/32 1.1.1.5/32
Lbl 90100 Lbl 90007 IP
LSP Segmento Lo: 1.1.1.5/32

1 2 3 4 5
Domínio LDP Domínio SR

Local/ Out Local/ Out Local/ Out Local/ Out


Label In Label Label In Label Label In Label Label In Label
1600 1600 1600 1600
... ... 16005 16005 16005 Pop

Cópia
... ... ... ...
90008 90100 90100 90007 90007 16005 90007 90007
... ... ... ...
Entrada da
Tabela FIB

1048575 1048575 1048575 1048575


183
Modelos de Interoperabilidade
de Roteam. Segmentos e LDP
• Roteamento por Segmentos sobre LDP
– Cada roteador da fronteira mapeia o prefixo SID ao LSP obtido
pelo protocolo LDP
– Se o caminho terminar em um domínio LDP é necessário o
Servidor de Mapeamento

• LDP sobre Roteamento por Segmentos


– O LSP é mapeado em um prefixo SID
– Necessário o Servidor de Mapeamento

184
Mecanismo de Proteção TI-LFA

• TI-LFA (Topology Independent Loop Free Alternate)


– É uma técnica de re-roteamento para convergência rápida da
rede
– Tempo de convergência de 50 ms é inferior ao tempo de
convergência da rede
– Baseado no mecanismo clássico de LFA-FRR (Loop Free
Alternate Fast Reroute)
– O TI-LFA evita os ciclos que podem ocorrer no LFA-FRR
clássico
– Algoritmo elaborado para total cobertura de nós sem ciclos e
com tempo de convergência inferior a 50 ms, forçando um
caminho ótimo (pós-convergência)

185
LFA-FRR Clássico

Destino

Origem
5

1 2 3

6 7 8

Nó 1 é LFA para o destino 5

Caminho principal
Caminho clássico LFA FRR
Caminho pós-convergência do IGP
186
LFA-FRR Clássico

Destino

1 2 3

Ciclo

Origem 6 7 8

Nó 6 não é LFA para o destino 5

Caminho principal
Caminho clássico LFA FRR
Caminho pós-convergência do IGP

187
Algoritmo PQ

• Algoritmo PQ
– Divide a rede em 2 espaços: P e Q
– Algoritmo proprietário da Cisco e não está no escopo de
padronização do IETF
– Usado no balanceamento e proteção de tráfego

188
Algoritmo PQ - Definições

• Algoritmo PQ
– Espaço P: nó de origem S (Source) e conjunto dos nós que
tenham caminho para o nó de destino D (Destin) até o nó P,
sem usar o enlace L a ser protegido
– Espaço Q: conjunto de nós a partir do nó Q que podem
chegar até D sem usar o enlace L a ser protegido
– Espaço P e Q são disjuntos
– Nó P une o espaço P ao espaço Q
– Nó Q une o espaço Q ao espaço P
– Espaço P estendido: conjunto de nós do espaço P com
vizinhos de S e D
– Nó P e Q podem ser o mesmo nó
189
Algoritmo PQ – Espaço P e Q

P Space Q Space
P Q
S D

Caminho L
Caminho Principal (L)
TI LFA (caminho pós-convergência)

P Space Q Space
P
S Q D

Caminho L

Caminho Principal (L)


TI LFA (caminho pós-convergência)
190
TI-LFA com Roteamento por
Segmentos
• Implementação do caminho de proteção TI-LFA com
Roteamento por Segmentos, utiliza o Algoritmo PQ:
– Caso 0: Se o nó P = Q for vizinho de S não precisa configurar
segmento
– Caso 1: Se o nó P = Q não é vizinho de S precisa configurar
um segmento de nó cujo prefixo SID é do nó PQ {Prefix-
SID(PQ)}
– Caso 2: Se o nó P <> Q então precisa configurar 2
segmentos, onde um segmento de nó vai do nó S até o nó P
{Prefix-SID(P)} e um segmento de adjacência de P a Q {Adj-
SID(PQ)}

191
TI-LFA com Roteamento por
Segmentos – Caso 0
• Caso 0: TI LFA com nenhum segmento a partir de P

Pacote dest: Z
A Z Pacote dest: Z
Caminho principal
Origem (S) Caminho Pós-Convergência
R R Destino (D) Segmentos
Prefixo- SID(Z)
1 2 P-Space
Pacote dest: Z
Q-Space
P-Space Extended P-Space
R
5
P=Q
Q-Space

Pacote dest: Z

R R
4 3

192
TI-LFA com Roteamento por
Segmentos – Caso 1
• Caso 1: TI LFA com 1 segmento a partir de P

A Z
Pacote dest: Z
Pacote dest: Z Caminho principal
Origem (S) Caminho Pós-Convergência
R R Destino (D) Segmentos
PrefixoSID(R4) 1 2 P-Space
Prefixo SID(Z) Q-Space
Q-Space
Pacote dest: Z
R Extended P-Space
P-Space 5

P=Q R R Extended
4 3 P-Space

Prefixo SID(Z)
Pacote dest: Z
193
TI-LFA com Roteamento por
Segmentos – Caso 2
• Caso 2: TI LFA com 2 segmentos a partir de P

A Z
Pacote dest: Z
Origem (S)
Pacote dest: Z Caminho principal
Prefixo SID(R4) R R Caminho Pós-Convergência
1 2 Destino (D) Segmentos
adj- SID(R3)
Prefixo- SID(Z) P-Space
Pacote dest: Z Q-Space
R
5 Extended P-Space
P-Space
Q-Space

R R
P 4 3 Q
adj- SID(R3)
Prefixo- SID(Z) Prefixo- SID(Z)
Pacote dest: Z Pacote dest: Z

194
Aplicações do TI-LFA

• Balanceamento e proteção do tráfego


– TI-LFA usa caminhos ECMP (Equal-Cost Multipath Routing)
balanceando o tráfego através de uma função hash

• Proteção em redes mistas MPLS com LDP e com


Roteamento por Segmentos
– Roteamento por Segmentos implementado em “ilhas”
– Influencia a proteção do roteamento da rede IP/MPLS
– Prefixos SID anunciados pelo Servidor de Mapeamento

195
Balanceamento e Proteção com
TI-LFA
Origem
Destino2
Destino 1
8
1 7

2 5

6 Q
P 1000
P
3 4 Q
1000

Métrica padrão: 10

196
Proteção em Redes IP/MPLS
com TI-LFA
Origem Destino
A Z

P-Space

1 2 Q-Space
P-Space Extended P-Space
Segmentos
Q-Space
5

4 3 Extended
P-Space
PQ

SR + LDP:nó 1 e 4
LDP: nós 2,3 e 5
197
Aplicações e Serviços para
Roteamento por Segmentos
• Engenharia de Tráfego com Roteamento por Segmentos SR-
TE (Segment Routing – Traffic Engineering)
– Configuração, modificação e remoção de caminhos TE
– Plano de controle centralizado através de um controlador SDN
ou de forma distribuída nos roteadores
– Controlador SDN toma decisões de roteamento que podem ser
diferentes do IGP, a partir da base de dados do PCE
– Roteador de Núcleo de origem SRTE (Segment Routing Traffic
Engineering Head End) classifica os pacotes e cria a lista de
segmentos
– Roteador intermediários (Mid Points) não necessitam de
estados adicionais na LFIB e sinalizações do RSVP-TE
– Programação da rede através de APIs (Northbound Interfaces)
198
Engenharia de Tráfego com
Roteamento por Segmentos
Aplicação
SDN
Requisição de
Caminho LSP
DB
Stateful PCE
TED
PCEP BGP-LS
Lista de Segmentos: 10,20,30,40
40
Stateful
PCC
10
20 30
30 40
40

20
30
40 199
Engenharia de Tráfego com
Roteamento por Segmentos
• Engenharia de Tráfego com Roteamento por Segmentos
para criação de túneis disjuntos em planos separados
ECMP – Equal Cost MultiPath Routing ECMP – Equal Cost MultiPath Routing
para Plano A+B somente no Plano A
4 saltos, Segmentos {65} 4 saltos, Segmentos {111,65}

A A

SID 111

SID 65 SID 65

Z Z

Roteadores do Plano A Roteadores do Plano A


Roteadores do Plano B Roteadores do Plano B
200
Engenharia de Tráfego com
Roteamento por Segmentos
• Orquestração da Engenharia de Tráfego com Roteamento
por Segmentos SR-TE (Segment Routing – Traffic Eng.)
através de Redes Definidas por Software
Túnel de A para Z com
Controlador SDN Desejo 2G de
Segmentos { 66,68, 65}
A para Z !
Aplicativos 66
Aplicativos
3G 3G 1G
A B C D 4G
API
3G 4G 4G 68 4G Z
Visualização e Orquestração
Análise de Banda 4G
3G 1G 65
Coletor de E F G 4G H
Programação
Dados

O enlace por CD não


O caminho ABCGHZ está Ok.
capacidade para 2G ! Não
Existe capacidade disponível
posso utilizar o menor
de 2G, então vou dirigir o
caminho através do
tráfego para este caminho !
segmento 65 de A a Z !

201
Aplicações e Serviços para
Roteamento por Segmentos
• Controle OAM (Operations, Administration and
Maintainance)
– Uso de segmentos de adjacência para monitorar cada enlace
de rede usado em redes extensas e complexas

• Automação de “peering” de roteadores de diferentes


sistemas autônomos
– Controlador SDN aprende SIDs dos “peers”, através do BGP-
LS simplificando o uso do protocolo BGP em redes IP/MPLS

202
Controle OAM

9105
9107 9107
9103 9103
9101 9105 9105
9105 9101 9105 9101 9101
9101 9101
9107
9103 B C D
9105
9101 A 9107 9105 H

E F G
9103
9103
9105 9105
9101 9101

203
Automação de “peering”

Controlador SDN

D G
B 1.0.1.2/24 AS 2

AS 1
E AS 4
A 1.0.2.2/24 K
1.0.2.1/24
1.0.3.1/24 AS 3
1.0.3.2/24
C
PE de Egresso (EPE)
F Peers
Sinalização BGP EPE do PE de Egresso para o
Controlador SDN

Peer/ Segmento do Nó SID


1012 : pop e encaminhe para 1.0.1.2/32
1022 : pop e encaminhe para 1.0.2.2/32

Peer/ Segmento de Adjacência


1032 : pop e encaminhe para 1.0.3.2/32
1042 : pop e encaminhe para 1.0.4.2/32 204
Aplicações e Serviços para
Roteamento por Segmentos
• Cadeia de serviços com Roteamento por Segmentos
– Aplicável no plano de encaminhamento de dados MPLS e IPv6
– Nó (virtual ou físico) que conecta a instância do serviço origina
um segmento local
– SID local é conhecido pelo nó de ingresso através de um
controlador SDN
– Aplicável ao NFV (Network Functions Virtualization)
– IETF definiu transporte de serviços em um cabeçalho NSH
(Network Service Header) que identifica a cadeia (path id)
– IETF está trabalhando para integrar o NSH ao Roteamento por
Segmentos, mapeando-os no path id

205
Cadeia de Serviços com
Roteamento por Segmentos

B e C anunciam S1 e S2
como SIDs para as Segmento Local
instâncias de serviço
anexadas S2

A Ingresso

O nó de ingresso
classifica o fluxo e aplica S1
a cadeia de serviço S1, S2

Segmento Local

206
Padronização IETF

• Conduzida pelo IETF no grupo de trabalho SPRING WG


(Source Packet Routing in Networking Working Group)
Documento
Grupo de Trabalho Draft Tópicos do Draft
IETF
SPRING draft-ietf-spring-segment-routing Arquitetura SR
SPRING draft-ietf-spring-segment-routing-mpls SR MPLS
SPRING draft-ietf-spring-segment-routing-ldp- Interoperabilidade SR e LDP
interop
Arquitetura SPRING draft-filsfils-spring-sr-recursing-info SID associados a serviços locais
Roteamento SPRING draft-ginsberg-spring-conflict-resolution Solução para conflitos de anúncio de
por SIDs por instâncias diferentes de
Segmentos protocolo
SPRING draft-psarkar-spring-mpls-anycast- Anycast SID
segments
SPRING draft-francois-spring-segment-routing-ti- TI LFA
lfa-02

207
Padronização IETF

Documento
Grupo de Trabalho Draft Tópicos do Draft
IETF
ISIS draft-ietf-isis-segment-routing-extensions Extensões do IS-IS para SR
ISIS draft-ietf-isis-prefix-attributes Extensões do IS-IS para SR
ISIS draft-ginsberg-isis-l2bundles Extensões do IS-IS para SR
ISIS draft-previdi-isis-ipv6-prefix-sid Extensões do IS-IS para SR
OSPF draft-ietf-ospf-segment-routing- Extensões do OSPF para SR
extensions
IDR draft-ietf-idr-bgpls-segment-routing-epe Extensões do BGP para SR
IDR draft-ietf-idr-bgp-prefix-sid Extensões do BGP para SR
IDR draft-sreekantiah-idr-segment-routing-te Aúncio de políticas SR TE usando BGP
Extensões de IDR draft-gredler-idr-bgp-ls-segment-routing- Extensões do BGP-LS para SR
Protocolos ext
IDR draft-gredler-idr-bgplu-epe Extensões do BGP-LU para SR
PCE draft-ietf-pce-segment-routing Extensões do PCEP para SR
PCE draft-sivabalan-pce-binding-label-sid Extensões do PCEP para SR
6MAN draft-previdi-6man-segment-routing- SR em IPv6
header
6MAN Draft-evyncke-6man-segment-routing- SR em IPv6
security
BFD draft-akiya-bfd-seamless-sr BFD (Bidirectional Failure Detection)
para SR
208
Padronização IETF

Documento
Grupo de Trabalho Draft Tópicos do Draft
IETF
SPRING draft-ietf-spring-problem-statement Arquitetura SR para tráfego unicast
SPRING draft-ietf-spring-resiliency-use-case Casos de uso SR resilientes
SPRING draft-ietf-spring-ipv6-use-case Casos de uso SR em IPv6
SPRING draft-ietf-spring-oam-requirement OAM
SPRING draft-ietf-spring-oam-usecase OAM
Casos de Uso
SPRING draft-ietf-spring-segment-routing-msdc Uso massivo de Daatcenters
SPRING draft-ietf-spring-segment-routing-central- Egress PE (Peering)
epe
SPRING draft-filsfils-large-scale-interconnect Rede SR de grande escala
MPLS draft-kumarkini-mpls-spring-lsp-ping LSP ping/trace para SR

209
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


210
Experimentação Prática

• Utilização da ferramenta OSHI (Open Source Hybrid IP/SDN


networking)
– Desenvolvida para o Projeto Dreamer (Distributed Resilient
Architecture meeting Carrier Grade Requirements) da ​GÉANT
que representa a Rede de Pesquisa e Educação Pan-Européia
– Objetivo: investigar e prototipar redes definidas por software
baseadas em protocolo Openflow e provendo as mesmas
funcionalidades das redes IP/MPLS
– Simulador de rede que trabalha com nós de rede reais e
virtuais com implementação em software aberto
– Southbound interface: OpenFlow
– Northbound interface: REST
– Controlador SDN: Floodlight, Ryu e ONOS
211
Prática: Projeto DREAMER –
Rede GÉANT

212
Ferramenta OSHI

• Ferramenta OSHI
– Encapsulamento do tráfego em túneis:
• VLAN
• Q-In-Q
• MPLS
• Ethernet PBB (Provider Backbone Bridge)
– 3 formas de aplicação:
– No Virtualbox “run time”, onde cada dispositivo usa uma VM
– No ambiente de simulação do Mininet (*)
– Provas de conceito de redes SDN (Projeto OFELIA – OpenFlow
in Europe Linking Infrastructure and Applications)

(*) Opção usada nos experimentos 213


Arquitetura do Nó OSHI

• Nó OSHI
– Combina o encaminhamento tradicional IP (com OSPF) e
encaminhamento em SDN implementada por Open vSwitch
(OpenFlow Capable Switch - OFCS)
– Possui um “daemon” de roteamento IP baseado em Quagga
– Encaminhador de pacotes IP implementado com Kernel Linux
– Encaminhador de pacotes ligado ao conjunto de portas
virtuais do OFCS
• Configuração de Caminhos
– SBP (SDN Based Paths) é uma configuração de circuito virtual
usando SDN para transmitir fluxo de pacotes entre 2 pontos

214
Arquitetura do Nó OSHI

Daemon de

encaminhamento IP
Roteamento IP

Roteamento e
Roteamento e (Quagga)
Encaminhamento IP
Encaminhador de
Pacotes
(Rede Linux)
Portas Virtuais

SDN/Switch
IP

OpenFlow
SDN/ Switch SDN
SDN
Switch (Open vSwitch)
OpenFlow

Portas físicas

215
Arquitetura do Nó OSHI

• Serviços simulados pela ferramenta OSHI:


– Circuitos Virtuais alugados (Virtual Leased Lines - VLL) (*)
– Pseudo fio (Pseudowires - PW) de camada 2
– Switches virtuais de camada 2 (Virtual Switched Services -
VSS) sobre um Backbone IP/MPLS
– Engenharia de tráfego em redes IP/MPLS (túneis TE)
– Roteamento por Segmentos (*)

(*) Objeto dos experimentos

216
Introdução ao Mininet

• Emulador de rede Mininet


– Cria redes virtuais com servidores, comutadores,
controladores e enlaces virtuais em uma única máquina física
– Ideal para experimentos com OpenFlow e redes SDN
Aplicação
SDN
Controlador
POX - C0

Switch S1
eth1 eth2
Aplicação Aplicação

h1 eth0 eth0 h2

Rede Emulada Rede com Hardware


no Mininet físico
217
Experimento 1: Construção de
uma Rede Simples com Mininet
Servidor HTTP Servidor HTTP
#1 #2
Tarefa 1:
Rede com 2 servidores
E um cliente, cada um
destes ligado a um
Switch OpenFlow cada, 192.168.2.2 172.64.3.10
e estes conectados ao eth1 eth2
Roteador 192.168.2.1 172.64.3.1
Roteador

eth3
10.0.1.11

10.0.1.100

Cliente
218
Experimento 1: Construção de
uma Rede Simples com Mininet

Ver caderno de Prática 1:


“Construção de uma Rede simples
com roteamento no Mininet”

Disponível em
http://www.gta.ufrj.br/~silverio/SRArquivoSBRC2016.htm.

219
Experimento 2: Criação de um
Serviço MPLS com LDP no OSHI
Tarefa 2:
Configurar o serviço
Pseudowire MPLS em
um Backbone IP/MPLS CONTROLADOR
RYU OU FLOODLIGHT
(com PE´s e P´s) legado
(protocolo LDP) com a
ferramenta OSHI
P OSHI
PE OSHI ROTEADOR
ROTEADOR
PE OSHI CE
CE

P OSHI P OSHI

PAYLOAD CETH MPLS PETH

PSEUDOWIRE
220
Experimento 2: Criação de um
Serviço MPLS com LDP no OSHI

Ver caderno de Prática 2:


“Criação de um Serviço em rede
MPLS-TE através da ferramenta
OSHI”

Disponível em
http://www.gta.ufrj.br/~silverio/SRArquivoSBRC2016.htm.

221
Experimento 3: Criação de um
Serviço MPLS com SR* no OSHI
Tarefa 3:
Configurar o túnel MPLS
em um Backbone 69
69 23
IP/MPLS (com PE´s e 23 90
P´s) configurando 90 B C
Roteamento por
A 23
Segmentos com a F
ferramenta OSHI
D E
90
SR* - Segment Routing 90

222
Experimento 3: Criação de um
Serviço MPLS com SR* no OSHI

Ver caderno de Prática 3:


“Criação de um serviço em rede MPLS
TE com Roteamento por Segmentos
através da ferramenta OSHI”

Disponível em
http://www.gta.ufrj.br/~silverio/SRArquivoSBRC2016.htm.

223
Roteiro

• Introdução

• Limitações das Tecnologias das Redes de Núcleo

• Conceitos de Redes Definidas por Software

• Roteamento por Segmentos

• Experimentação Prática

• Considerações Finais e Direções Futuras


224
Considerações Finais e Direções
Futuras
• Aplicação em Redes Multicamadas (MultiLayer)
– Aumentar a eficiência do uso da capacidade de redes
multicamadas
– Suportado por Redes Definidas por Software
– Sem necessidade da sinalização e operação GMPLS
(Generalized MPLS)
– Controlador com Roteamento por Segmentos engloba
informações de engenharia de tráfego e topologia da rede
– Controle das condições de transmissão óptica (impairments),
ocupação do espectro óptico, adição, retirada e multiplexação
de canais

225
Considerações Finais e Direções
Futuras
Controlador • Rota expressa óptica conforme a necessidade do
SR
tráfego
c1
101 102 103 104 105
100
p1 p2 p1 p2
p3 p3
c2

Local/ Actions
Label In
100 Pop,Out p1 Roteadores de Núcleo IP/MPLS
102 Pop, Out p2
103 Out p2
Equipamentos Ópticos
104 Pop, out p3 ROADM (Reconfigurable Add Drop Multiplexer)
105 out p3
... 226
Considerações Finais e Direções
Futuras
• Outras aplicações em desenvolvimento
– Roteamento por Segmentos em Redes “Carrier Ethernet” com
adição de segmentos no quadro ethernet (conceito de
“OmniEthernet”)

– Integração com funções de redes na NFV, para transporte das


informações da cadeia de serviços

– Roteamento por Segmentos em Datacenters focado em


aumento da velocidade de dados IO e eficiência, através de
uma arquitetura escalar e flexível (Fast Data Project – FD.io)

227
Considerações Finais e Direções
Futuras

Operadoras de Telecomunicações enfrentam grandes desafios:


tamanho e complexidade da rede IP/MPLS, com utilização não
otimizada de recursos em várias camadas e dificuldades de
administração e operação, pela ausência de um controle
Centralizado com visão total da topologia de rede.

Roteamento por Redes Definidas


Segmentos por Software
Simplificação Controle Centralizado
Redução de estados nos roteadores Otimização dos recursos da rede
Melhoria operacional Programabilidade
228
Considerações Finais e Direções
Futuras

Redes Definidas por


Roteamento por Software
Segmentos
(SDN - Software
(SR – Segment Routing) Defined Networks)

229
Faz tudo !!!

230
Obrigado!

Antonio José Silvério


COPPE – UFRJ
PEE - Programa de Engenharia Elétrica
GTA – Grupo de Teleinformática e Automação
E-MAIL: silverio@gta.ufrj.br
antojs@embratel.com.br

Você também pode gostar