mpls diffserv, extensões te em igp e mpls vpn com bgp edgard jamhour
TRANSCRIPT
MPLS DiffServ , Extensões TE em IGPe MPLS VPN com BGP
Edgard Jamhour
Necessidade de integração DiffServ MPLS
• A RFC 3564 discute cenários que não podem ser tratados aplicado-se soluções baseadas exclusivamente em MPLS ou DiffServ.– a) limitar a proporção de uma dada classe de tráfego em um
enlace• exemplo: rede compartilhada com voz e dados
• princípio: a fila de voz deve ser limitada, ou seja, a quantidade de tráfego de voz por enlace deve ser limitada
– b) manter uma proporção relativa de tráfego em todos enlaces• exemplo: a rede deve manter a política de escalonamento mesmo em
caso de falhas
• princípio: configurar todos os enlaces com as mesmas políticas de escalonamento e manter uma proporção relativa de tráfego
– c) serviços com garantia de banda• exemplo: rede compartilhada com AF e BE
• princípio: limitar a proporçao de tráfego AF nos enlaces
Exemplo
• Em condições normais, voz trafega por A-C-D• Em caso de falha, o tráfego seria roteado para ACGD
– CG não atende os requisitos de VoIP se o tráfego for misturado– Solução MPLS: rotear por ACEFD– Solução DiffServ MPLS: alocar VoIP e dados em filas distintas
DiffServ MPLS
• RFC 3270 descreve os mecanismos para o suporte de MPLS em redes DiffServ
• Problema:– A decisão de rota dos LSR (Label-Switching Routers) é baseada
apenas nos Labels MPLS– Como tratar tráfegos com PHB distintos (e.g., tempo real ou banda
média) em um mesmo caminho MPLS
• Proposta:– 3 bits experimentais no cabeçalho MPLS para mapear os 64
valores possíveis do DSCP
Estratégias de Mapeamento
• Para redes que utilizam menos de 8 PHBs– O PHB é inferido a partir dos bits EXP = E-LSP– Esses bits são configurados pelo administrador
• Um único E-LSP pode transportar o tráfego de múltiplos PHBs
Estratégias de Mapeamento
• Para redes que utilizam mais de 8 PHBs– O Label determina a classe do PHB– Os bits EXP determinam a prioridade de descarte
• Um único L-LSP transporta tráfego de um único PHB, ou de múltiplos PHBs com o mesma política de escalonamento
Comparação
E-LSP L-LSP
PHB determinado pelos bits EXP PHB determinado pelo label ou pelo label + bits EXP
Até 8 PHBs em um mesmo LSP Um PHB por LSP ou múltiplos PBHs com mesmo escalonamento e níveis de drop distintos
Uso conservador de labels: labels são criados apenas pelas necessidades de roteamento
Uso intensivo de labels pois eles também afetam os PHBs
A atribuição de PHBs independem da sinalização MPLS
Os PHBs são definidos juntos com a sinalização MPLS
Até 8 PHBs na rede como um todo Número ilimitado de PHBs na rede
Priorização de LSP
• MPLS define até 8 níveis de prioridade para os LSPs– 0 melhor– 7 pior
• Cada LSP possui duas prioridades associadas– setup priority:
• prioridade durante o processo de criação de um novo LSP
– hold priority• prioridade para manutenção de um LSP já criado
• Um LSP com setup priority superior, pode, se necessário, tomar recursos de LSP com hold priority inferior para permitir o seu estabelecimento
Vantagens do Modelo de Prioridade
• O modelo baseado em prioridades permite:– que LSP menos importantes reservem recursos sem prejuízo dos
LSPs mais importantes– que os LSP importantes sempre sejam criados nos melhores
caminhos independentemente das reservas existentes– que em caso de falha de enlace, os LSP mais importantes tenham
maior chance de encontrar caminhos alternativos
• Além da necessidade de banda, os caminhos podem ser sujeitos as seguintes restrições:– atributos administrativos (“cores”) dos enlaces que o LSP pode
atravessar• e.g. enlaces com baixa latência
– número máximo de saltos para o caminho– outras restrições
Extensões de TE
• Foram propostas extensões nos protocolos de estado de enlace IS-IS e OSPF para suportar a distribuição desses atributos junto com as informações de roteamento
• Essas extensões são denominadas TE extensions– Smit H., Li T., IS-IS extensions for Traffic Engineering - draft-ietf-
isis-traffic-05.txt– Katz D. Yeung D., Traffic Engineering Extensions to OSPF - draft-
katz-yeung-ospf-traffic-10.txt
• Quando as informações adicionais de estado de enlaces estão disponíveis, o algorítmo contrained SPF pode ser utilizado– CSPF - Constrained Shortest Path First
• elimina os enlaces que não satisfazem as restrições
Exemplo
• O caminho A-C é criado primeiro• Para o caminho EC, todos os enlaces com menos de 100
Mbps disponíveis são eliminados (pruned)• A sinalização MPLS ocorre para o caminho possível
BGP: Border Gateway Protocol
• Protocolo de roteamento por vetor de caminho– Versão 4: RFC 1771
• Motivação– Segmentar a Internet em domínios (ASs) administrados
independentemente– Eliminar a necessidade de divulgar todas as rotas entre
ASs distintos.
• Características:– Protocolo transportado por TCP– Cabeçalho Padrão seguido de 5 tipos de mensagem
distintos.
Mensagens BGP
• Open (Tipo 1)– inicia uma sessão entre um par de roteadores BGP– negocia recursos opcionais do BGP
• Update (Tipo 2)– anuncia informações de roteamento de um BGP para outro
• Notification (Tipo 3)– usada para indicar problemas com as mensagens Open ou
Update
• KeepAlive (Tipo 4)– utilizada para verificar se o parceiro está ativo
• Route-Refresh (Tipo 5)– requisita que um roteador BGP reanuncie todas as suas rotas
Cabeçalho BGP
• Marcação (16 bytes)– campo obsoleto, não é mais utilizado (preenchido com 0xff)
• Tamanho (2 bytes)– máximo 4096 bytes
• Tipo da mensagem (1 byte):– 5 tipos
Marcador
Marcador (cont.)
Byte 1 Byte 2 Byte 3 Byte 4
Marcador (cont.)
Tamanho da Mensagem
Marcador (cont.)
Tipo da Mensagem Versão (4)
Sessão BGP
• Speaker BGP– roteador que pode enviar e receber mensagens BGP
• Parceiros BGP– roteadores BGP com conexões TCP ponto-a-ponto estabelecidas– Porta TCP: 179
open
open ou notification
update
update
Mensagens BGP: Open
• Identificador de AS– número de 16 bits: e.g. 65033– AS Privado: 64512 a 65535
• Tempo de Suspensão:– Tempo que o roteador espera (em segundos) sem keep alive, antes de considerar
a sessão como morta– Keep Alive (30 s) = 1/3 do tempo de suspensão ( 90 s)
• Identificador de BGP– Endereço IP da interface do roteador
• Parâmetros Opcionais– Formato TLV (e.g. autenticação e capacidades adicionais - AS 4 bytes)
ID AS Tempo de Suspensão
Identificador BGP
Tamanho Opcoes Parâmetros Opcionais
Parâmetros Opcionais
Mensagem BGP: Update
• A mensagem de update permite adicionar ou remover novas rotas.• Ela é composta de 3 seções:
– Rotas Retiradas (Unfeasible Routes)• e.g. 192.168.1.0/24, 10.0.0.0/8, etc.
– Atributos do Caminho• atributos comuns a todas as rotas anunciadas
– Rotas Anunciadas (NLRI)• e.g. 200.1.0.0/16
Tamanho Rotas Retiradas Info. Rotas Retiradas
Rotas Retiradas
Tamanho do Atributos do Caminho Atributos Caminho
Informação de Alcance da Camada de Rede (NLRI)
Atributos Caminho
Atributos BGP
• AS-PATH– seqüência completa de ASs até o destino anunciado
– usado para detectar loops
• NEXT-HOP– endereço do roteador BGP que corresponde ao primeiro salto do caminho
• LOCAL-PREFERENCE– determina o melhor caminho para o tráfego de saída
– maior local-preference vence (default 100)
• MULTI-EXIT DESCRIMINATOR (EXIT)– melhor caminho para o tráfego entrante
• ORIGIN– Origem do Caminho: IGP, EGP ou incomplete
• COMMUNITIES– Comunidades aos quais as rotas anunciadas pertencem
AS 5AS 4
Confederação BGP
• Grandes redes podem ser divididas em vários AS confederados.
• Um AS confederado é visto como um simples AS pelos demais ASs
AS 1 AS 2
AS 3
e-BGP
i-BGP
Comunidades BGP
• No BGP rotas podem ser agrupadas em comunidades (através da seção path da mensagem update)– comunidades permitem definir policies para exportação de rotas
– o significado da comunidade é local ao AS
• Quatro bytes são utilizados: 2 bytes AS: 2 bytes Valor– exemplo: 65033:500 (comunidade 500 do AS 65033)
• As seguintes comunidades são padronizadas:– internet (0)
– no-export (0xFFFFFF01)• as rotas são anunciadas apenas aos peers que são parte da mesma
confederação BGP
– no-advertise (0xFFFFFF02)• a rota não é anunciada para nenhum BGP peers
– local-AS (0xFFFFFF03)• a rota não é anunciada para nenhum BGP peer externo, mesmo que
confederado
Políticas BGP
• As políticas BGP permitem controlar de maneira seletiva quais rotas serão recebidas e propagadas para outros vizinhos.
IXP: Internet Exchange Point
• Um IXP (ou PTT: Ponto de Troca de Tráfego) permite a interconexão direta de vários ASs, minimizando o número de saltos
• Atualmente, a tecnologia mais utilizada para implementar IXP é o Ethernet.
• Em muitos países a manutenção dos IXP é subsidiada por órgãos públicos
Peer e Transit
• Quando dois AS se interconectam de maneira gratuita, visando benefício mútuo de troca de tráfego, eles são denominados peer.
• Quando o relacionamento é comercial, a conectividade é denominada transit.
BGP/MPLS VPN
• Dois padrões definem como criar VPNs de camada 3 usando MPLS:– RFC 2547– RFC 2547bis
• Conceito de VPN:– Múltiplos sites interconectados através de um backbone– Sites são agrupados em subsets– A conectividade IP é oferecida somente entre sites que estão
contidos no mesmo subset
• Aplicação das VPNs– Intranets (sites de uma mesma empresa)– Extranet (sites de empresas distintas)
Elementos
• Customer Edge (CE) Devices– pertencem a um site cliente (host, switch ou router)– tipicamente é um router: CE router
• Provider Edge (PE) Routers – pertencem ao provedor, e conectam-se diretamente aos CEs
• Provider (P) Routers– pertencem ao provedor, mas não se conectam diretamente aos
CEs
• Princípios:– CE routers, em sites distintos, não trocam informação de
roteamento diretamente.– VPNs que não contém sites compartilhados, podem ter um espaço
de enderaçamento sobreposto.
Exemplo
VPN A
VPN A
VPN B
VPN A
VPN B
VPN
LDP
VPN
LDP
VPN
LDP
VPN
P1
P2
P3
P4
P5
LSP - Label Switched Path
PHP LDP
PHP: Penultimate Hop Popping
Requisitos dos PEs
• Deve suportar múltiplas tabelas de encaminhamento– Cada site conectado ao PE deve ser associado a uma tabela de
encaminhamento– A tabela de encaminhamento contém rotas apenas para sites que
tem pelo menos uma VPN em comum.• per-site forwarding table
• As informações relativas as VPNs estão presentes apenas nos PE routers.– Os P routers não precisam ter informações de roteamente
descriminadas por VPN
Exemplo
• PE aprende sobre as rotas de CE1 através de IGP• PE1 propaga as rotas para outros sites que compartilham
a mesma VPN que CE1 através de BGP.
CE1
CE2 CE3
PE1
PE2 PE3
rotas do site
BGP
IGP
VPN V
VPN V
VPN V
FT de CE2(VRF)
FT de CE3(VRF)
FT de CE1(VRF)
Segurança
• Requisito de segurança– Pacotes vindos de um dado site não podem entrar em
uma VPN ao qual o site não pertence
• Implementação– Nenhum roteador no backbone pode aceitar um pacote
com label vindo diretamente de um roteador não pertencente ao backbone a menos que:
• (a) o top label tenha sido atribuído pelo próprio roteador do backbone
• (b) o label utilizado não conflita com nenhuma VPN existente (isto é, o pacote deixa o backbone antes de ser desempilhado).
Distribuição de Rotas VPN via BGP
• PE routers usam BGP para distribuir rotas VPN entre si.• No BGP original:
– Um BGP speaker pode distribuir apenas uma rota para um dado prefixo.
• No cenário VPN:– Um PE router pode receber duas rotas distintas (de diferentes
VPNs) para um mesmo prefixo
• Extensão do BPG– The BGP Multiprotocol Extensions: MP-BGP RFC 2283 – As rotas são acompanhadas de um prefixo de 8 bytes
• RD: Route Distinguisher associado a VRF
• Endereços de 12 bytes: 8 RD + 4 IP = família VPN IPv4
• O anúncio de rota contém o Label MPLS
• O BGP-NEXT HOP é o próprio PE
Filtragem de Rotas via BGP
• Objetivo:– rejeitar rotas para VPNs ao qual o site não pertence
• Utiliza o conceito de comunidades estendidas do BGP– Nas comunidades originais do BPG (2 bytes), ofertas de rotas são
associadas a comunidades.• Rotas são aceitas apenas se o roteador BGP pertencer a mesma
comunidade da rota.
– Para suportar o cenário MPLS, um novo atributo denominado TARGET VPN foi introduzido.
• Uma rota pode:– Ter um único RD– Ter múltiplos TARGET VPN
Exemplo
Um site com duas VPNs: 1
e 2.As rotas são anunciadas
com um único RD e dois
Target VPN
Aceita apenas rotas com os atributos Target VPN = 2 ou 3.
Atribuição de Labels
• Quando um PE recebe um pacote, ele atribui 2 labels:– Label externo: LSP para o BGP next-hop– Label interno: Rede de destino
Exemplo
• No roteador de ingresso, o label interno é aprendido via iBGP.
• O label externo identifica LSP para o nó de egresso.
Configuração:• Roteamento no core é IGP• Todos os PEs são conectados por MPLS• MP-iBGP fully meshed entre os PE’s• VPN configurado nos VPN PE’s
• Sem controle nos caminhos LSP
Cenário 1: VPN (PE) + LDP (P, PE)
VPN A
VPN A
VPN B
VPN A
VPN B
VPN
LDPVPN
LDPVPN
LDPVPN
P1
P2
P3
P4
P5
LSP - Label Switched Path
PHP LDP
PHP: Penultimate Hop Popping
• Possibilidade de fast-reroute
VPN A
VPN A
VPN B
VPN A
VPN B
VPNP1
P2
P3
P4
P5
TEVPN TE
VPNTEVPN
OSPF area 0 OSPF area 1 OSPF area 2
Configuração:• Utiliza túneis RSVP TE Tunnel (PE-PE) para configurar o LSP• Pode criar túneis de backup entre os PEs
Cenário 2: VPN (PE) + RSVP TE Tunnel (PE-PE)
PHP TE
ISP B - Site Y
ISP B’s Customers
PE2
ISP A Carrier Backbone
ISP B - Site X
ISP B’s CustomersCE2
CE1 PE1
ASBR1, RR ASBR2, RR
iBGP
MP- iBGP
LDP
VPN B
VPN B
VPN AVPN B
LDPVPN AVPN B
LDPVPN AVPN B
LDP
VPN B
LDPVPN AVPN B
LDP
VPN B
Carrier’s Carrier VPN Case 3
Cenário 3: Carrier’s Carrier VPN
Cenário 5: Inter-Providers Backbone VPN
• MP-iBGP é utilizado para conectar PEs no mesmo AS• MP-eBGP é utilizado para conectar PEs em AS distintos
PE-ASBR1 PE-ASBR2
AS B
CE1 CE2
PE1
PE2
RR-A RR-B
LDP
VPN B
VPN B
LDPVPN A LDP
VPN A
VPN AB
AS A
MP- eBGP
MP- iBGPMP- iBGP
Links de Interesse
• http://logbud.com/visual_trace• http://www.asnumber.networx.ch/• http://www.bgp4.as/internet-exchanges