MPLS DiffServ , Extensões TE em IGP
e 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-ietfisis-traffic-05.txt
– Katz D. Yeung D., Traffic Engineering Extensions to OSPF - draftkatz-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
Byte 1
Byte 2
Byte 3
Byte 4
Marcador
Marcador (cont.)
Marcador (cont.)
Marcador (cont.)
Tamanho da Mensagem
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
ID AS
Tempo de Suspensão
Identificador BGP
Tamanho Opcoes
Parâmetros Opcionais
Parâmetros Opcionais
•
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)
Mensagem BGP: Update
Tamanho Rotas Retiradas
Info. Rotas Retiradas
Rotas Retiradas
Tamanho do Atributos do Caminho
Atributos Caminho
Atributos Caminho
Informação de Alcance da Camada de Rede (NLRI)
• 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
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
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
i-BGP
e-BGP
AS 3
AS 4
AS 5
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
LDP
VPN
VPN B
LDP
LDP
LSP - Label Switched Path
PHP: Penultimate Hop Popping
VPN
VPN
VPN B
P3
P5
P1
PHP
VPNLDP
VPN A
VPN A
P2
P4
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.
VPN V
CE1
IGP
FT de CE2
(VRF)
CE2
FT de CE1
(VRF)
PE1
BGP
VPN V
PE2
rotas do site
FT de CE3
(VRF)
PE3
CE3
VPN V
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
Aceita apenas rotas com os
atributos Target VPN = 2 ou 3.
Um site com
duas VPNs: 1
e 2.
As rotas são
anunciadas
com um único
RD e dois
Target VPN
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.
Cenário 1: VPN (PE) + LDP
(P, PE)
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
LSP - Label Switched Path
PHP: Penultimate Hop Popping
VPN A
LDP
VPN
VPN B
LDP
VPN
LDP
VPN
PHP LDP
VPN B
P3
P5
P1
VPN A
VPN A
P2
• Sem controle nos caminhos LSP
VPN
P4
Cenário 2: VPN (PE) + RSVP TE Tunnel
(PE-PE)
Configuração:
• Utiliza túneis RSVP TE Tunnel (PE-PE) para configurar o LSP
• Pode criar túneis de backup entre os PEs
OSPF area 1
OSPF area 0
OSPF area 2
VPN A
TE
VPN
TE
VPN
PHP TE
VPN B
P3
P5
P1
VPN
VPN A
VPN A
P2
• Possibilidade de fast-reroute
VPN B
TE
VPN
P4
Cenário 3: Carrier’s Carrier VPN
iBGP
ISP B - Site X
LDP
CE1
VPN B
PE1
LDP
VPN A
VPN B
LDP
VPN A
VPN B
ISP B’s Customers
LDP
VPN A
VPN B
LDP
ASBR1, RR
VPN B
VPN A
ASBR2, RR
VPN B
MP- iBGP
ISP B’s Customers
PE2
ISP A Carrier Backbone
Carrier’s Carrier VPN Case 3
VPN B
LDP
VPN B
CE2
ISP B - Site Y
Cenário 5: Inter-Providers Backbone VPN
RR-A
AS A
RR-B
AS B
LDP
PE1
CE1
VPN AB
LDP
VPN A
PE-ASBR1
LDP
VPN A
MP- iBGP
VPN B
VPN B
CE2
PE-ASBR2
MP- eBGP
PE2
MP- iBGP
• MP-iBGP é utilizado para conectar PEs no mesmo AS
• MP-eBGP é utilizado para conectar PEs em AS distintos
Links de Interesse
• http://logbud.com/visual_trace
• http://www.asnumber.networx.ch/
• http://www.bgp4.as/internet-exchanges
Download

ISP B