2. Apresentação Minicurso "Roteamento por Segmentos
-
Upload
duongquynh -
Category
Documents
-
view
225 -
download
0
Transcript of 2. Apresentação Minicurso "Roteamento por Segmentos
Roteamento por Segmentos: Conceitos, Desafios e Aplicações Práticas
Departamento de Eletrônica – Escola Politécnica Programa de Engenharia Elétrica – COPPE
Universidade Federal do Rio de Janeiro
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
3
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
4
Introdução
• Operação e Configuração da Rede Backbone da Operadora de Telecomunicações
Baseado em previsões
Manual
Meses
Comprimento de onda (100G)
Baseado em análise do tráfego real
Automático
Segundos
Flexível (OM – 100G)
Cenário Atual Cenário Futuro (desejado)
Matriz de Tráfego
Granularidade de
enlaces
Tempo de comercialização
Ajuste da Rede
5
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
6
PROBLEMAS !
Operação e Administração complexas Uso não otimizado de recursos da rede Possibilidade de perda de tráfego e qualidade
Rede de Roteadores de Núcleo da Operadora de Telecom.
7
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)
8
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
Lógica de Controle BGP OSPF IS-IS
Sistema Operacional (SO)
Hardware Dedicado
R O T E A D O R
Barramento proprietário
Telnet, SSH, Web, SNMP
Roteador IP/MPLS de Núcleo
Driver
• Topologia em malha parcial ou completa
−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
Malha “Lógica” de túneis
Roteadores de Borda
Roteadores Intermediários
Rede Atual de Roteadores de Núcleo das Operadoras
10
Malha Lógica de Túneis e Rede de Enlaces Físicos
A B
C D
A B
C D
Malha Lógica de Túneis Rede física de enlaces
Túnel A-B
A B
Túnel A-D
A B D
11
A B
C D
Malha Lógica de Túneis n = número de nós
Quantidade total de Túneis Unidirecionais =
2
2 nn Quantidade total de Túneis Bidirecionais =
nn 2
Quantidade de túneis da ordem de n2
Cálculo de Túneis TE
12
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
C D
Rede física de enlaces
Túneis para balanceamento
Quantidade de Túneis Unidirecionais = )( 2 nnk
n = número de nós k = número de túneis para balanceamentos entre A e B
Quantidade de túneis da ordem de k.n2
• 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
14
• Malha de túneis lógica
desacoplada da rede física
RJO
SPO
CTA
PAE
BHE
SDR
RCE
FLA
BSA
RPO
RJO
SPO
CTA
PAE
BHE
SDR
RCE
FLA
BSA
RPO
Rede IP/MPLS desacoplada da
Rede física
Túnel Primário Túnel Backup
Desafios para as Operadoras
15
Solução para os Desafios da Rede da Operadora
Por acaso é o Roteamento por
Segmentos ?
16
Propostas de Evolução da Rede de Roteadores de Núcleo
RJO
SPO
CTA
PAE
BHE
SDR
RCE
FLA
BSA
RPO
Túnel Primário Túnel Backup
SDN
PCE – PATH COMPUTATION ELEMENT • Roteamento por Segmentos + Redes Definidas por Software
−Simplificação do roteamento, configuração e manutenção dos túneis
−Manutenção de estados apenas nos Roteadores de borda da rede
−Cálculo dos caminhos baseado em uma plataforma de Redes Definidas por Software
−Engenharia de tráfego otimizada
−Uso racional dos recursos da rede
17
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
18
• 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
/
O que são Segmentos ?
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
20
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
21
• 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
Roteamento Atual de Redes TCP/IP
22
• Como é o Roteamento atual das Redes TCP/IP ?
Tamanho da Tabela de Roteamento é uma limitação !
Tabelas Maiores: • Maior tempo de busca e seleção de rota
• Maior processamento • Pouca escabilidade
Decisão da rota é feita salto a salto
(hop by hop)
Roteamento Atual de Redes TCP/IP
Evolução do Roteamento em Redes TCP/IP
23
• 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)
Introdução às Redes IP/MPLS
24
• 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
• 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 Núcleo da Rede IP/MPLS
Protocolos de Roteamento OSPF, BGP...
Tabela de Roteamento (RIB)
Protocolo de Controle MPLS para o roteamento
IP LDP (LIB)
Tabela de Rótulos ou Labels (LFIB)
Pla
no
de
Co
ntr
ole
Plano de Encaminhamento
Troca de Informação com outros roteadores
Troca de Informação com outros roteadores
Entrada de pacotes MPLS (IN)
Saída de pacotes IP (OUT)
Tabela de Roteamento (FEC) (FIB)
Saída de pacotes MPLS (OUT)
Entrada de pacotes IP (IN)
Roteador de Borda do Núcleo da Rede
Tabelas do MPLS Plano de Controle: RIB (Routing Information Base) LIB (Label Information Base)
26
Roteadores de Borda do Núcleo da Rede
Tabelas do MPLS Plano de Encaminhamento: FIB (Forwarding Information Base) LFIB (Label Forwarding Information Base)
Protocolos de Roteamento OSPF, BGP...
Tabela de Roteamento (RIB)
Protocolo de Controle MPLS
para o roteamento IP LDP (LIB)
Tabela de Rótulos ou Labels (LFIB)
Pla
no
de
Co
ntr
ole
Plano de Encaminhamento
Troca de Informação com outros roteadores
Troca de Informação com outros roteadores
Entrada de pacotes MPLS (IN)
Saída de pacotes MPLS (OUT)
Roteador Intermediário de Núcleo de Rede 27
Roteadores Intermediários do Núcleo da Rede
Tabelas do MPLS Plano de Controle: RIB (Routing Information Base) LIB (Label Information Base)
Tabelas do MPLS Plano de Encaminhamento: FIB (Forwarding Information Base) LFIB (Label Forwarding Information Base)
28
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
• 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
Estrutura do Rótulo MPLS
30
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
• 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
Rede IP/MPLS como Rede Multiserviço
• 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
Protocolos do Plano de Controle 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
Arquitetura da Rede IP/MPLS
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
35
• 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
• 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
Roteador Intermediário
LSR LER
LSR
LSR
LSR
LER CE CE
Rede de Roteadores de Núcleo IP/MPLS
LSR
LSP
CE – Customer Edge LER – MPLS Label Edge Router ou PE – Provider Edge LSR – MPLS Label Switch Router ou P – Provider LSP – Label Switched Path Enlace de Fibra Óptica
Sistema Autônomo Operadora
Pacote IP
Pacote MPLS
Diferentes rótulos MPLS 37
Arquitetura de Rede IP/MPLS
LDP
38
• Alocação de rótulo
– Aloca um determinado rótulo para uma FEC, efetuado pelo Roteador de Borda
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
LSR
1 1 1 1 2 2 1 3
1
3
2
2
2
1
Ip Origem: 100.10.0.1 Ip Destino: 200.20.0.1
200.20.0.1 200.20.0.1 78 43 57
LSP
IPv4 Pacote IPv4
IPv4 L Pacote MPLS
LSR LER CE LER CE LSR 200.20.0.1
Lbl IN
Lbl Out
68 54
IP dest Lbl IN
Lbl Out
200.20.0.1 - 78
100.10.0.1 34
IP dest Lbl IN
Lbl Out
200.20.0.1 57 -
100.10.0.1 - 32
Lbl IN
Lbl Out
78 43
54 34
Lbl IN
Lbl Out
43 57
32 68
IP dest
Porta
100.10.0.1/24 local
200.20.0.1/24 1
IP dest
Porta
100.10.0.1/24 1
200.20.0.1/24 local 40
Operações com Rótulos MPLS
100.10.0.1
200.20.0.1 200.20.0.1 200.20.0.1
FEC
FIB LFIB
Label Push
Label Swap
Label Swap Label
Pop
• 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
Serviços de Rede IP/MPLS
• 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
43
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
• 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
LER
LER
LER
LSR
LSR
Rede IP/MPLS
Cliente A Cliente A
Cliente A
Cliente B Cliente B
10.2.1.0/24
10.2.1.0/24
10.5.1.0/24
10.5.1.0/24
10.3.1.0/24
OSPF
BGP
ESTÁTICA
BGP
MP-BGP
BGP
OSPF
10.2.1.1
10.2.1.0 79 38
10.2.1.0 79 43
10.2.1.0
FEC Next Hop Label 10.2.1.0 190.5.1.1 79 190.5.5.1 38
190.5.5.1
200.4.1.1
CE
45
Rede Privativa Virtual L3
VRF do cliente A
VRF do cliente B
IPv4 Pacote IPv4
IPv4 L Pacote MPLS com aplicação VPN L
• 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
LER
LSR
LSR
Cliente A CE
Quadro L2 Ethernet
Rótulo do túnel (LSP)
LER
LSR
LSR
Rede IP/MPLS
Cliente A
IPv4
Eth
T
IPv4
VC Rótulo do pseudowire (VC)
Pseudowire
IPv4
47
Rede Privativa Virtual L2
• 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
7 6 5 4 3 2 1 0
ID Offset TTL Proto FCS IP SA IP DA Data Len Version Length
ToS Byte
DiffServ Code Point (DSCP) IP ECN
Pacote IPv4
IP Precedence Type of Service Standard IPv4
Extensões DiffServ
DSCP
IPv4 Packet MPLS
EXP
IPv4 Packet
49
QoS 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 em Redes IP/MPLS
54
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)
• 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: Reserva de Recursos
R1
R2
R3
R4
R5
R8 150
50
Encontre o caminho mais
curto até R8 com 80 Mbps
200
100
100 100
80
LSR head end
LSR tail end
Base de Dados Topologia TE
R7
Path Msg
Resv Msg
IP L50 L10
R6
Túnel
LER A
LER Z
IP L26 L12 IP L26 L92 IP L26 L89 IP L26 L65 IP L26 IP L52
Túnel
LSP
56
Engenharia de Tráfego: MPLS-TE
LER A LER Z
R1 R2 R5 R6 R7 R8
Path Msg
Resv Msg
Head End LSR
Tail End LSR
10.1.1.1/8
FIB: 10.0.0.0 -> 50
FIB: 10.0.0.0 -> pop
FIB: 10.0.0.0 -> 52
FIB: 10.0.0.0 -> 26,12
FIB: 10.0.0.0 -> 26,10
LFIB: 50 -> 26 push 10
LFIB: 26 -> 26 10 -> 12
LFIB: 50 -> 26 pop 12 rótulos do túnel
rótulos aprendidos pelo LDP
LSP LDP
57
Engenharia de Tráfego: MPLS-TE
• É 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 A
Roteador B
Roteador D
Roteador E
Roteador X
Roteador Y
Roteador C
Túnel Primário
Túnel Backup
59
Restauração em Redes IP/MPLS
Mesmo meio físico SRLG 10
SRLG 10 R2-R4 R2-R3 SRLG 20 R4-R3 R4-R2 SRLG30 R3-R2 R3-R4
Topologia lógica Malha de túneis
R5
R4
R3
R1
R2
Topologia Física + Lógica Malha de túneis
R5
R4
R3
R1
R2
IP/MPLS IP/MPLS
SLRG 20
SLRG 30
60
Shared Risk Link Group (SRLG)
• 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
Desafios para a Engenharia de Tráfego e Restauração
• Ferramenta de Planejamento Cisco MATE
63
Exemplo de Configuração de Túneis MPLS
• 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
Desafios para a Engenharia de Tráfego e Restauração
Equipamento L3: roteadores P e PE Backbone IP/MPLS
Equipamento L0: DWDM, ROADMs
Equipamento L1/L2: Switch OTN e Carrier Ethernet
de 100G
de 100G
de 100G
de 100G
N x 10G N x 10G
N x 10G N x 10G
LER LER
LSR
LSR LSR
LSR
L3
L1 / L2
L0
Túnel TE (enlaces lógicos)
Enlaces físicos 10GE Enlaces físicos (comprimento de onda)
65
Desacoplamento entre as Camadas de Rede
de 100G
de 100G
de 100G
de 100G
N x 10G N x 10G
N x 10G N x 10G
LER LER
LSR
LSR LSR
LSR
L3
L1 / L2
L0
Planos de controle da Rede de Transporte e IP/MPLS sem integração !
Proteções, restaurações em
múltiplas camadas: desperdício de
recursos !
Planejamento, administração,
operação e configuração
complexa: pouca automação !
66
Desacoplamento entre as Camadas de Rede
67
Como Vencer os Desafios ?
Roteamento por
Segmentos
• Simplificação da configuração de túneis e redução de número de estados nos roteadores de núcleo
68
Como Vencer os Desafios ?
• Controle Centralizado
multicamada integrado :
Redes Definidas por
Software
69
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
• 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
Como Vencer os Desafios ?
Roteamento por
Segmentos
(SR – Segment Routing)
Redes Definidas por
Software
(SDN - Software
Defined Networks)
Solução para os Desafios da Rede da Operadora
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
74
• 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
Arquitetura de Redes Definidas por Software
75
Aplicações de Rede
Plataforma de Controle
API aberta Northbound
API aberta Southbound
Infraestrutura de rede física
1. Plano de controle e plano de
encaminhamento de dados
separados
2. Controle centralizado da rede
3. Introduz a capacidade de
programação da rede através de APIs
abertas
Arquitetura de Redes Definidas por Software
Adaptado de “Diego Krautz et al, Software-Defined Networking: A Comprehensive Survey”
76
Controlador SDN
Aprendizado
de MAC
Algoritmos
de
Roteamento
Sistema de
Detecção
de intrusos
(IDS)
Balanceadores
de carga
Aplicações de Rede
Tabela de Fluxos
Re
de
Tra
dic
ion
al
Re
de
De
fin
ida
po
r S
oft
wa
re
Rede IP Tradicional x Rede Definida por Software
Adaptado de “Diego Krautz et al, Software-Defined Networking: A Comprehensive Survey”
Difícil introdução de inovação
tecnológica (ex. : IPv4 para IPv6)
Redes complexas e rígidas,
difíceis de gerenciar e configurar
Integração vertical:
Plano de controle e de dados
Implementados no dispositivo de rede 77
Controlador SDN
Aprendizado
de MAC
Algoritmos
de
Roteamento
Sistema de
Detecção
de intrusos
(IDS)
Balanceadores
de carga
Aplicações de Rede
Tabela de Fluxos
Re
de
Tra
dic
ion
al
Re
de
De
fin
ida
po
r S
oft
wa
re
Rede IP Tradicional x Rede Definida por Software
Capacidade de programação e
flexibilidade da rede abertas
Centralização do controle da rede
Separação do plano de controle
do plano de encaminhamento
de dados
Adaptado de “Diego Krautz et al, Software-Defined Networking: A Comprehensive Survey”
78
Sistema Operacional de Rede (NOS)
Rote
am
ento
“Hypervisor “
Interface Northbound (NBI)
Interface Southbound (SBI)
Linguagens baseadas em virtualização
Linguagens de programação
Aplicações de rede
Infraestrutura de rede
Depura
ção, te
ste e
simula
ção
Lis
ta d
e
contr
ole
de
Ace
sso (
ACL)
Bala
nce
ado-
res
de trá
fego
Sistema Operacional de Rede (NOS) e “Hypervisor”
Aplicação
...
Plano de Dados
Plano de Controle
Plano de Gerência
Planos Camadas Arquitetura
Aplicação
• Decomposta em planos e camadas:
Adaptado de “Diego Krautz et al, Software-Defined Networking: A Comprehensive Survey”
Visão da Arquitetura SDN Completa
79
• 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)
Plano de Dados: Infraestrutura de Redes
80
• 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)
Plano de Dados: Interfaces Southbound (SBI)
81
• 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
Interfaces Southbound: NETCONF e YANG
82
Servidor
Aplicações
Cliente
Instrumentação
Servidor
Instrumentação
Cliente CLI
Aplicações
Aplicações
Gerente NETCONF
Dispositivo NETCONF Dispositivo NETCONF
CLI através de NETCONF
Repositório de Dados
• Modelo Cliente-Servidor NETCONF
Configurações necessárias para sair do estado inicial
para o operacional
Aplicação da configuração: Corrente (Running)
Inicial (Startup) Candidatas (Candidate)
Arquivo XML
Protocolo NETCONF
83
• Camadas do protocolo NETCONF
Conteúdo
Operações
RPC
Protocolo de Transporte
Configuração de Dados
<get-config>, <edit-config>, <notification>
<rpc>, <rpc-reply>
BEEP, SSH, SSL, console
Camada Exemplo
Protocolo NETCONF
84
• 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&revision=2012-04-29 </capability> </capabilities> <session-id>4<session-id> </hello>
Protocolo NETCONF
85
• 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
Modelo YANG
86
Módulos YANG
Gerência de
Aplicações
Módulos YANG Módulos
YANG
Módulos YANG
Módulos YANG
Módulos YANG
Netconf
Modelo YANG
87
• Exemplo de Módulo YANG para inventário de redes
Modelo YANG
88
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
89
Modelo YANG - Exemplo
90
• 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
Interfaces Southbound: BGP-LS
91
Controlador SDN
Domínio 1 (OSPF)
Domínio 2 (IS-IS)
Domínio n (Multiárea
IS-IS)
Controlador SDN
Domínio 1 (OSPF)
Domínio 2 (IS-IS)
Domínio n (Multiárea
IS-IS)
BGP-LS BGP-LS BGP-LS
BGP-LS RR
IGP
IGP IGP
BGP-LS Southbound
Interface Southbound Interface
Protocolo BGP-LS
92
• Usado para comunicações entre o PCC (Path Computation Client) e o PCS (Path Computation Server)
• Utiliza informações dos estados dos enlaces LSDB (Link-State Database)
• Tipos de PCE usados no SDN
– PCE dinâmico (Stateful PCE)
– PCE iniciado pelo LSP
• Extensões do PCEP ainda em desenvolvimento pelo IETF
PCEP
TED
PCC
PCS
Arquitetura PCE
Protocolo PCEP (Path Computation Element Protocol)
PCE
Switch OpenFlow
Canal Seguro
Tabela de Fluxos
Sw
Hw
Controlador
Protocolo OpenFlow
SSL
93
• Protocolo OpenFlow
– Protocolo de padrão aberto
– Usa tabelas com regras para tratamento de pacotes
– As regras são baseadas em porta física, endereço MAC, tipo de quadro, endereço 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)
Interfaces Southbound: OpenFlow
94
Aplicação Aplicação
Co
ntr
ole
de
C
om
un
ica
çõ
es
Co
ntr
ole
de
C
om
un
ica
çõ
es
Sistema Operacional
de Rede (NOS) Tabela de
Fluxos
Controlador SDN
Dispositivo SDN
• Cada regra possui ações: encaminhamento, descarte e modificação em um fluxo de dados
Tabela de Fluxos OpenFlow
95
OF 1.0 Dez/2009
OF 1.1 Fev/2011
OF 1.2 Dez/2011
OF 1.3 Abr/2012
OF 1.4 Ago/2013
-Tabela de Fluxos única - IPv4
- Múltiplos controladores - IPv6 - regras com TLV flexível
- Múltiplas tabelas de fluxo - Grupo de tabelas - MPLS e ECMP
- Múltiplos canais entre switches e controladores - QoS - Tabela de fluxos com entrada perdidas
- Informação de vagas na tabelas de fluxos - Portas Ópticas - Opção de despejo
Versões do Protocolo OpenFlow
96
• 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
Plano de Controle: Arquitetura de Virtualização
99
Servidor B
Servidor
VN
1
VN
F2
VN
F3
Hipervisor
VM 1 VM 2
...
...
Servidor A
Servidor
VN
F1
VN
F2
VN
F3
Hipervisor
VM 1 VM 2
...
...
Ex.: VMWARE, KVM
Ex.: roteador de borda do núcleo (PE) Rede sem fio
Rede WAN
Rede de Acesso
Rede Óptica
Ex. rede IP/MPLS
Aplicações Ex. Segment Routing Northbound Interface Ex.: RESTful
Controlador
Southbound Interface Ex.: NETCONF
Ex. : ONOS
Armazenamento (Storage)
Rede do Telco Datacenter
Armazenamento Virtual
Telco Datacenter
Ex.: vswitch
Controlador
Ex.: Opendaylight
Southbound Interface Ex.: OpenFlow
Orquestração Ex.: Cisco WAE (WAN Automation Engine)
Arquitetura de Virtualização: Hypervisor e Orquestrador
100
• 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)
Arquitetura de Virtualização: SDN x NFV
110
• 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
Elemento de Computação de Caminho (PCE)
111
TED
PCE
PCC
Roteador Head End
WAN
Sinalização/ Roteamento
Encaminhamento
PCEP
Requisição do Serviço
Link-State Data PCS
Operação do PCE
112
• 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)
Tipos de PCE
113
PCEP
Stateless PCE
TED
Stateless PCC
Stateful PCE
TED PCEP
Stateful PCC
LSP DB
Tipos de PCE
114
• Stateful PCE passivo
– PCC inicia a configuração do caminho
– PCS aprende o estado do LSP para otimização do caminho
• Stateful PCE ativo
– Tanto o PCC quanto o PCS podem iniciar a configuração do caminho
– LSP pode ser iniciado pelo PCS, sendo mais integrado às demandas das aplicações
– O PCE pode fazer parte do controlador SDN
PCE
Stateful
Stateless
Passivo
Ativo
Caminho iniciado Pelo PCC
Caminho iniciado Pelo PCS
Stateful PCE
Opções indicadas para SDN
115
• 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)
Proposta de PCE com SDN
116
A C
B D
X
Y
PCE PCE 1. Pretendo
chegar até Y, qual o melhor
caminho ?
2. Acho que saindo por “A” é o melhor caminho...
3. Como chegar até Y ?
4. Acho que por “D” é o melhor
caminho
5. A rota é através de B
6. Rota de X até B
7. Desejo chegar a Y !
8. Rota de D até Y
Ingresso do tráfego
Egresso do tráfego
Cooperação entre PCEs
PCE Antes do SDN
• O “olho que tudo vê”: um mito !
117
MPLS 2008 – 11th Annual Conference
PCE Depois do SDN
• PACE: Path Computation Element Architecture
118
SDN MPLS 2014 – Advanced PCE
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
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: { "1": [ { ´´port_no’’: 1, ´´rx_packets’’: 9, "tx_packets": 6, "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
Exemplo de uso API REST para o controlador Ryu para informar o estado das portas de um comutador:
Interface Northbound: REST
121
• 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
HTTP
URI Operação Tipo de
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
Interface Northbound: REST
122
• 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
Interface Northbound: RESTCONF e NETCONF
123
• 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
Plano de Gerenciamento: Aplicações
124
• APIs para desenvolvedores de aplicação
– REST
– RESTCONF
– RESTful
• Linguagens de programação
– C
– C++
– Java
– Python
Plano de Gerenciamento: Linguagens de Programação
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 pacotes por uma rota parcialmente ou completamente especificada a partir da origem
• Os roteadores da rede determinam o caminho baseado no destino do pacote
• O Roteamento pela origem habilita o nó de origem na descoberta de todas as possíveis rotas para um determinado destino
128
R1
R2
R6
R5
R4
R3
Host A
Host C
Host B
Host A-R1-R3-R2-R4-R5-Host B
Estados mantidos apenas
em R1 e R5 !
• 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)
Roteamento pela Origem (Source Routing)
• Exemplo de Loose Source Routing no IPv6
130
Benefícios do Roteamento pela Origem
131
• 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
• 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
Roteamento por Segmentos: Conceitos Preliminares
• 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
Tipos de Segmentos
1 2
3 4
5 16005 16005
16005 16005
Segmento de Nó
1 2
3 4
5
16004
16004 16004
16004
16004
16005
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
2 caminhos de mesmo custo (Equal Cost Multipath Routing - ECMP)
A decisão da escolha do caminho pode depender de restrições
(ex.: latência e banda)
135
Segmento de Nó
Segmento de Adjacência
1 2
3 4
5 24024
24021 24025
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 de Adjacência
Segmento Local
1 2
3 4
5
9001
Serviço 1
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
Segmento Local
• Os Segmentos de Nó e Adjacência pode ser combinados para direcionar o tráfego em qualquer caminho da rede:
1 2
3 4
5
24045
16004
24045
Pacote dest: 5
24045
Pacote dest: 5
Pacote dest: 5
Pacote dest: 5
Pacote para o nó 5
16004
24045
Pacote dest: 5
16004
138
Combinação de Segmentos de Nó e Adjacência
• 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
SR-Path: Segment Routing Path
• Exemplo de cálculo de complexidade no Roteamento por Segmentos x Rede IP/MPLS tradicional
1 2
3 4
N = 2, M= 6 enlaces N(S)t = N(S)nó + A = 2 Complexidade O(N(S)t)
Interpretação: O nó de origem 1 sabe como chegar ao nó de destino 4 com o segmento de adjacência com SID = 24014 Estados mantidos apenas nos nós de origem e destino
1 2
3 4
Interpretação: O nó de origem 1 para chegar ao nó de destino 4 com os túneis 1-4, 1-2-4, 1-3-4, 1-3-24 Estados mantidos em todos os nós
N = 2, M= 6 enlaces N(T) = N2 = 4 Complexidade O(N2)
140
Quantidade de Entradas SR-FIB x LFIB
• 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
1 2 4 5
16004
24045
Pacote dest: 5
16004
24045
Pacote dest: 5
Pacote dest: 5
Pacote dest: 5
24045
Pacote dest: 5
Push 24045
Push 16004
FEC dest 5
Continue 16004
Pop 16004
Pop 24045
Segmento ativo
Nomenclatura Operações MPLS
PUSH CONTINUE NEXT
16004 Segmento de Nó
24005 Segmento de Adjacência
142
Operações com Segmentos
NEXT
• Permite agrupar múltiplos enlaces físicos permitindo o balanceamento do tráfego
4 5
Pacote dest: 5
24045 Pop
24045
24145 Pop
24145
24245
24245
Pop 24245
Pop 24245
2 enlaces físicos
143
Agrupamento (Bundle) de Segmentos de Adjacência
• Comparativo da Arquitetura de Roteamento por Segmentos
com a Arquitetura IP/MPLS
144
Roteamento por Segmentos x Redes IP/MPLS Legadas
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)
em 50 ms
IGP IGP + RSVP-TE
Túneis TE adicionais para
suportar FRR
Não precisa Precisa
Otimização de caminho Backup Sim Não
ECMP para criação de túneis TE Sim Não
Estados apenas no Headend do
TE
Sim Não, depende do número de nós
(complexidade n2 nos pontos
intermediários)
Interoperabilidade com a rede
MPLS tradicional
Sim Não se aplica
Projetado para SDN Sim Não
• 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
146
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
IP dest
Lbl IN
Lbl Out Next Hop
X - 16004 99.1.2.2
FIB Lbl IN Lbl Out
Next Hop
16004 16004 99.2.3.2
LIB
Lbl IN Lbl Out
Next Hop
16004 - 99.3.4.4
LIB
Segmento 16004
16004
Pacote dest: 4
16004
Pacote dest: 4
Pacote dest: 4 Pacote
dest: 4
Lo: 1.1.1.4/32 Prefixo-SID: 16004
Push Swap Pop
Lo: 1.1.1.3/32 Lo: 1.1.1.2/32 Lo: 1.1.1.1/32
99.1.2.1 99.2.3.2
99.2.3.3 99.1.2.2
99.3.4.3
1 2 3 4
99.3.4.4 Rede IP “x”
LER LER LSR LSR
PHP
Explicit Null
Anuncia via IGP SID associado ao IP de
Loopback
147
Roteamento por Segmentos com Plano de Dados MPLS
Expl. Null
Lo: 1.1.1.2/32
99.1.3.1
MP-BGP
LSR LSR
LSR LSR
LER LER CE CE 7 1
5
3 4
2 8
6 Prefixo SID 16002
10.0.0.0/30
VRF vermelha
VRF vermelha
99.1.3.3 99.3.4.3 99.3.4.4 99.2.4.4
99.2.4.2
99.2.6.2
99.2.6.6
99.5.6.6 99.5.6.5 99.1.5.1
99.1.5.5
Gi 0
Gi 0 Gi 1 Gi 1 Gi 0
Gi 0
Gi 1
Gi 0 Gi 1 Gi 1 Gi 0
Gi 1
Gi 2 Gi 2
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
-------- ----------- -------------------- ------------- ---------------
16001 Pop SR Pfx (idx 1) Gi0/0/0/0 99.1.3.1
16002 16002 SR Pfx (idx 2) Gi0/0/0/1 99.3.4.4
16004 Pop SR Pfx (idx 4) Gi0/0/0/1 99.3.4.4
16005 16005 SR Pfx (idx 5) Gi0/0/0/0 99.1.3.1
16006 16006 SR Pfx (idx 6) Gi0/0/0/0 99.1.3.1
16006 16006 SR Pfx (idx 6) Gi0/0/0/1 99.3.4.4
24031 Pop SR Adj (idx 1) Gi0/0/0/0 99.1.3.1
24034 Pop SR Adj (idx 4) Gi0/0/0/1 99.3.4.4
Segmentos de Adjacência Nó 3-Nó 1 e Nó 3-Nó 4
Segmentos de Nó Origem: Nó 3 Destino: Nó 6 Temos 2 caminhos de menor custo
Segmentos de Nó Origem: Nó 3 Destino: Nó 1,2,4,5 Temos apenas 1 caminhos de menor custo
149
Serviço VPN L3 com Roteamento por Segmentos
• 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
Roteamento por Segmentos com Plano de Dados IPv6
C D
F G
H
B
E
A Rede “x”
Rede “y”
IPv6 Hdr : SA=x, DA = y
Payload
IPv6 Hdr : SA=x, DA = C
Payload
SR Hdr : SL= C, F, H, y
IPv6 Hdr : SA=x, DA = C
Payload
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 = H
Payload
SR Hdr : SL= C, F, H, y
IPv6 – IPv6 Header SR Hdr: Segment Routing Header SL: Segment List
Nó de Roteamento por Segmentos Habilitado (SR Capable): A Nós de Trânsito (Intra Segment Nodes): B, E e G Nós finais (Endpoint Nodes): C, F e H
153
Exemplo de Roteamento por Segmentos no IPv6
• 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
Bloco Global de Roteamento por Segmentos (SRGB)
4 3 2 1 16001
Pacote dest: 1
533336
Pacote dest: 1
16001
Pacote dest: 1
16001
Pacote dest: 1
24000 ... 1.048.575
16000 Index 0 16001 Index 1 ... 23999 Index 7999
SR
GB
541335 ... 1.048.575
16000 Index 0 16001 Index 1 ... 533334
SR
GB
24000 ... 1.048.575
16000 Index 0 16001 Index 1 ... 23999 Index 7999
SR
GB
533335 Index 0 533336 Index 1 ... 541334 Index 7999
Loopback 1.1.1.1/32 Prefixo de Segmento de índice = 1
Lo: 1.1.1.1/32
155
Alocação NÃO Recomendada de SRGB
4 3 2 1 16001
Pacote dest: 1
16001
Pacote dest: 1
16001
Pacote dest: 1
16001
Pacote dest: 1
24000 ... 1.048.575
16000 Index 0 16001 Index 1 ... 23999 Index 7999
SR
GB
SR
GB
24000 ... 1.048.575
16000 Index 0 16001 Index 1 ... 23999 Index 7999
SR
GB
Loopback 1.1.1.1/32 Prefixo de Segmento de índice = 1
Lo: 1.1.1.1/32
24000 ... 1.048.575
16000 Index 0 16001 Index 1 ... 23999 Index 7999
156
Alocação Recomendada de SRGB
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
Alocação de Rótulos para o MPLS e Roteam. 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
Gerenciamento dos 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
Plano de Controle IGP 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
Extensões do OSPF para Roteamento por Segmentos
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
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
Informações do Segmentos no Opaque LSA
• Detalhamento das Extensões do OSPF (TLV e sub-TLV)
Opaque LSA
Sub-TLV
Flag da sub-TLV
TLV
Flag da TLV
Configuração do Prefix SID Segmento de Nó
Configuração SID Segmento de Adjacência
166
Opaque LSA (TLV e sub-TLV)
• 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
A
B
C
ASBR1-A
ASBR1-B
ASBR2-A
ASBR2-B
Área Backbone
Área 1
Área 2
SID 70
SID 72
SID 72
SID 1001
SID 1001
SID 1002
SID 1002
SID unique (dentro da área)
SID Anycast
1002
Pacote dest: c
72
Pacote dest: c
72
Fast Reroute nativo
168
Propagação de Prefixos entre Áreas: Prefixo SID Anycast
• Prefixos SID Anyscast – Propagação de prefixos e flags
Flags na Área 0
Flags na Área 1
1.1.1.1/32 SID 16001 NP=0, E=0 NP=1, E=0
1.1.1.2/32 SID 16002 NP=0, E=0 NP=0, E=0
2.2.2.2/32 SID 17002 NP=0, E=0 NP=0, E=0
1.1.1.3/32 SID 16003 NP=1, E=0 NP=0, E=0
Prefixos SID Anycast
propagados
R1
ASBR
Área 0
SID 16001
SID 16002
SID 17002
16003
1.1.1.3
17002
Área 1
R2 R3
SID 16003
Lo: 1.1.1.1/32
Lo: 1.1.1.2/32 Lo: 2.2.2.2/32
Lo: 1.1.1.3/32
16003
1.1.1.3 1.1.1.3
1.1.1.2 1.1.1.2
169
Propagação de Prefixos entre Áreas: Prefixo SID Anycast
• 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ó
LAN
R1
R2
R3
PseudoNó
SID para R2
SID para R3
170
Roteamento por Segmentos Interligados por uma LAN
• 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
172
• 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
Coexistência com outros protocolos legados
173
Local/ Label In
Out Label
1600
...
16005 16005
...
23999
24000
...
24002 24001
1048575
Local/ Label In
Out Label
1600
...
16005 24005
...
23999
24000
24001 32011
1048575
Local/ Label In
Out Label
1600
...
16005 24005
...
23999
24000
...
24005 16005
...
32011 24003
1048575
Local/ Label In
Out Label
1600
...
16005 Pop
...
23999
24000
...
24003 Pop
1048575
1 3 2 4
SR
GB
Lo: 1.1.1.5/32
5
MPLS IP Roteamento por Segmentos + LDP
MPLS para IP ou MPLS para MPLS
SR
GB
Local/ Label In
Out Label
1600
...
16005 16005
...
23999
24000
...
24002 24001
1048575
Local/ Label In
Out Label
1600
...
16005 24005
...
23999
24000
24001 32011
1048575
Local/ Label In
Out Label
1600
...
16005 24005
...
23999
24000
...
24005 16005
...
32011 24003
1048575
Local/ Label In
Out Label
1600
...
16005 Pop
...
23999
24000
...
24003 Pop
1048575
1 3 2 4
Lo: 1.1.1.5/32
5
IP IP
Roteamento por Segmentos + LDP MPLS
IPv4: Dest
1.1.1.5
Payload
Qual rótulo a ser inserido ?
174
IP para MPLS
• 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
Estratégia para Migração para Roteamento por Segmentos
• 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
177
• 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
Servidor de Mapeamento
Verificador de políticas
locais
Configuração
Políticas Locais
Gerenciador de Mapeamento
Calculadora de Políticas
RIB
Analisador LSP/LSA
Gerador LSP/LSA
Servidor de Mapeamento
Cliente de Mapeamento
Políticas Ativas
Políticas Backup
Procura Prefixo SID
Entradas de Mapeamento
local
Políticas Locais
Entrada de Mapeamento
remota
Entrada de Mapeamento local do Gerenciador
de Mapeamento Cache Políticas Locais
IGP
178
Arquitetura do Servidor de Mapeamento
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
180
Interoperabilidade entre 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
Modelos de Interoperabilidade Roteam. Segmentos/LDP
182
Local/ Label In
Out Label
1600
16005 90090
...
90002 90090
...
1048575
Local/ Label In
Out Label
1600
...
...
90090 Pop
...
1048575
Local/ Label In
Out Label
1600
16005 16005
...
...
1048575
Local/ Label In
Out Label
1600
16005 16005
...
...
1048575
Cópia
1 3 2 4
Lo: 1.1.1.5/32
5
IP
Domínio LDP Domínio SR
FIB LDP
1.1.1.5/32 Lbl 90007
SID: 16005 ?
Segmento LSP
LDP 1.1.1.5/32
Lbl Impl Null
Entrada do Servidor de Mapeamento
Roteamento por Segmentos para LDP
Local/ Label In
Out Label
1600
...
...
90008 90100
...
1048575
Local/ Label In
Out Label
1600
...
...
90100 90007
...
1048575
Local/ Label In
Out Label
1600
16005 16005
...
90007 16005
...
1048575
Local/ Label In
Out Label
1600
16005 Pop
...
90007 90007
...
1048575
1 3 2 4
Lo: 1.1.1.5/32
5
IP
LDP 1.1.1.5/32 Lbl 90100
FIB LDP
1.1.1.5/32 Lbl 90007
SID: 16005
Segmento LSP
183
Cópia
Domínio LDP Domínio SR
Entrada da Tabela FIB
LDP para Roteamento por Segmentos
184
• 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
Modelos de Interoperabilidade de Roteam. Segmentos e LDP
185
• 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)
Mecanismo de Proteção TI-LFA
186
3
7
2
6
1
5
8
Origem
Destino
Nó 1 é LFA para o destino 5
Caminho principal Caminho clássico LFA FRR Caminho pós-convergência do IGP
LFA-FRR Clássico
187
3
7
2
6
1
5
8 Origem
Destino
Nó 6 não é LFA para o destino 5
Caminho principal Caminho clássico LFA FRR Caminho pós-convergência do IGP
Ciclo
LFA-FRR Clássico
188
• 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
Algoritmo PQ
189
• 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ó
Algoritmo PQ - Definições
190
P Space
Q Space
S P Q D
Caminho Principal (L)
TI LFA (caminho pós-convergência)
Caminho L
P Space
Q Space
S
PQ D
Caminho Principal (L)
TI LFA (caminho pós-convergência)
Caminho L
Algoritmo PQ – Espaço P e Q
191
• 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(PQ)}
TI-LFA com Roteamento por Segmentos
192
R2
R3
R1
R4
A Z
R5
Caminho principal Caminho Pós-Convergência Segmentos
P-Space
Q-Space P = Q
Prefixo- SID(Z)
Pacote dest: Z
Pacote dest: Z
P-Space
Q-Space
Extended P-Space
• Caso 0: TI LFA com nenhum segmento a partir de P
Origem (S)
Destino (D)
TI-LFA com Roteamento por Segmentos – Caso 0
Pacote dest: Z
Pacote dest: Z
193
R2
R3
R1
R4
A Z
R5
Origem (S) Destino (D)
Extended P-Space
Q-Space PrefixoSID(R4)
Pacote dest: Z
Pacote dest: Z
P = Q
P-Space
Prefixo SID(Z)
Pacote dest: Z
Prefixo SID(Z)
Caminho principal Caminho Pós-Convergência Segmentos
P-Space
Q-Space
Extended P-Space
• Caso 1: TI LFA com 1 segmento a partir de P
Pacote dest: Z
TI-LFA com Roteamento por Segmentos – Caso 1
194
R2
R3
R1
R4
A Z
R5
Origem (S)
Destino (D)
Q-Space
Prefixo SID(R4)
Pacote dest: Z
Pacote dest: Z
Pacote dest: Z
P
P-Space
adj- SID(R3)
Pacote dest: Z
Prefixo- SID(Z)
Caminho principal Caminho Pós-Convergência Segmentos
P-Space
Q-Space
Extended P-Space
Prefixo- SID(Z)
Q
Pacote dest: Z
adj- SID(R3)
Prefixo- SID(Z)
• Caso 2: TI LFA com 2 segmentos a partir de P
TI-LFA com Roteamento por Segmentos – Caso 2
195
• 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
Aplicações do TI-LFA
196
5
4
2
3
1 7
6
Origem
Destino 1
P
Métrica padrão: 10
8
Destino2
P
Q
Q
1000
1000
Balanceamento e Proteção com TI-LFA
197
Segmentos
2
3
1
4
A
5
Origem
Z
Destino
PQ
Q-Space
P-Space
P-Space
Q-Space
Extended P-Space
SR + LDP:nó 1 e 4 LDP: nós 2,3 e 5
Extended P-Space
Proteção em Redes IP/MPLS com TI-LFA
198
• 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)
Aplicações e Serviços para Roteamento por Segmentos
199
Stateful PCE TED
PCEP Lista de Segmentos: 10,20,30,40
Stateful PCC
LSP DB
BGP-LS
Aplicação SDN
Requisição de Caminho
10
30 20
40
30 20
40
30 40
40
Engenharia de Tráfego com Roteamento por Segmentos
200
A
Z
Roteadores do Plano A
Roteadores do Plano B
SID 65
ECMP – Equal Cost MultiPath Routing somente no Plano A
4 saltos, Segmentos {111,65}
SID 111
A
Z
Roteadores do Plano A
Roteadores do Plano B
SID 65
ECMP – Equal Cost MultiPath Routing para Plano A+B
4 saltos, Segmentos {65}
• Engenharia de Tráfego com Roteamento por Segmentos para criação de túneis disjuntos em planos separados
Engenharia de Tráfego com Roteamento por Segmentos
201
• Orquestração da Engenharia de Tráfego com Roteamento por Segmentos SR-TE (Segment Routing – Traffic Eng.) através de Redes Definidas por Software
Visualização e Análise
Orquestração de Banda
Coletor de Dados
Programação
API
Aplicativos Aplicativos
Controlador SDN Desejo 2G de A para Z !
A B C
E F G H
D
Z
66
68
65
Túnel de A para Z com Segmentos { 66,68, 65}
O caminho ABCGHZ está Ok. Existe capacidade disponível
de 2G, então vou dirigir o tráfego para este caminho !
O enlace por CD não capacidade para 2G ! Não
posso utilizar o menor caminho através do
segmento 65 de A a Z !
3G
3G
3G
4G
1G
1G
4G
3G
4G
4G
4G
4G
Engenharia de Tráfego com Roteamento por Segmentos
202
• 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
Aplicações e Serviços para Roteamento por Segmentos
203
C D
F G
H
B
E
A 9101 9105 9103 9107 9105 9101
9101 9105
9107
9103
9105
9101 9101 9105 9103 9107 9105
9101 9105 9103 9107
9101 9105 9103
9101 9105
9101
Controle OAM
204
A
B
AS 1
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
AS 2
AS 3
Peers
D G
E
F
K AS 4
Controlador SDN
1.0.1.2/24
1.0.2.1/24
1.0.3.1/24 1.0.3.2/24
1.0.2.2/24
PE de Egresso (EPE)
C
Automação de “peering”
205
• 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
Aplicações e Serviços para Roteamento por Segmentos
Cadeia de Serviços com Roteamento por Segmentos
206
A Ingresso
B
S1
C
S2
O nó de ingresso classifica o fluxo e aplica a cadeia de serviço S1, S2
B e C anunciam S1 e S2 como SIDs para as
instâncias de serviço anexadas
Segmento Local
Segmento Local
Padronização IETF
207
• Conduzida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in Networking Working Group)
Documento
IETF Grupo de Trabalho Draft Tópicos do Draft
Arquitetura
Roteamento
por
Segmentos
SPRING draft-ietf-spring-segment-routing Arquitetura SR
SPRING draft-ietf-spring-segment-routing-mpls SR MPLS
SPRING draft-ietf-spring-segment-routing-ldp-
interop
Interoperabilidade SR e LDP
SPRING draft-filsfils-spring-sr-recursing-info SID associados a serviços locais
SPRING draft-ginsberg-spring-conflict-resolution Solução para conflitos de anúncio de
SIDs por instâncias diferentes de
protocolo
SPRING draft-psarkar-spring-mpls-anycast-
segments
Anycast SID
SPRING draft-francois-spring-segment-routing-ti-
lfa-02
TI LFA
208
Documento
IETF Grupo de Trabalho Draft Tópicos do Draft
Extensões de
Protocolos
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-
extensions
Extensões do OSPF para SR
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
IDR draft-gredler-idr-bgp-ls-segment-routing-
ext
Extensões do BGP-LS para SR
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-
header
SR em IPv6
6MAN Draft-evyncke-6man-segment-routing-
security
SR em IPv6
BFD draft-akiya-bfd-seamless-sr BFD (Bidirectional Failure Detection)
para SR
Padronização IETF
209
Documento
IETF Grupo de Trabalho Draft Tópicos do Draft
Casos de Uso
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
SPRING draft-ietf-spring-segment-routing-msdc Uso massivo de Daatcenters
SPRING draft-ietf-spring-segment-routing-central-
epe
Egress PE (Peering)
SPRING draft-filsfils-large-scale-interconnect Rede SR de grande escala
MPLS draft-kumarkini-mpls-spring-lsp-ping LSP ping/trace para SR
Padronização IETF
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
211
• 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
Experimentação Prática
212
Prática: Projeto DREAMER – Rede GÉANT
213
• 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
Ferramenta OSHI
214
• 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
Arquitetura do Nó OSHI
215
Daemon de Roteamento IP
(Quagga)
Encaminhador de Pacotes
(Rede Linux)
Switch SDN (Open vSwitch)
Portas Virtuais IP
SDN
Ro
tea
me
nto
e
en
ca
min
ha
me
nto
IP
SD
N/S
wit
ch
O
pe
nFlo
w
Portas físicas
Roteamento e Encaminhamento IP
SDN/ Switch
OpenFlow
Arquitetura do Nó OSHI
216
• 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
Arquitetura do Nó OSHI
217
• 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
h1 h2
Controlador POX - C0
Switch S1
Aplicação SDN
Aplicação Aplicação
Rede Emulada no Mininet
Rede com Hardware físico
eth0 eth0
eth1 eth2
Introdução ao Mininet
218
Servidor HTTP # 1
Servidor HTTP # 2
Cliente
Roteador
192.168.2.2 172.64.3.10
eth2 172.64.3.1
eth1 192.168.2.1
eth3 10.0.1.11
10.0.1.100
Tarefa 1: Rede com 2 servidores E um cliente, cada um destes ligado a um Switch OpenFlow cada, e estes conectados ao Roteador
Experimento 1: Construção de uma Rede Simples com Mininet
219
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.
Experimento 1: Construção de uma Rede Simples com Mininet
220
Tarefa 2: Configurar o serviço Pseudowire MPLS em um Backbone IP/MPLS (com PE´s e P´s) legado
(protocolo LDP) com a ferramenta OSHI
ROTEADOR CE
PE OSHI
P OSHI
CONTROLADOR RYU OU FLOODLIGHT
P OSHI
PE OSHI
P OSHI
ROTEADOR CE
PSEUDOWIRE
MPLS PAYLOAD CETH PETH
Experimento 2: Criação de um Serviço MPLS com LDP no OSHI
221
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.
Experimento 2: Criação de um Serviço MPLS com LDP no OSHI
222
B C
D E
F
90
A
69
23
90 23 69
90 23
90
Tarefa 3: Configurar o túnel MPLS em um Backbone IP/MPLS (com PE´s e P´s) configurando
Roteamento por Segmentos com a ferramenta OSHI SR* - Segment Routing
Experimento 3: Criação de um Serviço MPLS com SR* no OSHI
223
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.
Experimento 3: Criação de um Serviço MPLS com SR* no OSHI
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
225
• 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
Considerações Finais e Direções Futuras
226
Local/ Label In
Actions
100 Pop,Out p1
102 Pop, Out p2
103 Out p2
104 Pop, out p3
105 out p3
...
100 102 101 103 104 105
Controlador SR
c2
p1
c1
p2
p3
p1 p2
p3
Roteadores de Núcleo IP/MPLS
Equipamentos Ópticos ROADM (Reconfigurable Add Drop Multiplexer)
• Rota expressa óptica conforme a necessidade do tráfego
Considerações Finais e Direções Futuras
227
• 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)
Considerações Finais e Direções Futuras
228
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 Segmentos
Redes Definidas por Software
Simplificação Redução de estados nos roteadores Melhoria operacional
Controle Centralizado Otimização dos recursos da rede Programabilidade
Considerações Finais e Direções Futuras
229
Roteamento por
Segmentos
(SR – Segment Routing)
Redes Definidas por
Software
(SDN - Software
Defined Networks)
Considerações Finais e Direções Futuras
230
Faz tudo !!!
Obrigado!
Antonio José Silvério
COPPE – UFRJ
PEE - Programa de Engenharia Elétrica
GTA – Grupo de Teleinformática e Automação
E-MAIL: [email protected]